Skip to content

Commit 9b2a112

Browse files
authored
[FLINK-39371][table] CurrentDatabase fails for some patterns
1 parent 1b933bd commit 9b2a112

2 files changed

Lines changed: 10 additions & 6 deletions

File tree

flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/planner/codegen/CodeGeneratorContext.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -648,9 +648,10 @@ class CodeGeneratorContext(
648648
" This is a bug, please file an issue.")
649649
})
650650

651+
val escapedQueryStartCurrentDatabase = EncodingUtils.escapeJava(queryStartCurrentDatabase);
651652
reusableMemberStatements.add(s"""
652653
|private static final $BINARY_STRING $fieldTerm =
653-
|$BINARY_STRING.fromString("$queryStartCurrentDatabase");
654+
|$BINARY_STRING.fromString("$escapedQueryStartCurrentDatabase");
654655
|""".stripMargin)
655656

656657
fieldTerm

flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/planner/runtime/batch/table/CalcITCase.scala

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ import org.apache.flink.types.Row
3434
import org.assertj.core.api.Assertions.assertThat
3535
import org.junit.jupiter.api.{BeforeEach, Test}
3636
import org.junit.jupiter.api.extension.RegisterExtension
37+
import org.junit.jupiter.params.ParameterizedTest
38+
import org.junit.jupiter.params.provider.ValueSource
3739

3840
import java.sql.{Date, Time, Timestamp}
3941
import java.time.LocalDateTime
@@ -641,8 +643,9 @@ class CalcITCase extends BatchTestBase {
641643
TestBaseUtils.compareResultAsText(results.asJava, expected)
642644
}
643645

644-
@Test
645-
def testCurrentDatabase(): Unit = {
646+
@ParameterizedTest(name = "{index}: {0}")
647+
@ValueSource(strings = Array[String]("db1", "\"db1", "\"db1\"", "db1\""))
648+
def testCurrentDatabase(dbName: String): Unit = {
646649
val result1 = executeQuery(
647650
tEnv
648651
.from("Table3")
@@ -655,10 +658,10 @@ class CalcITCase extends BatchTestBase {
655658
.getCatalog(tEnv.getCurrentCatalog)
656659
.get()
657660
.createDatabase(
658-
"db1",
659-
new CatalogDatabaseImpl(new util.HashMap[String, String](), "db1"),
661+
dbName,
662+
new CatalogDatabaseImpl(new util.HashMap[String, String](), dbName),
660663
false)
661-
tEnv.useDatabase("db1")
664+
tEnv.useDatabase(dbName)
662665
val result2 = executeQuery(
663666
tEnv
664667
.from("default_database.Table3")

0 commit comments

Comments
 (0)