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>