| isValid(Litmus, RelNode.Context) |  | 0% |  | 0% | 7 | 7 | 21 | 21 | 1 | 1 |
| deepEquals0(Object) |  | 0% |  | 0% | 11 | 11 | 11 | 11 | 1 | 1 |
| deepHashCode0() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| explainTerms(RelWriter) |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 1 | 1 |
| Join(RelOptCluster, RelTraitSet, List, RelNode, RelNode, RexNode, Set, JoinRelType) |  | 0% | | n/a | 1 | 1 | 7 | 7 | 1 | 1 |
| copy(RelTraitSet, List) |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
| accept(RexShuttle) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| computeSelfCost(RelOptPlanner, RelMetadataQuery) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| deriveRowType() |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| Join(RelOptCluster, RelTraitSet, RelNode, RelNode, RexNode, JoinRelType, Set) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| Join(RelOptCluster, RelTraitSet, RelNode, RelNode, RexNode, Set, JoinRelType) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| estimateJoinedRows(Join, RexNode) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| estimateRowCount(RelMetadataQuery) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isSemiJoin() |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| deriveJoinRowType(RelDataType, RelDataType, JoinRelType, RelDataTypeFactory, List, List) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| static {...} |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| createJoinType(RelDataTypeFactory, RelDataType, RelDataType, List, List) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getCondition() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getJoinType() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getVariablesSet() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| analyzeCondition() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getHints() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isSemiJoinDone() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getSystemFieldList() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |