From c0c98b6a44d4d2278ae93510e2dad3574af119b3 Mon Sep 17 00:00:00 2001 From: Martin Traverso Date: Thu, 31 Aug 2023 14:00:31 -0700 Subject: [PATCH] Fix incorrect symbol resolution during predicate pushdown When the expression evaluated by LayoutConstraintEvaluator contains a lambda expression, it's incorrect to attempt to resolve a reference to a lambda expression argument as if it were a column. --- .../sql/planner/LookupSymbolResolver.java | 4 +-- .../plugin/hive/TestHiveConnectorTest.java | 28 +++++++++++++++++++ 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/core/trino-main/src/main/java/io/trino/sql/planner/LookupSymbolResolver.java b/core/trino-main/src/main/java/io/trino/sql/planner/LookupSymbolResolver.java index e640385799a5..e2f0b1c65953 100644 --- a/core/trino-main/src/main/java/io/trino/sql/planner/LookupSymbolResolver.java +++ b/core/trino-main/src/main/java/io/trino/sql/planner/LookupSymbolResolver.java @@ -19,7 +19,6 @@ import java.util.Map; -import static com.google.common.base.Preconditions.checkArgument; import static java.util.Objects.requireNonNull; public class LookupSymbolResolver @@ -41,9 +40,8 @@ public LookupSymbolResolver(Map assignments, Map x[1]) IS NOT NULL + """.formatted(table), + "VALUES ('value', 'key')"); + } + finally { + assertUpdate("DROP TABLE " + table); + } + } }