提交 efa13eac 编写于 作者: C codefairy08

add createIndex dropIndex dropTable truncateTable

上级 713feb55
......@@ -3,10 +3,26 @@ grammar DDLBase;
import Keyword, BaseRule,Symbol;
execute:
alterTable
dropIndex
|createIndex
|dropTable
|truncateTable
|alterTable
|createTable
;
dropIndex:
;
createIndex:
;
dropTable:
;
truncateTable:
;
alterTable:
ALTER TABLE prefixTableName tableName alterSpecifications? partitionOptions?
;
......@@ -28,4 +44,4 @@ createTable:
createTableOptions:
NONE;
grammar MySQLDQL;
import MySQLKeyword,Keyword,Symbol,DataType, BaseRule, DQLBase, DMLBase;
import MySQLKeyword,Keyword,Symbol,DataType, BaseRule, DQLBase;
selectSpec:
......@@ -49,10 +49,6 @@ idListWithEmpty:
|idList
;
assignmentList:
assignment (COMMA assignment)*
;
//https://dev.mysql.com/doc/refman/8.0/en/join.html
tableReferences:
tableReference(COMMA tableReference)*
......
......@@ -4,6 +4,29 @@ import MySQLKeyword, DataType, Keyword, BaseRule, MySQLDQL, DQLBase,DDLBase,Symb
package io.shardingsphere.parser.antlr.mysql;
}
createIndex:
CREATE (UNIQUE | FULLTEXT | SPATIAL)? INDEX indexName
indexType?
ON tableName keyParts
indexOption?
(algorithmOption | lockOption)*
;
dropIndex:
DROP INDEX indexName ON tableName
(algorithmOption | lockOption)*
;
dropTable:
DROP TEMPORARY? TABLE (IF EXISTS)?
tableName columnName (tableName columnName)*
(RESTRICT | CASCADE)?
;
truncateTable:
TRUNCATE TABLE? tableName
;
createTableOptions:
createTableBasic
......@@ -57,7 +80,7 @@ alterSpecification:
| ADD COLUMN? (singleColumn | multiColumn)
| ADD indexDefinition
| ADD constraintDefinition
| ALGORITHM EQ_OR_ASSIGN? (DEFAULT|INPLACE|COPY)
| algorithmOption
| ALTER COLUMN? columnName (SET DEFAULT | DROP DEFAULT)
| CHANGE COLUMN? columnName columnName columnDefinition (FIRST|AFTER columnName)?
| DEFAULT? characterAndCollateWithEqual
......@@ -69,7 +92,7 @@ alterSpecification:
| DROP PRIMARY KEY
| DROP FOREIGN KEY fkSymbol
| FORCE
| LOCK EQ_OR_ASSIGN? (DEFAULT|NONE|SHARED|EXCLUSIVE)
| lockOption
| MODIFY COLUMN? columnName columnDefinition (FIRST | AFTER columnName)?
| (ORDER BY columnName (COMMA columnName)* )+
| RENAME (INDEX|KEY) indexName TO indexName
......@@ -92,7 +115,14 @@ alterSpecification:
| UPGRADE PARTITIONING
;
algorithmOption:
ALGORITHM EQ_OR_ASSIGN? (DEFAULT|INPLACE|COPY)
;
lockOption:
LOCK EQ_OR_ASSIGN? (DEFAULT|NONE|SHARED|EXCLUSIVE)
;
indexDefinition:
(((FULLTEXT | SPATIAL) indexAndKey?)|indexAndKey) indexDefOption
;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册