From 3a17e12159aa89bb6af91e2e1aaba0007e88cc06 Mon Sep 17 00:00:00 2001 From: feilong-liu Date: Mon, 30 Oct 2023 14:00:53 -0700 Subject: [PATCH] Convert values node followed by false filter to empty values node --- .../com/facebook/presto/sql/planner/PlanOptimizers.java | 6 ++++++ .../com/facebook/presto/sql/planner/TestLogicalPlanner.java | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/presto-main/src/main/java/com/facebook/presto/sql/planner/PlanOptimizers.java b/presto-main/src/main/java/com/facebook/presto/sql/planner/PlanOptimizers.java index 3932b0810e44f..57caee0d9b240 100644 --- a/presto-main/src/main/java/com/facebook/presto/sql/planner/PlanOptimizers.java +++ b/presto-main/src/main/java/com/facebook/presto/sql/planner/PlanOptimizers.java @@ -402,6 +402,12 @@ public PlanOptimizers( new ImplementBernoulliSampleAsFilter(metadata.getFunctionAndTypeManager()), new ImplementOffset(metadata.getFunctionAndTypeManager()))), simplifyRowExpressionOptimizer, + new IterativeOptimizer( + metadata, + ruleStats, + statsCalculator, + estimatedExchangesCostCalculator, + ImmutableSet.of(new RemoveTrivialFilters())), new UnaliasSymbolReferences(metadata.getFunctionAndTypeManager()), new IterativeOptimizer( metadata, diff --git a/presto-main/src/test/java/com/facebook/presto/sql/planner/TestLogicalPlanner.java b/presto-main/src/test/java/com/facebook/presto/sql/planner/TestLogicalPlanner.java index 182be8026db71..c400a0eff9dd0 100644 --- a/presto-main/src/test/java/com/facebook/presto/sql/planner/TestLogicalPlanner.java +++ b/presto-main/src/test/java/com/facebook/presto/sql/planner/TestLogicalPlanner.java @@ -1255,7 +1255,7 @@ public void testSimplifyJoinWithEmptyInput() assertPlanWithSession( "SELECT C, orderkey FROM (select orderkey as C from orders where 1=0) join orders on 1=1", disableEmptyJoinOptimization, true, - output(node(JoinNode.class, values("orderkey_0"), values("orderkey_3")))); + output(node(JoinNode.class, values("orders"), anyTree(tableScan("orders"))))); } @Test