-
Notifications
You must be signed in to change notification settings - Fork 3.4k
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
[feature](nereids) add rewrite rule PushCountIntoUnionAll #33530
Conversation
Thank you for your contribution to Apache Doris. Since 2024-03-18, the Document has been moved to doris-website. |
run buildall |
run p0 |
run buildall |
1 similar comment
run buildall |
TPC-H: Total hot run time: 38758 ms
|
TPC-DS: Total hot run time: 183042 ms
|
ClickBench: Total hot run time: 30.4 s
|
Load test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
|
@@ -106,7 +106,7 @@ private void checkAllSlotReferenceFromChildren(Plan plan) { | |||
if (notFromChildren.isEmpty()) { | |||
return; | |||
} | |||
|
|||
System.out.println(plan.treeString()); |
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.
remove this line
run buildall |
// KIND, either express or implied. See the License for the | ||
// specific language governing permissions and limitations | ||
// under the License. | ||
// copied from https://github.com/trinodb/trino/blob/master/core/trino-main/src/main/java/io/trino/server/PluginManager.java |
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.
remove this line
newLogicalUnionOutputs.add(new SlotReference(ce.getName(), ce.getDataType(), ce.nullable())); | ||
} else if (ce instanceof SlotReference) { | ||
newLogicalUnionOutputs.add(ce); | ||
} |
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.
add else condition and return origin LogicalUnion, means you can not process this cases
run buildall |
run p0 |
03bec4d
to
3eda8d1
Compare
run buildall |
3eda8d1
to
7583d95
Compare
run buildall |
TPC-H: Total hot run time: 39753 ms
|
TPC-DS: Total hot run time: 171849 ms
|
ClickBench: Total hot run time: 30.45 s
|
7583d95
to
0265729
Compare
run buildall |
TPC-H: Total hot run time: 42095 ms
|
TPC-DS: Total hot run time: 171565 ms
|
ClickBench: Total hot run time: 30.32 s
|
0265729
to
58e3966
Compare
run buildall |
TPC-H: Total hot run time: 40678 ms
|
4894539
to
fa0fbcf
Compare
run buildall |
run cloud_p0 |
…42044) add transform: ```java /** * LogicalAggregate (groupByExpr=[c1#13], outputExpr=[c1#13, count(c1#13) AS `count(c1)`#15]) * +--LogicalUnion (outputs=[c1#13], regularChildrenOutputs=[[c1#9], [a#4], [a#7]]) * |--child1 (output = [[c1#9]]) * |--child2 (output = [[a#4]]) * +--child3 (output = [[a#7]]) * transform to: * LogicalAggregate (groupByExpr=[c1#13], outputExpr=[c1#13, sum0(count(c1)#19) AS `count(c1)`#15]) * +--LogicalUnion (outputs=[c1#13, count(c1)#19], regularChildrenOutputs=[[c1#9, count(c1)#16], * [a#4, count(a)#17], [a#7, count(a)#18]]) * |--LogicalAggregate (groupByExpr=[c1#9], outputExpr=[c1#9, count(c1#9) AS `count(c1)`#16]) * | +--child1 * |--LogicalAggregate (groupByExpr=[a#4], outputExpr=[a#4, count(a#4) AS `count(a)`#17]) * | +--child2 * +--LogicalAggregate (groupByExpr=[a#7], outputExpr=[a#7, count(a#7) AS `count(a)`#18]] * +--child3 */ ```
add transform: