This is an automated email from the ASF dual-hosted git repository.
snuyanzin pushed a commit to branch release-1.20
in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/release-1.20 by this push:
new 39b20319360 [FLINK-39371][table] `CurrentDatabase` fails for some
patterns
39b20319360 is described below
commit 39b2031936037ec4e6f776a1a52d733d815d8cf1
Author: Sergey Nuyanzin <[email protected]>
AuthorDate: Wed Apr 1 09:18:36 2026 +0200
[FLINK-39371][table] `CurrentDatabase` fails for some patterns
---
.../flink/table/planner/codegen/CodeGeneratorContext.scala | 3 ++-
.../table/planner/runtime/batch/table/CalcITCase.scala | 13 ++++++++-----
2 files changed, 10 insertions(+), 6 deletions(-)
diff --git
a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/codegen/CodeGeneratorContext.scala
b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/codegen/CodeGeneratorContext.scala
index b7951c2c8e8..3b034de76aa 100644
---
a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/codegen/CodeGeneratorContext.scala
+++
b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/codegen/CodeGeneratorContext.scala
@@ -645,9 +645,10 @@ class CodeGeneratorContext(
" This is a bug, please file an issue.")
})
+ val escapedQueryStartCurrentDatabase =
EncodingUtils.escapeJava(queryStartCurrentDatabase);
reusableMemberStatements.add(s"""
|private static final $BINARY_STRING
$fieldTerm =
-
|$BINARY_STRING.fromString("$queryStartCurrentDatabase");
+
|$BINARY_STRING.fromString("$escapedQueryStartCurrentDatabase");
|""".stripMargin)
fieldTerm
diff --git
a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/planner/runtime/batch/table/CalcITCase.scala
b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/planner/runtime/batch/table/CalcITCase.scala
index 4973e727deb..0ced70a798f 100644
---
a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/planner/runtime/batch/table/CalcITCase.scala
+++
b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/planner/runtime/batch/table/CalcITCase.scala
@@ -35,6 +35,8 @@ import org.apache.flink.types.Row
import org.assertj.core.api.Assertions.assertThat
import org.junit.jupiter.api.{BeforeEach, Test}
import org.junit.jupiter.api.extension.RegisterExtension
+import org.junit.jupiter.params.ParameterizedTest
+import org.junit.jupiter.params.provider.ValueSource
import java.sql.{Date, Time, Timestamp}
import java.time.LocalDateTime
@@ -642,8 +644,9 @@ class CalcITCase extends BatchTestBase {
TestBaseUtils.compareResultAsText(results.asJava, expected)
}
- @Test
- def testCurrentDatabase(): Unit = {
+ @ParameterizedTest(name = "{index}: {0}")
+ @ValueSource(strings = Array[String]("db1", "\"db1", "\"db1\"", "db1\""))
+ def testCurrentDatabase(dbName: String): Unit = {
val result1 = executeQuery(
tEnv
.from("Table3")
@@ -656,10 +659,10 @@ class CalcITCase extends BatchTestBase {
.getCatalog(tEnv.getCurrentCatalog)
.get()
.createDatabase(
- "db1",
- new CatalogDatabaseImpl(new util.HashMap[String, String](), "db1"),
+ dbName,
+ new CatalogDatabaseImpl(new util.HashMap[String, String](), dbName),
false)
- tEnv.useDatabase("db1")
+ tEnv.useDatabase(dbName)
val result2 = executeQuery(
tEnv
.from("default_database.Table3")