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'

Reply via email to