Skip to content
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

In multi-stage aggregate, directly store column index as identifier #11617

Merged
merged 2 commits into from
Sep 19, 2023

Conversation

Jackie-Jiang
Copy link
Contributor

Avoid constructing the column name to index map and converting back and forth

@Jackie-Jiang Jackie-Jiang added enhancement multi-stage Related to the multi-stage query engine labels Sep 18, 2023
@codecov-commenter
Copy link

codecov-commenter commented Sep 19, 2023

Codecov Report

Merging #11617 (8c91320) into master (fa51477) will decrease coverage by 0.05%.
The diff coverage is 86.71%.

@@             Coverage Diff              @@
##             master   #11617      +/-   ##
============================================
- Coverage     63.08%   63.04%   -0.05%     
- Complexity     1106     1109       +3     
============================================
  Files          2326     2326              
  Lines        124942   124956      +14     
  Branches      19147    19152       +5     
============================================
- Hits          78821    78777      -44     
- Misses        40499    40555      +56     
- Partials       5622     5624       +2     
Flag Coverage Δ
integration <0.01% <0.00%> (ø)
integration1 <0.01% <0.00%> (ø)
integration2 0.00% <0.00%> (ø)
java-11 63.02% <86.71%> (-0.02%) ⬇️
java-17 62.91% <86.71%> (+<0.01%) ⬆️
java-20 14.48% <0.00%> (-48.45%) ⬇️
temurin 63.04% <86.71%> (-0.05%) ⬇️
unittests 63.03% <86.71%> (-0.05%) ⬇️
unittests1 67.26% <86.71%> (-0.05%) ⬇️
unittests2 14.48% <0.00%> (-0.02%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed Coverage Δ
...inot/query/runtime/operator/AggregateOperator.java 84.31% <82.29%> (+1.15%) ⬆️
...untime/operator/MultistageAggregationExecutor.java 90.00% <100.00%> (+0.14%) ⬆️
...ry/runtime/operator/MultistageGroupByExecutor.java 91.95% <100.00%> (+0.04%) ⬆️
.../pinot/query/runtime/plan/PhysicalPlanVisitor.java 91.48% <100.00%> (-0.35%) ⬇️

... and 16 files with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

Copy link
Contributor

@walterddr walterddr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm. minor comment

arguments.add(ExpressionContext.forLiteralContext(literal));
continue;
}
if (i >= numArguments) {
Copy link
Contributor

@walterddr walterddr Sep 19, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

intermediate agg always have 1 real-argument (it cannot even be 0 b/c count would've been converted to SUM), and the rest are placeholders, why do we need to check the numArguments again here? simply do the loop with for (int i = 1 ... should be suffice?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Separated the code path for raw input vs intermediate input

@Jackie-Jiang Jackie-Jiang merged commit 987ebc0 into apache:master Sep 19, 2023
21 checks passed
@Jackie-Jiang Jackie-Jiang deleted the aggregate_pass_index branch September 19, 2023 22:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement multi-stage Related to the multi-stage query engine
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants