| canEliminateViewEdge(JoinEdge) |    | 74% |    | 50% | 8 | 11 | 7 | 26 | 0 | 1 | 
| canPullFromLeft(Edge, JoinType) |    | 25% |    | 12% | 4 | 5 | 4 | 6 | 0 | 1 | 
| canPullFromRight(Edge, JoinType) |    | 25% |    | 12% | 4 | 5 | 4 | 6 | 0 | 1 | 
| isSubTreeNodesEquals(Edge, Edge, LogicalCompatibilityContext) |    | 92% |    | 70% | 3 | 6 | 2 | 12 | 0 | 1 | 
| constructViewPlan(long, Set) |    | 89% |    | 66% | 2 | 4 | 2 | 10 | 0 | 1 | 
| isLogicCompatible() |    | 97% |    | 90% | 1 | 6 | 1 | 34 | 0 | 1 | 
| compareNodeWithExpr(StructInfoNode, StructInfoNode) |    | 97% |    | 78% | 3 | 8 | 1 | 18 | 0 | 1 | 
| tryInferEdge(JoinEdge, JoinEdge) |    | 97% |    | 83% | 2 | 7 | 1 | 15 | 0 | 1 | 
| compareEdgeWithNode(Edge, Edge) |    | 95% |    | 75% | 3 | 7 | 1 | 6 | 0 | 1 | 
| canEliminatePrimaryByForeign(long, long, Set, Set, JoinEdge) |    | 90% |    | 50% | 2 | 3 | 1 | 5 | 0 | 1 | 
| constructQueryToViewFilterMapWithExpr() |   | 99% |    | 95% | 1 | 11 | 1 | 33 | 0 | 1 | 
| compareFilterEdgeWithNode(FilterEdge, FilterEdge) |   | 91% |    | 50% | 1 | 2 | 0 | 1 | 0 | 1 | 
| lambda$isLogicCompatible$7(FilterEdge) |   | 90% |    | 50% | 1 | 2 | 0 | 1 | 0 | 1 | 
| lambda$isLogicCompatible$5(JoinEdge) |   | 90% |    | 50% | 1 | 2 | 0 | 1 | 0 | 1 | 
| buildComparisonRes() |   | 100% |   | 100% | 0 | 8 | 0 | 25 | 0 | 1 | 
| constructQueryToViewJoinMapWithExpr() |   | 100% |   | 100% | 0 | 8 | 0 | 25 | 0 | 1 | 
| getMappingViewExprByQueryExpr(Expression, HyperElement, LogicalCompatibilityContext, StructInfo.ExpressionPosition) |   | 100% |   | 100% | 0 | 6 | 0 | 17 | 0 | 1 | 
| compareJoinEdgeWithExpr(Edge, Edge) |   | 100% |   | 100% | 0 | 3 | 0 | 15 | 0 | 1 | 
| compareFilterEdgeWithExpr(Edge, Edge) |   | 100% |   | 100% | 0 | 3 | 0 | 15 | 0 | 1 | 
| static {...} |   | 100% |  | n/a | 0 | 1 | 0 | 10 | 0 | 1 | 
| refreshViewEdges() |   | 100% |   | 100% | 0 | 2 | 0 | 15 | 0 | 1 | 
| compareJoinEdgeWithNode(JoinEdge, JoinEdge) |   | 100% |    | 80% | 2 | 6 | 0 | 7 | 0 | 1 | 
| compareJoinEdgeOrInfer(JoinEdge, JoinEdge) |   | 100% |   | 100% | 0 | 7 | 0 | 9 | 0 | 1 | 
| canPullUp(Edge) |   | 100% |   | 100% | 0 | 5 | 0 | 9 | 0 | 1 | 
| HyperGraphComparator(HyperGraph, HyperGraph, LogicalCompatibilityContext) |   | 100% |  | n/a | 0 | 1 | 0 | 11 | 0 | 1 | 
| makeViewJoinCompatible(Map) |   | 100% |    | 75% | 2 | 5 | 0 | 7 | 0 | 1 | 
| getViewNodesByQuery(long) |   | 100% |   | 100% | 0 | 2 | 0 | 6 | 0 | 1 | 
| getErrorMessage() |   | 100% |  | n/a | 0 | 1 | 0 | 5 | 0 | 1 | 
| tryEliminateNodesAndEdge() |   | 100% |   | 100% | 0 | 2 | 0 | 8 | 0 | 1 | 
| getViewEdgeAfterInferring(Edge) |   | 100% |   | 100% | 0 | 2 | 0 | 3 | 0 | 1 | 
| lambda$canPullUp$17(JoinEdge) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| lambda$canPullUp$15(JoinEdge) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| lambda$tryEliminateNodesAndEdge$9(FilterEdge) |   | 100% |   | 100% | 0 | 2 | 0 | 1 | 0 | 1 | 
| lambda$isLogicCompatible$2(Map.Entry) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| lambda$isLogicCompatible$1(Map.Entry) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| lambda$isLogicCompatible$0(Map.Entry) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| isLogicCompatible(HyperGraph, HyperGraph, LogicalCompatibilityContext) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| lambda$isLogicCompatible$8(FilterEdge) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| lambda$isLogicCompatible$6(JoinEdge) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| lambda$isLogicCompatible$4(FilterEdge) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| lambda$isLogicCompatible$3(JoinEdge) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| lambda$canPullUp$18(Edge, Pair) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| lambda$canPullUp$16(Edge, Pair) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| lambda$buildComparisonRes$13(Expression) |   | 100% |   | 100% | 0 | 2 | 0 | 1 | 0 | 1 | 
| lambda$buildComparisonRes$12(Expression) |   | 100% |   | 100% | 0 | 2 | 0 | 1 | 0 | 1 | 
| lambda$tryEliminateNodesAndEdge$11(JoinEdge) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| lambda$tryEliminateNodesAndEdge$10(FilterEdge) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getQueryJoinEdgeSet() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getQueryFilterEdgeSet() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getViewFilterEdgeSet() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getViewJoinEdgeSet() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getQueryJoinEdges() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getQueryFilterEdges() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getViewJoinEdges() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getViewFilterEdges() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| getQueryToViewNodeIdMap() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| lambda$buildComparisonRes$14(FilterEdge) |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 |