diff --git a/presto-main-base/src/main/java/com/facebook/presto/sql/planner/PlanOptimizers.java b/presto-main-base/src/main/java/com/facebook/presto/sql/planner/PlanOptimizers.java index a12b350dcdd1..dd978457dac2 100644 --- a/presto-main-base/src/main/java/com/facebook/presto/sql/planner/PlanOptimizers.java +++ b/presto-main-base/src/main/java/com/facebook/presto/sql/planner/PlanOptimizers.java @@ -723,8 +723,6 @@ public PlanOptimizers( .addAll(new InlineSqlFunctions(metadata).rules()) .build())); - builder.add(new JoinPrefilter(metadata)); - builder.add( new IterativeOptimizer( metadata, @@ -781,6 +779,8 @@ public PlanOptimizers( builder.add(new SimplifyPlanWithEmptyInput(), new PruneUnreferencedOutputs()); + builder.add(new JoinPrefilter(metadata)); + builder.add(new IterativeOptimizer( metadata, ruleStats, diff --git a/presto-main-base/src/main/java/com/facebook/presto/sql/planner/PlannerUtils.java b/presto-main-base/src/main/java/com/facebook/presto/sql/planner/PlannerUtils.java index 826eaea10044..47979633e467 100644 --- a/presto-main-base/src/main/java/com/facebook/presto/sql/planner/PlannerUtils.java +++ b/presto-main-base/src/main/java/com/facebook/presto/sql/planner/PlannerUtils.java @@ -322,9 +322,11 @@ private static PlanNode cloneProjectNode(ProjectNode projectNode, Session sessio } return new ProjectNode( + projectNode.getSourceLocation(), idAllocator.getNextId(), newSource, - newAssignments.build()); + newAssignments.build(), + projectNode.getLocality()); } private static TableScanNode cloneTableScan(TableScanNode scanNode, Session session, Metadata metadata, PlanNodeIdAllocator planNodeIdAllocator, List fieldsToKeep, Map varMap)