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 7bb31475a9d Optimized sqlParser to support examples from MySQL Test 
Suite.  (#25580)
7bb31475a9d is described below

commit 7bb31475a9d728adfc6dc6d1202cf4d6c2dd63d2
Author: Cong Hu <[email protected]>
AuthorDate: Fri May 12 12:50:55 2023 +0800

    Optimized sqlParser to support examples from MySQL Test Suite.  (#25580)
    
    * Optimize DALStatement.g4 histogram checkTable.
    
    * Modified the code as per the suggestion.
---
 .../sql/dialect/mysql/src/main/antlr4/imports/mysql/DALStatement.g4   | 4 ++--
 test/it/parser/src/main/resources/case/dal/check-table.xml            | 4 ++++
 test/it/parser/src/main/resources/case/ddl/analyze.xml                | 4 ++++
 test/it/parser/src/main/resources/sql/supported/dal/check-table.xml   | 1 +
 test/it/parser/src/main/resources/sql/supported/ddl/analyze.xml       | 1 +
 5 files changed, 12 insertions(+), 2 deletions(-)

diff --git 
a/parser/sql/dialect/mysql/src/main/antlr4/imports/mysql/DALStatement.g4 
b/parser/sql/dialect/mysql/src/main/antlr4/imports/mysql/DALStatement.g4
index 6cd359de33f..7f9775edf86 100644
--- a/parser/sql/dialect/mysql/src/main/antlr4/imports/mysql/DALStatement.g4
+++ b/parser/sql/dialect/mysql/src/main/antlr4/imports/mysql/DALStatement.g4
@@ -300,12 +300,12 @@ analyzeTable
     ;
 
 histogram
-    : UPDATE HISTOGRAM ON columnNames (WITH NUMBER_ BUCKETS)?
+    : UPDATE HISTOGRAM ON columnNames (WITH NUMBER_ BUCKETS | USING DATA 
string_)?
     | DROP HISTOGRAM ON columnNames
     ;
 
 checkTable
-    : CHECK TABLE tableList checkTableOption?
+    : CHECK tableOrTables tableList checkTableOption?
     ;
 
 checkTableOption
diff --git a/test/it/parser/src/main/resources/case/dal/check-table.xml 
b/test/it/parser/src/main/resources/case/dal/check-table.xml
index 37952bb5bc5..0bb4137136f 100644
--- a/test/it/parser/src/main/resources/case/dal/check-table.xml
+++ b/test/it/parser/src/main/resources/case/dal/check-table.xml
@@ -45,4 +45,8 @@
         <table name="t_order" start-index="16" stop-index="22" />
         <table name="t_order_item" start-index="24" stop-index="35" />
     </checksum-table>
+    <check-table sql-case-id="check_multi_tables">
+        <table name="t_order" start-index="13" stop-index="19" />
+        <table name="t_order_item" start-index="21" stop-index="32" />
+    </check-table>
 </sql-parser-test-cases>
diff --git a/test/it/parser/src/main/resources/case/ddl/analyze.xml 
b/test/it/parser/src/main/resources/case/ddl/analyze.xml
index 10e8d6816dc..4638eb6b88b 100644
--- a/test/it/parser/src/main/resources/case/ddl/analyze.xml
+++ b/test/it/parser/src/main/resources/case/ddl/analyze.xml
@@ -54,4 +54,8 @@
     </analyze>
 
     <analyze sql-case-id="analyze_cluster" />
+
+    <analyze sql-case-id="analyze_table_update_histogram_using_data" >
+        <table name="tbl_datetime" start-index="14" stop-index="24" />
+    </analyze>
 </sql-parser-test-cases>
diff --git 
a/test/it/parser/src/main/resources/sql/supported/dal/check-table.xml 
b/test/it/parser/src/main/resources/sql/supported/dal/check-table.xml
index 54faf16d305..04876b537ca 100644
--- a/test/it/parser/src/main/resources/sql/supported/dal/check-table.xml
+++ b/test/it/parser/src/main/resources/sql/supported/dal/check-table.xml
@@ -25,4 +25,5 @@
     <sql-case id="checksum_tables" value="CHECKSUM TABLES 
t_order,t_order_item" db-types="MySQL" />
     <sql-case id="checksum_tables_quick" value="CHECKSUM TABLES 
t_order,t_order_item QUICK" db-types="MySQL" />
     <sql-case id="checksum_tables_extended" value="CHECKSUM TABLES 
t_order,t_order_item EXTENDED" db-types="MySQL" />
+    <sql-case id="check_multi_tables" value="CHECK TABLES 
t_order,t_order_item" db-types="MySQL" />
 </sql-cases>
diff --git a/test/it/parser/src/main/resources/sql/supported/ddl/analyze.xml 
b/test/it/parser/src/main/resources/sql/supported/ddl/analyze.xml
index b8d1e89fafb..d57d4c281ef 100644
--- a/test/it/parser/src/main/resources/sql/supported/ddl/analyze.xml
+++ b/test/it/parser/src/main/resources/sql/supported/ddl/analyze.xml
@@ -27,4 +27,5 @@
     <sql-case id="analyze_table_list_chained_rows_into" value="ANALYZE TABLE 
orders LIST CHAINED ROWS INTO chained_rows" db-types="Oracle" />
     <sql-case id="analyze_index" value="ANALYZE INDEX order_index VALIDATE 
STRUCTURE; " db-types="Oracle" />
     <sql-case id="analyze_cluster" value="ANALYZE CLUSTER personnel VALIDATE 
STRUCTURE" db-types="Oracle" />
+    <sql-case id="analyze_table_update_histogram_using_data" value="ANALYZE 
TABLE tbl_datetime UPDATE HISTOGRAM ON col1 USING DATA '{&quot;buckets&quot;: 
[[20170216162223, 0.125], [&quot;2017-02-10 08:15:18.000000&quot;, 0.375], 
[&quot;2018-02-12 07:04:18.000000&quot;, 0.5], [&quot;2018-03-21 
21:12:42.000000&quot;, 0.75]], &quot;data-type&quot;: &quot;datetime&quot;, 
&quot;null-values&quot;: 0.25, &quot;collation-id&quot;: 8, 
&quot;sampling-rate&quot;: 1.0, &quot;histogram-type&quot;: &q [...]
 </sql-cases>

Reply via email to