| RelMetadataQuery(MetadataHandlerProvider) |  | 0% | | n/a | 1 | 1 | 34 | 34 | 1 | 1 |
| RelMetadataQuery(boolean) |  | 0% | | n/a | 1 | 1 | 30 | 30 | 1 | 1 |
| RelMetadataQuery(MetadataHandlerProvider, RelMetadataQuery) |  | 0% | | n/a | 1 | 1 | 28 | 28 | 1 | 1 |
| isEmpty(RelNode) |  | 0% |  | 0% | 5 | 5 | 7 | 7 | 1 | 1 |
| areRowsUnique(RelNode, boolean) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| isVisibleInExplain(RelNode, SqlExplainLevel) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| getTableOrigin(RelNode) |  | 0% |  | 0% | 4 | 4 | 6 | 6 | 1 | 1 |
| distribution(RelNode) |  | 0% |  | 0% | 2 | 2 | 7 | 7 | 1 | 1 |
| getPulledUpPredicates(RelNode) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| getRowCount(RelNode) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| getColumnOrigin(RelNode, int) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| getDistinctRowCount(RelNode, ImmutableBitSet, RexNode) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| getSelectivity(RelNode, RexNode) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| getPopulationSize(RelNode, ImmutableBitSet) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| getNodeTypes(RelNode) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| getPercentageOriginalRows(RelNode) |  | 0% | | n/a | 1 | 1 | 7 | 7 | 1 | 1 |
| areColumnsUnique(RelNode, ImmutableBitSet, boolean) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| expand(RelNode, int, BuiltInMetadata.Measure.Context) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| determines(RelNode, int, int) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| determinesSet(RelNode, ImmutableBitSet, ImmutableBitSet) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| getColumnOrigins(RelNode, int) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| getExpressionLineage(RelNode, RexNode) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| getUniqueKeys(RelNode, boolean) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| isMeasure(RelNode, int) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| getLowerBoundCost(RelNode, VolcanoPlanner) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| dependents(RelNode, ImmutableBitSet) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| determinants(RelNode, ImmutableBitSet) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| getMaxRowCount(RelNode) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| getMinRowCount(RelNode) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| getCumulativeCost(RelNode) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| getNonCumulativeCost(RelNode) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| getTableReferences(RelNode) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| collations(RelNode) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| getAverageRowSize(RelNode) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| getAverageColumnSizes(RelNode) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| getAverageColumnSizesNotNull(RelNode) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| isPhaseTransition(RelNode) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| splitCount(RelNode) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| memory(RelNode) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| cumulativeMemoryWithinPhase(RelNode) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| cumulativeMemoryWithinPhaseSplit(RelNode) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| getAllPredicates(RelNode) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| getDistribution(RelNode) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| getFDs(RelNode) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| RelMetadataQuery() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| areColumnsUnique(RelNode, ImmutableBitSet) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getUniqueKeys(RelNode) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| areRowsUnique(RelNode) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$static$0() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| instance() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| static {...} |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |