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")

Reply via email to