This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang 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 425dc19 Fixes #12012, Get the exactly value in backquotes (#12018)
425dc19 is described below
commit 425dc193d68a0d5b52647eba6608dcbd129cafa6
Author: lanchengx <[email protected]>
AuthorDate: Thu Aug 26 04:49:54 2021 -0500
Fixes #12012, Get the exactly value in backquotes (#12018)
* remove back-quote
* Replace with IdentifierValue.
* Add parser test
---
.../mysql/visitor/statement/impl/MySQLDDLStatementSQLVisitor.java | 6 +++---
.../src/main/resources/case/ddl/create-database.xml | 1 +
.../src/main/resources/sql/supported/ddl/create-database.xml | 1 +
3 files changed, 5 insertions(+), 3 deletions(-)
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLDDLStatementSQLVisitor.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLDDLStatementSQLVisitor.java
index 3f3331b..a80f7d2 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLDDLStatementSQLVisitor.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLDDLStatementSQLVisitor.java
@@ -161,7 +161,7 @@ import java.util.Properties;
*/
@NoArgsConstructor
public final class MySQLDDLStatementSQLVisitor extends
MySQLStatementSQLVisitor implements DDLSQLVisitor, SQLStatementVisitor {
-
+
public MySQLDDLStatementSQLVisitor(final Properties props) {
super(props);
}
@@ -193,7 +193,7 @@ public final class MySQLDDLStatementSQLVisitor extends
MySQLStatementSQLVisitor
@Override
public ASTNode visitCreateDatabase(final CreateDatabaseContext ctx) {
MySQLCreateDatabaseStatement result = new
MySQLCreateDatabaseStatement();
- result.setDatabaseName(ctx.schemaName().getText());
+ result.setDatabaseName(new
IdentifierValue(ctx.schemaName().getText()).getValue());
return result;
}
@@ -205,7 +205,7 @@ public final class MySQLDDLStatementSQLVisitor extends
MySQLStatementSQLVisitor
@Override
public ASTNode visitDropDatabase(final DropDatabaseContext ctx) {
MySQLDropDatabaseStatement result = new MySQLDropDatabaseStatement();
- result.setDatabaseName(ctx.schemaName().getText());
+ result.setDatabaseName(new
IdentifierValue(ctx.schemaName().getText()).getValue());
return result;
}
diff --git
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ddl/create-database.xml
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ddl/create-database.xml
index 1e58044..eb0bbc5 100644
---
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ddl/create-database.xml
+++
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/ddl/create-database.xml
@@ -18,6 +18,7 @@
<sql-parser-test-cases>
<create-database sql-case-id="create_database" />
+ <create-database sql-case-id="create_database_with_back_quote" />
<create-database sql-case-id="create_database_owner" />
<create-database sql-case-id="create_database_with_location_and_encoding"
/>
<create-database sql-case-id="create_database_with_location" />
diff --git
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/create-database.xml
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/create-database.xml
index ba9fef6..557d656 100644
---
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/create-database.xml
+++
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/ddl/create-database.xml
@@ -18,6 +18,7 @@
<sql-cases>
<sql-case id="create_database" value="CREATE DATABASE lusiadas"
db-types="PostgreSQL,SQLServer" />
+ <sql-case id="create_database_with_back_quote" value="CREATE DATABASE
`lusiadas`" db-types="MySQL" />
<sql-case id="create_database_owner" value="CREATE DATABASE sales OWNER
salesapp TABLESPACE salesspace" db-types="PostgreSQL" />
<sql-case id="create_database_with_location_and_encoding" value="CREATE
DATABASE music2
LC_COLLATE 'sv_SE.iso885915' LC_CTYPE 'sv_SE.iso885915'