| expandAntiJoinToRelNode(Join, List, boolean, boolean, RelBuilder) |  | 0% |  | 0% | 8 | 8 | 26 | 26 | 1 | 1 |
| splitCond(Join) |  | 0% |  | 0% | 5 | 5 | 16 | 16 | 1 | 1 |
| onMatch(RelOptRuleCall) |  | 0% |  | 0% | 8 | 8 | 19 | 19 | 1 | 1 |
| expandInnerJoinToRelNodes(Join, List, RelBuilder) |  | 0% |  | 0% | 3 | 3 | 10 | 10 | 1 | 1 |
| expandFullJoin(Join, RelBuilder) |  | 0% | | n/a | 1 | 1 | 12 | 12 | 1 | 1 |
| isEquiJoinCond(RexCall, int) |  | 0% |  | 0% | 9 | 9 | 10 | 10 | 1 | 1 |
| isValidCond(RexNode, int) |  | 0% |  | 0% | 7 | 7 | 14 | 14 | 1 | 1 |
| expandLeftOrRightJoinToRelNodes(Join, List, boolean, RelBuilder) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| lambda$expandFullJoin$0(RelBuilder, RelDataTypeField) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| expandLeftOrRightJoin(Join, boolean, RelBuilder) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| expandInnerJoin(Join, RelBuilder) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| matches(RelOptRuleCall) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| doesNotReferToBothInputs(RexNode, int) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| expandAntiJoin(Join, RelBuilder) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| JoinExpandOrToUnionRule(JoinExpandOrToUnionRule.Config) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |