| findRemovableOuterJoins(RelMetadataQuery, LoptMultiJoin) |  | 0% |  | 0% | 20 | 20 | 61 | 61 | 1 | 1 |
| pushDownFactor(RelOptRuleCall, LoptMultiJoin, LoptSemiJoinOptimizer, LoptJoinTree, int, BitSet, List, boolean) |  | 0% |  | 0% | 18 | 18 | 55 | 55 | 1 | 1 |
| createReplacementJoin(RelBuilder, LoptMultiJoin, LoptSemiJoinOptimizer, LoptJoinTree, int, int, ImmutableIntList, Integer[], List) |  | 0% |  | 0% | 7 | 7 | 43 | 43 | 1 | 1 |
| findRemovableSelfJoins(RelMetadataQuery, LoptMultiJoin) |  | 0% |  | 0% | 12 | 12 | 32 | 32 | 1 | 1 |
| createTopProject(RelBuilder, LoptMultiJoin, LoptJoinTree, List) |  | 0% |  | 0% | 8 | 8 | 37 | 37 | 1 | 1 |
| addFactorToTree(RelOptRuleCall, LoptMultiJoin, LoptSemiJoinOptimizer, LoptJoinTree, int, BitSet, List, boolean) |  | 0% |  | 0% | 12 | 12 | 38 | 38 | 1 | 1 |
| addFilters(LoptMultiJoin, LoptJoinTree, int, LoptJoinTree, List, boolean) |  | 0% |  | 0% | 10 | 10 | 35 | 35 | 1 | 1 |
| getBestNextFactor(RelMetadataQuery, LoptMultiJoin, BitSet, BitSet, LoptSemiJoinOptimizer, LoptJoinTree, List) |  | 0% |  | 0% | 16 | 16 | 31 | 31 | 1 | 1 |
| adjustFilter(LoptMultiJoin, LoptJoinTree, LoptJoinTree, RexNode, int, List, List) |  | 0% |  | 0% | 7 | 7 | 30 | 30 | 1 | 1 |
| createJoinSubtree(RelMetadataQuery, RelBuilder, LoptMultiJoin, LoptJoinTree, LoptJoinTree, RexNode, JoinRelType, List, boolean, boolean) |  | 0% |  | 0% | 12 | 12 | 30 | 30 | 1 | 1 |
| createOrdering(RelOptRuleCall, LoptMultiJoin, LoptSemiJoinOptimizer, int) |  | 0% |  | 0% | 9 | 9 | 35 | 35 | 1 | 1 |
| remapJoinReferences(LoptMultiJoin, int, List, int, int[], int, int, boolean) |  | 0% |  | 0% | 10 | 10 | 28 | 28 | 1 | 1 |
| createReplacementSemiJoin(RelBuilder, LoptMultiJoin, LoptSemiJoinOptimizer, LoptJoinTree, int, List) |  | 0% |  | 0% | 7 | 7 | 22 | 22 | 1 | 1 |
| isSelfJoinFilterUnique(RelMetadataQuery, LoptMultiJoin, int, int, List) |  | 0% |  | 0% | 3 | 3 | 20 | 20 | 1 | 1 |
| addToTop(RelMetadataQuery, RelBuilder, LoptMultiJoin, LoptSemiJoinOptimizer, LoptJoinTree, int, List, boolean) |  | 0% |  | 0% | 9 | 9 | 16 | 16 | 1 | 1 |
| swapFilter(RexBuilder, LoptMultiJoin, LoptJoinTree, LoptJoinTree, RexNode) |  | 0% |  | 0% | 3 | 3 | 14 | 14 | 1 | 1 |
| findBestOrderings(RelOptRuleCall, LoptMultiJoin, LoptSemiJoinOptimizer) |  | 0% |  | 0% | 5 | 5 | 17 | 17 | 1 | 1 |
| areSelfJoinKeysUnique(RelMetadataQuery, RelNode, RelNode, RexNode) |  | 0% |  | 0% | 7 | 7 | 16 | 16 | 1 | 1 |
| swapInputs(RelMetadataQuery, LoptMultiJoin, LoptJoinTree, LoptJoinTree, boolean) |  | 0% |  | 0% | 8 | 8 | 12 | 12 | 1 | 1 |
| onMatch(RelOptRuleCall) |  | 0% |  | 0% | 3 | 3 | 17 | 17 | 1 | 1 |
| needsAdjustment(LoptMultiJoin, int[], LoptJoinTree, LoptJoinTree, boolean) |  | 0% |  | 0% | 4 | 4 | 13 | 13 | 1 | 1 |
| addAdditionalFilters(RelBuilder, LoptMultiJoin, LoptJoinTree, LoptJoinTree, List) |  | 0% |  | 0% | 3 | 3 | 13 | 13 | 1 | 1 |
| computeJoinCardinality(RelMetadataQuery, LoptMultiJoin, LoptSemiJoinOptimizer, LoptJoinTree, List, int) |  | 0% |  | 0% | 2 | 2 | 14 | 14 | 1 | 1 |
| setFactorJoinKeys(LoptMultiJoin, List, ImmutableBitSet, int, int, ImmutableBitSet.Builder) |  | 0% |  | 0% | 5 | 5 | 12 | 12 | 1 | 1 |
| isRemovableSelfJoin(Join) |  | 0% |  | 0% | 5 | 5 | 14 | 14 | 1 | 1 |
| getSimpleFactors(RelMetadataQuery, LoptMultiJoin) |  | 0% |  | 0% | 6 | 6 | 12 | 12 | 1 | 1 |
| setJoinKey(ImmutableBitSet.Builder, ImmutableBitSet.Builder, int, int, int, int, boolean) |  | 0% |  | 0% | 6 | 6 | 8 | 8 | 1 | 1 |
| rowWidthCost(RelNode) |  | 0% |  | 0% | 2 | 2 | 7 | 7 | 1 | 1 |
| LoptOptimizeJoinRule(RelFactories.JoinFactory, RelFactories.ProjectFactory, RelFactories.FilterFactory) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| isJoinTree(RelNode) |  | 0% |  | 0% | 4 | 4 | 4 | 4 | 1 | 1 |
| lambda$createReplacementSemiJoin$1(int, LoptMultiJoin) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$pushDownFactor$0(int) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| LoptOptimizeJoinRule(RelBuilderFactory) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| static {...} |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| LoptOptimizeJoinRule(LoptOptimizeJoinRule.Config) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |