-
Notifications
You must be signed in to change notification settings - Fork 161
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
Question / request for Aggregate operation #42
Comments
Also, would it make sense to add a "step" enum to aggregate operation: partial, final, intermediate or single? This would allow us to specify the type of input and result of the operation, e.g. (from https://facebookincubator.github.io/velox/develop/aggregate-functions.html) |
Totally agree for the concept of phase exposed. I've already outlined in the context of the aggregate functions but need to do the same with regards to bindings within aggregate. I'll review the phases you've shared here and evaluate how they encompass those currently outlined in our proposal for aggregate functions and post a patch that includes at least an initial sketch of the common aggregations shortly. Thanks!
If I understand the request correctly, this feels like syntactic-sugared variation of Another random thought is that one could define an extension function
|
- Remove aggregate expressions type from generalized expressions. (only allow aggregate expressions as root expressions for aggregation) - Update function mapping to support options - Remove named structs from type unions (should only be used in special places as root, not in arbitrary hierarchy) - Add project, join, fetch, aggregate, sort, set logical relational operations. - Introduce key scalar and aggregate functions in functions yaml. - Remove old extensions docs Address substrait-io#42, substrait-io#43, substrait-io#44
@mbasmanova , in my most recent PR I've also proposed the following AggregationPhases: substrait/binary/expression.proto Line 88 in 1ca0bfb
|
@jacques-n Thank you. I'll check these out. |
Updates to ideally support majority of tpch queries - Remove aggregate expressions type from generalized expressions. (only allow aggregate expressions as root expressions for aggregation) - Update function mapping to support options - Remove named structs from type unions (should only be used in special places as root, not in arbitrary hierarchy) - Add project, join, fetch, aggregate, sort, set logical relational operations. - Introduce key scalar and aggregate functions in functions yaml. - Remove old extensions docs - Add nullability handling and type parsing syntax. Address #42, #43, #44
Hey there, we've added support in aggregate measures for a masking filter per measure as part of #88. I believe that covers the majority of this ticket. For now, we propose using either a separate pre-filter for ignoreNulls or adding an AdvancedExtension that exposes that property in AggregateRel. Closing this issue. Feel free to reopen! |
…it-io#42) * Ignore trailing semicolon during sql parsing Co-authored-by: James Taylor <james@qack.io>
We'd like to be able to specify masks for individual aggregations and a boolean ignoreNullKeys for a grouping set.
Masks are input columns of type boolean which allow to mask out rows for individual aggregations, e.g. SELECT count(1) filter (where a > 10) FROM t.
ignoreNullKeys boolean flag allows to avoid unnecessary processing when an aggregation is followed by an inner join on the grouping keys. In this case, rows with nulls in grouping keys cannot possible match the join condition and therefore we'd like to skip aggregations for such groups.
CC: @jacques-n
The text was updated successfully, but these errors were encountered: