| tryExtractCaseWhen(Expression, boolean, Set, Set) |   | 98% |   | 95% | 1 | 12 | 1 | 38 | 0 | 1 |
| doExtractExpression(Expression, int, boolean, Set, Set) |   | 96% |   | 83% | 1 | 4 | 1 | 14 | 0 | 1 |
| extractExpression(Expression, ExpressionRewriteContext, LogicalJoin, Set, AtomicReference) |  | 99% |   | 82% | 7 | 21 | 1 | 36 | 0 | 1 |
| rewrite(LogicalJoin, ExpressionRewriteContext) |  | 100% |   | 91% | 1 | 7 | 0 | 20 | 0 | 1 |
| needRewrite(LogicalJoin) |  | 100% |   | 92% | 1 | 8 | 0 | 15 | 0 | 1 |
| tryAddOrExpansionHashCondition(Expression, LogicalJoin, ExpressionRewriteContext, AtomicReference) |  | 100% |   | 91% | 1 | 7 | 0 | 16 | 0 | 1 |
| isConditionNeedRewrite(Expression, Set, Set) |  | 100% |  | 100% | 0 | 5 | 0 | 7 | 0 | 1 |
| isAllSlotsFromLeftSide(Expression, boolean, Set, Set) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| lambda$buildRules$0(MatchingContext) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| buildRules() |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| lambda$extractExpression$1(LogicalJoin, ExpressionRewriteContext, AtomicReference, Expression) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| JoinExtractOrFromCaseWhen() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |