GREATEST/LEAST post-aggregators in SQL#8719
GREATEST/LEAST post-aggregators in SQL#8719jon-wei merged 20 commits intoapache:masterfrom aditya-r-m:feat-greatestLeastSQLAggs
Conversation
|
This pull request introduces 2 alerts when merging b68805f into b9d1047 - view on LGTM.com new alerts:
|
suneet-s
left a comment
There was a problem hiding this comment.
Thanks for the commit! Overall looks cool - I have a recommendation on how to re-structure some of this. My only real concern is with how we build the aggregator and post aggregators for floats.
I haven't reviewed the tests yet.
...src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/MultiColumnSqlAggregator.java
Outdated
Show resolved
Hide resolved
...src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/MultiColumnSqlAggregator.java
Show resolved
Hide resolved
sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/GreatestSqlAggregator.java
Outdated
Show resolved
Hide resolved
sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/GreatestSqlAggregator.java
Outdated
Show resolved
Hide resolved
sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/LeastSqlAggregator.java
Outdated
Show resolved
Hide resolved
sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/GreatestSqlAggregator.java
Outdated
Show resolved
Hide resolved
…to feat-greatestLeastSQLAggs
…ubator-druid into feat-greatestLeastSQLAggs
|
Thanks for the quick turn around @aditya-r-m. I'm not very familiar with the structure of Aggregators/ PostAggregators so I need to dig into that area of the code a little more. I'll pick up this review again some time in Christmas week and get back to you soon. |
|
@suneet-s thank you for the guidance & update. |
suneet-s
left a comment
There was a problem hiding this comment.
@aditya-r-m Thanks for your patience with this. I had to learn a little how post aggregators worked. Thy work on aggregated values so this should be efficient.
2 potential issues
- using a deprecated constructor
- The ReturnType for the SqlAggFunctions
Bonus - more tests for maintainability :) Otherwise LGTM
sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/GreatestSqlAggregator.java
Show resolved
Hide resolved
sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/GreatestSqlAggregator.java
Show resolved
Hide resolved
sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/GreatestSqlAggregator.java
Outdated
Show resolved
Hide resolved
sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/GreatestSqlAggregator.java
Show resolved
Hide resolved
sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/LeastSqlAggregator.java
Show resolved
Hide resolved
|
@suneet-s thanks again for your guidance. |
suneet-s
left a comment
There was a problem hiding this comment.
Nice job! Thanks for the new feature! 💪 🎉
El gee tee emm
sql/src/main/java/org/apache/druid/sql/calcite/aggregation/builtin/GreatestSqlAggregator.java
Show resolved
Hide resolved
* implement shell for greatest sql aggregator with hardcoded long values * implement functional long greatest aggregator for direct access columns * implement greatest & least sql aggregators for long & double types using abstract base class * add javadocs, unit tests & handling for floats for greatest/least postaggregations * minor checkstyle fix * improve naming for the test cases * make inner class static * remove blank lines to retest travis build * change trivial text to rerun travis build * implement suggested updates for greatest/least sql aggs & fix checkstyle issues * fix stale comments in greatest/least sql aggs abstract base * Update sql.md * improve sql function definitions for greatest/least sql aggs * add more tests for greatest/least sql aggs * add tests to cover invalid greatest/least sql expressions * rename & reorder greatest least sql tests
[Backport] GREATEST/LEAST post-aggregators in SQL (apache#8719)
This reverts commit 364523a.
This reverts commit 364523a.
Fixes #8679
Created & Registered SQL aggregation functions for native GREATEST/LEAST post aggregators
This PR has:
Key changed/added classes in this PR
MultiColumnSqlAggregator.javaGreatestSqlAggregatorLeastSqlAggregatorDruidOperatorTable