This repository was archived by the owner on May 9, 2024. It is now read-only.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds UNNEST support for projection queries (currently, we support it in GROUP BY only). Implementation is quite simple, based on target_exprs holding UNNEST expressions. This is not generic enough and basically makes UNNEST projections to be executed as a separate step, preventing it from merging with other nodes. I think we can get a better solution by introducing a new set of expressions specifically for unnesting in the execution unit, but this work might become a much bigger project than I'm willing to have for my goals.
For now, I need this simple solution to combine it with my ongoing work on TopK aggregate, which would produce an array and require the following UNNEST projection to cover H2O GroupBy Q8. This will let us avoid Window Functions for this query and make its execution scalable (now, we run it in a single thread and have an additional projection to get a single fragment prior to window function execution).