This is an automated email from the ASF dual-hosted git repository.

snuyanzin pushed a commit to branch release-2.1
in repository https://gitbox.apache.org/repos/asf/flink.git


The following commit(s) were added to refs/heads/release-2.1 by this push:
     new 1e6eb76d384 [FLINK-39371][table] `CurrentDatabase` fails for some 
patterns
1e6eb76d384 is described below

commit 1e6eb76d3846a86acd683c33a12220f65bd40a29
Author: Sergey Nuyanzin <[email protected]>
AuthorDate: Wed Apr 1 09:15:16 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 a198c6fab62..a464fb6c156 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
@@ -34,6 +34,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
@@ -641,8 +643,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")
@@ -655,10 +658,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