Skip to content

Commit 7967045

Browse files
committed
fix(cubesql): Allow aggregation pushdown only to unlimited CubeScan
1 parent 78cc524 commit 7967045

File tree

1 file changed

+7
-4
lines changed
  • rust/cubesql/cubesql/src/compile/rewrite/rules

1 file changed

+7
-4
lines changed

rust/cubesql/cubesql/src/compile/rewrite/rules/members.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -134,8 +134,11 @@ impl RewriteRules for MemberRules {
134134
"?old_members",
135135
"?filters",
136136
"?orders",
137-
"?limit",
138-
"?offset",
137+
// If CubeScan already have limit and offset ot would be incorrect to push aggregation into it
138+
// Aggregate(CubeScan(limit, offset)) would run aggregation over limited rows
139+
// CubeScan(aggregation, limit, offset) would return limited groups
140+
"CubeScanLimit:None",
141+
"CubeScanOffset:None",
139142
"?split",
140143
"?can_pushdown_join",
141144
"CubeScanWrapped:false",
@@ -161,8 +164,8 @@ impl RewriteRules for MemberRules {
161164
),
162165
"?filters",
163166
"?orders",
164-
"?limit",
165-
"?offset",
167+
"CubeScanLimit:None",
168+
"CubeScanOffset:None",
166169
"?split",
167170
"?new_pushdown_join",
168171
"CubeScanWrapped:false",

0 commit comments

Comments
 (0)