This is an automated email from the ASF dual-hosted git repository.
yuxia pushed a commit to branch release-1.18
in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/release-1.18 by this push:
new 369fae70399 [FLINK-33233][hive] Fix NPE when non-native udf is used in
join condition with Hive dialect (#24149)
369fae70399 is described below
commit 369fae70399798c1afa5041dec02d666b6d98008
Author: yunfan123 <[email protected]>
AuthorDate: Wed Jan 24 12:02:31 2024 +0800
[FLINK-33233][hive] Fix NPE when non-native udf is used in join condition
with Hive dialect (#24149)
---
.../flink/table/planner/delegation/hive/HiveParserCalcitePlanner.java | 1 +
.../flink-connector-hive/src/test/resources/query-test/join.q | 4 ++++
2 files changed, 5 insertions(+)
diff --git
a/flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/table/planner/delegation/hive/HiveParserCalcitePlanner.java
b/flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/table/planner/delegation/hive/HiveParserCalcitePlanner.java
index cc364e66cf6..69c8b91ce40 100644
---
a/flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/table/planner/delegation/hive/HiveParserCalcitePlanner.java
+++
b/flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/table/planner/delegation/hive/HiveParserCalcitePlanner.java
@@ -478,6 +478,7 @@ public class HiveParserCalcitePlanner {
HiveParserJoinTypeCheckCtx jCtx =
new HiveParserJoinTypeCheckCtx(
leftRR, rightRR, hiveJoinType, frameworkConfig,
cluster);
+ jCtx.setUnparseTranslator(semanticAnalyzer.unparseTranslator);
HiveParserRowResolver combinedRR =
HiveParserRowResolver.getCombinedRR(leftRR, rightRR);
if (joinCondAst.getType() == HiveASTParser.TOK_TABCOLNAME
&& !hiveJoinType.equals(JoinType.LEFTSEMI)) {
diff --git
a/flink-connectors/flink-connector-hive/src/test/resources/query-test/join.q
b/flink-connectors/flink-connector-hive/src/test/resources/query-test/join.q
index dc2d8f6f344..c5664916f56 100644
--- a/flink-connectors/flink-connector-hive/src/test/resources/query-test/join.q
+++ b/flink-connectors/flink-connector-hive/src/test/resources/query-test/join.q
@@ -37,3 +37,7 @@ select * from (select a.value, a.* from (select * from src) a
join (select * fro
select f1.x,f1.y,f2.x,f2.y from (select * from foo order by x,y) f1 join
(select * from foo order by x,y) f2;
[+I[1, 1, 1, 1], +I[1, 1, 2, 2], +I[1, 1, 3, 3], +I[1, 1, 4, 4], +I[1, 1, 5,
5], +I[2, 2, 1, 1], +I[2, 2, 2, 2], +I[2, 2, 3, 3], +I[2, 2, 4, 4], +I[2, 2, 5,
5], +I[3, 3, 1, 1], +I[3, 3, 2, 2], +I[3, 3, 3, 3], +I[3, 3, 4, 4], +I[3, 3, 5,
5], +I[4, 4, 1, 1], +I[4, 4, 2, 2], +I[4, 4, 3, 3], +I[4, 4, 4, 4], +I[4, 4, 5,
5], +I[5, 5, 1, 1], +I[5, 5, 2, 2], +I[5, 5, 3, 3], +I[5, 5, 4, 4], +I[5, 5, 5,
5]]
+
+select foo.y, bar.I from bar join foo on hiveudf(foo.x) = bar.I where bar.I >
1;
+
+[+I[2, 2]]