-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Support MIN/MAX udafs for Time/TS/Date types #8924
Conversation
ksqldb-functional-tests/src/test/resources/query-validation-tests/max-group-by.json
Show resolved
Hide resolved
ksqldb-engine/src/main/java/io/confluent/ksql/function/udaf/BaseDateKudaf.java
Outdated
Show resolved
Hide resolved
Also, you'll want to add the new types to |
Actually, I misspoke, you'll want to update |
ksqldb-engine/src/main/java/io/confluent/ksql/function/udaf/max/TimeMaxKudaf.java
Outdated
Show resolved
Hide resolved
d0ce164
to
32c1173
Compare
ksqldb-engine/src/main/java/io/confluent/ksql/function/udaf/BaseComparableKudaf.java
Show resolved
Hide resolved
ksqldb-engine/src/main/java/io/confluent/ksql/function/udaf/max/MaxComparableKudaf.java
Outdated
Show resolved
Hide resolved
ksqldb-engine/src/main/java/io/confluent/ksql/function/udaf/BaseComparableKudaf.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Description
Natively support MIN/MAX aggregations for DATE, TIME, and TIMESTAMP types.
All existing types implement Comparable interface so a base BaseComparableKudaf replaced BaseNumberKudaf and appropriate 2 Min/Max Kudafs were implemented (getting rid of 12+ type specific implementations).
Addresses #8757
Testing done
Added unit Tests for every type - Min/Max combination
Extended max-group-by min-group-by functional tests
Reviewer checklist