| visitJoin(Join, SqlPlannerContext) |  | 0% |  | 0% | 43 | 43 | 145 | 145 | 1 | 1 |
| planJoinUsing(Join, RelationPlan, RelationPlan, SqlPlannerContext) |  | 0% |  | 0% | 5 | 5 | 69 | 69 | 1 | 1 |
| planCrossJoinUnnest(RelationPlan, Join, Unnest, SqlPlannerContext) |  | 0% |  | 0% | 12 | 12 | 43 | 43 | 1 | 1 |
| visitUnnest(Unnest, SqlPlannerContext) |  | 0% |  | 0% | 10 | 10 | 42 | 42 | 1 | 1 |
| visitTable(Table, SqlPlannerContext) |  | 0% |  | 0% | 5 | 5 | 37 | 37 | 1 | 1 |
| addCoercions(RelationPlan, Type[], SqlPlannerContext) |  | 0% |  | 0% | 4 | 4 | 34 | 34 | 1 | 1 |
| addColumnMasks(Table, RelationPlan, SqlPlannerContext) |  | 0% |  | 0% | 6 | 6 | 27 | 27 | 1 | 1 |
| process(SetOperation, SqlPlannerContext) |  | 0% |  | 0% | 6 | 6 | 30 | 30 | 1 | 1 |
| visitValues(Values, SqlPlannerContext) |  | 0% |  | 0% | 5 | 5 | 18 | 18 | 1 | 1 |
| visitAliasedRelation(AliasedRelation, SqlPlannerContext) |  | 0% |  | 0% | 4 | 4 | 15 | 15 | 1 | 1 |
| projectUnnestWithDuplicates(List, Map, UnnestNode) |  | 0% |  | 0% | 4 | 4 | 10 | 10 | 1 | 1 |
| RelationPlanner(Analysis, VariableAllocator, PlanNodeIdAllocator, Map, Metadata, Session, SqlParser) |  | 0% | | n/a | 1 | 1 | 10 | 10 | 1 | 1 |
| addRowFilters(Table, RelationPlan, SqlPlannerContext) |  | 0% |  | 0% | 2 | 2 | 10 | 10 | 1 | 1 |
| visitUnion(Union, SqlPlannerContext) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| planLateralJoin(Join, RelationPlan, Lateral, SqlPlannerContext) |  | 0% | | n/a | 1 | 1 | 9 | 9 | 1 | 1 |
| visitIntersect(Intersect, SqlPlannerContext) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| visitExcept(Except, SqlPlannerContext) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| visitSampledRelation(SampledRelation, SqlPlannerContext) |  | 0% | | n/a | 1 | 1 | 8 | 8 | 1 | 1 |
| buildOutputMapping(List, List) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| rewriteRow(Expression, SqlPlannerContext) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| visitQuery(Query, SqlPlannerContext) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| visitQuerySpecification(QuerySpecification, SqlPlannerContext) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| processAndCoerceIfNecessary(Relation, SqlPlannerContext) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| checkInterruption() |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| initializePlanBuilder(RelationPlan) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| distinct(PlanNode) |  | 0% | | n/a | 1 | 1 | 9 | 9 | 1 | 1 |
| getUnnest(Relation) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| getLateral(Relation) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| rowExpression(Expression, SqlPlannerContext) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$buildOutputMapping$1(List, List, Integer) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| process(Node, SqlPlannerContext) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| visitTableSubquery(TableSubquery, SqlPlannerContext) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$buildOutputMapping$3(List, Integer) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$buildOutputMapping$2(List, Integer) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$process$4(SqlPlannerContext, Relation) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$visitTable$0(int) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |