| addOnJoinFieldRefCounts(List, int, RexNode, List) |  | 0% |  | 0% | 8 | 8 | 32 | 32 | 1 | 1 |
| combineInputs(Join, RelNode, RelNode, List, List) |  | 0% |  | 0% | 5 | 5 | 27 | 27 | 1 | 1 |
| combineOuterJoins(Join, List, RelNode, RelNode, List) |  | 0% |  | 0% | 7 | 7 | 29 | 29 | 1 | 1 |
| onMatch(RelOptRuleCall) |  | 0% |  | 0% | 2 | 2 | 27 | 27 | 1 | 1 |
| copyOuterJoinInfo(MultiJoin, List, int, List, List) |  | 0% |  | 0% | 4 | 4 | 19 | 19 | 1 | 1 |
| combineJoinFilters(Join, RelNode, RelNode) |  | 0% |  | 0% | 5 | 5 | 12 | 12 | 1 | 1 |
| shiftRightFilter(Join, RelNode, MultiJoin, RexNode) |  | 0% |  | 0% | 2 | 2 | 12 | 12 | 1 | 1 |
| combinePostJoinFilters(Join, RelNode, RelNode) |  | 0% |  | 0% | 3 | 3 | 9 | 9 | 1 | 1 |
| canCombine(RelNode, boolean) |  | 0% |  | 0% | 5 | 5 | 3 | 3 | 1 | 1 |
| JoinToMultiJoinRule(Class, RelBuilderFactory) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| matches(RelOptRuleCall) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$addOnJoinFieldRefCounts$0(int) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| static {...} |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| JoinToMultiJoinRule(Class) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| JoinToMultiJoinRule(JoinToMultiJoinRule.Config) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |