| visitLogicalHaving(LogicalHaving, CascadesContext) |  | 0% |  | 0% | 2 | 2 | 7 | 7 | 1 | 1 |
| findValidEqualItem(Expression) |   | 73% |   | 70% | 2 | 6 | 3 | 11 | 0 | 1 |
| expandEqualSetAndConstants(List, boolean, ImmutableEqualSet, Map) |   | 93% |   | 76% | 4 | 14 | 2 | 34 | 0 | 1 |
| replaceNameExpressionConstants(NamedExpression, ExpressionRewriteContext, ImmutableEqualSet, Map) |   | 75% |   | 83% | 1 | 4 | 1 | 8 | 0 | 1 |
| visitLogicalJoin(LogicalJoin, CascadesContext) |   | 93% |   | 75% | 3 | 9 | 2 | 31 | 0 | 1 |
| replaceAndConstants(And, boolean, ExpressionRewriteContext, ImmutableEqualSet, Map) |   | 96% |   | 90% | 2 | 11 | 1 | 32 | 0 | 1 |
| rewriteRoot(Plan, JobContext) |   | 88% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| getConstantUniforms(Map, ExpressionRewriteContext) |  | 98% |   | 83% | 2 | 7 | 1 | 12 | 0 | 1 |
| visitLogicalAggregate(LogicalAggregate, CascadesContext) |  | 100% |  | 100% | 0 | 12 | 0 | 37 | 0 | 1 |
| visitLogicalSort(LogicalSort, CascadesContext) |  | 100% |  | 100% | 0 | 5 | 0 | 17 | 0 | 1 |
| replaceConstantsAndRewriteExpr(LogicalPlan, Expression, CascadesContext) |  | 100% |   | 78% | 3 | 8 | 0 | 17 | 0 | 1 |
| visitLogicalProject(LogicalProject, CascadesContext) |  | 100% |  | 100% | 0 | 3 | 0 | 11 | 0 | 1 |
| getChildEqualSetAndConstants(LogicalPlan, ExpressionRewriteContext) |  | 100% |  | 100% | 0 | 3 | 0 | 11 | 0 | 1 |
| replaceConstants(Expression, boolean, ExpressionRewriteContext, ImmutableEqualSet, Map) |  | 100% |  | 100% | 0 | 6 | 0 | 11 | 0 | 1 |
| replaceOrConstants(Or, boolean, ExpressionRewriteContext, ImmutableEqualSet, Map) |  | 100% |  | 100% | 0 | 3 | 0 | 9 | 0 | 1 |
| needReplaceWithConstant(Expression, Map, Map) |  | 100% |  | 100% | 0 | 6 | 0 | 8 | 0 | 1 |
| canReplaceExpression(Expression) |  | 100% |  | 100% | 0 | 6 | 0 | 11 | 0 | 1 |
| addConstant(Map, Slot, Literal) |  | 100% |   | 70% | 3 | 6 | 0 | 6 | 0 | 1 |
| visitLogicalFilter(LogicalFilter, CascadesContext) |  | 100% |  | 100% | 0 | 2 | 0 | 7 | 0 | 1 |
| isExprEqualIgnoreOrder(Expression, Expression) |  | 100% |  | 100% | 0 | 3 | 0 | 7 | 0 | 1 |
| lambda$replaceConstants$0(Map, TreeNode) |  | 100% |  | 100% | 0 | 3 | 0 | 1 | 0 | 1 |
| visitLogicalSink(LogicalSink, CascadesContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| ConstantPropagation() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |