9111cd517f
* feat(influxql): support TOP and BOTTOM functions Add support for the TOP and BOTTOM functions which return the first n rows in some ordered data set. * fix: clippy * refactor(influxql): use window aggregates for selectors Change the implentation of ProjectionType::Selector to use a window aggregate, rather than an aggregate with a custom selector function. This is in preparation for implementing PERCENTILE. * feat(influxql): PERCENTILE selector Add a selector for the row containing the nth percentile of a partition. This is the behaviour used when a single selector function is used in an influxql query. * feat(influxql): PERCENTILE aggregator Add the PERCENTILE aggregation function for when the PERCENTILE function is used in an aggregating projection. This implementation buffers all non-null field values in memory in order to perform the operation and therefore could be an expensive operation. This is necessary for compatibility with earlier influxdb versions. * refactor(influxql): move PERCENTILE implementation out of plan The plan module is getting rather full of user-defined function implementations. This breaks the new functions used to implement percentile into some new top-level modules for aggregate and window UDFs. * fix: doc-lint * chore: refactor `find_enumerated` * chore: use `s` in format string * chore: include the unexpected selector function in the error * chore(influxql): review suggestions Added some addition comments to help understanding. Changed the handling os slector functions such that FIRST, LAST, MAX & MIN behave the same as they did before PERCENTILE was added. * chore(influxql): make percent_row_number a window UDF Now that user-defined window functions are available make the percent_row_number function be one of those. this allows the values to be calculated for the entire window partition in one go. For some reason the user-defined window function cannot return NULL values. This function uses 0 where it would otherwise use NULL, as row numbering starts at 1. --------- Co-authored-by: Stuart Carnie <stuart.carnie@gmail.com> Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> |
||
---|---|---|
.. | ||
end_to_end_cases | ||
jdbc_client | ||
query_tests | ||
end_to_end.rs |