twoPhaseAggregateWithDistinct(LogicalAggregate, ConnectContext) |  | 0% |  | 0% | 2 | 2 | 51 | 51 | 1 | 1 |
twoPhaseAggregateWithCountDistinctMulti(LogicalAggregate, CascadesContext) |  | 0% |  | 0% | 2 | 2 | 41 | 41 | 1 | 1 |
checkWhetherPushDownMinMax(Set, LogicalProject, List) |  | 0% |  | 0% | 8 | 8 | 30 | 30 | 1 | 1 |
storageLayerAggregate(LogicalAggregate, LogicalProject, LogicalRelation, CascadesContext) |   | 74% |   | 59% | 24 | 39 | 22 | 93 | 0 | 1 |
lambda$twoPhaseAggregateWithDistinct$104(Map, AggregateParam, Expression) |  | 0% |  | 0% | 5 | 5 | 12 | 12 | 1 | 1 |
pushdownMinMaxOnUniqueTable(LogicalAggregate, LogicalProject, LogicalFilter, LogicalOlapScan, CascadesContext) |  | 0% |  | 0% | 3 | 3 | 14 | 14 | 1 | 1 |
pushdownCountOnIndex(LogicalAggregate, LogicalProject, LogicalFilter, LogicalOlapScan, CascadesContext) |  | 0% |  | 0% | 3 | 3 | 12 | 12 | 1 | 1 |
lambda$buildRules$12(LogicalAggregate) |  | 0% |  | 0% | 6 | 6 | 10 | 10 | 1 | 1 |
lambda$buildRules$5(LogicalAggregate) |  | 0% |  | 0% | 6 | 6 | 10 | 10 | 1 | 1 |
checkSlotInOrExpression(Expression, Set) |  | 0% |  | 0% | 5 | 5 | 10 | 10 | 1 | 1 |
checkIsNullExpr(Expression, Set) |  | 0% |  | 0% | 5 | 5 | 10 | 10 | 1 | 1 |
lambda$buildRules$14(LogicalFilter) |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 1 | 1 |
fourPhaseAggregateWithDistinct(LogicalAggregate, ConnectContext, Function, Function) |   | 90% |   | 62% | 5 | 9 | 3 | 76 | 0 | 1 |
couldConvertToMulti(LogicalAggregate) |   | 50% |   | 40% | 7 | 11 | 5 | 13 | 0 | 1 |
threePhaseAggregateWithDistinct(LogicalAggregate, ConnectContext) |   | 89% |   | 50% | 4 | 6 | 3 | 73 | 0 | 1 |
lambda$twoPhaseAggregateWithCountDistinctMulti$89(Map, AggregateParam, AggregateParam, Expression) |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 1 | 1 |
lambda$buildRules$20(LogicalFilter) |   | 20% |   | 25% | 2 | 3 | 6 | 8 | 0 | 1 |
lambda$buildRules$25(MatchingContext) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
lambda$buildRules$13(MatchingContext) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
lambda$storageLayerAggregate$83(Expression) |   | 17% |   | 10% | 5 | 6 | 5 | 7 | 0 | 1 |
lambda$threePhaseAggregateWithDistinct$110(AggregateParam, Map, Expression) |   | 65% |   | 50% | 3 | 5 | 3 | 13 | 0 | 1 |
assignNullType(If, CascadesContext) |   | 36% |   | 25% | 2 | 3 | 3 | 7 | 0 | 1 |
normalizeArguments(Set, LogicalProject) |  | 0% |  | 0% | 2 | 2 | 9 | 9 | 1 | 1 |
lambda$threePhaseAggregateWithDistinct$109(AggregateParam, Map.Entry) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
lambda$threePhaseAggregateWithCountDistinctMulti$95(AggregateParam, Map.Entry) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
lambda$buildRules$19(MatchingContext) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
lambda$buildRules$6(MatchingContext) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
lambda$buildRules$34(MatchingContext) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
lambda$storageLayerAggregate$80(Expression) |   | 34% |   | 30% | 4 | 6 | 3 | 7 | 0 | 1 |
lambda$buildRules$9(AggregateFunction) |  | 0% |  | 0% | 5 | 5 | 2 | 2 | 1 | 1 |
lambda$buildRules$2(AggregateFunction) |  | 0% |  | 0% | 5 | 5 | 2 | 2 | 1 | 1 |
lambda$fourPhaseAggregateWithDistinct$124(boolean, LogicalAggregate, NamedExpression, List, AggregateParam, Map, Expression) |   | 82% |   | 60% | 3 | 6 | 3 | 20 | 0 | 1 |
lambda$fourPhaseAggregateWithDistinct$123(boolean, AggregateParam, List, Map, Expression) |   | 81% |   | 60% | 3 | 6 | 3 | 19 | 0 | 1 |
lambda$buildRules$24(LogicalAggregate) |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
lambda$buildRules$18(LogicalAggregate) |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
lambda$buildRules$32(MatchingContext) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
lambda$buildRules$11(Set, Expression) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
lambda$buildRules$4(Set, Expression) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
enablePushDownMinMaxOnUnique() |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
enablePushDownCountOnIndex() |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
enablePushDownStringMinMax() |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
lambda$isInvertedIndexEnabledOnTable$70(Index) |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
lambda$threePhaseAggregateWithDistinct$108(AggregateParam, AggregateFunction) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
lambda$twoPhaseAggregateWithDistinct$103(AggregateParam, AggregateFunction) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
lambda$threePhaseAggregateWithCountDistinctMulti$92(AggregateParam, AggregateFunction) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
lambda$twoPhaseAggregateWithCountDistinctMulti$87(AggregateParam, AggregateFunction) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
lambda$buildRules$33(LogicalAggregate) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
lambda$buildRules$31(LogicalAggregate) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
lambda$buildRules$23(AggregateFunction) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
lambda$buildRules$17(AggregateFunction) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
lambda$checkWhetherPushDownMinMax$77(Expression) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
lambda$normalizeArguments$73(Expression) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
lambda$threePhaseAggregateWithCountDistinctMulti$96(Map, AggregateParam, AggregateParam, Expression) |   | 72% |   | 75% | 1 | 3 | 2 | 8 | 0 | 1 |
lambda$buildRules$51(MatchingContext) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
lambda$twoPhaseAggregateWithDistinct$101(AggregateFunction) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
lambda$twoPhaseAggregateWithCountDistinctMulti$88(Expression) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
lambda$twoPhaseAggregateWithCountDistinctMulti$85(AggregateFunction) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
lambda$onlyContainsSlot$74(Expression) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
lambda$buildRules$49(LogicalAggregate) |   | 64% |   | 50% | 2 | 4 | 0 | 3 | 0 | 1 |
onlyContainsSlot(List) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
threePhaseAggregateWithCountDistinctMulti(LogicalAggregate, CascadesContext) |   | 98% |   | 66% | 2 | 4 | 0 | 65 | 0 | 1 |
lambda$buildRules$65(LogicalAggregate) |   | 63% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
lambda$storageLayerAggregate$82(Expression) |   | 55% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
lambda$twoPhaseAggregateWithDistinct$100(AggregateFunction) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
lambda$checkWhetherPushDownMinMax$76(AggregateFunction) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
lambda$normalizeArguments$72(AggregateFunction) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
lambda$buildRules$50(LogicalAggregate) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
lambda$buildRules$22(LogicalAggregate) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
lambda$buildRules$16(LogicalAggregate) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
lambda$buildRules$10(AggregateFunction) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
lambda$buildRules$8(LogicalAggregate) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
lambda$buildRules$3(AggregateFunction) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
lambda$buildRules$1(LogicalAggregate) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
isDupOrMowKeyTable(LogicalOlapScan) |   | 86% |   | 62% | 3 | 5 | 1 | 5 | 0 | 1 |
lambda$checkWhetherPushDownMinMax$78(Expression) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
lambda$checkWhetherPushDownMinMax$75(Expression) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
lambda$buildRules$21(LogicalAggregate) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
lambda$buildRules$15(LogicalAggregate) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
lambda$buildRules$7(LogicalAggregate) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
lambda$buildRules$0(LogicalAggregate) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
pushDownCountWithoutSlotRef(LogicalProject, LogicalOlapScan, CascadesContext) |  | 96% |   | 80% | 2 | 6 | 1 | 16 | 0 | 1 |
lambda$twoPhaseAggregateWithoutDistinct$99(Map, AggregateParam, Expression) |  | 92% |   | 75% | 1 | 3 | 1 | 7 | 0 | 1 |
isInvertedIndexEnabledOnTable(LogicalOlapScan) |  | 87% |   | 50% | 1 | 2 | 1 | 6 | 0 | 1 |
isUniqueKeyTable(LogicalOlapScan) |  | 86% |   | 75% | 1 | 3 | 1 | 4 | 0 | 1 |
tryConvertToMultiDistinct(AggregateFunction) |  | 83% |   | 50% | 2 | 3 | 1 | 3 | 0 | 1 |
lambda$storageLayerAggregate$79(AggregateFunction) |  | 75% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
lambda$threePhaseAggregateWithDistinct$106(AggregateFunction) |  | 71% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
lambda$threePhaseAggregateWithCountDistinctMulti$90(AggregateFunction) |  | 71% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
lambda$fourPhaseAggregateWithDistinct$121(Alias, Alias) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
lambda$threePhaseAggregateWithDistinct$107(AggregateFunction) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
lambda$twoPhaseAggregateWithDistinct$102(AggregateFunction) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
lambda$threePhaseAggregateWithCountDistinctMulti$91(AggregateFunction) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
lambda$twoPhaseAggregateWithCountDistinctMulti$86(AggregateFunction) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
lambda$buildRules$64(LogicalAggregate) |  | 94% |   | 50% | 1 | 2 | 0 | 4 | 0 | 1 |
enablePushDownNoGroupAgg() |  | 91% |   | 50% | 2 | 3 | 0 | 2 | 0 | 1 |
maybeUsingStreamAgg(ConnectContext, List) |  | 90% |   | 50% | 2 | 3 | 0 | 2 | 0 | 1 |
lambda$threePhaseAggregateWithCountDistinctMulti$94(AggregateFunction) |  | 87% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
lambda$threePhaseAggregateWithCountDistinctMulti$93(Expression) |  | 85% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
buildRules() |  | 100% | | n/a | 0 | 1 | 0 | 103 | 0 | 1 |
twoPhaseAggregateWithoutDistinct(LogicalAggregate, ConnectContext) |  | 100% |  | 100% | 0 | 2 | 0 | 33 | 0 | 1 |
twoPhaseAggregateWithMultiDistinct(LogicalAggregate, ConnectContext) |  | 100% |  | 100% | 0 | 2 | 0 | 32 | 0 | 1 |
lambda$countDistinctMultiExprToCountIf$115(CascadesContext, ImmutableList.Builder, Expression) |  | 100% |   | 75% | 2 | 5 | 0 | 13 | 0 | 1 |
onePhaseAggregateWithMultiDistinct(LogicalAggregate, ConnectContext) |  | 100% |  | 100% | 0 | 2 | 0 | 18 | 0 | 1 |
onePhaseAggregateWithoutDistinct(LogicalAggregate, ConnectContext) |  | 100% |  | 100% | 0 | 2 | 0 | 18 | 0 | 1 |
lambda$twoPhaseAggregateWithMultiDistinct$114(Map, AggregateParam, Expression) |  | 100% |  | 100% | 0 | 2 | 0 | 6 | 0 | 1 |
lambda$fourPhaseAggregateWithDistinct$122(AggregateParam, Map.Entry) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
lambda$buildRules$30(MatchingContext) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
countDistinctMultiExprToCountIf(LogicalAggregate, CascadesContext) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
lambda$onePhaseAggregateWithMultiDistinct$111(AggregateParam, Expression) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
lambda$containsCountDistinctMultiExpr$116(TreeNode) |  | 100% |  | 100% | 0 | 4 | 0 | 1 | 0 | 1 |
lambda$twoPhaseAggregateWithMultiDistinct$113(AggregateParam, AggregateFunction) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
lambda$buildRules$62(MatchingContext) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
lambda$buildRules$28(MatchingContext) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
lambda$buildRules$69(MatchingContext) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
lambda$buildRules$27(MatchingContext) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$buildRules$60(MatchingContext, List) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
lambda$buildRules$46(LogicalAggregate) |  | 100% |   | 75% | 1 | 3 | 0 | 1 | 0 | 1 |
lambda$buildRules$43(LogicalAggregate) |  | 100% |   | 75% | 1 | 3 | 0 | 1 | 0 | 1 |
maybeUsingStreamAgg(ConnectContext, LogicalAggregate) |  | 100% |   | 75% | 1 | 3 | 0 | 2 | 0 | 1 |
lambda$onePhaseAggregateWithoutDistinct$84(AggregateParam, Expression) |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
getHashAggregatePartitionExpressions(LogicalAggregate) |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
lambda$fourPhaseAggregateWithDistinct$120(AggregateParam, AggregateFunction) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
lambda$twoPhaseAggregateWithoutDistinct$98(AggregateParam, AggregateFunction) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
lambda$buildRules$68(LogicalAggregate) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
lambda$buildRules$63(LogicalAggregate) |  | 100% |  | 100% | 0 | 3 | 0 | 1 | 0 | 1 |
lambda$buildRules$67(List) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
lambda$buildRules$29(LogicalAggregate) |  | 100% |   | 75% | 1 | 3 | 0 | 1 | 0 | 1 |
lambda$buildRules$26(LogicalAggregate) |  | 100% |   | 75% | 1 | 3 | 0 | 1 | 0 | 1 |
lambda$buildRules$56(LogicalAggregate) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
lambda$buildRules$52(LogicalAggregate) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
lambda$buildRules$61(LogicalAggregate) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$buildRules$55(MatchingContext) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$buildRules$48(MatchingContext) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$buildRules$45(MatchingContext) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$buildRules$42(MatchingContext) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$buildRules$40(MatchingContext) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$buildRules$37(MatchingContext) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$fourPhaseAggregateWithDistinct$118(AggregateFunction) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
lambda$isInvertedIndexEnabledOnTable$71(MaterializedIndexMeta) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
containsCountDistinctMultiExpr(LogicalAggregate) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$fourPhaseAggregateWithDistinct$117(AggregateFunction) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$threePhaseAggregateWithDistinct$105(AggregateFunction) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$storageLayerAggregate$81(AggregateFunction) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$buildRules$66(LogicalAggregate) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$buildRules$59(LogicalAggregate) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$buildRules$57(LogicalAggregate) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$buildRules$54(LogicalAggregate) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$buildRules$47(LogicalAggregate) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$buildRules$44(LogicalAggregate) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$buildRules$41(LogicalAggregate) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$buildRules$39(LogicalAggregate) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$buildRules$38(LogicalAggregate) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$buildRules$36(LogicalAggregate) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$buildRules$35(LogicalAggregate) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
AggregateStrategies() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$buildRules$58(LogicalAggregate) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$buildRules$53(LogicalAggregate) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$fourPhaseAggregateWithDistinct$119(AggregateFunction) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$twoPhaseAggregateWithMultiDistinct$112(AggregateFunction) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
lambda$twoPhaseAggregateWithoutDistinct$97(AggregateFunction) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |