This is an automated email from the ASF dual-hosted git repository.
chengzhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new 211337b9562 Quote column in PipelineSQLSegmentBuilder. (#34326)
211337b9562 is described below
commit 211337b956215456934f0cf1defb73d8ceabf1b6
Author: Cong Hu <[email protected]>
AuthorDate: Mon Jan 13 09:36:11 2025 +0800
Quote column in PipelineSQLSegmentBuilder. (#34326)
---
.../core/sqlbuilder/segment/PipelineSQLSegmentBuilder.java | 2 +-
.../sqlbuilder/segment/PipelineSQLSegmentBuilderTest.java | 14 +++++++-------
.../mysql/sqlbuilder/MySQLPipelineSQLBuilderTest.java | 2 +-
.../sqlbuilder/OpenGaussPipelineSQLBuilderTest.java | 2 +-
.../sqlbuilder/PostgreSQLPipelineSQLBuilderTest.java | 2 +-
5 files changed, 11 insertions(+), 11 deletions(-)
diff --git
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/segment/PipelineSQLSegmentBuilder.java
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/segment/PipelineSQLSegmentBuilder.java
index c7485ead0e4..2327ffb7a34 100644
---
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/segment/PipelineSQLSegmentBuilder.java
+++
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/segment/PipelineSQLSegmentBuilder.java
@@ -41,7 +41,7 @@ public final class PipelineSQLSegmentBuilder {
* @return escaped identifier
*/
public String getEscapedIdentifier(final String identifier) {
- return dialectDatabaseMetaData.isReservedWord(identifier) ?
dialectDatabaseMetaData.getQuoteCharacter().wrap(identifier) : identifier;
+ return "*".equals(identifier) ? identifier :
dialectDatabaseMetaData.getQuoteCharacter().wrap(identifier);
}
/**
diff --git
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/segment/PipelineSQLSegmentBuilderTest.java
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/segment/PipelineSQLSegmentBuilderTest.java
index 2fc48bae01b..ac09cc6e990 100644
---
a/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/segment/PipelineSQLSegmentBuilderTest.java
+++
b/kernel/data-pipeline/core/src/test/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/segment/PipelineSQLSegmentBuilderTest.java
@@ -38,24 +38,24 @@ class PipelineSQLSegmentBuilderTest {
@Test
void assertGetUnescapedIdentifier() {
- assertThat(mysqlBuilder.getEscapedIdentifier("SELECT1"),
is("SELECT1"));
+ assertThat(mysqlBuilder.getEscapedIdentifier("SELECT1"),
is("`SELECT1`"));
}
@Test
void assertGetQualifiedTableNameWithUnsupportedSchema() {
- assertThat(mysqlBuilder.getQualifiedTableName("foo_schema",
"foo_tbl"), is("foo_tbl"));
- assertThat(mysqlBuilder.getQualifiedTableName(new
QualifiedTable("foo_schema", "foo_tbl")), is("foo_tbl"));
+ assertThat(mysqlBuilder.getQualifiedTableName("foo_schema",
"foo_tbl"), is("`foo_tbl`"));
+ assertThat(mysqlBuilder.getQualifiedTableName(new
QualifiedTable("foo_schema", "foo_tbl")), is("`foo_tbl`"));
}
@Test
void assertGetQualifiedTableNameWithSupportedSchema() {
- assertThat(postgresqlBuilder.getQualifiedTableName("foo_schema",
"foo_tbl"), is("foo_schema.foo_tbl"));
- assertThat(postgresqlBuilder.getQualifiedTableName(new
QualifiedTable("foo_schema", "foo_tbl")), is("foo_schema.foo_tbl"));
+ assertThat(postgresqlBuilder.getQualifiedTableName("foo_schema",
"foo_tbl"), is("\"foo_schema\".\"foo_tbl\""));
+ assertThat(postgresqlBuilder.getQualifiedTableName(new
QualifiedTable("foo_schema", "foo_tbl")), is("\"foo_schema\".\"foo_tbl\""));
}
@Test
void assertGetQualifiedTableNameWithSupportedSchemaAndNullSchema() {
- assertThat(postgresqlBuilder.getQualifiedTableName(null, "foo_tbl"),
is("foo_tbl"));
- assertThat(postgresqlBuilder.getQualifiedTableName(new
QualifiedTable(null, "foo_tbl")), is("foo_tbl"));
+ assertThat(postgresqlBuilder.getQualifiedTableName(null, "foo_tbl"),
is("\"foo_tbl\""));
+ assertThat(postgresqlBuilder.getQualifiedTableName(new
QualifiedTable(null, "foo_tbl")), is("\"foo_tbl\""));
}
}
diff --git
a/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilderTest.java
b/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilderTest.java
index 6d45e8198a8..40fcf060aee 100644
---
a/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilderTest.java
+++
b/kernel/data-pipeline/dialect/mysql/src/test/java/org/apache/shardingsphere/data/pipeline/mysql/sqlbuilder/MySQLPipelineSQLBuilderTest.java
@@ -51,7 +51,7 @@ class MySQLPipelineSQLBuilderTest {
void assertBuildInsertSQLOnDuplicateClause() {
Optional<String> actual =
sqlBuilder.buildInsertOnDuplicateClause(createDataRecord());
assertTrue(actual.isPresent());
- assertThat(actual.get(), is("ON DUPLICATE KEY UPDATE
id=VALUES(id),sc=VALUES(sc),c1=VALUES(c1),c2=VALUES(c2),c3=VALUES(c3)"));
+ assertThat(actual.get(), is("ON DUPLICATE KEY UPDATE
`id`=VALUES(`id`),`sc`=VALUES(`sc`),`c1`=VALUES(`c1`),`c2`=VALUES(`c2`),`c3`=VALUES(`c3`)"));
}
private DataRecord createDataRecord() {
diff --git
a/kernel/data-pipeline/dialect/opengauss/src/test/java/org/apache/shardingsphere/data/pipeline/opengauss/sqlbuilder/OpenGaussPipelineSQLBuilderTest.java
b/kernel/data-pipeline/dialect/opengauss/src/test/java/org/apache/shardingsphere/data/pipeline/opengauss/sqlbuilder/OpenGaussPipelineSQLBuilderTest.java
index 4c17d23691a..b30f6341505 100644
---
a/kernel/data-pipeline/dialect/opengauss/src/test/java/org/apache/shardingsphere/data/pipeline/opengauss/sqlbuilder/OpenGaussPipelineSQLBuilderTest.java
+++
b/kernel/data-pipeline/dialect/opengauss/src/test/java/org/apache/shardingsphere/data/pipeline/opengauss/sqlbuilder/OpenGaussPipelineSQLBuilderTest.java
@@ -56,7 +56,7 @@ class OpenGaussPipelineSQLBuilderTest {
void assertBuildInsertOnDuplicateClause() {
Optional<String> actual =
sqlBuilder.buildInsertOnDuplicateClause(createDataRecord());
assertTrue(actual.isPresent());
- assertThat(actual.get(), is("ON DUPLICATE KEY UPDATE
c0=EXCLUDED.c0,c1=EXCLUDED.c1,c2=EXCLUDED.c2,c3=EXCLUDED.c3"));
+ assertThat(actual.get(), is("ON DUPLICATE KEY UPDATE
\"c0\"=EXCLUDED.\"c0\",\"c1\"=EXCLUDED.\"c1\",\"c2\"=EXCLUDED.\"c2\",\"c3\"=EXCLUDED.\"c3\""));
}
private DataRecord createDataRecord() {
diff --git
a/kernel/data-pipeline/dialect/postgresql/src/test/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/PostgreSQLPipelineSQLBuilderTest.java
b/kernel/data-pipeline/dialect/postgresql/src/test/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/PostgreSQLPipelineSQLBuilderTest.java
index dd63fce0186..157c22b54ef 100644
---
a/kernel/data-pipeline/dialect/postgresql/src/test/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/PostgreSQLPipelineSQLBuilderTest.java
+++
b/kernel/data-pipeline/dialect/postgresql/src/test/java/org/apache/shardingsphere/data/pipeline/postgresql/sqlbuilder/PostgreSQLPipelineSQLBuilderTest.java
@@ -58,7 +58,7 @@ class PostgreSQLPipelineSQLBuilderTest {
void assertBuildInsertSQLOnDuplicateClause() {
Optional<String> actual =
sqlBuilder.buildInsertOnDuplicateClause(createDataRecord());
assertTrue(actual.isPresent());
- assertThat(actual.get(), is("ON CONFLICT (order_id) DO UPDATE SET
user_id=EXCLUDED.user_id,status=EXCLUDED.status"));
+ assertThat(actual.get(), is("ON CONFLICT (\"order_id\") DO UPDATE SET
\"user_id\"=EXCLUDED.\"user_id\",\"status\"=EXCLUDED.\"status\""));
}
private DataRecord createDataRecord() {