Loading sharding-core/sharding-core-parse/sharding-core-parse-sqlserver/src/main/antlr4/imports/sqlserver/DDLStatement.g4 +91 −76 Original line number Diff line number Diff line Loading @@ -20,7 +20,7 @@ grammar DDLStatement; import Symbol, Keyword, Literals, BaseRule; createTable : createTableHeader createTableBody : CREATE TABLE tableName fileTableClause_ createDefinitionClause_ ; createIndex Loading Loading @@ -58,72 +58,24 @@ truncateTable : TRUNCATE TABLE tableName ; createTableHeader : CREATE TABLE tableName fileTableClause_ : (AS FILETABLE)? ; createTableBody : (AS FILETABLE)? LP_ createTableDefinition (COMMA_ createTableDefinition)* (COMMA_ periodClause)? RP_(ON (schemaName LP_ columnName RP_ | ignoredIdentifier_ | STRING_))? (TEXTIMAGE_ON (ignoredIdentifier_ | STRING_))? ((FILESTREAM_ON (schemaName) | ignoredIdentifier_ STRING_))? (WITH LP_ tableOption (COMMA_ tableOption)* RP_)? createDefinitionClause_ : createTableDefinitions_ partitionScheme_ fileGroup_ ; createTableDefinition : columnDefinition | computedColumnDefinition | columnSetDefinition | tableConstraint | tableIndex ; periodClause : PERIOD FOR SYSTEM_TIME LP_ columnName COMMA_ columnName RP_ ; tableIndex : INDEX indexName ( (CLUSTERED | NONCLUSTERED)? columnNames | CLUSTERED COLUMNSTORE | NONCLUSTERED? (COLUMNSTORE columnNames | hashWithBucket) | CLUSTERED COLUMNSTORE (WITH LP_ COMPRESSION_DELAY EQ_ (NUMBER_ MINUTES?) RP_)? ) (WHERE expr)? (WITH LP_ indexOption (COMMA_ indexOption)* RP_)? indexOnClause? (FILESTREAM_ON (ignoredIdentifier_ | schemaName | STRING_))? ; tableOption : DATA_COMPRESSION EQ_ (NONE | ROW | PAGE) (ON PARTITIONS LP_ partitionExpressions RP_)? | FILETABLE_DIRECTORY EQ_ ignoredIdentifier_ | FILETABLE_COLLATE_FILENAME EQ_ (collationName | DATABASE_DEAULT) | FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME EQ_ ignoredIdentifier_ | FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME EQ_ ignoredIdentifier_ | FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME EQ_ ignoredIdentifier_ | SYSTEM_VERSIONING EQ_ ON (LP_ HISTORY_TABLE EQ_ tableName (COMMA_ DATA_CONSISTENCY_CHECK EQ_ (ON | OFF))? RP_)? | REMOTE_DATA_ARCHIVE EQ_ (ON (LP_ tableStretchOptions (COMMA_ tableStretchOptions)* RP_)? | OFF LP_ MIGRATION_STATE EQ_ PAUSED RP_) | tableOptOption | distributionOption | dataWareHouseTableOption ; tableOptOption : (MEMORY_OPTIMIZED EQ_ ON) | (DURABILITY EQ_ (SCHEMA_ONLY | SCHEMA_AND_DATA)) | (SYSTEM_VERSIONING EQ_ ON (LP_ HISTORY_TABLE EQ_ tableName (COMMA_ DATA_CONSISTENCY_CHECK EQ_ (ON | OFF))? RP_)?) createTableDefinitions_ : LP_ createTableDefinition_ (COMMA_ createTableDefinition_)* (COMMA_ periodClause)? RP_ ; distributionOption : DISTRIBUTION EQ_ (HASH LP_ columnName RP_ | ROUND_ROBIN | REPLICATE) ; dataWareHouseTableOption : CLUSTERED COLUMNSTORE INDEX | HEAP | dataWareHousePartitionOption ; dataWareHousePartitionOption : (PARTITION LP_ columnName RANGE (LEFT | RIGHT)? FOR VALUES LP_ simpleExpr (COMMA_ simpleExpr)* RP_ RP_) ; tableStretchOptions : (FILTER_PREDICATE EQ_ (NULL | functionCall) COMMA_)? MIGRATION_STATE EQ_ (OUTBOUND | INBOUND | PAUSED) createTableDefinition_ : columnDefinition | computedColumnDefinition | columnSetDefinition | tableConstraint | tableIndex ; columnDefinition : columnName dataType columnDefinitionOption* (columnConstraint(COMMA_ columnConstraint)*)? columnIndex? : columnName dataType columnDefinitionOption* columnConstraints columnIndex? ; columnDefinitionOption Loading Loading @@ -154,6 +106,34 @@ diskTablePrimaryKeyConstraintOption : (CLUSTERED | NONCLUSTERED)? primaryKeyWithClause? primaryKeyOnClause? ; primaryKeyWithClause : WITH (FILLFACTOR EQ_ NUMBER_ | LP_ indexOption (COMMA_ indexOption)* RP_) ; primaryKeyOnClause : onSchemaColumn | onFileGroup | onString ; onSchemaColumn : ON schemaName LP_ columnName RP_ ; onFileGroup : ON ignoredIdentifier_ ; onString : ON STRING_ ; memoryTablePrimaryKeyConstraintOption : CLUSTERED withBucket? ; withBucket : WITH LP_ BUCKET_COUNT EQ_ NUMBER_ RP_ ; columnForeignKeyConstraint : (FOREIGN KEY)? REFERENCES tableName LP_ columnName RP_ foreignKeyOnAction* ; Loading @@ -166,40 +146,75 @@ foreignKeyOn : NO ACTION | CASCADE | SET (NULL | DEFAULT) ; memoryTablePrimaryKeyConstraintOption : CLUSTERED withBucket? checkConstraint : CHECK(NOT FOR REPLICATION)? LP_ expr RP_ ; hashWithBucket : HASH columnNames withBucket columnConstraints : (columnConstraint(COMMA_ columnConstraint)*)? ; withBucket : WITH LP_ BUCKET_COUNT EQ_ NUMBER_ RP_ partitionScheme_ : (ON (schemaName LP_ columnName RP_ | ignoredIdentifier_ | STRING_))? ; primaryKeyWithClause : WITH (FILLFACTOR EQ_ NUMBER_ | LP_ indexOption (COMMA_ indexOption)* RP_) fileGroup_ : (TEXTIMAGE_ON (ignoredIdentifier_ | STRING_))? ((FILESTREAM_ON (schemaName) | ignoredIdentifier_ STRING_))? (WITH LP_ tableOption (COMMA_ tableOption)* RP_)? ; primaryKeyOnClause : onSchemaColumn | onFileGroup | onString periodClause : PERIOD FOR SYSTEM_TIME LP_ columnName COMMA_ columnName RP_ ; onSchemaColumn : ON schemaName LP_ columnName RP_ tableIndex : INDEX indexName ( (CLUSTERED | NONCLUSTERED)? columnNames | CLUSTERED COLUMNSTORE | NONCLUSTERED? (COLUMNSTORE columnNames | hashWithBucket) | CLUSTERED COLUMNSTORE (WITH LP_ COMPRESSION_DELAY EQ_ (NUMBER_ MINUTES?) RP_)? ) (WHERE expr)? (WITH LP_ indexOption (COMMA_ indexOption)* RP_)? indexOnClause? (FILESTREAM_ON (ignoredIdentifier_ | schemaName | STRING_))? ; onFileGroup : ON ignoredIdentifier_ tableOption : DATA_COMPRESSION EQ_ (NONE | ROW | PAGE) (ON PARTITIONS LP_ partitionExpressions RP_)? | FILETABLE_DIRECTORY EQ_ ignoredIdentifier_ | FILETABLE_COLLATE_FILENAME EQ_ (collationName | DATABASE_DEAULT) | FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME EQ_ ignoredIdentifier_ | FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME EQ_ ignoredIdentifier_ | FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME EQ_ ignoredIdentifier_ | SYSTEM_VERSIONING EQ_ ON (LP_ HISTORY_TABLE EQ_ tableName (COMMA_ DATA_CONSISTENCY_CHECK EQ_ (ON | OFF))? RP_)? | REMOTE_DATA_ARCHIVE EQ_ (ON (LP_ tableStretchOptions (COMMA_ tableStretchOptions)* RP_)? | OFF LP_ MIGRATION_STATE EQ_ PAUSED RP_) | tableOptOption | distributionOption | dataWareHouseTableOption ; onString : ON STRING_ tableOptOption : (MEMORY_OPTIMIZED EQ_ ON) | (DURABILITY EQ_ (SCHEMA_ONLY | SCHEMA_AND_DATA)) | (SYSTEM_VERSIONING EQ_ ON (LP_ HISTORY_TABLE EQ_ tableName (COMMA_ DATA_CONSISTENCY_CHECK EQ_ (ON | OFF))? RP_)?) ; checkConstraint : CHECK(NOT FOR REPLICATION)? LP_ expr RP_ distributionOption : DISTRIBUTION EQ_ (HASH LP_ columnName RP_ | ROUND_ROBIN | REPLICATE) ; dataWareHouseTableOption : CLUSTERED COLUMNSTORE INDEX | HEAP | dataWareHousePartitionOption ; dataWareHousePartitionOption : (PARTITION LP_ columnName RANGE (LEFT | RIGHT)? FOR VALUES LP_ simpleExpr (COMMA_ simpleExpr)* RP_ RP_) ; tableStretchOptions : (FILTER_PREDICATE EQ_ (NULL | functionCall) COMMA_)? MIGRATION_STATE EQ_ (OUTBOUND | INBOUND | PAUSED) ; hashWithBucket : HASH columnNames withBucket ; columnIndex Loading Loading
sharding-core/sharding-core-parse/sharding-core-parse-sqlserver/src/main/antlr4/imports/sqlserver/DDLStatement.g4 +91 −76 Original line number Diff line number Diff line Loading @@ -20,7 +20,7 @@ grammar DDLStatement; import Symbol, Keyword, Literals, BaseRule; createTable : createTableHeader createTableBody : CREATE TABLE tableName fileTableClause_ createDefinitionClause_ ; createIndex Loading Loading @@ -58,72 +58,24 @@ truncateTable : TRUNCATE TABLE tableName ; createTableHeader : CREATE TABLE tableName fileTableClause_ : (AS FILETABLE)? ; createTableBody : (AS FILETABLE)? LP_ createTableDefinition (COMMA_ createTableDefinition)* (COMMA_ periodClause)? RP_(ON (schemaName LP_ columnName RP_ | ignoredIdentifier_ | STRING_))? (TEXTIMAGE_ON (ignoredIdentifier_ | STRING_))? ((FILESTREAM_ON (schemaName) | ignoredIdentifier_ STRING_))? (WITH LP_ tableOption (COMMA_ tableOption)* RP_)? createDefinitionClause_ : createTableDefinitions_ partitionScheme_ fileGroup_ ; createTableDefinition : columnDefinition | computedColumnDefinition | columnSetDefinition | tableConstraint | tableIndex ; periodClause : PERIOD FOR SYSTEM_TIME LP_ columnName COMMA_ columnName RP_ ; tableIndex : INDEX indexName ( (CLUSTERED | NONCLUSTERED)? columnNames | CLUSTERED COLUMNSTORE | NONCLUSTERED? (COLUMNSTORE columnNames | hashWithBucket) | CLUSTERED COLUMNSTORE (WITH LP_ COMPRESSION_DELAY EQ_ (NUMBER_ MINUTES?) RP_)? ) (WHERE expr)? (WITH LP_ indexOption (COMMA_ indexOption)* RP_)? indexOnClause? (FILESTREAM_ON (ignoredIdentifier_ | schemaName | STRING_))? ; tableOption : DATA_COMPRESSION EQ_ (NONE | ROW | PAGE) (ON PARTITIONS LP_ partitionExpressions RP_)? | FILETABLE_DIRECTORY EQ_ ignoredIdentifier_ | FILETABLE_COLLATE_FILENAME EQ_ (collationName | DATABASE_DEAULT) | FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME EQ_ ignoredIdentifier_ | FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME EQ_ ignoredIdentifier_ | FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME EQ_ ignoredIdentifier_ | SYSTEM_VERSIONING EQ_ ON (LP_ HISTORY_TABLE EQ_ tableName (COMMA_ DATA_CONSISTENCY_CHECK EQ_ (ON | OFF))? RP_)? | REMOTE_DATA_ARCHIVE EQ_ (ON (LP_ tableStretchOptions (COMMA_ tableStretchOptions)* RP_)? | OFF LP_ MIGRATION_STATE EQ_ PAUSED RP_) | tableOptOption | distributionOption | dataWareHouseTableOption ; tableOptOption : (MEMORY_OPTIMIZED EQ_ ON) | (DURABILITY EQ_ (SCHEMA_ONLY | SCHEMA_AND_DATA)) | (SYSTEM_VERSIONING EQ_ ON (LP_ HISTORY_TABLE EQ_ tableName (COMMA_ DATA_CONSISTENCY_CHECK EQ_ (ON | OFF))? RP_)?) createTableDefinitions_ : LP_ createTableDefinition_ (COMMA_ createTableDefinition_)* (COMMA_ periodClause)? RP_ ; distributionOption : DISTRIBUTION EQ_ (HASH LP_ columnName RP_ | ROUND_ROBIN | REPLICATE) ; dataWareHouseTableOption : CLUSTERED COLUMNSTORE INDEX | HEAP | dataWareHousePartitionOption ; dataWareHousePartitionOption : (PARTITION LP_ columnName RANGE (LEFT | RIGHT)? FOR VALUES LP_ simpleExpr (COMMA_ simpleExpr)* RP_ RP_) ; tableStretchOptions : (FILTER_PREDICATE EQ_ (NULL | functionCall) COMMA_)? MIGRATION_STATE EQ_ (OUTBOUND | INBOUND | PAUSED) createTableDefinition_ : columnDefinition | computedColumnDefinition | columnSetDefinition | tableConstraint | tableIndex ; columnDefinition : columnName dataType columnDefinitionOption* (columnConstraint(COMMA_ columnConstraint)*)? columnIndex? : columnName dataType columnDefinitionOption* columnConstraints columnIndex? ; columnDefinitionOption Loading Loading @@ -154,6 +106,34 @@ diskTablePrimaryKeyConstraintOption : (CLUSTERED | NONCLUSTERED)? primaryKeyWithClause? primaryKeyOnClause? ; primaryKeyWithClause : WITH (FILLFACTOR EQ_ NUMBER_ | LP_ indexOption (COMMA_ indexOption)* RP_) ; primaryKeyOnClause : onSchemaColumn | onFileGroup | onString ; onSchemaColumn : ON schemaName LP_ columnName RP_ ; onFileGroup : ON ignoredIdentifier_ ; onString : ON STRING_ ; memoryTablePrimaryKeyConstraintOption : CLUSTERED withBucket? ; withBucket : WITH LP_ BUCKET_COUNT EQ_ NUMBER_ RP_ ; columnForeignKeyConstraint : (FOREIGN KEY)? REFERENCES tableName LP_ columnName RP_ foreignKeyOnAction* ; Loading @@ -166,40 +146,75 @@ foreignKeyOn : NO ACTION | CASCADE | SET (NULL | DEFAULT) ; memoryTablePrimaryKeyConstraintOption : CLUSTERED withBucket? checkConstraint : CHECK(NOT FOR REPLICATION)? LP_ expr RP_ ; hashWithBucket : HASH columnNames withBucket columnConstraints : (columnConstraint(COMMA_ columnConstraint)*)? ; withBucket : WITH LP_ BUCKET_COUNT EQ_ NUMBER_ RP_ partitionScheme_ : (ON (schemaName LP_ columnName RP_ | ignoredIdentifier_ | STRING_))? ; primaryKeyWithClause : WITH (FILLFACTOR EQ_ NUMBER_ | LP_ indexOption (COMMA_ indexOption)* RP_) fileGroup_ : (TEXTIMAGE_ON (ignoredIdentifier_ | STRING_))? ((FILESTREAM_ON (schemaName) | ignoredIdentifier_ STRING_))? (WITH LP_ tableOption (COMMA_ tableOption)* RP_)? ; primaryKeyOnClause : onSchemaColumn | onFileGroup | onString periodClause : PERIOD FOR SYSTEM_TIME LP_ columnName COMMA_ columnName RP_ ; onSchemaColumn : ON schemaName LP_ columnName RP_ tableIndex : INDEX indexName ( (CLUSTERED | NONCLUSTERED)? columnNames | CLUSTERED COLUMNSTORE | NONCLUSTERED? (COLUMNSTORE columnNames | hashWithBucket) | CLUSTERED COLUMNSTORE (WITH LP_ COMPRESSION_DELAY EQ_ (NUMBER_ MINUTES?) RP_)? ) (WHERE expr)? (WITH LP_ indexOption (COMMA_ indexOption)* RP_)? indexOnClause? (FILESTREAM_ON (ignoredIdentifier_ | schemaName | STRING_))? ; onFileGroup : ON ignoredIdentifier_ tableOption : DATA_COMPRESSION EQ_ (NONE | ROW | PAGE) (ON PARTITIONS LP_ partitionExpressions RP_)? | FILETABLE_DIRECTORY EQ_ ignoredIdentifier_ | FILETABLE_COLLATE_FILENAME EQ_ (collationName | DATABASE_DEAULT) | FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME EQ_ ignoredIdentifier_ | FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME EQ_ ignoredIdentifier_ | FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME EQ_ ignoredIdentifier_ | SYSTEM_VERSIONING EQ_ ON (LP_ HISTORY_TABLE EQ_ tableName (COMMA_ DATA_CONSISTENCY_CHECK EQ_ (ON | OFF))? RP_)? | REMOTE_DATA_ARCHIVE EQ_ (ON (LP_ tableStretchOptions (COMMA_ tableStretchOptions)* RP_)? | OFF LP_ MIGRATION_STATE EQ_ PAUSED RP_) | tableOptOption | distributionOption | dataWareHouseTableOption ; onString : ON STRING_ tableOptOption : (MEMORY_OPTIMIZED EQ_ ON) | (DURABILITY EQ_ (SCHEMA_ONLY | SCHEMA_AND_DATA)) | (SYSTEM_VERSIONING EQ_ ON (LP_ HISTORY_TABLE EQ_ tableName (COMMA_ DATA_CONSISTENCY_CHECK EQ_ (ON | OFF))? RP_)?) ; checkConstraint : CHECK(NOT FOR REPLICATION)? LP_ expr RP_ distributionOption : DISTRIBUTION EQ_ (HASH LP_ columnName RP_ | ROUND_ROBIN | REPLICATE) ; dataWareHouseTableOption : CLUSTERED COLUMNSTORE INDEX | HEAP | dataWareHousePartitionOption ; dataWareHousePartitionOption : (PARTITION LP_ columnName RANGE (LEFT | RIGHT)? FOR VALUES LP_ simpleExpr (COMMA_ simpleExpr)* RP_ RP_) ; tableStretchOptions : (FILTER_PREDICATE EQ_ (NULL | functionCall) COMMA_)? MIGRATION_STATE EQ_ (OUTBOUND | INBOUND | PAUSED) ; hashWithBucket : HASH columnNames withBucket ; columnIndex Loading