public async Task <IList <Series <TValues, TTags> > > Query <TValues, TTags>(MultiSeriesSelectStatement <TValues, TTags> query, CancellationToken cancellationToken = default(CancellationToken)) { var queryResponse = await Query <TValues>(query.Text, cancellationToken); return(queryResponse.Results.Single().Series.Select(serie => { TTags tags = (TTags)Activator.CreateInstance(typeof(TTags), query.Tags.Select(t => (object)serie.Tags[t.DotNetAlias]).ToArray()); var points = serie.Values; return new Series <TValues, TTags>(points, tags); }).ToList()); }
internal SLimit(MultiSeriesSelectStatement <TValues, TGroupBy> statement, int n) { Statement = new MultiSeriesSelectStatement <TValues, TGroupBy>( statement.Select, statement.From, statement.Where, statement.GroupBy, statement.Fill, statement.OrderBy, statement.Limit, statement.Offset, new SLimitClause(n) ); }
public static IEnumerable <string> TagNames <TValues, TTags>(this MultiSeriesSelectStatement <TValues, TTags> query) { return(query.Tags.Select(x => x.InfluxTagName)); }