From 2929ee114cb2cd5a58045952c2f01c537f0417bf Mon Sep 17 00:00:00 2001 From: manuzhang Date: Tue, 25 Nov 2025 00:31:12 +0800 Subject: [PATCH] [SPARK-54491] Fix insert into temp view on DSv2 table failure --- .../spark/sql/catalyst/analysis/Analyzer.scala | 2 ++ .../spark/sql/connector/DataSourceV2SQLSuite.scala | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala index 3b916a62b388..08c31939f161 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala @@ -1207,6 +1207,8 @@ class Analyzer( val relation = table match { case u: UnresolvedRelation if !u.isStreaming => resolveRelation(u).getOrElse(u) + case r: V2TableReference => + relationResolution.resolveReference(r) case other => other } diff --git a/sql/core/src/test/scala/org/apache/spark/sql/connector/DataSourceV2SQLSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/connector/DataSourceV2SQLSuite.scala index 847af570d6f3..5a9494cf8173 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/connector/DataSourceV2SQLSuite.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/connector/DataSourceV2SQLSuite.scala @@ -3986,6 +3986,19 @@ class DataSourceV2SQLSuiteV1Filter } } + test("SPARK-54491: insert into temp view on DSv2 table") { + val t = s"testcat.default.t" + val v = "v" + withTable(t) { + withTempView(v) { + sql(s"CREATE TABLE $t (id INT) USING foo") + spark.table(t).createOrReplaceTempView(v) + sql(s"INSERT INTO v VALUES (1)") + checkAnswer(sql(s"SELECT * FROM $t"), Seq(Row(1))) + } + } + } + private def testNotSupportedV2Command( sqlCommand: String, sqlParams: String,