| doRewrite(StructInfo, CascadesContext, MaterializationContext) |    | 81% |    | 74% | 14 | 30 | 23 | 128 | 0 | 1 | 
| isMaterializationValid(Plan, CascadesContext, MaterializationContext) |    | 54% |    | 78% | 3 | 8 | 9 | 29 | 0 | 1 | 
| rewrite(Plan, CascadesContext) |    | 81% |    | 86% | 3 | 12 | 11 | 49 | 0 | 1 | 
| lambda$doRewrite$9(Map, CascadesContext) |   | 0% |  | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 
| decideMatchMode(List, List) |    | 78% |    | 50% | 3 | 6 | 5 | 15 | 0 | 1 | 
| lambda$doRewrite$16(List, Plan) |   | 0% |  | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 
| lambda$doRewrite$13(Pair, Plan) |   | 0% |  | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 
| isOutputValid(Plan, Plan) |    | 45% |    | 25% | 2 | 3 | 2 | 4 | 0 | 1 | 
| lambda$doRewrite$10(MTMV) |   | 0% |  | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 
| lambda$doRewrite$5(RelationMapping) |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| lambda$doRewrite$3(AbstractMaterializedViewRule.MatchMode) |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| checkQueryPattern(StructInfo, CascadesContext) |   | 0% |   | 0% | 2 | 2 | 3 | 3 | 1 | 1 | 
| extendMappingByVariant(Set, Map) |    | 96% |    | 95% | 1 | 13 | 2 | 41 | 0 | 1 | 
| rewriteExpression(List, Plan, ExpressionMapping, SlotMapping, BitSet, Map, CascadesContext) |   | 98% |    | 91% | 2 | 13 | 1 | 45 | 0 | 1 | 
| containsAllWithOrder(List, List) |   | 94% |    | 80% | 2 | 6 | 1 | 10 | 0 | 1 | 
| rewriteQueryByViewPreCheck(AbstractMaterializedViewRule.MatchMode, StructInfo, StructInfo, SlotMapping, Plan, MaterializationContext) |   | 90% |    | 66% | 2 | 4 | 1 | 6 | 0 | 1 | 
| rewriteQueryByView(AbstractMaterializedViewRule.MatchMode, StructInfo, StructInfo, SlotMapping, Plan, MaterializationContext, CascadesContext) |  | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| lambda$doRewrite$4() |  | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| containsNullRejectSlot(Set, Set, SlotMapping, StructInfo, StructInfo, CascadesContext) |   | 99% |    | 87% | 1 | 5 | 1 | 27 | 0 | 1 | 
| predicatesCompensate(StructInfo, StructInfo, SlotMapping, ComparisonResult, CascadesContext) |   | 100% |   | 100% | 0 | 9 | 0 | 27 | 0 | 1 | 
| lambda$doRewrite$6(StructInfo, StructInfo, ComparisonResult) |   | 100% |  | n/a | 0 | 1 | 0 | 4 | 0 | 1 | 
| trySetStatistics(MaterializationContext, CascadesContext) |   | 100% |    | 50% | 2 | 3 | 0 | 5 | 0 | 1 | 
| lambda$getValidQueryStructInfos$2(CascadesContext, Plan, List, StructInfo) |   | 100% |   | 100% | 0 | 4 | 0 | 5 | 0 | 1 | 
| static {...} |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| constructElementAt(Expression, List) |   | 100% |   | 100% | 0 | 2 | 0 | 5 | 0 | 1 | 
| recordIfRewritten(Plan, MaterializationContext, CascadesContext) |   | 100% |    | 50% | 1 | 2 | 0 | 6 | 0 | 1 | 
| getValidQueryStructInfos(Plan, CascadesContext, BitSet) |   | 100% |  | n/a | 0 | 1 | 0 | 4 | 0 | 1 | 
| lambda$doRewrite$7(Predicates.SplitPredicate, MaterializationContext, SlotMapping) |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| checkIfRewritten(Plan, MaterializationContext) |   | 100% |    | 75% | 1 | 3 | 0 | 2 | 0 | 1 | 
| lambda$doRewrite$17(CascadesContext) |   | 100% |  | n/a | 0 | 1 | 0 | 4 | 0 | 1 | 
| lambda$doRewrite$12(MTMV, Plan) |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| lambda$getValidQueryStructInfos$0(StructInfo, Plan) |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| lambda$doRewrite$18(LogicalProperties, Plan) |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| lambda$isMaterializationValid$28(MaterializationContext) |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| lambda$isMaterializationValid$27(MaterializationContext) |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| lambda$isMaterializationValid$26(MaterializationContext) |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| lambda$rewriteExpression$21(TreeNode) |   | 100% |   | 100% | 0 | 3 | 0 | 2 | 0 | 1 | 
| lambda$rewriteExpression$19(Map, Expression) |   | 100% |   | 100% | 0 | 2 | 0 | 3 | 0 | 1 | 
| lambda$containsNullRejectSlot$23(Expression) |   | 100% |   | 100% | 0 | 2 | 0 | 3 | 0 | 1 | 
| lambda$doRewrite$11(MTMV) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| lambda$doRewrite$15(Plan) |   | 100% |  | n/a | 0 | 1 | 0 | 3 | 0 | 1 | 
| lambda$getValidQueryStructInfos$1(StructInfo, Plan, MaterializationContext) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| calcInvalidPartitions(Map, Plan, CascadesContext, AsyncMaterializationContext) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| lambda$doRewrite$8(CascadesContext) |   | 100% |  | n/a | 0 | 1 | 0 | 2 | 0 | 1 | 
| checkMaterializationPattern(StructInfo, CascadesContext) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| lambda$containsNullRejectSlot$25(Set, Set) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| lambda$containsNullRejectSlot$24(SlotMapping, Expression) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| lambda$containsNullRejectSlot$22(Expression) |  | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| lambda$doRewrite$14(Slot) |  | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| AbstractMaterializedViewRule() |  | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| lambda$rewriteExpression$20(TreeNode) |  | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| canUnionRewrite(Plan, AsyncMaterializationContext, CascadesContext) |  | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 |