| rewriteByRules(CascadesContext, Function, Plan, Plan, boolean) |   | 80% |   | 60% | 6 | 11 | 10 | 50 | 0 | 1 |
| normalizeExpression(NamedExpression, NamedExpression) |   | 55% |   | 25% | 2 | 3 | 2 | 5 | 0 | 1 |
| getRelatedTableInfo(String, String, Plan, CascadesContext) |   | 95% |   | 78% | 3 | 8 | 2 | 30 | 0 | 1 |
| removeMaterializedViewHooks(StatementContext) |   | 89% |   | 75% | 1 | 3 | 1 | 9 | 0 | 1 |
| MaterializedViewUtils() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| normalizeExpressions(Plan, Plan) |   | 95% |   | 75% | 1 | 3 | 1 | 6 | 0 | 1 |
| containMaterializedViewHook(StatementContext) |  | 94% |   | 75% | 1 | 3 | 1 | 5 | 0 | 1 |
| extractStructInfo(Plan, Plan, CascadesContext, BitSet) |  | 100% |   | 83% | 2 | 7 | 0 | 23 | 0 | 1 |
| transformToCommonTableId(BitSet, Map) |  | 100% |   | 75% | 1 | 3 | 0 | 6 | 0 | 1 |
| generateMvScanPlan(OlapTable, long, List, PreAggStatus, CascadesContext) |  | 100% | | n/a | 0 | 1 | 0 | 10 | 0 | 1 |
| getChosenMaterializationAndUsedTable(Plan, Map) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| extractNondeterministicFunction(Plan) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| collectTableUsedPartitions(Plan, CascadesContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| containTableQueryOperator(Plan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$rewriteByRules$1(AtomicReference, Function, CascadesContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$getRelatedTableInfo$0() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |