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 b1dec8328a6 Add rules for Create cluster (#27630)
b1dec8328a6 is described below

commit b1dec8328a6059a6630d6a603860ead769a42d38
Author: boyjoy1127 <[email protected]>
AuthorDate: Wed Aug 2 17:00:20 2023 +0800

    Add rules for Create cluster (#27630)
    
    * feat: support create cluster in Oracle.
    
    * feat: add rules for create cluster in Oracle.
---
 .../dialect/oracle/src/main/antlr4/imports/oracle/DDLStatement.g4  | 6 ++++++
 test/it/parser/src/main/resources/case/ddl/create-cluster.xml      | 7 +++++++
 .../parser/src/main/resources/sql/supported/ddl/create-cluster.xml | 7 +++++++
 3 files changed, 20 insertions(+)

diff --git 
a/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/DDLStatement.g4 
b/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/DDLStatement.g4
index 756be65b857..c59e0c8dc30 100644
--- a/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/DDLStatement.g4
+++ b/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/DDLStatement.g4
@@ -3710,3 +3710,9 @@ createCluster
     : CREATE CLUSTER (schemaName DOT_)? clusterName
     LP_ (columnName dataType SORT? (COMMA_ columnName dataType SORT?)*) RP_
     ;
+
+createCluster
+    : CREATE CLUSTER (schemaName DOT_)? clusterName
+    LP_ (columnName dataType SORT? (COMMA_ columnName dataType SORT?)*) RP_
+    parallelClause? (NOROWDEPENDENCIES | ROWDEPENDENCIES)? (CACHE | NOCACHE)?
+    ;
diff --git a/test/it/parser/src/main/resources/case/ddl/create-cluster.xml 
b/test/it/parser/src/main/resources/case/ddl/create-cluster.xml
index e5d7362a4fd..ce61a1f752e 100644
--- a/test/it/parser/src/main/resources/case/ddl/create-cluster.xml
+++ b/test/it/parser/src/main/resources/case/ddl/create-cluster.xml
@@ -21,4 +21,11 @@
     <create-cluster sql-case-id="create_cluster_schema" />
     <create-cluster sql-case-id="create_cluster_schema_multi_col" />
     <create-cluster sql-case-id="create_cluster_schema_multi_col_sort" />
+    <create-cluster sql-case-id="create_cluster_parallel" />
+    <create-cluster sql-case-id="create_cluster_parallel_number" />
+    <create-cluster sql-case-id="create_cluster_noparallel" />
+    <create-cluster sql-case-id="create_cluster_no_row_depend" />
+    <create-cluster sql-case-id="create_cluster_row_depend" />
+    <create-cluster sql-case-id="create_cluster_no_cache" />
+    <create-cluster sql-case-id="create_cluster_cache" />
 </sql-parser-test-cases>
diff --git 
a/test/it/parser/src/main/resources/sql/supported/ddl/create-cluster.xml 
b/test/it/parser/src/main/resources/sql/supported/ddl/create-cluster.xml
index 5be8126cb2f..5d96e967785 100644
--- a/test/it/parser/src/main/resources/sql/supported/ddl/create-cluster.xml
+++ b/test/it/parser/src/main/resources/sql/supported/ddl/create-cluster.xml
@@ -21,4 +21,11 @@
     <sql-case id="create_cluster_schema" value="CREATE CLUSTER 
test_schema.test_cluster (col1 NUMBER)" db-types="Oracle" />
     <sql-case id="create_cluster_schema_multi_col" value="CREATE CLUSTER 
test_schema.test_cluster (col1 NUMBER, col2 BOOL)" db-types="Oracle" />
     <sql-case id="create_cluster_schema_multi_col_sort" value="CREATE CLUSTER 
test_schema.test_cluster (col1 NUMBER SORT, col2 BOOL)" db-types="Oracle" />
+    <sql-case id="create_cluster_parallel" value="CREATE CLUSTER test_cluster 
(col1 NUMBER) PARALLEL" db-types="Oracle" />
+    <sql-case id="create_cluster_parallel_number" value="CREATE CLUSTER 
test_cluster (col1 NUMBER) PARALLEL 2" db-types="Oracle" />
+    <sql-case id="create_cluster_noparallel" value="CREATE CLUSTER 
test_cluster (col1 NUMBER) NOPARALLEL" db-types="Oracle" />
+    <sql-case id="create_cluster_no_row_depend" value="CREATE CLUSTER 
test_cluster (col1 NUMBER) NOROWDEPENDENCIES" db-types="Oracle" />
+    <sql-case id="create_cluster_row_depend" value="CREATE CLUSTER 
test_cluster (col1 NUMBER) ROWDEPENDENCIES" db-types="Oracle" />
+    <sql-case id="create_cluster_no_cache" value="CREATE CLUSTER test_cluster 
(col1 NUMBER) NOCACHE" db-types="Oracle" />
+    <sql-case id="create_cluster_cache" value="CREATE CLUSTER test_cluster 
(col1 NUMBER) CACHE" db-types="Oracle" />
 </sql-cases>

Reply via email to