commit | 85953ceb99e07b95129f4934797760a88709fcf6 | [log] [tgz] |
---|---|---|
author | Rafay <qureshi.rafay@gmail.com> | Mon Jun 14 16:53:09 2021 -0700 |
committer | Julian Hyde <jhyde@apache.org> | Sun Jul 04 20:06:51 2021 -0700 |
tree | 7504b31b6569a089b722faaa7e64c9a98056044f | |
parent | f928e073c384010c294370b63ffb748c15caab8a [diff] |
[CALCITE-4644] Add PERCENTILE_CONT and PERCENTILE_DISC functions (Rafay) In this change, we can parse and validate those functions, but execution will be [CALCITE-4666]. Validation is based on new method SqlAggFunction.isPercentile() (experimental and subject to change without notice). There are connections between the RANGE clause in windowed aggregate functions and interpolation used by PERCENTILE_CONT. Therefore use the same logic to determine whether "x" is a valid type in OVER (ORDER BY x RANGE r)" and "PERCENTILE_CONT(f) WITHIN GROUP (ORER BY x)" Close apache/calcite#2444
Apache Calcite is a dynamic data management framework.
It contains many of the pieces that comprise a typical database management system but omits the storage primitives. It provides an industry standard SQL parser and validator, a customisable optimizer with pluggable rules and cost functions, logical and physical algebraic operators, various transformation algorithms from SQL to algebra (and the opposite), and many adapters for executing SQL queries over Cassandra, Druid, Elasticsearch, MongoDB, Kafka, and others, with minimal configuration.
For more details, see the home page.