Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser Maven / Gradle / Ivy
// Generated from org/apache/shardingsphere/sql/parser/autogen/MySQLStatement.g4 by ANTLR 4.10.1
package org.apache.shardingsphere.sql.parser.autogen;
import org.antlr.v4.runtime.atn.*;
import org.antlr.v4.runtime.dfa.DFA;
import org.antlr.v4.runtime.*;
import org.antlr.v4.runtime.misc.*;
import org.antlr.v4.runtime.tree.*;
import java.util.List;
import java.util.Iterator;
import java.util.ArrayList;
@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"})
public class MySQLStatementParser extends Parser {
static { RuntimeMetaData.checkVersion("4.10.1", RuntimeMetaData.VERSION); }
protected static final DFA[] _decisionToDFA;
protected static final PredictionContextCache _sharedContextCache =
new PredictionContextCache();
public static final int
T__0=1, T__1=2, BLOCK_COMMENT=3, INLINE_COMMENT=4, AND_=5, OR_=6, NOT_=7,
TILDE_=8, VERTICAL_BAR_=9, AMPERSAND_=10, SIGNED_LEFT_SHIFT_=11, SIGNED_RIGHT_SHIFT_=12,
CARET_=13, MOD_=14, COLON_=15, PLUS_=16, MINUS_=17, ASTERISK_=18, SLASH_=19,
BACKSLASH_=20, DOT_=21, DOT_ASTERISK_=22, SAFE_EQ_=23, DEQ_=24, EQ_=25,
NEQ_=26, GT_=27, GTE_=28, LT_=29, LTE_=30, POUND_=31, LP_=32, RP_=33,
LBE_=34, RBE_=35, LBT_=36, RBT_=37, COMMA_=38, DQ_=39, SQ_=40, BQ_=41,
QUESTION_=42, AT_=43, SEMI_=44, ASSIGNMENT_=45, JSON_SEPARATOR=46, JSON_UNQUOTED_SEPARATOR=47,
WS=48, MAX=49, MIN=50, SUM=51, COUNT=52, GROUP_CONCAT=53, CAST=54, POSITION=55,
SUBSTRING=56, SUBSTR=57, EXTRACT=58, TRIM=59, LAST_DAY=60, TRADITIONAL=61,
TREE=62, MYSQL_MAIN=63, MYSQL_ADMIN=64, INSTANT=65, INPLACE=66, COPY=67,
UL_BINARY=68, AUTOCOMMIT=69, INNODB=70, REDO_LOG=71, DELIMITER=72, FOR_GENERATOR=73,
ACCESSIBLE=74, ACCOUNT=75, ACTION=76, ACTIVE=77, ADD=78, ADMIN=79, AFTER=80,
AGAINST=81, AGGREGATE=82, ALGORITHM=83, ALL=84, ALTER=85, ALWAYS=86, ANALYZE=87,
AND=88, ANY=89, ARRAY=90, AS=91, ASC=92, ASCII=93, ASENSITIVE=94, AT=95,
ATTRIBUTE=96, AUTOEXTEND_SIZE=97, AUTO_INCREMENT=98, AVG=99, BIT_XOR=100,
AVG_ROW_LENGTH=101, BACKUP=102, BEFORE=103, BEGIN=104, BETWEEN=105, BIGINT=106,
BINARY=107, BINLOG=108, BIT=109, BLOB=110, BLOCK=111, BOOL=112, BOOLEAN=113,
BOTH=114, BTREE=115, BUCKETS=116, BY=117, BYTE=118, CACHE=119, CALL=120,
CASCADE=121, CASCADED=122, CASE=123, CATALOG_NAME=124, CHAIN=125, CHANGE=126,
CHANGED=127, CHANNEL=128, CHAR=129, CHARACTER=130, CHARSET=131, CHECK=132,
CHECKSUM=133, CIPHER=134, CLASS_ORIGIN=135, CLIENT=136, CLONE=137, CLOSE=138,
COALESCE=139, CODE=140, COLLATE=141, COLLATION=142, COLUMN=143, COLUMNS=144,
COLUMN_FORMAT=145, COLUMN_NAME=146, COMMENT=147, COMMIT=148, COMMITTED=149,
COMPACT=150, COMPLETION=151, COMPONENT=152, COMPRESSED=153, COMPRESSION=154,
CONCURRENT=155, CONDITION=156, CONNECTION=157, CONSISTENT=158, CONSTRAINT=159,
CONSTRAINT_CATALOG=160, CONSTRAINT_NAME=161, CONSTRAINT_SCHEMA=162, CONTAINS=163,
CONTEXT=164, CONTINUE=165, CONVERT=166, CPU=167, CREATE=168, CROSS=169,
CUBE=170, CUME_DIST=171, CURRENT=172, CURRENT_DATE=173, CURRENT_TIME=174,
CURRENT_TIMESTAMP=175, CURRENT_USER=176, CURSOR=177, CURSOR_NAME=178,
DATA=179, DATABASE=180, DATABASES=181, DATAFILE=182, DATE=183, DATETIME=184,
DAY=185, DAY_HOUR=186, DAY_MICROSECOND=187, DAY_MINUTE=188, DAY_SECOND=189,
DEALLOCATE=190, DEC=191, DECIMAL=192, DECLARE=193, DEFAULT=194, DEFAULT_AUTH=195,
DEFINER=196, DEFINITION=197, DELAYED=198, DELAY_KEY_WRITE=199, DELETE=200,
DENSE_RANK=201, DESC=202, DESCRIBE=203, DESCRIPTION=204, DETERMINISTIC=205,
DIAGNOSTICS=206, DIRECTORY=207, DISABLE=208, DISCARD=209, DISK=210, DISTINCT=211,
DISTINCTROW=212, DIV=213, DO=214, DOUBLE=215, DROP=216, DUAL=217, DUMPFILE=218,
DUPLICATE=219, DYNAMIC=220, EACH=221, ELSE=222, ELSEIF=223, EMPTY=224,
ENABLE=225, ENCLOSED=226, ENCRYPTION=227, END=228, ENDS=229, ENFORCED=230,
ENGINE=231, ENGINES=232, ENGINE_ATTRIBUTE=233, ENUM=234, ERROR=235, ERRORS=236,
ESCAPE=237, ESCAPED=238, EVENT=239, EVENTS=240, EVERY=241, EXCEPT=242,
EXCHANGE=243, EXCLUDE=244, EXECUTE=245, EXISTS=246, EXIT=247, EXPANSION=248,
EXPIRE=249, EXPLAIN=250, EXPORT=251, EXTENDED=252, EXTENT_SIZE=253, FAILED_LOGIN_ATTEMPTS=254,
FALSE=255, FAST=256, FAULTS=257, FETCH=258, FILE=259, FILE_BLOCK_SIZE=260,
FILTER=261, FIRST=262, FIRST_VALUE=263, FIXED=264, FLOAT=265, FLOAT4=266,
FLOAT8=267, FLUSH=268, FOLLOWING=269, FOLLOWS=270, FOR=271, FORCE=272,
FOREIGN=273, FORMAT=274, FOUND=275, FROM=276, FULL=277, FULLTEXT=278,
FUNCTION=279, GENERAL=280, GENERATED=281, GEOMETRY=282, GEOMETRYCOLLECTION=283,
GET=284, GET_FORMAT=285, GET_MASTER_PUBLIC_KEY=286, GLOBAL=287, GRANT=288,
GRANTS=289, GROUP=290, GROUPING=291, GROUPS=292, GROUP_REPLICATION=293,
HANDLER=294, HASH=295, HAVING=296, HELP=297, HIGH_PRIORITY=298, HISTOGRAM=299,
HISTORY=300, HOST=301, HOSTS=302, HOUR=303, HOUR_MICROSECOND=304, HOUR_MINUTE=305,
HOUR_SECOND=306, IDENTIFIED=307, IF=308, IGNORE=309, IGNORE_SERVER_IDS=310,
IMPORT=311, IN=312, INACTIVE=313, INDEX=314, INDEXES=315, INFILE=316,
INITIAL_SIZE=317, INNER=318, INOUT=319, INSENSITIVE=320, INSERT=321, INSERT_METHOD=322,
INSTALL=323, INSTANCE=324, INT=325, INT1=326, INT2=327, INT3=328, INT4=329,
INT8=330, INTEGER=331, INTERVAL=332, INTO=333, INVISIBLE=334, INVOKER=335,
IO=336, IO_AFTER_GTIDS=337, IO_BEFORE_GTIDS=338, IPC=339, IS=340, ISOLATION=341,
ISSUER=342, ITERATE=343, JOIN=344, JSON=345, JSON_TABLE=346, JSON_VALUE=347,
KEY=348, KEYS=349, KEY_BLOCK_SIZE=350, KILL=351, LAG=352, LANGUAGE=353,
LAST=354, LAST_VALUE=355, LATERAL=356, LEAD=357, LEADING=358, LEAVE=359,
LEAVES=360, LEFT=361, LESS=362, LEVEL=363, LIKE=364, LIMIT=365, LINEAR=366,
LINES=367, LINESTRING=368, LIST=369, LOAD=370, LOCAL=371, LOCALTIME=372,
LOCALTIMESTAMP=373, LOCK=374, LOCKED=375, LOCKS=376, LOGFILE=377, LOGS=378,
LONG=379, LONGBLOB=380, LONGTEXT=381, LOOP=382, LOW_PRIORITY=383, MASTER=384,
MASTER_AUTO_POSITION=385, MASTER_BIND=386, MASTER_COMPRESSION_ALGORITHM=387,
MASTER_CONNECT_RETRY=388, MASTER_DELAY=389, MASTER_HEARTBEAT_PERIOD=390,
MASTER_HOST=391, MASTER_LOG_FILE=392, MASTER_LOG_POS=393, MASTER_PASSWORD=394,
MASTER_PORT=395, MASTER_PUBLIC_KEY_PATH=396, MASTER_RETRY_COUNT=397, MASTER_SERVER_ID=398,
MASTER_SSL=399, MASTER_SSL_CA=400, MASTER_SSL_CAPATH=401, MASTER_SSL_CERT=402,
MASTER_SSL_CIPHER=403, MASTER_SSL_CRL=404, MASTER_SSL_CRLPATH=405, MASTER_SSL_KEY=406,
MASTER_SSL_VERIFY_SERVER_CERT=407, MASTER_TLS_CIPHERSUITES=408, MASTER_TLS_VERSION=409,
MASTER_USER=410, MASTER_ZSTD_COMPRESSION_LEVEL=411, MATCH=412, MAXVALUE=413,
MAX_CONNECTIONS_PER_HOUR=414, MAX_QUERIES_PER_HOUR=415, MAX_ROWS=416,
MAX_SIZE=417, MAX_UPDATES_PER_HOUR=418, MAX_USER_CONNECTIONS=419, MEDIUM=420,
MEDIUMBLOB=421, MEDIUMINT=422, MEDIUMTEXT=423, MEMBER=424, MEMORY=425,
MERGE=426, MESSAGE_TEXT=427, MICROSECOND=428, MIDDLEINT=429, MIGRATE=430,
MINUTE=431, MINUTE_MICROSECOND=432, MINUTE_SECOND=433, MIN_ROWS=434, MOD=435,
MODE=436, MODIFIES=437, MODIFY=438, MONTH=439, MULTILINESTRING=440, MULTIPOINT=441,
MULTIPOLYGON=442, MUTEX=443, MYSQL_ERRNO=444, NAME=445, NAMES=446, NATIONAL=447,
NATURAL=448, NCHAR=449, NDBCLUSTER=450, NESTED=451, NETWORK_NAMESPACE=452,
NEVER=453, NEW=454, NEXT=455, NO=456, NODEGROUP=457, NONE=458, NOT=459,
NOWAIT=460, NO_WAIT=461, NO_WRITE_TO_BINLOG=462, NTH_VALUE=463, NTILE=464,
NULL=465, NULLS=466, NUMBER=467, NUMERIC=468, NVARCHAR=469, OF=470, OFF=471,
OFFSET=472, OJ=473, OLD=474, ON=475, ONE=476, ONLY=477, OPEN=478, OPTIMIZE=479,
OPTIMIZER_COSTS=480, OPTION=481, OPTIONAL=482, OPTIONALLY=483, OPTIONS=484,
OR=485, ORDER=486, ORDINALITY=487, ORGANIZATION=488, OTHERS=489, OUT=490,
OUTER=491, OUTFILE=492, OVER=493, OWNER=494, PACK_KEYS=495, PAGE=496,
PARSER=497, PARTIAL=498, PARTITION=499, PARTITIONING=500, PARTITIONS=501,
PASSWORD=502, PASSWORD_LOCK_TIME=503, PATH=504, PERCENT_RANK=505, PERSIST=506,
PERSIST_ONLY=507, PHASE=508, PLUGIN=509, PLUGINS=510, PLUGIN_DIR=511,
POINT=512, POLYGON=513, PORT=514, PRECEDES=515, PRECEDING=516, PRECISION=517,
PREPARE=518, PRESERVE=519, PREV=520, PRIMARY=521, PRIVILEGES=522, PRIVILEGE_CHECKS_USER=523,
PROCEDURE=524, PROCESS=525, PROCESSLIST=526, PROFILE=527, PROFILES=528,
PROXY=529, PURGE=530, QUARTER=531, QUERY=532, QUICK=533, RANDOM=534, RANGE=535,
RANK=536, READ=537, READS=538, READ_ONLY=539, READ_WRITE=540, REAL=541,
REBUILD=542, RECOVER=543, RECURSIVE=544, REDO_BUFFER_SIZE=545, REDUNDANT=546,
REFERENCE=547, REFERENCES=548, REGEXP=549, RELAY=550, RELAYLOG=551, RELAY_LOG_FILE=552,
RELAY_LOG_POS=553, RELAY_THREAD=554, RELEASE=555, RELOAD=556, REMOVE=557,
RENAME=558, REORGANIZE=559, REPAIR=560, REPEAT=561, REPEATABLE=562, REPLACE=563,
REPLICA=564, REPLICAS=565, REPLICATE_DO_DB=566, REPLICATE_DO_TABLE=567,
REPLICATE_IGNORE_DB=568, REPLICATE_IGNORE_TABLE=569, REPLICATE_REWRITE_DB=570,
REPLICATE_WILD_DO_TABLE=571, REPLICATE_WILD_IGNORE_TABLE=572, REPLICATION=573,
REQUIRE=574, REQUIRE_ROW_FORMAT=575, RESET=576, RESIGNAL=577, RESOURCE=578,
RESPECT=579, RESTART=580, RESTORE=581, RESTRICT=582, RESUME=583, RETAIN=584,
RETURN=585, RETURNED_SQLSTATE=586, RETURNING=587, RETURNS=588, REUSE=589,
REVERSE=590, REVOKE=591, RIGHT=592, RLIKE=593, ROLE=594, ROLLBACK=595,
ROLLUP=596, ROTATE=597, ROUTINE=598, ROW=599, ROWS=600, ROW_COUNT=601,
ROW_FORMAT=602, ROW_NUMBER=603, RTREE=604, SAVEPOINT=605, SCHEDULE=606,
SCHEMA=607, SCHEMAS=608, SCHEMA_NAME=609, SECOND=610, SECONDARY=611, SECONDARY_ENGINE=612,
SECONDARY_ENGINE_ATTRIBUTE=613, SECONDARY_LOAD=614, SECONDARY_UNLOAD=615,
SECOND_MICROSECOND=616, SECURITY=617, SELECT=618, SENSITIVE=619, SEPARATOR=620,
SERIAL=621, SERIALIZABLE=622, SERVER=623, SESSION=624, SET=625, SHARE=626,
SHOW=627, SHUTDOWN=628, SIGNAL=629, SIGNED=630, SIMPLE=631, SKIP_SYMBOL=632,
SLAVE=633, SLOW=634, SMALLINT=635, SNAPSHOT=636, SOCKET=637, SONAME=638,
SOUNDS=639, SOURCE=640, SPATIAL=641, SPECIFIC=642, SQL=643, SQLEXCEPTION=644,
SQLSTATE=645, SQLWARNING=646, SQL_AFTER_GTIDS=647, SQL_AFTER_MTS_GAPS=648,
SQL_BEFORE_GTIDS=649, SQL_BIG_RESULT=650, SQL_BUFFER_RESULT=651, SQL_CALC_FOUND_ROWS=652,
SQL_NO_CACHE=653, SQL_SMALL_RESULT=654, SQL_THREAD=655, SRID=656, SSL=657,
STACKED=658, START=659, STARTING=660, STARTS=661, STATS_AUTO_RECALC=662,
STATS_PERSISTENT=663, STATS_SAMPLE_PAGES=664, STATUS=665, STOP=666, STORAGE=667,
STORED=668, STRAIGHT_JOIN=669, STREAM=670, STRING=671, SUBCLASS_ORIGIN=672,
SUBJECT=673, SUBPARTITION=674, SUBPARTITIONS=675, SUPER=676, SUSPEND=677,
SWAPS=678, SWITCHES=679, SYSTEM=680, TABLE=681, TABLES=682, TABLESPACE=683,
TABLE_CHECKSUM=684, TABLE_NAME=685, TEMPORARY=686, TEMPTABLE=687, TERMINATED=688,
TEXT=689, THAN=690, THEN=691, THREAD_PRIORITY=692, TIES=693, TIME=694,
TIMESTAMP=695, TIMESTAMP_ADD=696, TIMESTAMP_DIFF=697, TINYBLOB=698, TINYINT=699,
TINYTEXT=700, TLS=701, TO=702, TRAILING=703, TRANSACTION=704, TRIGGER=705,
TRIGGERS=706, TRUE=707, TRUNCATE=708, TYPE=709, TYPES=710, UNBOUNDED=711,
UNCOMMITTED=712, UNDEFINED=713, UNDO=714, UNDOFILE=715, UNDO_BUFFER_SIZE=716,
UNICODE=717, UNINSTALL=718, UNION=719, UNIQUE=720, UNKNOWN=721, UNLOCK=722,
UNSIGNED=723, UNTIL=724, UPDATE=725, UPGRADE=726, USAGE=727, USE=728,
USER=729, USER_RESOURCES=730, USE_FRM=731, USING=732, UTC_DATE=733, UTC_TIME=734,
UTC_TIMESTAMP=735, VALIDATION=736, VALUE=737, VALUES=738, VARBINARY=739,
VARCHAR=740, VARCHARACTER=741, VARIABLES=742, VARYING=743, VCPU=744, VIEW=745,
VIRTUAL=746, VISIBLE=747, WAIT=748, WARNINGS=749, WEEK=750, WEIGHT_STRING=751,
WHEN=752, WHERE=753, WHILE=754, WINDOW=755, WITH=756, WITHOUT=757, WORK=758,
WRAPPER=759, WRITE=760, X509=761, XA=762, XID=763, XML=764, XOR=765, YEAR=766,
YEAR_MONTH=767, ZEROFILL=768, JSON_ARRAY=769, JSON_ARRAY_APPEND=770, JSON_ARRAY_INSERT=771,
JSON_CONTAINS=772, JSON_CONTAINS_PATH=773, JSON_DEPTH=774, JSON_EXTRACT=775,
JSON_INSERT=776, JSON_KEYS=777, JSON_LENGTH=778, JSON_MERGE=779, JSON_MERGE_PATCH=780,
JSON_MERGE_PRESERVE=781, JSON_OBJECT=782, JSON_OVERLAPS=783, JSON_PRETTY=784,
JSON_QUOTE=785, JSON_REMOVE=786, JSON_REPLACE=787, JSON_SCHEMA_VALID=788,
JSON_SCHEMA_VALIDATION_REPORT=789, JSON_SEARCH=790, JSON_SET=791, JSON_STORAGE_FREE=792,
JSON_STORAGE_SIZE=793, JSON_TYPE=794, JSON_UNQUOTE=795, JSON_VALID=796,
FILESIZE_LITERAL=797, SINGLE_QUOTED_TEXT=798, DOUBLE_QUOTED_TEXT=799,
NCHAR_TEXT=800, UNDERSCORE_CHARSET=801, NUMBER_=802, INT_NUM_=803, FLOAT_NUM_=804,
DECIMAL_NUM_=805, HEX_DIGIT_=806, BIT_NUM_=807, IDENTIFIER_=808, NOT_SUPPORT_=809,
FIELDS=810;
public static final int
RULE_execute = 0, RULE_alterStatement = 1, RULE_createTable = 2, RULE_partitionClause = 3,
RULE_partitionTypeDef = 4, RULE_subPartitions = 5, RULE_partitionKeyAlgorithm = 6,
RULE_duplicateAsQueryExpression = 7, RULE_alterTable = 8, RULE_standaloneAlterTableAction = 9,
RULE_alterTableActions = 10, RULE_alterTablePartitionOptions = 11, RULE_alterCommandList = 12,
RULE_alterList = 13, RULE_createTableOptionsSpaceSeparated = 14, RULE_alterListItem = 15,
RULE_alterOrderList = 16, RULE_tableConstraintDef = 17, RULE_alterCommandsModifierList = 18,
RULE_alterCommandsModifier = 19, RULE_withValidation = 20, RULE_standaloneAlterCommands = 21,
RULE_alterPartition = 22, RULE_constraintClause = 23, RULE_tableElementList = 24,
RULE_tableElement = 25, RULE_restrict = 26, RULE_fulltextIndexOption = 27,
RULE_dropTable = 28, RULE_dropIndex = 29, RULE_alterAlgorithmOption = 30,
RULE_alterLockOption = 31, RULE_truncateTable = 32, RULE_createIndex = 33,
RULE_createDatabase = 34, RULE_alterDatabase = 35, RULE_createDatabaseSpecification_ = 36,
RULE_alterDatabaseSpecification_ = 37, RULE_dropDatabase = 38, RULE_alterInstance = 39,
RULE_instanceAction = 40, RULE_channel = 41, RULE_createEvent = 42, RULE_alterEvent = 43,
RULE_dropEvent = 44, RULE_createFunction = 45, RULE_alterFunction = 46,
RULE_dropFunction = 47, RULE_createProcedure = 48, RULE_alterProcedure = 49,
RULE_dropProcedure = 50, RULE_createServer = 51, RULE_alterServer = 52,
RULE_dropServer = 53, RULE_createView = 54, RULE_alterView = 55, RULE_dropView = 56,
RULE_createTablespace = 57, RULE_createTablespaceInnodb = 58, RULE_createTablespaceNdb = 59,
RULE_alterTablespace = 60, RULE_alterTablespaceNdb = 61, RULE_alterTablespaceInnodb = 62,
RULE_dropTablespace = 63, RULE_createLogfileGroup = 64, RULE_alterLogfileGroup = 65,
RULE_dropLogfileGroup = 66, RULE_createTrigger = 67, RULE_dropTrigger = 68,
RULE_renameTable = 69, RULE_createDefinitionClause = 70, RULE_columnDefinition = 71,
RULE_fieldDefinition = 72, RULE_columnAttribute = 73, RULE_checkConstraint = 74,
RULE_constraintEnforcement = 75, RULE_generatedOption = 76, RULE_referenceDefinition = 77,
RULE_onUpdateDelete = 78, RULE_referenceOption = 79, RULE_indexType = 80,
RULE_indexTypeClause = 81, RULE_keyParts = 82, RULE_keyPart = 83, RULE_keyPartWithExpression = 84,
RULE_keyListWithExpression = 85, RULE_indexOption = 86, RULE_commonIndexOption = 87,
RULE_visibility = 88, RULE_createLikeClause = 89, RULE_createIndexSpecification = 90,
RULE_createTableOptions = 91, RULE_createTableOption = 92, RULE_createSRSStatement = 93,
RULE_dropSRSStatement = 94, RULE_srsAttribute = 95, RULE_place = 96, RULE_partitionDefinitions = 97,
RULE_partitionDefinition = 98, RULE_partitionLessThanValue = 99, RULE_partitionValueList = 100,
RULE_partitionDefinitionOption = 101, RULE_subpartitionDefinition = 102,
RULE_ownerStatement = 103, RULE_scheduleExpression = 104, RULE_timestampValue = 105,
RULE_routineBody = 106, RULE_serverOption = 107, RULE_routineOption = 108,
RULE_procedureParameter = 109, RULE_fileSizeLiteral = 110, RULE_simpleStatement = 111,
RULE_compoundStatement = 112, RULE_validStatement = 113, RULE_beginStatement = 114,
RULE_declareStatement = 115, RULE_flowControlStatement = 116, RULE_caseStatement = 117,
RULE_ifStatement = 118, RULE_iterateStatement = 119, RULE_leaveStatement = 120,
RULE_loopStatement = 121, RULE_repeatStatement = 122, RULE_returnStatement = 123,
RULE_whileStatement = 124, RULE_cursorStatement = 125, RULE_cursorCloseStatement = 126,
RULE_cursorDeclareStatement = 127, RULE_cursorFetchStatement = 128, RULE_cursorOpenStatement = 129,
RULE_conditionHandlingStatement = 130, RULE_declareConditionStatement = 131,
RULE_declareHandlerStatement = 132, RULE_getDiagnosticsStatement = 133,
RULE_statementInformationItem = 134, RULE_conditionInformationItem = 135,
RULE_conditionNumber = 136, RULE_statementInformationItemName = 137, RULE_conditionInformationItemName = 138,
RULE_handlerAction = 139, RULE_conditionValue = 140, RULE_resignalStatement = 141,
RULE_signalStatement = 142, RULE_signalInformationItem = 143, RULE_prepare = 144,
RULE_executeStmt = 145, RULE_executeVarList = 146, RULE_deallocate = 147,
RULE_insert = 148, RULE_insertSpecification = 149, RULE_insertValuesClause = 150,
RULE_fields = 151, RULE_insertIdentifier = 152, RULE_tableWild = 153,
RULE_insertSelectClause = 154, RULE_onDuplicateKeyClause = 155, RULE_valueReference = 156,
RULE_derivedColumns = 157, RULE_replace = 158, RULE_replaceSpecification = 159,
RULE_replaceValuesClause = 160, RULE_replaceSelectClause = 161, RULE_update = 162,
RULE_updateSpecification_ = 163, RULE_assignment = 164, RULE_setAssignmentsClause = 165,
RULE_assignmentValues = 166, RULE_assignmentValue = 167, RULE_blobValue = 168,
RULE_delete = 169, RULE_deleteSpecification = 170, RULE_singleTableClause = 171,
RULE_multipleTablesClause = 172, RULE_select = 173, RULE_selectWithInto = 174,
RULE_queryExpression = 175, RULE_queryExpressionBody = 176, RULE_combineClause = 177,
RULE_queryExpressionParens = 178, RULE_queryPrimary = 179, RULE_querySpecification = 180,
RULE_call = 181, RULE_doStatement = 182, RULE_handlerStatement = 183,
RULE_handlerOpenStatement = 184, RULE_handlerReadIndexStatement = 185,
RULE_handlerReadStatement = 186, RULE_handlerCloseStatement = 187, RULE_importStatement = 188,
RULE_loadStatement = 189, RULE_loadDataStatement = 190, RULE_loadXmlStatement = 191,
RULE_tableStatement = 192, RULE_tableValueConstructor = 193, RULE_rowConstructorList = 194,
RULE_withClause = 195, RULE_cteClause = 196, RULE_selectSpecification = 197,
RULE_duplicateSpecification = 198, RULE_projections = 199, RULE_projection = 200,
RULE_unqualifiedShorthand = 201, RULE_qualifiedShorthand = 202, RULE_fromClause = 203,
RULE_tableReferences = 204, RULE_escapedTableReference = 205, RULE_tableReference = 206,
RULE_tableFactor = 207, RULE_partitionNames = 208, RULE_indexHintList = 209,
RULE_indexHint = 210, RULE_joinedTable = 211, RULE_innerJoinType = 212,
RULE_outerJoinType = 213, RULE_naturalJoinType = 214, RULE_joinSpecification = 215,
RULE_whereClause = 216, RULE_groupByClause = 217, RULE_havingClause = 218,
RULE_limitClause = 219, RULE_limitRowCount = 220, RULE_limitOffset = 221,
RULE_windowClause = 222, RULE_windowItem = 223, RULE_subquery = 224, RULE_selectLinesInto = 225,
RULE_selectFieldsInto = 226, RULE_selectIntoExpression = 227, RULE_lockClause = 228,
RULE_lockClauseList = 229, RULE_lockStrength = 230, RULE_lockedRowAction = 231,
RULE_tableLockingList = 232, RULE_tableIdentOptWild = 233, RULE_tableAliasRefList = 234,
RULE_parameterMarker = 235, RULE_customKeyword = 236, RULE_literals = 237,
RULE_string_ = 238, RULE_stringLiterals = 239, RULE_numberLiterals = 240,
RULE_temporalLiterals = 241, RULE_hexadecimalLiterals = 242, RULE_bitValueLiterals = 243,
RULE_booleanLiterals = 244, RULE_nullValueLiterals = 245, RULE_collationName = 246,
RULE_identifier = 247, RULE_identifierKeywordsUnambiguous = 248, RULE_identifierKeywordsAmbiguous1RolesAndLabels = 249,
RULE_identifierKeywordsAmbiguous2Labels = 250, RULE_identifierKeywordsAmbiguous3Roles = 251,
RULE_identifierKeywordsAmbiguous4SystemVariables = 252, RULE_textOrIdentifier = 253,
RULE_variable = 254, RULE_userVariable = 255, RULE_systemVariable = 256,
RULE_setSystemVariable = 257, RULE_optionType = 258, RULE_internalVariableName = 259,
RULE_setExprOrDefault = 260, RULE_transactionCharacteristics = 261, RULE_isolationLevel = 262,
RULE_isolationTypes = 263, RULE_transactionAccessMode = 264, RULE_schemaName = 265,
RULE_schemaNames = 266, RULE_charsetName = 267, RULE_schemaPairs = 268,
RULE_schemaPair = 269, RULE_tableName = 270, RULE_columnName = 271, RULE_indexName = 272,
RULE_constraintName = 273, RULE_delimiterName = 274, RULE_userIdentifierOrText = 275,
RULE_username = 276, RULE_eventName = 277, RULE_serverName = 278, RULE_wrapperName = 279,
RULE_functionName = 280, RULE_procedureName = 281, RULE_viewName = 282,
RULE_owner = 283, RULE_alias = 284, RULE_name = 285, RULE_tableList = 286,
RULE_viewNames = 287, RULE_columnNames = 288, RULE_groupName = 289, RULE_routineName = 290,
RULE_shardLibraryName = 291, RULE_componentName = 292, RULE_pluginName = 293,
RULE_hostname = 294, RULE_port = 295, RULE_cloneInstance = 296, RULE_cloneDir = 297,
RULE_channelName = 298, RULE_logName = 299, RULE_roleName = 300, RULE_roleIdentifierOrText = 301,
RULE_engineRef = 302, RULE_triggerName = 303, RULE_triggerTime = 304,
RULE_tableOrTables = 305, RULE_userOrRole = 306, RULE_partitionName = 307,
RULE_identifierList = 308, RULE_allOrPartitionNameList = 309, RULE_triggerEvent = 310,
RULE_triggerOrder = 311, RULE_expr = 312, RULE_andOperator = 313, RULE_orOperator = 314,
RULE_notOperator = 315, RULE_booleanPrimary = 316, RULE_assignmentOperator = 317,
RULE_comparisonOperator = 318, RULE_predicate = 319, RULE_bitExpr = 320,
RULE_simpleExpr = 321, RULE_path = 322, RULE_onEmptyError = 323, RULE_columnRef = 324,
RULE_columnRefList = 325, RULE_functionCall = 326, RULE_aggregationFunction = 327,
RULE_jsonFunction = 328, RULE_jsonFunctionName = 329, RULE_aggregationFunctionName = 330,
RULE_distinct = 331, RULE_overClause = 332, RULE_windowSpecification = 333,
RULE_frameClause = 334, RULE_frameStart = 335, RULE_frameEnd = 336, RULE_frameBetween = 337,
RULE_specialFunction = 338, RULE_currentUserFunction = 339, RULE_groupConcatFunction = 340,
RULE_windowFunction = 341, RULE_windowingClause = 342, RULE_leadLagInfo = 343,
RULE_nullTreatment = 344, RULE_checkType = 345, RULE_repairType = 346,
RULE_castFunction = 347, RULE_convertFunction = 348, RULE_castType = 349,
RULE_nchar = 350, RULE_positionFunction = 351, RULE_substringFunction = 352,
RULE_extractFunction = 353, RULE_charFunction = 354, RULE_trimFunction = 355,
RULE_valuesFunction = 356, RULE_weightStringFunction = 357, RULE_levelClause = 358,
RULE_levelInWeightListElement = 359, RULE_regularFunction = 360, RULE_shorthandRegularFunction = 361,
RULE_completeRegularFunction = 362, RULE_regularFunctionName = 363, RULE_matchExpression = 364,
RULE_matchSearchModifier = 365, RULE_caseExpression = 366, RULE_datetimeExpr = 367,
RULE_binaryLogFileIndexNumber = 368, RULE_caseWhen = 369, RULE_caseElse = 370,
RULE_intervalExpression = 371, RULE_intervalValue = 372, RULE_intervalUnit = 373,
RULE_orderByClause = 374, RULE_orderByItem = 375, RULE_dataType = 376,
RULE_stringList = 377, RULE_textString = 378, RULE_textStringHash = 379,
RULE_fieldOptions = 380, RULE_precision = 381, RULE_typeDatetimePrecision = 382,
RULE_charsetWithOptBinary = 383, RULE_ascii = 384, RULE_unicode = 385,
RULE_charset = 386, RULE_defaultCollation = 387, RULE_defaultEncryption = 388,
RULE_defaultCharset = 389, RULE_now = 390, RULE_columnFormat = 391, RULE_storageMedia = 392,
RULE_direction = 393, RULE_keyOrIndex = 394, RULE_fieldLength = 395, RULE_characterSet = 396,
RULE_collateClause = 397, RULE_fieldOrVarSpec = 398, RULE_ifNotExists = 399,
RULE_ifExists = 400, RULE_connectionId = 401, RULE_labelName = 402, RULE_cursorName = 403,
RULE_conditionName = 404, RULE_combineOption = 405, RULE_noWriteToBinLog = 406,
RULE_channelOption = 407, RULE_use = 408, RULE_help = 409, RULE_explain = 410,
RULE_fromSchema = 411, RULE_fromTable = 412, RULE_showLike = 413, RULE_showWhereClause = 414,
RULE_showFilter = 415, RULE_showProfileType = 416, RULE_setVariable = 417,
RULE_optionValueList = 418, RULE_optionValueNoOptionType = 419, RULE_equal = 420,
RULE_optionValue = 421, RULE_showBinaryLogs = 422, RULE_showBinlogEvents = 423,
RULE_showCharacterSet = 424, RULE_showCollation = 425, RULE_showColumns = 426,
RULE_showCreateDatabase = 427, RULE_showCreateEvent = 428, RULE_showCreateFunction = 429,
RULE_showCreateProcedure = 430, RULE_showCreateTable = 431, RULE_showCreateTrigger = 432,
RULE_showCreateUser = 433, RULE_showCreateView = 434, RULE_showDatabases = 435,
RULE_showEngine = 436, RULE_showEngines = 437, RULE_showErrors = 438,
RULE_showEvents = 439, RULE_showFunctionCode = 440, RULE_showFunctionStatus = 441,
RULE_showGrants = 442, RULE_showIndex = 443, RULE_showMasterStatus = 444,
RULE_showOpenTables = 445, RULE_showPlugins = 446, RULE_showPrivileges = 447,
RULE_showProcedureCode = 448, RULE_showProcedureStatus = 449, RULE_showProcesslist = 450,
RULE_showProfile = 451, RULE_showProfiles = 452, RULE_showRelaylogEvent = 453,
RULE_showReplicas = 454, RULE_showSlaveHosts = 455, RULE_showReplicaStatus = 456,
RULE_showSlaveStatus = 457, RULE_showStatus = 458, RULE_showTableStatus = 459,
RULE_showTables = 460, RULE_showTriggers = 461, RULE_showVariables = 462,
RULE_showWarnings = 463, RULE_showCharset = 464, RULE_setCharacter = 465,
RULE_clone = 466, RULE_cloneAction = 467, RULE_createLoadableFunction = 468,
RULE_install = 469, RULE_uninstall = 470, RULE_installComponent = 471,
RULE_installPlugin = 472, RULE_uninstallComponent = 473, RULE_uninstallPlugin = 474,
RULE_analyzeTable = 475, RULE_histogram = 476, RULE_checkTable = 477,
RULE_checkTableOption = 478, RULE_checksumTable = 479, RULE_optimizeTable = 480,
RULE_repairTable = 481, RULE_alterResourceGroup = 482, RULE_vcpuSpec = 483,
RULE_createResourceGroup = 484, RULE_dropResourceGroup = 485, RULE_setResourceGroup = 486,
RULE_binlog = 487, RULE_cacheIndex = 488, RULE_cacheTableIndexList = 489,
RULE_partitionList = 490, RULE_flush = 491, RULE_flushOption = 492, RULE_tablesOption = 493,
RULE_kill = 494, RULE_loadIndexInfo = 495, RULE_loadTableIndexList = 496,
RULE_resetStatement = 497, RULE_resetOption = 498, RULE_resetPersist = 499,
RULE_restart = 500, RULE_shutdown = 501, RULE_explainType = 502, RULE_explainableStatement = 503,
RULE_formatName = 504, RULE_delimiter = 505, RULE_show = 506, RULE_setTransaction = 507,
RULE_setAutoCommit = 508, RULE_beginTransaction = 509, RULE_transactionCharacteristic = 510,
RULE_commit = 511, RULE_rollback = 512, RULE_savepoint = 513, RULE_begin = 514,
RULE_lock = 515, RULE_unlock = 516, RULE_releaseSavepoint = 517, RULE_xa = 518,
RULE_optionChain = 519, RULE_optionRelease = 520, RULE_tableLock = 521,
RULE_lockOption = 522, RULE_xid = 523, RULE_grant = 524, RULE_revoke = 525,
RULE_userList = 526, RULE_roleOrPrivileges = 527, RULE_roleOrPrivilege = 528,
RULE_aclType = 529, RULE_grantIdentifier = 530, RULE_createUser = 531,
RULE_createUserEntry = 532, RULE_createUserList = 533, RULE_defaultRoleClause = 534,
RULE_requireClause = 535, RULE_connectOptions = 536, RULE_accountLockPasswordExpireOptions = 537,
RULE_accountLockPasswordExpireOption = 538, RULE_alterUser = 539, RULE_alterUserEntry = 540,
RULE_alterUserList = 541, RULE_dropUser = 542, RULE_createRole = 543,
RULE_dropRole = 544, RULE_renameUser = 545, RULE_setDefaultRole = 546,
RULE_setRole = 547, RULE_setPassword = 548, RULE_authOption = 549, RULE_withGrantOption = 550,
RULE_userOrRoles = 551, RULE_roles = 552, RULE_grantAs = 553, RULE_withRoles = 554,
RULE_userAuthOption = 555, RULE_identifiedBy = 556, RULE_identifiedWith = 557,
RULE_connectOption = 558, RULE_tlsOption = 559, RULE_userFuncAuthOption = 560,
RULE_change = 561, RULE_changeMasterTo = 562, RULE_changeReplicationFilter = 563,
RULE_startSlave = 564, RULE_stopSlave = 565, RULE_groupReplication = 566,
RULE_startGroupReplication = 567, RULE_stopGroupReplication = 568, RULE_purgeBinaryLog = 569,
RULE_threadTypes = 570, RULE_threadType = 571, RULE_utilOption = 572,
RULE_connectionOptions = 573, RULE_masterDefs = 574, RULE_masterDef = 575,
RULE_ignoreServerIds = 576, RULE_ignoreServerId = 577, RULE_filterDefs = 578,
RULE_filterDef = 579, RULE_wildTables = 580, RULE_wildTable = 581;
private static String[] makeRuleNames() {
return new String[] {
"execute", "alterStatement", "createTable", "partitionClause", "partitionTypeDef",
"subPartitions", "partitionKeyAlgorithm", "duplicateAsQueryExpression",
"alterTable", "standaloneAlterTableAction", "alterTableActions", "alterTablePartitionOptions",
"alterCommandList", "alterList", "createTableOptionsSpaceSeparated",
"alterListItem", "alterOrderList", "tableConstraintDef", "alterCommandsModifierList",
"alterCommandsModifier", "withValidation", "standaloneAlterCommands",
"alterPartition", "constraintClause", "tableElementList", "tableElement",
"restrict", "fulltextIndexOption", "dropTable", "dropIndex", "alterAlgorithmOption",
"alterLockOption", "truncateTable", "createIndex", "createDatabase",
"alterDatabase", "createDatabaseSpecification_", "alterDatabaseSpecification_",
"dropDatabase", "alterInstance", "instanceAction", "channel", "createEvent",
"alterEvent", "dropEvent", "createFunction", "alterFunction", "dropFunction",
"createProcedure", "alterProcedure", "dropProcedure", "createServer",
"alterServer", "dropServer", "createView", "alterView", "dropView", "createTablespace",
"createTablespaceInnodb", "createTablespaceNdb", "alterTablespace", "alterTablespaceNdb",
"alterTablespaceInnodb", "dropTablespace", "createLogfileGroup", "alterLogfileGroup",
"dropLogfileGroup", "createTrigger", "dropTrigger", "renameTable", "createDefinitionClause",
"columnDefinition", "fieldDefinition", "columnAttribute", "checkConstraint",
"constraintEnforcement", "generatedOption", "referenceDefinition", "onUpdateDelete",
"referenceOption", "indexType", "indexTypeClause", "keyParts", "keyPart",
"keyPartWithExpression", "keyListWithExpression", "indexOption", "commonIndexOption",
"visibility", "createLikeClause", "createIndexSpecification", "createTableOptions",
"createTableOption", "createSRSStatement", "dropSRSStatement", "srsAttribute",
"place", "partitionDefinitions", "partitionDefinition", "partitionLessThanValue",
"partitionValueList", "partitionDefinitionOption", "subpartitionDefinition",
"ownerStatement", "scheduleExpression", "timestampValue", "routineBody",
"serverOption", "routineOption", "procedureParameter", "fileSizeLiteral",
"simpleStatement", "compoundStatement", "validStatement", "beginStatement",
"declareStatement", "flowControlStatement", "caseStatement", "ifStatement",
"iterateStatement", "leaveStatement", "loopStatement", "repeatStatement",
"returnStatement", "whileStatement", "cursorStatement", "cursorCloseStatement",
"cursorDeclareStatement", "cursorFetchStatement", "cursorOpenStatement",
"conditionHandlingStatement", "declareConditionStatement", "declareHandlerStatement",
"getDiagnosticsStatement", "statementInformationItem", "conditionInformationItem",
"conditionNumber", "statementInformationItemName", "conditionInformationItemName",
"handlerAction", "conditionValue", "resignalStatement", "signalStatement",
"signalInformationItem", "prepare", "executeStmt", "executeVarList",
"deallocate", "insert", "insertSpecification", "insertValuesClause",
"fields", "insertIdentifier", "tableWild", "insertSelectClause", "onDuplicateKeyClause",
"valueReference", "derivedColumns", "replace", "replaceSpecification",
"replaceValuesClause", "replaceSelectClause", "update", "updateSpecification_",
"assignment", "setAssignmentsClause", "assignmentValues", "assignmentValue",
"blobValue", "delete", "deleteSpecification", "singleTableClause", "multipleTablesClause",
"select", "selectWithInto", "queryExpression", "queryExpressionBody",
"combineClause", "queryExpressionParens", "queryPrimary", "querySpecification",
"call", "doStatement", "handlerStatement", "handlerOpenStatement", "handlerReadIndexStatement",
"handlerReadStatement", "handlerCloseStatement", "importStatement", "loadStatement",
"loadDataStatement", "loadXmlStatement", "tableStatement", "tableValueConstructor",
"rowConstructorList", "withClause", "cteClause", "selectSpecification",
"duplicateSpecification", "projections", "projection", "unqualifiedShorthand",
"qualifiedShorthand", "fromClause", "tableReferences", "escapedTableReference",
"tableReference", "tableFactor", "partitionNames", "indexHintList", "indexHint",
"joinedTable", "innerJoinType", "outerJoinType", "naturalJoinType", "joinSpecification",
"whereClause", "groupByClause", "havingClause", "limitClause", "limitRowCount",
"limitOffset", "windowClause", "windowItem", "subquery", "selectLinesInto",
"selectFieldsInto", "selectIntoExpression", "lockClause", "lockClauseList",
"lockStrength", "lockedRowAction", "tableLockingList", "tableIdentOptWild",
"tableAliasRefList", "parameterMarker", "customKeyword", "literals",
"string_", "stringLiterals", "numberLiterals", "temporalLiterals", "hexadecimalLiterals",
"bitValueLiterals", "booleanLiterals", "nullValueLiterals", "collationName",
"identifier", "identifierKeywordsUnambiguous", "identifierKeywordsAmbiguous1RolesAndLabels",
"identifierKeywordsAmbiguous2Labels", "identifierKeywordsAmbiguous3Roles",
"identifierKeywordsAmbiguous4SystemVariables", "textOrIdentifier", "variable",
"userVariable", "systemVariable", "setSystemVariable", "optionType",
"internalVariableName", "setExprOrDefault", "transactionCharacteristics",
"isolationLevel", "isolationTypes", "transactionAccessMode", "schemaName",
"schemaNames", "charsetName", "schemaPairs", "schemaPair", "tableName",
"columnName", "indexName", "constraintName", "delimiterName", "userIdentifierOrText",
"username", "eventName", "serverName", "wrapperName", "functionName",
"procedureName", "viewName", "owner", "alias", "name", "tableList", "viewNames",
"columnNames", "groupName", "routineName", "shardLibraryName", "componentName",
"pluginName", "hostname", "port", "cloneInstance", "cloneDir", "channelName",
"logName", "roleName", "roleIdentifierOrText", "engineRef", "triggerName",
"triggerTime", "tableOrTables", "userOrRole", "partitionName", "identifierList",
"allOrPartitionNameList", "triggerEvent", "triggerOrder", "expr", "andOperator",
"orOperator", "notOperator", "booleanPrimary", "assignmentOperator",
"comparisonOperator", "predicate", "bitExpr", "simpleExpr", "path", "onEmptyError",
"columnRef", "columnRefList", "functionCall", "aggregationFunction",
"jsonFunction", "jsonFunctionName", "aggregationFunctionName", "distinct",
"overClause", "windowSpecification", "frameClause", "frameStart", "frameEnd",
"frameBetween", "specialFunction", "currentUserFunction", "groupConcatFunction",
"windowFunction", "windowingClause", "leadLagInfo", "nullTreatment",
"checkType", "repairType", "castFunction", "convertFunction", "castType",
"nchar", "positionFunction", "substringFunction", "extractFunction",
"charFunction", "trimFunction", "valuesFunction", "weightStringFunction",
"levelClause", "levelInWeightListElement", "regularFunction", "shorthandRegularFunction",
"completeRegularFunction", "regularFunctionName", "matchExpression",
"matchSearchModifier", "caseExpression", "datetimeExpr", "binaryLogFileIndexNumber",
"caseWhen", "caseElse", "intervalExpression", "intervalValue", "intervalUnit",
"orderByClause", "orderByItem", "dataType", "stringList", "textString",
"textStringHash", "fieldOptions", "precision", "typeDatetimePrecision",
"charsetWithOptBinary", "ascii", "unicode", "charset", "defaultCollation",
"defaultEncryption", "defaultCharset", "now", "columnFormat", "storageMedia",
"direction", "keyOrIndex", "fieldLength", "characterSet", "collateClause",
"fieldOrVarSpec", "ifNotExists", "ifExists", "connectionId", "labelName",
"cursorName", "conditionName", "combineOption", "noWriteToBinLog", "channelOption",
"use", "help", "explain", "fromSchema", "fromTable", "showLike", "showWhereClause",
"showFilter", "showProfileType", "setVariable", "optionValueList", "optionValueNoOptionType",
"equal", "optionValue", "showBinaryLogs", "showBinlogEvents", "showCharacterSet",
"showCollation", "showColumns", "showCreateDatabase", "showCreateEvent",
"showCreateFunction", "showCreateProcedure", "showCreateTable", "showCreateTrigger",
"showCreateUser", "showCreateView", "showDatabases", "showEngine", "showEngines",
"showErrors", "showEvents", "showFunctionCode", "showFunctionStatus",
"showGrants", "showIndex", "showMasterStatus", "showOpenTables", "showPlugins",
"showPrivileges", "showProcedureCode", "showProcedureStatus", "showProcesslist",
"showProfile", "showProfiles", "showRelaylogEvent", "showReplicas", "showSlaveHosts",
"showReplicaStatus", "showSlaveStatus", "showStatus", "showTableStatus",
"showTables", "showTriggers", "showVariables", "showWarnings", "showCharset",
"setCharacter", "clone", "cloneAction", "createLoadableFunction", "install",
"uninstall", "installComponent", "installPlugin", "uninstallComponent",
"uninstallPlugin", "analyzeTable", "histogram", "checkTable", "checkTableOption",
"checksumTable", "optimizeTable", "repairTable", "alterResourceGroup",
"vcpuSpec", "createResourceGroup", "dropResourceGroup", "setResourceGroup",
"binlog", "cacheIndex", "cacheTableIndexList", "partitionList", "flush",
"flushOption", "tablesOption", "kill", "loadIndexInfo", "loadTableIndexList",
"resetStatement", "resetOption", "resetPersist", "restart", "shutdown",
"explainType", "explainableStatement", "formatName", "delimiter", "show",
"setTransaction", "setAutoCommit", "beginTransaction", "transactionCharacteristic",
"commit", "rollback", "savepoint", "begin", "lock", "unlock", "releaseSavepoint",
"xa", "optionChain", "optionRelease", "tableLock", "lockOption", "xid",
"grant", "revoke", "userList", "roleOrPrivileges", "roleOrPrivilege",
"aclType", "grantIdentifier", "createUser", "createUserEntry", "createUserList",
"defaultRoleClause", "requireClause", "connectOptions", "accountLockPasswordExpireOptions",
"accountLockPasswordExpireOption", "alterUser", "alterUserEntry", "alterUserList",
"dropUser", "createRole", "dropRole", "renameUser", "setDefaultRole",
"setRole", "setPassword", "authOption", "withGrantOption", "userOrRoles",
"roles", "grantAs", "withRoles", "userAuthOption", "identifiedBy", "identifiedWith",
"connectOption", "tlsOption", "userFuncAuthOption", "change", "changeMasterTo",
"changeReplicationFilter", "startSlave", "stopSlave", "groupReplication",
"startGroupReplication", "stopGroupReplication", "purgeBinaryLog", "threadTypes",
"threadType", "utilOption", "connectionOptions", "masterDefs", "masterDef",
"ignoreServerIds", "ignoreServerId", "filterDefs", "filterDef", "wildTables",
"wildTable"
};
}
public static final String[] ruleNames = makeRuleNames();
private static String[] makeLiteralNames() {
return new String[] {
null, "'SHARED'", "'EXCLUSIVE'", null, null, "'&&'", "'||'", "'!'", "'~'",
"'|'", "'&'", "'<<'", "'>>'", "'^'", "'%'", "':'", "'+'", "'-'", "'*'",
"'/'", "'\\'", "'.'", "'.*'", "'<=>'", "'=='", "'='", null, "'>'", "'>='",
"'<'", "'<='", "'#'", "'('", "')'", "'{'", "'}'", "'['", "']'", "','",
"'\"'", "'''", "'`'", "'?'", "'@'", "';'", "':='", "'->'", "'->>'", null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, "'INNODB'", "'REDO_LOG'",
null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'", null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
"'not support'"
};
}
private static final String[] _LITERAL_NAMES = makeLiteralNames();
private static String[] makeSymbolicNames() {
return new String[] {
null, null, null, "BLOCK_COMMENT", "INLINE_COMMENT", "AND_", "OR_", "NOT_",
"TILDE_", "VERTICAL_BAR_", "AMPERSAND_", "SIGNED_LEFT_SHIFT_", "SIGNED_RIGHT_SHIFT_",
"CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", "SLASH_",
"BACKSLASH_", "DOT_", "DOT_ASTERISK_", "SAFE_EQ_", "DEQ_", "EQ_", "NEQ_",
"GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", "RBE_",
"LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", "SEMI_",
"ASSIGNMENT_", "JSON_SEPARATOR", "JSON_UNQUOTED_SEPARATOR", "WS", "MAX",
"MIN", "SUM", "COUNT", "GROUP_CONCAT", "CAST", "POSITION", "SUBSTRING",
"SUBSTR", "EXTRACT", "TRIM", "LAST_DAY", "TRADITIONAL", "TREE", "MYSQL_MAIN",
"MYSQL_ADMIN", "INSTANT", "INPLACE", "COPY", "UL_BINARY", "AUTOCOMMIT",
"INNODB", "REDO_LOG", "DELIMITER", "FOR_GENERATOR", "ACCESSIBLE", "ACCOUNT",
"ACTION", "ACTIVE", "ADD", "ADMIN", "AFTER", "AGAINST", "AGGREGATE",
"ALGORITHM", "ALL", "ALTER", "ALWAYS", "ANALYZE", "AND", "ANY", "ARRAY",
"AS", "ASC", "ASCII", "ASENSITIVE", "AT", "ATTRIBUTE", "AUTOEXTEND_SIZE",
"AUTO_INCREMENT", "AVG", "BIT_XOR", "AVG_ROW_LENGTH", "BACKUP", "BEFORE",
"BEGIN", "BETWEEN", "BIGINT", "BINARY", "BINLOG", "BIT", "BLOB", "BLOCK",
"BOOL", "BOOLEAN", "BOTH", "BTREE", "BUCKETS", "BY", "BYTE", "CACHE",
"CALL", "CASCADE", "CASCADED", "CASE", "CATALOG_NAME", "CHAIN", "CHANGE",
"CHANGED", "CHANNEL", "CHAR", "CHARACTER", "CHARSET", "CHECK", "CHECKSUM",
"CIPHER", "CLASS_ORIGIN", "CLIENT", "CLONE", "CLOSE", "COALESCE", "CODE",
"COLLATE", "COLLATION", "COLUMN", "COLUMNS", "COLUMN_FORMAT", "COLUMN_NAME",
"COMMENT", "COMMIT", "COMMITTED", "COMPACT", "COMPLETION", "COMPONENT",
"COMPRESSED", "COMPRESSION", "CONCURRENT", "CONDITION", "CONNECTION",
"CONSISTENT", "CONSTRAINT", "CONSTRAINT_CATALOG", "CONSTRAINT_NAME",
"CONSTRAINT_SCHEMA", "CONTAINS", "CONTEXT", "CONTINUE", "CONVERT", "CPU",
"CREATE", "CROSS", "CUBE", "CUME_DIST", "CURRENT", "CURRENT_DATE", "CURRENT_TIME",
"CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR", "CURSOR_NAME", "DATA",
"DATABASE", "DATABASES", "DATAFILE", "DATE", "DATETIME", "DAY", "DAY_HOUR",
"DAY_MICROSECOND", "DAY_MINUTE", "DAY_SECOND", "DEALLOCATE", "DEC", "DECIMAL",
"DECLARE", "DEFAULT", "DEFAULT_AUTH", "DEFINER", "DEFINITION", "DELAYED",
"DELAY_KEY_WRITE", "DELETE", "DENSE_RANK", "DESC", "DESCRIBE", "DESCRIPTION",
"DETERMINISTIC", "DIAGNOSTICS", "DIRECTORY", "DISABLE", "DISCARD", "DISK",
"DISTINCT", "DISTINCTROW", "DIV", "DO", "DOUBLE", "DROP", "DUAL", "DUMPFILE",
"DUPLICATE", "DYNAMIC", "EACH", "ELSE", "ELSEIF", "EMPTY", "ENABLE",
"ENCLOSED", "ENCRYPTION", "END", "ENDS", "ENFORCED", "ENGINE", "ENGINES",
"ENGINE_ATTRIBUTE", "ENUM", "ERROR", "ERRORS", "ESCAPE", "ESCAPED", "EVENT",
"EVENTS", "EVERY", "EXCEPT", "EXCHANGE", "EXCLUDE", "EXECUTE", "EXISTS",
"EXIT", "EXPANSION", "EXPIRE", "EXPLAIN", "EXPORT", "EXTENDED", "EXTENT_SIZE",
"FAILED_LOGIN_ATTEMPTS", "FALSE", "FAST", "FAULTS", "FETCH", "FILE",
"FILE_BLOCK_SIZE", "FILTER", "FIRST", "FIRST_VALUE", "FIXED", "FLOAT",
"FLOAT4", "FLOAT8", "FLUSH", "FOLLOWING", "FOLLOWS", "FOR", "FORCE",
"FOREIGN", "FORMAT", "FOUND", "FROM", "FULL", "FULLTEXT", "FUNCTION",
"GENERAL", "GENERATED", "GEOMETRY", "GEOMETRYCOLLECTION", "GET", "GET_FORMAT",
"GET_MASTER_PUBLIC_KEY", "GLOBAL", "GRANT", "GRANTS", "GROUP", "GROUPING",
"GROUPS", "GROUP_REPLICATION", "HANDLER", "HASH", "HAVING", "HELP", "HIGH_PRIORITY",
"HISTOGRAM", "HISTORY", "HOST", "HOSTS", "HOUR", "HOUR_MICROSECOND",
"HOUR_MINUTE", "HOUR_SECOND", "IDENTIFIED", "IF", "IGNORE", "IGNORE_SERVER_IDS",
"IMPORT", "IN", "INACTIVE", "INDEX", "INDEXES", "INFILE", "INITIAL_SIZE",
"INNER", "INOUT", "INSENSITIVE", "INSERT", "INSERT_METHOD", "INSTALL",
"INSTANCE", "INT", "INT1", "INT2", "INT3", "INT4", "INT8", "INTEGER",
"INTERVAL", "INTO", "INVISIBLE", "INVOKER", "IO", "IO_AFTER_GTIDS", "IO_BEFORE_GTIDS",
"IPC", "IS", "ISOLATION", "ISSUER", "ITERATE", "JOIN", "JSON", "JSON_TABLE",
"JSON_VALUE", "KEY", "KEYS", "KEY_BLOCK_SIZE", "KILL", "LAG", "LANGUAGE",
"LAST", "LAST_VALUE", "LATERAL", "LEAD", "LEADING", "LEAVE", "LEAVES",
"LEFT", "LESS", "LEVEL", "LIKE", "LIMIT", "LINEAR", "LINES", "LINESTRING",
"LIST", "LOAD", "LOCAL", "LOCALTIME", "LOCALTIMESTAMP", "LOCK", "LOCKED",
"LOCKS", "LOGFILE", "LOGS", "LONG", "LONGBLOB", "LONGTEXT", "LOOP", "LOW_PRIORITY",
"MASTER", "MASTER_AUTO_POSITION", "MASTER_BIND", "MASTER_COMPRESSION_ALGORITHM",
"MASTER_CONNECT_RETRY", "MASTER_DELAY", "MASTER_HEARTBEAT_PERIOD", "MASTER_HOST",
"MASTER_LOG_FILE", "MASTER_LOG_POS", "MASTER_PASSWORD", "MASTER_PORT",
"MASTER_PUBLIC_KEY_PATH", "MASTER_RETRY_COUNT", "MASTER_SERVER_ID", "MASTER_SSL",
"MASTER_SSL_CA", "MASTER_SSL_CAPATH", "MASTER_SSL_CERT", "MASTER_SSL_CIPHER",
"MASTER_SSL_CRL", "MASTER_SSL_CRLPATH", "MASTER_SSL_KEY", "MASTER_SSL_VERIFY_SERVER_CERT",
"MASTER_TLS_CIPHERSUITES", "MASTER_TLS_VERSION", "MASTER_USER", "MASTER_ZSTD_COMPRESSION_LEVEL",
"MATCH", "MAXVALUE", "MAX_CONNECTIONS_PER_HOUR", "MAX_QUERIES_PER_HOUR",
"MAX_ROWS", "MAX_SIZE", "MAX_UPDATES_PER_HOUR", "MAX_USER_CONNECTIONS",
"MEDIUM", "MEDIUMBLOB", "MEDIUMINT", "MEDIUMTEXT", "MEMBER", "MEMORY",
"MERGE", "MESSAGE_TEXT", "MICROSECOND", "MIDDLEINT", "MIGRATE", "MINUTE",
"MINUTE_MICROSECOND", "MINUTE_SECOND", "MIN_ROWS", "MOD", "MODE", "MODIFIES",
"MODIFY", "MONTH", "MULTILINESTRING", "MULTIPOINT", "MULTIPOLYGON", "MUTEX",
"MYSQL_ERRNO", "NAME", "NAMES", "NATIONAL", "NATURAL", "NCHAR", "NDBCLUSTER",
"NESTED", "NETWORK_NAMESPACE", "NEVER", "NEW", "NEXT", "NO", "NODEGROUP",
"NONE", "NOT", "NOWAIT", "NO_WAIT", "NO_WRITE_TO_BINLOG", "NTH_VALUE",
"NTILE", "NULL", "NULLS", "NUMBER", "NUMERIC", "NVARCHAR", "OF", "OFF",
"OFFSET", "OJ", "OLD", "ON", "ONE", "ONLY", "OPEN", "OPTIMIZE", "OPTIMIZER_COSTS",
"OPTION", "OPTIONAL", "OPTIONALLY", "OPTIONS", "OR", "ORDER", "ORDINALITY",
"ORGANIZATION", "OTHERS", "OUT", "OUTER", "OUTFILE", "OVER", "OWNER",
"PACK_KEYS", "PAGE", "PARSER", "PARTIAL", "PARTITION", "PARTITIONING",
"PARTITIONS", "PASSWORD", "PASSWORD_LOCK_TIME", "PATH", "PERCENT_RANK",
"PERSIST", "PERSIST_ONLY", "PHASE", "PLUGIN", "PLUGINS", "PLUGIN_DIR",
"POINT", "POLYGON", "PORT", "PRECEDES", "PRECEDING", "PRECISION", "PREPARE",
"PRESERVE", "PREV", "PRIMARY", "PRIVILEGES", "PRIVILEGE_CHECKS_USER",
"PROCEDURE", "PROCESS", "PROCESSLIST", "PROFILE", "PROFILES", "PROXY",
"PURGE", "QUARTER", "QUERY", "QUICK", "RANDOM", "RANGE", "RANK", "READ",
"READS", "READ_ONLY", "READ_WRITE", "REAL", "REBUILD", "RECOVER", "RECURSIVE",
"REDO_BUFFER_SIZE", "REDUNDANT", "REFERENCE", "REFERENCES", "REGEXP",
"RELAY", "RELAYLOG", "RELAY_LOG_FILE", "RELAY_LOG_POS", "RELAY_THREAD",
"RELEASE", "RELOAD", "REMOVE", "RENAME", "REORGANIZE", "REPAIR", "REPEAT",
"REPEATABLE", "REPLACE", "REPLICA", "REPLICAS", "REPLICATE_DO_DB", "REPLICATE_DO_TABLE",
"REPLICATE_IGNORE_DB", "REPLICATE_IGNORE_TABLE", "REPLICATE_REWRITE_DB",
"REPLICATE_WILD_DO_TABLE", "REPLICATE_WILD_IGNORE_TABLE", "REPLICATION",
"REQUIRE", "REQUIRE_ROW_FORMAT", "RESET", "RESIGNAL", "RESOURCE", "RESPECT",
"RESTART", "RESTORE", "RESTRICT", "RESUME", "RETAIN", "RETURN", "RETURNED_SQLSTATE",
"RETURNING", "RETURNS", "REUSE", "REVERSE", "REVOKE", "RIGHT", "RLIKE",
"ROLE", "ROLLBACK", "ROLLUP", "ROTATE", "ROUTINE", "ROW", "ROWS", "ROW_COUNT",
"ROW_FORMAT", "ROW_NUMBER", "RTREE", "SAVEPOINT", "SCHEDULE", "SCHEMA",
"SCHEMAS", "SCHEMA_NAME", "SECOND", "SECONDARY", "SECONDARY_ENGINE",
"SECONDARY_ENGINE_ATTRIBUTE", "SECONDARY_LOAD", "SECONDARY_UNLOAD", "SECOND_MICROSECOND",
"SECURITY", "SELECT", "SENSITIVE", "SEPARATOR", "SERIAL", "SERIALIZABLE",
"SERVER", "SESSION", "SET", "SHARE", "SHOW", "SHUTDOWN", "SIGNAL", "SIGNED",
"SIMPLE", "SKIP_SYMBOL", "SLAVE", "SLOW", "SMALLINT", "SNAPSHOT", "SOCKET",
"SONAME", "SOUNDS", "SOURCE", "SPATIAL", "SPECIFIC", "SQL", "SQLEXCEPTION",
"SQLSTATE", "SQLWARNING", "SQL_AFTER_GTIDS", "SQL_AFTER_MTS_GAPS", "SQL_BEFORE_GTIDS",
"SQL_BIG_RESULT", "SQL_BUFFER_RESULT", "SQL_CALC_FOUND_ROWS", "SQL_NO_CACHE",
"SQL_SMALL_RESULT", "SQL_THREAD", "SRID", "SSL", "STACKED", "START",
"STARTING", "STARTS", "STATS_AUTO_RECALC", "STATS_PERSISTENT", "STATS_SAMPLE_PAGES",
"STATUS", "STOP", "STORAGE", "STORED", "STRAIGHT_JOIN", "STREAM", "STRING",
"SUBCLASS_ORIGIN", "SUBJECT", "SUBPARTITION", "SUBPARTITIONS", "SUPER",
"SUSPEND", "SWAPS", "SWITCHES", "SYSTEM", "TABLE", "TABLES", "TABLESPACE",
"TABLE_CHECKSUM", "TABLE_NAME", "TEMPORARY", "TEMPTABLE", "TERMINATED",
"TEXT", "THAN", "THEN", "THREAD_PRIORITY", "TIES", "TIME", "TIMESTAMP",
"TIMESTAMP_ADD", "TIMESTAMP_DIFF", "TINYBLOB", "TINYINT", "TINYTEXT",
"TLS", "TO", "TRAILING", "TRANSACTION", "TRIGGER", "TRIGGERS", "TRUE",
"TRUNCATE", "TYPE", "TYPES", "UNBOUNDED", "UNCOMMITTED", "UNDEFINED",
"UNDO", "UNDOFILE", "UNDO_BUFFER_SIZE", "UNICODE", "UNINSTALL", "UNION",
"UNIQUE", "UNKNOWN", "UNLOCK", "UNSIGNED", "UNTIL", "UPDATE", "UPGRADE",
"USAGE", "USE", "USER", "USER_RESOURCES", "USE_FRM", "USING", "UTC_DATE",
"UTC_TIME", "UTC_TIMESTAMP", "VALIDATION", "VALUE", "VALUES", "VARBINARY",
"VARCHAR", "VARCHARACTER", "VARIABLES", "VARYING", "VCPU", "VIEW", "VIRTUAL",
"VISIBLE", "WAIT", "WARNINGS", "WEEK", "WEIGHT_STRING", "WHEN", "WHERE",
"WHILE", "WINDOW", "WITH", "WITHOUT", "WORK", "WRAPPER", "WRITE", "X509",
"XA", "XID", "XML", "XOR", "YEAR", "YEAR_MONTH", "ZEROFILL", "JSON_ARRAY",
"JSON_ARRAY_APPEND", "JSON_ARRAY_INSERT", "JSON_CONTAINS", "JSON_CONTAINS_PATH",
"JSON_DEPTH", "JSON_EXTRACT", "JSON_INSERT", "JSON_KEYS", "JSON_LENGTH",
"JSON_MERGE", "JSON_MERGE_PATCH", "JSON_MERGE_PRESERVE", "JSON_OBJECT",
"JSON_OVERLAPS", "JSON_PRETTY", "JSON_QUOTE", "JSON_REMOVE", "JSON_REPLACE",
"JSON_SCHEMA_VALID", "JSON_SCHEMA_VALIDATION_REPORT", "JSON_SEARCH",
"JSON_SET", "JSON_STORAGE_FREE", "JSON_STORAGE_SIZE", "JSON_TYPE", "JSON_UNQUOTE",
"JSON_VALID", "FILESIZE_LITERAL", "SINGLE_QUOTED_TEXT", "DOUBLE_QUOTED_TEXT",
"NCHAR_TEXT", "UNDERSCORE_CHARSET", "NUMBER_", "INT_NUM_", "FLOAT_NUM_",
"DECIMAL_NUM_", "HEX_DIGIT_", "BIT_NUM_", "IDENTIFIER_", "NOT_SUPPORT_",
"FIELDS"
};
}
private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames();
public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);
/**
* @deprecated Use {@link #VOCABULARY} instead.
*/
@Deprecated
public static final String[] tokenNames;
static {
tokenNames = new String[_SYMBOLIC_NAMES.length];
for (int i = 0; i < tokenNames.length; i++) {
tokenNames[i] = VOCABULARY.getLiteralName(i);
if (tokenNames[i] == null) {
tokenNames[i] = VOCABULARY.getSymbolicName(i);
}
if (tokenNames[i] == null) {
tokenNames[i] = "";
}
}
}
@Override
@Deprecated
public String[] getTokenNames() {
return tokenNames;
}
@Override
public Vocabulary getVocabulary() {
return VOCABULARY;
}
@Override
public String getGrammarFileName() { return "MySQLStatement.g4"; }
@Override
public String[] getRuleNames() { return ruleNames; }
@Override
public String getSerializedATN() { return _serializedATN; }
@Override
public ATN getATN() { return _ATN; }
public MySQLStatementParser(TokenStream input) {
super(input);
_interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
}
public static class ExecuteContext extends ParserRuleContext {
public SelectContext select() {
return getRuleContext(SelectContext.class,0);
}
public InsertContext insert() {
return getRuleContext(InsertContext.class,0);
}
public UpdateContext update() {
return getRuleContext(UpdateContext.class,0);
}
public DeleteContext delete() {
return getRuleContext(DeleteContext.class,0);
}
public ReplaceContext replace() {
return getRuleContext(ReplaceContext.class,0);
}
public BinlogContext binlog() {
return getRuleContext(BinlogContext.class,0);
}
public CreateTableContext createTable() {
return getRuleContext(CreateTableContext.class,0);
}
public AlterStatementContext alterStatement() {
return getRuleContext(AlterStatementContext.class,0);
}
public RepairTableContext repairTable() {
return getRuleContext(RepairTableContext.class,0);
}
public DropTableContext dropTable() {
return getRuleContext(DropTableContext.class,0);
}
public TruncateTableContext truncateTable() {
return getRuleContext(TruncateTableContext.class,0);
}
public CreateIndexContext createIndex() {
return getRuleContext(CreateIndexContext.class,0);
}
public DropIndexContext dropIndex() {
return getRuleContext(DropIndexContext.class,0);
}
public CreateProcedureContext createProcedure() {
return getRuleContext(CreateProcedureContext.class,0);
}
public DropProcedureContext dropProcedure() {
return getRuleContext(DropProcedureContext.class,0);
}
public CreateFunctionContext createFunction() {
return getRuleContext(CreateFunctionContext.class,0);
}
public DropFunctionContext dropFunction() {
return getRuleContext(DropFunctionContext.class,0);
}
public CreateDatabaseContext createDatabase() {
return getRuleContext(CreateDatabaseContext.class,0);
}
public DropDatabaseContext dropDatabase() {
return getRuleContext(DropDatabaseContext.class,0);
}
public CreateEventContext createEvent() {
return getRuleContext(CreateEventContext.class,0);
}
public DropEventContext dropEvent() {
return getRuleContext(DropEventContext.class,0);
}
public CreateLogfileGroupContext createLogfileGroup() {
return getRuleContext(CreateLogfileGroupContext.class,0);
}
public DropLogfileGroupContext dropLogfileGroup() {
return getRuleContext(DropLogfileGroupContext.class,0);
}
public CreateServerContext createServer() {
return getRuleContext(CreateServerContext.class,0);
}
public DropServerContext dropServer() {
return getRuleContext(DropServerContext.class,0);
}
public CreateViewContext createView() {
return getRuleContext(CreateViewContext.class,0);
}
public DropViewContext dropView() {
return getRuleContext(DropViewContext.class,0);
}
public CreateTriggerContext createTrigger() {
return getRuleContext(CreateTriggerContext.class,0);
}
public DropTriggerContext dropTrigger() {
return getRuleContext(DropTriggerContext.class,0);
}
public AlterResourceGroupContext alterResourceGroup() {
return getRuleContext(AlterResourceGroupContext.class,0);
}
public CreateResourceGroupContext createResourceGroup() {
return getRuleContext(CreateResourceGroupContext.class,0);
}
public DropResourceGroupContext dropResourceGroup() {
return getRuleContext(DropResourceGroupContext.class,0);
}
public PrepareContext prepare() {
return getRuleContext(PrepareContext.class,0);
}
public ExecuteStmtContext executeStmt() {
return getRuleContext(ExecuteStmtContext.class,0);
}
public DeallocateContext deallocate() {
return getRuleContext(DeallocateContext.class,0);
}
public SetTransactionContext setTransaction() {
return getRuleContext(SetTransactionContext.class,0);
}
public BeginTransactionContext beginTransaction() {
return getRuleContext(BeginTransactionContext.class,0);
}
public SetAutoCommitContext setAutoCommit() {
return getRuleContext(SetAutoCommitContext.class,0);
}
public CommitContext commit() {
return getRuleContext(CommitContext.class,0);
}
public RollbackContext rollback() {
return getRuleContext(RollbackContext.class,0);
}
public SavepointContext savepoint() {
return getRuleContext(SavepointContext.class,0);
}
public GrantContext grant() {
return getRuleContext(GrantContext.class,0);
}
public RevokeContext revoke() {
return getRuleContext(RevokeContext.class,0);
}
public CreateUserContext createUser() {
return getRuleContext(CreateUserContext.class,0);
}
public DropUserContext dropUser() {
return getRuleContext(DropUserContext.class,0);
}
public AlterUserContext alterUser() {
return getRuleContext(AlterUserContext.class,0);
}
public RenameUserContext renameUser() {
return getRuleContext(RenameUserContext.class,0);
}
public CreateRoleContext createRole() {
return getRuleContext(CreateRoleContext.class,0);
}
public DropRoleContext dropRole() {
return getRuleContext(DropRoleContext.class,0);
}
public SetDefaultRoleContext setDefaultRole() {
return getRuleContext(SetDefaultRoleContext.class,0);
}
public SetRoleContext setRole() {
return getRuleContext(SetRoleContext.class,0);
}
public CreateSRSStatementContext createSRSStatement() {
return getRuleContext(CreateSRSStatementContext.class,0);
}
public DropSRSStatementContext dropSRSStatement() {
return getRuleContext(DropSRSStatementContext.class,0);
}
public FlushContext flush() {
return getRuleContext(FlushContext.class,0);
}
public GetDiagnosticsStatementContext getDiagnosticsStatement() {
return getRuleContext(GetDiagnosticsStatementContext.class,0);
}
public GroupReplicationContext groupReplication() {
return getRuleContext(GroupReplicationContext.class,0);
}
public HandlerStatementContext handlerStatement() {
return getRuleContext(HandlerStatementContext.class,0);
}
public HelpContext help() {
return getRuleContext(HelpContext.class,0);
}
public ImportStatementContext importStatement() {
return getRuleContext(ImportStatementContext.class,0);
}
public InstallContext install() {
return getRuleContext(InstallContext.class,0);
}
public KillContext kill() {
return getRuleContext(KillContext.class,0);
}
public LoadStatementContext loadStatement() {
return getRuleContext(LoadStatementContext.class,0);
}
public LockContext lock() {
return getRuleContext(LockContext.class,0);
}
public CacheIndexContext cacheIndex() {
return getRuleContext(CacheIndexContext.class,0);
}
public LoadIndexInfoContext loadIndexInfo() {
return getRuleContext(LoadIndexInfoContext.class,0);
}
public OptimizeTableContext optimizeTable() {
return getRuleContext(OptimizeTableContext.class,0);
}
public PurgeBinaryLogContext purgeBinaryLog() {
return getRuleContext(PurgeBinaryLogContext.class,0);
}
public ReleaseSavepointContext releaseSavepoint() {
return getRuleContext(ReleaseSavepointContext.class,0);
}
public ResetStatementContext resetStatement() {
return getRuleContext(ResetStatementContext.class,0);
}
public SetPasswordContext setPassword() {
return getRuleContext(SetPasswordContext.class,0);
}
public SetResourceGroupContext setResourceGroup() {
return getRuleContext(SetResourceGroupContext.class,0);
}
public ResignalStatementContext resignalStatement() {
return getRuleContext(ResignalStatementContext.class,0);
}
public SignalStatementContext signalStatement() {
return getRuleContext(SignalStatementContext.class,0);
}
public RestartContext restart() {
return getRuleContext(RestartContext.class,0);
}
public ShutdownContext shutdown() {
return getRuleContext(ShutdownContext.class,0);
}
public BeginContext begin() {
return getRuleContext(BeginContext.class,0);
}
public UseContext use() {
return getRuleContext(UseContext.class,0);
}
public ExplainContext explain() {
return getRuleContext(ExplainContext.class,0);
}
public DoStatementContext doStatement() {
return getRuleContext(DoStatementContext.class,0);
}
public ShowContext show() {
return getRuleContext(ShowContext.class,0);
}
public SetVariableContext setVariable() {
return getRuleContext(SetVariableContext.class,0);
}
public SetCharacterContext setCharacter() {
return getRuleContext(SetCharacterContext.class,0);
}
public CallContext call() {
return getRuleContext(CallContext.class,0);
}
public ChangeContext change() {
return getRuleContext(ChangeContext.class,0);
}
public CheckTableContext checkTable() {
return getRuleContext(CheckTableContext.class,0);
}
public ChecksumTableContext checksumTable() {
return getRuleContext(ChecksumTableContext.class,0);
}
public CloneContext clone() {
return getRuleContext(CloneContext.class,0);
}
public StartSlaveContext startSlave() {
return getRuleContext(StartSlaveContext.class,0);
}
public StopSlaveContext stopSlave() {
return getRuleContext(StopSlaveContext.class,0);
}
public AnalyzeTableContext analyzeTable() {
return getRuleContext(AnalyzeTableContext.class,0);
}
public RenameTableContext renameTable() {
return getRuleContext(RenameTableContext.class,0);
}
public UninstallContext uninstall() {
return getRuleContext(UninstallContext.class,0);
}
public UnlockContext unlock() {
return getRuleContext(UnlockContext.class,0);
}
public XaContext xa() {
return getRuleContext(XaContext.class,0);
}
public CreateLoadableFunctionContext createLoadableFunction() {
return getRuleContext(CreateLoadableFunctionContext.class,0);
}
public CreateTablespaceContext createTablespace() {
return getRuleContext(CreateTablespaceContext.class,0);
}
public AlterTablespaceContext alterTablespace() {
return getRuleContext(AlterTablespaceContext.class,0);
}
public DropTablespaceContext dropTablespace() {
return getRuleContext(DropTablespaceContext.class,0);
}
public DelimiterContext delimiter() {
return getRuleContext(DelimiterContext.class,0);
}
public TerminalNode SEMI_() { return getToken(MySQLStatementParser.SEMI_, 0); }
public TerminalNode EOF() { return getToken(MySQLStatementParser.EOF, 0); }
public ExecuteContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_execute; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitExecute(this);
else return visitor.visitChildren(this);
}
}
public final ExecuteContext execute() throws RecognitionException {
ExecuteContext _localctx = new ExecuteContext(_ctx, getState());
enterRule(_localctx, 0, RULE_execute);
try {
setState(1274);
_errHandler.sync(this);
switch (_input.LA(1)) {
case LP_:
case DELIMITER:
case ALTER:
case ANALYZE:
case BEGIN:
case BINLOG:
case CACHE:
case CALL:
case CHANGE:
case CHECK:
case CHECKSUM:
case CLONE:
case COMMIT:
case CREATE:
case DEALLOCATE:
case DELETE:
case DESC:
case DESCRIBE:
case DO:
case DROP:
case EXECUTE:
case EXPLAIN:
case FLUSH:
case GET:
case GRANT:
case HANDLER:
case HELP:
case IMPORT:
case INSERT:
case INSTALL:
case KILL:
case LOAD:
case LOCK:
case OPTIMIZE:
case PREPARE:
case PURGE:
case RELEASE:
case RENAME:
case REPAIR:
case REPLACE:
case RESET:
case RESIGNAL:
case RESTART:
case REVOKE:
case ROLLBACK:
case SAVEPOINT:
case SELECT:
case SET:
case SHOW:
case SHUTDOWN:
case SIGNAL:
case START:
case STOP:
case TABLE:
case TRUNCATE:
case UNINSTALL:
case UNLOCK:
case UPDATE:
case USE:
case VALUES:
case WITH:
case XA:
enterOuterAlt(_localctx, 1);
{
setState(1264);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,0,_ctx) ) {
case 1:
{
setState(1164);
select();
}
break;
case 2:
{
setState(1165);
insert();
}
break;
case 3:
{
setState(1166);
update();
}
break;
case 4:
{
setState(1167);
delete();
}
break;
case 5:
{
setState(1168);
replace();
}
break;
case 6:
{
setState(1169);
binlog();
}
break;
case 7:
{
setState(1170);
createTable();
}
break;
case 8:
{
setState(1171);
alterStatement();
}
break;
case 9:
{
setState(1172);
repairTable();
}
break;
case 10:
{
setState(1173);
dropTable();
}
break;
case 11:
{
setState(1174);
truncateTable();
}
break;
case 12:
{
setState(1175);
createIndex();
}
break;
case 13:
{
setState(1176);
dropIndex();
}
break;
case 14:
{
setState(1177);
createProcedure();
}
break;
case 15:
{
setState(1178);
dropProcedure();
}
break;
case 16:
{
setState(1179);
createFunction();
}
break;
case 17:
{
setState(1180);
dropFunction();
}
break;
case 18:
{
setState(1181);
createDatabase();
}
break;
case 19:
{
setState(1182);
dropDatabase();
}
break;
case 20:
{
setState(1183);
createEvent();
}
break;
case 21:
{
setState(1184);
dropEvent();
}
break;
case 22:
{
setState(1185);
createLogfileGroup();
}
break;
case 23:
{
setState(1186);
dropLogfileGroup();
}
break;
case 24:
{
setState(1187);
createServer();
}
break;
case 25:
{
setState(1188);
dropServer();
}
break;
case 26:
{
setState(1189);
createView();
}
break;
case 27:
{
setState(1190);
dropView();
}
break;
case 28:
{
setState(1191);
createTrigger();
}
break;
case 29:
{
setState(1192);
dropTrigger();
}
break;
case 30:
{
setState(1193);
alterResourceGroup();
}
break;
case 31:
{
setState(1194);
createResourceGroup();
}
break;
case 32:
{
setState(1195);
dropResourceGroup();
}
break;
case 33:
{
setState(1196);
prepare();
}
break;
case 34:
{
setState(1197);
executeStmt();
}
break;
case 35:
{
setState(1198);
deallocate();
}
break;
case 36:
{
setState(1199);
setTransaction();
}
break;
case 37:
{
setState(1200);
beginTransaction();
}
break;
case 38:
{
setState(1201);
setAutoCommit();
}
break;
case 39:
{
setState(1202);
commit();
}
break;
case 40:
{
setState(1203);
rollback();
}
break;
case 41:
{
setState(1204);
savepoint();
}
break;
case 42:
{
setState(1205);
grant();
}
break;
case 43:
{
setState(1206);
revoke();
}
break;
case 44:
{
setState(1207);
createUser();
}
break;
case 45:
{
setState(1208);
dropUser();
}
break;
case 46:
{
setState(1209);
alterUser();
}
break;
case 47:
{
setState(1210);
renameUser();
}
break;
case 48:
{
setState(1211);
createRole();
}
break;
case 49:
{
setState(1212);
dropRole();
}
break;
case 50:
{
setState(1213);
setDefaultRole();
}
break;
case 51:
{
setState(1214);
setRole();
}
break;
case 52:
{
setState(1215);
createSRSStatement();
}
break;
case 53:
{
setState(1216);
dropSRSStatement();
}
break;
case 54:
{
setState(1217);
flush();
}
break;
case 55:
{
setState(1218);
getDiagnosticsStatement();
}
break;
case 56:
{
setState(1219);
groupReplication();
}
break;
case 57:
{
setState(1220);
handlerStatement();
}
break;
case 58:
{
setState(1221);
help();
}
break;
case 59:
{
setState(1222);
importStatement();
}
break;
case 60:
{
setState(1223);
install();
}
break;
case 61:
{
setState(1224);
kill();
}
break;
case 62:
{
setState(1225);
loadStatement();
}
break;
case 63:
{
setState(1226);
lock();
}
break;
case 64:
{
setState(1227);
cacheIndex();
}
break;
case 65:
{
setState(1228);
loadIndexInfo();
}
break;
case 66:
{
setState(1229);
optimizeTable();
}
break;
case 67:
{
setState(1230);
purgeBinaryLog();
}
break;
case 68:
{
setState(1231);
releaseSavepoint();
}
break;
case 69:
{
setState(1232);
resetStatement();
}
break;
case 70:
{
setState(1233);
setPassword();
}
break;
case 71:
{
setState(1234);
setTransaction();
}
break;
case 72:
{
setState(1235);
setResourceGroup();
}
break;
case 73:
{
setState(1236);
resignalStatement();
}
break;
case 74:
{
setState(1237);
signalStatement();
}
break;
case 75:
{
setState(1238);
restart();
}
break;
case 76:
{
setState(1239);
shutdown();
}
break;
case 77:
{
setState(1240);
begin();
}
break;
case 78:
{
setState(1241);
use();
}
break;
case 79:
{
setState(1242);
explain();
}
break;
case 80:
{
setState(1243);
doStatement();
}
break;
case 81:
{
setState(1244);
show();
}
break;
case 82:
{
setState(1245);
setVariable();
}
break;
case 83:
{
setState(1246);
setCharacter();
}
break;
case 84:
{
setState(1247);
call();
}
break;
case 85:
{
setState(1248);
change();
}
break;
case 86:
{
setState(1249);
checkTable();
}
break;
case 87:
{
setState(1250);
checksumTable();
}
break;
case 88:
{
setState(1251);
clone();
}
break;
case 89:
{
setState(1252);
startSlave();
}
break;
case 90:
{
setState(1253);
stopSlave();
}
break;
case 91:
{
setState(1254);
analyzeTable();
}
break;
case 92:
{
setState(1255);
renameTable();
}
break;
case 93:
{
setState(1256);
uninstall();
}
break;
case 94:
{
setState(1257);
unlock();
}
break;
case 95:
{
setState(1258);
xa();
}
break;
case 96:
{
setState(1259);
createLoadableFunction();
}
break;
case 97:
{
setState(1260);
createTablespace();
}
break;
case 98:
{
setState(1261);
alterTablespace();
}
break;
case 99:
{
setState(1262);
dropTablespace();
}
break;
case 100:
{
setState(1263);
delimiter();
}
break;
}
setState(1271);
_errHandler.sync(this);
switch (_input.LA(1)) {
case SEMI_:
{
setState(1266);
match(SEMI_);
setState(1268);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,1,_ctx) ) {
case 1:
{
setState(1267);
match(EOF);
}
break;
}
}
break;
case EOF:
{
setState(1270);
match(EOF);
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case EOF:
enterOuterAlt(_localctx, 2);
{
setState(1273);
match(EOF);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AlterStatementContext extends ParserRuleContext {
public AlterTableContext alterTable() {
return getRuleContext(AlterTableContext.class,0);
}
public AlterDatabaseContext alterDatabase() {
return getRuleContext(AlterDatabaseContext.class,0);
}
public AlterProcedureContext alterProcedure() {
return getRuleContext(AlterProcedureContext.class,0);
}
public AlterFunctionContext alterFunction() {
return getRuleContext(AlterFunctionContext.class,0);
}
public AlterEventContext alterEvent() {
return getRuleContext(AlterEventContext.class,0);
}
public AlterViewContext alterView() {
return getRuleContext(AlterViewContext.class,0);
}
public AlterLogfileGroupContext alterLogfileGroup() {
return getRuleContext(AlterLogfileGroupContext.class,0);
}
public AlterInstanceContext alterInstance() {
return getRuleContext(AlterInstanceContext.class,0);
}
public AlterServerContext alterServer() {
return getRuleContext(AlterServerContext.class,0);
}
public AlterStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterStatement; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterStatement(this);
else return visitor.visitChildren(this);
}
}
public final AlterStatementContext alterStatement() throws RecognitionException {
AlterStatementContext _localctx = new AlterStatementContext(_ctx, getState());
enterRule(_localctx, 2, RULE_alterStatement);
try {
setState(1285);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,4,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1276);
alterTable();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1277);
alterDatabase();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(1278);
alterProcedure();
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(1279);
alterFunction();
}
break;
case 5:
enterOuterAlt(_localctx, 5);
{
setState(1280);
alterEvent();
}
break;
case 6:
enterOuterAlt(_localctx, 6);
{
setState(1281);
alterView();
}
break;
case 7:
enterOuterAlt(_localctx, 7);
{
setState(1282);
alterLogfileGroup();
}
break;
case 8:
enterOuterAlt(_localctx, 8);
{
setState(1283);
alterInstance();
}
break;
case 9:
enterOuterAlt(_localctx, 9);
{
setState(1284);
alterServer();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CreateTableContext extends ParserRuleContext {
public TerminalNode CREATE() { return getToken(MySQLStatementParser.CREATE, 0); }
public TerminalNode TABLE() { return getToken(MySQLStatementParser.TABLE, 0); }
public TableNameContext tableName() {
return getRuleContext(TableNameContext.class,0);
}
public CreateLikeClauseContext createLikeClause() {
return getRuleContext(CreateLikeClauseContext.class,0);
}
public TerminalNode TEMPORARY() { return getToken(MySQLStatementParser.TEMPORARY, 0); }
public IfNotExistsContext ifNotExists() {
return getRuleContext(IfNotExistsContext.class,0);
}
public CreateDefinitionClauseContext createDefinitionClause() {
return getRuleContext(CreateDefinitionClauseContext.class,0);
}
public CreateTableOptionsContext createTableOptions() {
return getRuleContext(CreateTableOptionsContext.class,0);
}
public PartitionClauseContext partitionClause() {
return getRuleContext(PartitionClauseContext.class,0);
}
public DuplicateAsQueryExpressionContext duplicateAsQueryExpression() {
return getRuleContext(DuplicateAsQueryExpressionContext.class,0);
}
public CreateTableContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_createTable; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitCreateTable(this);
else return visitor.visitChildren(this);
}
}
public final CreateTableContext createTable() throws RecognitionException {
CreateTableContext _localctx = new CreateTableContext(_ctx, getState());
enterRule(_localctx, 4, RULE_createTable);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1287);
match(CREATE);
setState(1289);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==TEMPORARY) {
{
setState(1288);
match(TEMPORARY);
}
}
setState(1291);
match(TABLE);
setState(1293);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(1292);
ifNotExists();
}
}
setState(1295);
tableName();
setState(1309);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,11,_ctx) ) {
case 1:
{
setState(1297);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,7,_ctx) ) {
case 1:
{
setState(1296);
createDefinitionClause();
}
break;
}
setState(1300);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,8,_ctx) ) {
case 1:
{
setState(1299);
createTableOptions();
}
break;
}
setState(1303);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==PARTITION) {
{
setState(1302);
partitionClause();
}
}
setState(1306);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,10,_ctx) ) {
case 1:
{
setState(1305);
duplicateAsQueryExpression();
}
break;
}
}
break;
case 2:
{
setState(1308);
createLikeClause();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class PartitionClauseContext extends ParserRuleContext {
public TerminalNode PARTITION() { return getToken(MySQLStatementParser.PARTITION, 0); }
public TerminalNode BY() { return getToken(MySQLStatementParser.BY, 0); }
public PartitionTypeDefContext partitionTypeDef() {
return getRuleContext(PartitionTypeDefContext.class,0);
}
public TerminalNode PARTITIONS() { return getToken(MySQLStatementParser.PARTITIONS, 0); }
public TerminalNode NUMBER_() { return getToken(MySQLStatementParser.NUMBER_, 0); }
public SubPartitionsContext subPartitions() {
return getRuleContext(SubPartitionsContext.class,0);
}
public PartitionDefinitionsContext partitionDefinitions() {
return getRuleContext(PartitionDefinitionsContext.class,0);
}
public PartitionClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_partitionClause; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitPartitionClause(this);
else return visitor.visitChildren(this);
}
}
public final PartitionClauseContext partitionClause() throws RecognitionException {
PartitionClauseContext _localctx = new PartitionClauseContext(_ctx, getState());
enterRule(_localctx, 6, RULE_partitionClause);
try {
enterOuterAlt(_localctx, 1);
{
setState(1311);
match(PARTITION);
setState(1312);
match(BY);
setState(1313);
partitionTypeDef();
setState(1316);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,12,_ctx) ) {
case 1:
{
setState(1314);
match(PARTITIONS);
setState(1315);
match(NUMBER_);
}
break;
}
setState(1319);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,13,_ctx) ) {
case 1:
{
setState(1318);
subPartitions();
}
break;
}
setState(1322);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,14,_ctx) ) {
case 1:
{
setState(1321);
partitionDefinitions();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class PartitionTypeDefContext extends ParserRuleContext {
public TerminalNode KEY() { return getToken(MySQLStatementParser.KEY, 0); }
public TerminalNode LP_() { return getToken(MySQLStatementParser.LP_, 0); }
public TerminalNode RP_() { return getToken(MySQLStatementParser.RP_, 0); }
public TerminalNode LINEAR() { return getToken(MySQLStatementParser.LINEAR, 0); }
public PartitionKeyAlgorithmContext partitionKeyAlgorithm() {
return getRuleContext(PartitionKeyAlgorithmContext.class,0);
}
public ColumnNamesContext columnNames() {
return getRuleContext(ColumnNamesContext.class,0);
}
public TerminalNode HASH() { return getToken(MySQLStatementParser.HASH, 0); }
public BitExprContext bitExpr() {
return getRuleContext(BitExprContext.class,0);
}
public TerminalNode RANGE() { return getToken(MySQLStatementParser.RANGE, 0); }
public TerminalNode LIST() { return getToken(MySQLStatementParser.LIST, 0); }
public TerminalNode COLUMNS() { return getToken(MySQLStatementParser.COLUMNS, 0); }
public PartitionTypeDefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_partitionTypeDef; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitPartitionTypeDef(this);
else return visitor.visitChildren(this);
}
}
public final PartitionTypeDefContext partitionTypeDef() throws RecognitionException {
PartitionTypeDefContext _localctx = new PartitionTypeDefContext(_ctx, getState());
enterRule(_localctx, 8, RULE_partitionTypeDef);
int _la;
try {
setState(1356);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,20,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1325);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LINEAR) {
{
setState(1324);
match(LINEAR);
}
}
setState(1327);
match(KEY);
setState(1329);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ALGORITHM) {
{
setState(1328);
partitionKeyAlgorithm();
}
}
setState(1331);
match(LP_);
setState(1333);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 49)) & ~0x3f) == 0 && ((1L << (_la - 49)) & ((1L << (MAX - 49)) | (1L << (MIN - 49)) | (1L << (SUM - 49)) | (1L << (COUNT - 49)) | (1L << (GROUP_CONCAT - 49)) | (1L << (CAST - 49)) | (1L << (POSITION - 49)) | (1L << (SUBSTRING - 49)) | (1L << (SUBSTR - 49)) | (1L << (EXTRACT - 49)) | (1L << (TRIM - 49)) | (1L << (LAST_DAY - 49)) | (1L << (TRADITIONAL - 49)) | (1L << (TREE - 49)) | (1L << (MYSQL_MAIN - 49)) | (1L << (MYSQL_ADMIN - 49)) | (1L << (INSTANT - 49)) | (1L << (INPLACE - 49)) | (1L << (COPY - 49)) | (1L << (UL_BINARY - 49)) | (1L << (AUTOCOMMIT - 49)) | (1L << (INNODB - 49)) | (1L << (REDO_LOG - 49)) | (1L << (ACCOUNT - 49)) | (1L << (ACTION - 49)) | (1L << (ACTIVE - 49)) | (1L << (ADMIN - 49)) | (1L << (AFTER - 49)) | (1L << (AGAINST - 49)) | (1L << (AGGREGATE - 49)) | (1L << (ALGORITHM - 49)) | (1L << (ALWAYS - 49)) | (1L << (ANY - 49)) | (1L << (ARRAY - 49)) | (1L << (ASCII - 49)) | (1L << (AT - 49)) | (1L << (ATTRIBUTE - 49)) | (1L << (AUTOEXTEND_SIZE - 49)) | (1L << (AUTO_INCREMENT - 49)) | (1L << (AVG - 49)) | (1L << (BIT_XOR - 49)) | (1L << (AVG_ROW_LENGTH - 49)) | (1L << (BACKUP - 49)) | (1L << (BEGIN - 49)) | (1L << (BINLOG - 49)) | (1L << (BIT - 49)) | (1L << (BLOCK - 49)) | (1L << (BOOL - 49)))) != 0) || ((((_la - 113)) & ~0x3f) == 0 && ((1L << (_la - 113)) & ((1L << (BOOLEAN - 113)) | (1L << (BTREE - 113)) | (1L << (BUCKETS - 113)) | (1L << (BYTE - 113)) | (1L << (CACHE - 113)) | (1L << (CASCADED - 113)) | (1L << (CATALOG_NAME - 113)) | (1L << (CHAIN - 113)) | (1L << (CHANGED - 113)) | (1L << (CHANNEL - 113)) | (1L << (CHARSET - 113)) | (1L << (CHECKSUM - 113)) | (1L << (CIPHER - 113)) | (1L << (CLASS_ORIGIN - 113)) | (1L << (CLIENT - 113)) | (1L << (CLONE - 113)) | (1L << (CLOSE - 113)) | (1L << (COALESCE - 113)) | (1L << (CODE - 113)) | (1L << (COLLATION - 113)) | (1L << (COLUMNS - 113)) | (1L << (COLUMN_FORMAT - 113)) | (1L << (COLUMN_NAME - 113)) | (1L << (COMMENT - 113)) | (1L << (COMMIT - 113)) | (1L << (COMMITTED - 113)) | (1L << (COMPACT - 113)) | (1L << (COMPLETION - 113)) | (1L << (COMPONENT - 113)) | (1L << (COMPRESSED - 113)) | (1L << (COMPRESSION - 113)) | (1L << (CONCURRENT - 113)) | (1L << (CONNECTION - 113)) | (1L << (CONSISTENT - 113)) | (1L << (CONSTRAINT_CATALOG - 113)) | (1L << (CONSTRAINT_NAME - 113)) | (1L << (CONSTRAINT_SCHEMA - 113)) | (1L << (CONTAINS - 113)) | (1L << (CONTEXT - 113)) | (1L << (CPU - 113)) | (1L << (CREATE - 113)) | (1L << (CURRENT - 113)))) != 0) || ((((_la - 178)) & ~0x3f) == 0 && ((1L << (_la - 178)) & ((1L << (CURSOR_NAME - 178)) | (1L << (DATA - 178)) | (1L << (DATAFILE - 178)) | (1L << (DATE - 178)) | (1L << (DATETIME - 178)) | (1L << (DAY - 178)) | (1L << (DEALLOCATE - 178)) | (1L << (DEFAULT_AUTH - 178)) | (1L << (DEFINER - 178)) | (1L << (DEFINITION - 178)) | (1L << (DELAY_KEY_WRITE - 178)) | (1L << (DESCRIPTION - 178)) | (1L << (DIAGNOSTICS - 178)) | (1L << (DIRECTORY - 178)) | (1L << (DISABLE - 178)) | (1L << (DISCARD - 178)) | (1L << (DISK - 178)) | (1L << (DO - 178)) | (1L << (DUMPFILE - 178)) | (1L << (DUPLICATE - 178)) | (1L << (DYNAMIC - 178)) | (1L << (ENABLE - 178)) | (1L << (ENCRYPTION - 178)) | (1L << (END - 178)) | (1L << (ENDS - 178)) | (1L << (ENFORCED - 178)) | (1L << (ENGINE - 178)) | (1L << (ENGINES - 178)) | (1L << (ENGINE_ATTRIBUTE - 178)) | (1L << (ENUM - 178)) | (1L << (ERROR - 178)) | (1L << (ERRORS - 178)) | (1L << (ESCAPE - 178)) | (1L << (EVENT - 178)) | (1L << (EVENTS - 178)) | (1L << (EVERY - 178)))) != 0) || ((((_la - 243)) & ~0x3f) == 0 && ((1L << (_la - 243)) & ((1L << (EXCHANGE - 243)) | (1L << (EXCLUDE - 243)) | (1L << (EXECUTE - 243)) | (1L << (EXPANSION - 243)) | (1L << (EXPIRE - 243)) | (1L << (EXPORT - 243)) | (1L << (EXTENDED - 243)) | (1L << (EXTENT_SIZE - 243)) | (1L << (FAILED_LOGIN_ATTEMPTS - 243)) | (1L << (FAST - 243)) | (1L << (FAULTS - 243)) | (1L << (FILE - 243)) | (1L << (FILE_BLOCK_SIZE - 243)) | (1L << (FILTER - 243)) | (1L << (FIRST - 243)) | (1L << (FIXED - 243)) | (1L << (FLUSH - 243)) | (1L << (FOLLOWING - 243)) | (1L << (FOLLOWS - 243)) | (1L << (FORMAT - 243)) | (1L << (FOUND - 243)) | (1L << (FULL - 243)) | (1L << (GENERAL - 243)) | (1L << (GEOMETRY - 243)) | (1L << (GEOMETRYCOLLECTION - 243)) | (1L << (GET_FORMAT - 243)) | (1L << (GET_MASTER_PUBLIC_KEY - 243)) | (1L << (GLOBAL - 243)) | (1L << (GRANTS - 243)) | (1L << (GROUP_REPLICATION - 243)) | (1L << (HANDLER - 243)) | (1L << (HASH - 243)) | (1L << (HELP - 243)) | (1L << (HISTOGRAM - 243)) | (1L << (HISTORY - 243)) | (1L << (HOST - 243)) | (1L << (HOSTS - 243)) | (1L << (HOUR - 243)))) != 0) || ((((_la - 307)) & ~0x3f) == 0 && ((1L << (_la - 307)) & ((1L << (IDENTIFIED - 307)) | (1L << (IGNORE_SERVER_IDS - 307)) | (1L << (IMPORT - 307)) | (1L << (INACTIVE - 307)) | (1L << (INDEXES - 307)) | (1L << (INITIAL_SIZE - 307)) | (1L << (INSERT_METHOD - 307)) | (1L << (INSTALL - 307)) | (1L << (INSTANCE - 307)) | (1L << (INVISIBLE - 307)) | (1L << (INVOKER - 307)) | (1L << (IO - 307)) | (1L << (IPC - 307)) | (1L << (ISOLATION - 307)) | (1L << (ISSUER - 307)) | (1L << (JSON - 307)) | (1L << (JSON_VALUE - 307)) | (1L << (KEY - 307)) | (1L << (KEY_BLOCK_SIZE - 307)) | (1L << (LANGUAGE - 307)) | (1L << (LAST - 307)) | (1L << (LAST_VALUE - 307)) | (1L << (LEAVES - 307)) | (1L << (LESS - 307)) | (1L << (LEVEL - 307)) | (1L << (LINESTRING - 307)) | (1L << (LIST - 307)))) != 0) || ((((_la - 371)) & ~0x3f) == 0 && ((1L << (_la - 371)) & ((1L << (LOCAL - 371)) | (1L << (LOCKED - 371)) | (1L << (LOCKS - 371)) | (1L << (LOGFILE - 371)) | (1L << (LOGS - 371)) | (1L << (MASTER - 371)) | (1L << (MASTER_AUTO_POSITION - 371)) | (1L << (MASTER_COMPRESSION_ALGORITHM - 371)) | (1L << (MASTER_CONNECT_RETRY - 371)) | (1L << (MASTER_DELAY - 371)) | (1L << (MASTER_HEARTBEAT_PERIOD - 371)) | (1L << (MASTER_HOST - 371)) | (1L << (MASTER_LOG_FILE - 371)) | (1L << (MASTER_LOG_POS - 371)) | (1L << (MASTER_PASSWORD - 371)) | (1L << (MASTER_PORT - 371)) | (1L << (MASTER_PUBLIC_KEY_PATH - 371)) | (1L << (MASTER_RETRY_COUNT - 371)) | (1L << (MASTER_SERVER_ID - 371)) | (1L << (MASTER_SSL - 371)) | (1L << (MASTER_SSL_CA - 371)) | (1L << (MASTER_SSL_CAPATH - 371)) | (1L << (MASTER_SSL_CERT - 371)) | (1L << (MASTER_SSL_CIPHER - 371)) | (1L << (MASTER_SSL_CRL - 371)) | (1L << (MASTER_SSL_CRLPATH - 371)) | (1L << (MASTER_SSL_KEY - 371)) | (1L << (MASTER_TLS_CIPHERSUITES - 371)) | (1L << (MASTER_TLS_VERSION - 371)) | (1L << (MASTER_USER - 371)) | (1L << (MASTER_ZSTD_COMPRESSION_LEVEL - 371)) | (1L << (MAXVALUE - 371)) | (1L << (MAX_CONNECTIONS_PER_HOUR - 371)) | (1L << (MAX_QUERIES_PER_HOUR - 371)) | (1L << (MAX_ROWS - 371)) | (1L << (MAX_SIZE - 371)) | (1L << (MAX_UPDATES_PER_HOUR - 371)) | (1L << (MAX_USER_CONNECTIONS - 371)) | (1L << (MEDIUM - 371)) | (1L << (MEMBER - 371)) | (1L << (MEMORY - 371)) | (1L << (MERGE - 371)) | (1L << (MESSAGE_TEXT - 371)) | (1L << (MICROSECOND - 371)) | (1L << (MIGRATE - 371)) | (1L << (MINUTE - 371)) | (1L << (MIN_ROWS - 371)))) != 0) || ((((_la - 436)) & ~0x3f) == 0 && ((1L << (_la - 436)) & ((1L << (MODE - 436)) | (1L << (MODIFY - 436)) | (1L << (MONTH - 436)) | (1L << (MULTILINESTRING - 436)) | (1L << (MULTIPOINT - 436)) | (1L << (MULTIPOLYGON - 436)) | (1L << (MUTEX - 436)) | (1L << (MYSQL_ERRNO - 436)) | (1L << (NAME - 436)) | (1L << (NAMES - 436)) | (1L << (NATIONAL - 436)) | (1L << (NCHAR - 436)) | (1L << (NDBCLUSTER - 436)) | (1L << (NESTED - 436)) | (1L << (NETWORK_NAMESPACE - 436)) | (1L << (NEVER - 436)) | (1L << (NEW - 436)) | (1L << (NEXT - 436)) | (1L << (NO - 436)) | (1L << (NODEGROUP - 436)) | (1L << (NONE - 436)) | (1L << (NOWAIT - 436)) | (1L << (NO_WAIT - 436)) | (1L << (NULLS - 436)) | (1L << (NUMBER - 436)) | (1L << (NVARCHAR - 436)) | (1L << (OFF - 436)) | (1L << (OFFSET - 436)) | (1L << (OJ - 436)) | (1L << (OLD - 436)) | (1L << (ONE - 436)) | (1L << (ONLY - 436)) | (1L << (OPEN - 436)) | (1L << (OPTIONAL - 436)) | (1L << (OPTIONS - 436)) | (1L << (ORDINALITY - 436)) | (1L << (ORGANIZATION - 436)) | (1L << (OTHERS - 436)) | (1L << (OWNER - 436)) | (1L << (PACK_KEYS - 436)) | (1L << (PAGE - 436)) | (1L << (PARSER - 436)) | (1L << (PARTIAL - 436)))) != 0) || ((((_la - 500)) & ~0x3f) == 0 && ((1L << (_la - 500)) & ((1L << (PARTITIONING - 500)) | (1L << (PARTITIONS - 500)) | (1L << (PASSWORD - 500)) | (1L << (PASSWORD_LOCK_TIME - 500)) | (1L << (PATH - 500)) | (1L << (PERSIST - 500)) | (1L << (PERSIST_ONLY - 500)) | (1L << (PHASE - 500)) | (1L << (PLUGIN - 500)) | (1L << (PLUGINS - 500)) | (1L << (PLUGIN_DIR - 500)) | (1L << (POINT - 500)) | (1L << (POLYGON - 500)) | (1L << (PORT - 500)) | (1L << (PRECEDES - 500)) | (1L << (PRECEDING - 500)) | (1L << (PREPARE - 500)) | (1L << (PRESERVE - 500)) | (1L << (PREV - 500)) | (1L << (PRIMARY - 500)) | (1L << (PRIVILEGES - 500)) | (1L << (PRIVILEGE_CHECKS_USER - 500)) | (1L << (PROCESS - 500)) | (1L << (PROCESSLIST - 500)) | (1L << (PROFILE - 500)) | (1L << (PROFILES - 500)) | (1L << (PROXY - 500)) | (1L << (QUARTER - 500)) | (1L << (QUERY - 500)) | (1L << (QUICK - 500)) | (1L << (RANDOM - 500)) | (1L << (READ_ONLY - 500)) | (1L << (REBUILD - 500)) | (1L << (RECOVER - 500)) | (1L << (REDO_BUFFER_SIZE - 500)) | (1L << (REDUNDANT - 500)) | (1L << (REFERENCE - 500)) | (1L << (RELAY - 500)) | (1L << (RELAYLOG - 500)) | (1L << (RELAY_LOG_FILE - 500)) | (1L << (RELAY_LOG_POS - 500)) | (1L << (RELAY_THREAD - 500)) | (1L << (RELOAD - 500)) | (1L << (REMOVE - 500)) | (1L << (REORGANIZE - 500)) | (1L << (REPAIR - 500)) | (1L << (REPEATABLE - 500)))) != 0) || ((((_la - 566)) & ~0x3f) == 0 && ((1L << (_la - 566)) & ((1L << (REPLICATE_DO_DB - 566)) | (1L << (REPLICATE_DO_TABLE - 566)) | (1L << (REPLICATE_IGNORE_DB - 566)) | (1L << (REPLICATE_IGNORE_TABLE - 566)) | (1L << (REPLICATE_REWRITE_DB - 566)) | (1L << (REPLICATE_WILD_DO_TABLE - 566)) | (1L << (REPLICATE_WILD_IGNORE_TABLE - 566)) | (1L << (REPLICATION - 566)) | (1L << (REQUIRE_ROW_FORMAT - 566)) | (1L << (RESET - 566)) | (1L << (RESOURCE - 566)) | (1L << (RESPECT - 566)) | (1L << (RESTART - 566)) | (1L << (RESTORE - 566)) | (1L << (RESUME - 566)) | (1L << (RETAIN - 566)) | (1L << (RETURNED_SQLSTATE - 566)) | (1L << (RETURNING - 566)) | (1L << (RETURNS - 566)) | (1L << (REUSE - 566)) | (1L << (REVERSE - 566)) | (1L << (ROLE - 566)) | (1L << (ROLLBACK - 566)) | (1L << (ROLLUP - 566)) | (1L << (ROTATE - 566)) | (1L << (ROUTINE - 566)) | (1L << (ROW_COUNT - 566)) | (1L << (ROW_FORMAT - 566)) | (1L << (RTREE - 566)) | (1L << (SAVEPOINT - 566)) | (1L << (SCHEDULE - 566)) | (1L << (SCHEMA_NAME - 566)) | (1L << (SECOND - 566)) | (1L << (SECONDARY - 566)) | (1L << (SECONDARY_ENGINE - 566)) | (1L << (SECONDARY_ENGINE_ATTRIBUTE - 566)) | (1L << (SECONDARY_LOAD - 566)) | (1L << (SECONDARY_UNLOAD - 566)) | (1L << (SECURITY - 566)) | (1L << (SERIAL - 566)) | (1L << (SERIALIZABLE - 566)) | (1L << (SERVER - 566)) | (1L << (SESSION - 566)) | (1L << (SHARE - 566)) | (1L << (SHUTDOWN - 566)))) != 0) || ((((_la - 630)) & ~0x3f) == 0 && ((1L << (_la - 630)) & ((1L << (SIGNED - 630)) | (1L << (SIMPLE - 630)) | (1L << (SLAVE - 630)) | (1L << (SLOW - 630)) | (1L << (SNAPSHOT - 630)) | (1L << (SOCKET - 630)) | (1L << (SONAME - 630)) | (1L << (SOUNDS - 630)) | (1L << (SOURCE - 630)) | (1L << (SQL_AFTER_GTIDS - 630)) | (1L << (SQL_AFTER_MTS_GAPS - 630)) | (1L << (SQL_BEFORE_GTIDS - 630)) | (1L << (SQL_BUFFER_RESULT - 630)) | (1L << (SQL_NO_CACHE - 630)) | (1L << (SQL_THREAD - 630)) | (1L << (SRID - 630)) | (1L << (STACKED - 630)) | (1L << (START - 630)) | (1L << (STARTS - 630)) | (1L << (STATS_AUTO_RECALC - 630)) | (1L << (STATS_PERSISTENT - 630)) | (1L << (STATS_SAMPLE_PAGES - 630)) | (1L << (STATUS - 630)) | (1L << (STOP - 630)) | (1L << (STORAGE - 630)) | (1L << (STREAM - 630)) | (1L << (STRING - 630)) | (1L << (SUBCLASS_ORIGIN - 630)) | (1L << (SUBJECT - 630)) | (1L << (SUBPARTITION - 630)) | (1L << (SUBPARTITIONS - 630)) | (1L << (SUPER - 630)) | (1L << (SUSPEND - 630)) | (1L << (SWAPS - 630)) | (1L << (SWITCHES - 630)) | (1L << (TABLES - 630)) | (1L << (TABLESPACE - 630)) | (1L << (TABLE_CHECKSUM - 630)) | (1L << (TABLE_NAME - 630)) | (1L << (TEMPORARY - 630)) | (1L << (TEMPTABLE - 630)) | (1L << (TEXT - 630)) | (1L << (THAN - 630)) | (1L << (THREAD_PRIORITY - 630)) | (1L << (TIES - 630)))) != 0) || ((((_la - 694)) & ~0x3f) == 0 && ((1L << (_la - 694)) & ((1L << (TIME - 694)) | (1L << (TIMESTAMP - 694)) | (1L << (TIMESTAMP_ADD - 694)) | (1L << (TIMESTAMP_DIFF - 694)) | (1L << (TLS - 694)) | (1L << (TRANSACTION - 694)) | (1L << (TRIGGERS - 694)) | (1L << (TRUNCATE - 694)) | (1L << (TYPE - 694)) | (1L << (TYPES - 694)) | (1L << (UNBOUNDED - 694)) | (1L << (UNCOMMITTED - 694)) | (1L << (UNDEFINED - 694)) | (1L << (UNDOFILE - 694)) | (1L << (UNDO_BUFFER_SIZE - 694)) | (1L << (UNICODE - 694)) | (1L << (UNINSTALL - 694)) | (1L << (UNKNOWN - 694)) | (1L << (UNTIL - 694)) | (1L << (UPGRADE - 694)) | (1L << (USER - 694)) | (1L << (USER_RESOURCES - 694)) | (1L << (USE_FRM - 694)) | (1L << (UTC_DATE - 694)) | (1L << (UTC_TIME - 694)) | (1L << (UTC_TIMESTAMP - 694)) | (1L << (VALIDATION - 694)) | (1L << (VALUE - 694)) | (1L << (VARIABLES - 694)) | (1L << (VCPU - 694)) | (1L << (VIEW - 694)) | (1L << (VISIBLE - 694)) | (1L << (WAIT - 694)) | (1L << (WARNINGS - 694)) | (1L << (WEEK - 694)) | (1L << (WEIGHT_STRING - 694)) | (1L << (WITHOUT - 694)))) != 0) || ((((_la - 758)) & ~0x3f) == 0 && ((1L << (_la - 758)) & ((1L << (WORK - 758)) | (1L << (WRAPPER - 758)) | (1L << (X509 - 758)) | (1L << (XA - 758)) | (1L << (XID - 758)) | (1L << (XML - 758)) | (1L << (YEAR - 758)) | (1L << (DOUBLE_QUOTED_TEXT - 758)) | (1L << (UNDERSCORE_CHARSET - 758)) | (1L << (IDENTIFIER_ - 758)))) != 0)) {
{
setState(1332);
columnNames();
}
}
setState(1335);
match(RP_);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1337);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LINEAR) {
{
setState(1336);
match(LINEAR);
}
}
setState(1339);
match(HASH);
setState(1340);
match(LP_);
setState(1341);
bitExpr(0);
setState(1342);
match(RP_);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(1344);
_la = _input.LA(1);
if ( !(_la==LIST || _la==RANGE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(1354);
_errHandler.sync(this);
switch (_input.LA(1)) {
case LP_:
{
setState(1345);
match(LP_);
setState(1346);
bitExpr(0);
setState(1347);
match(RP_);
}
break;
case COLUMNS:
{
setState(1349);
match(COLUMNS);
setState(1350);
match(LP_);
setState(1351);
columnNames();
setState(1352);
match(RP_);
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class SubPartitionsContext extends ParserRuleContext {
public TerminalNode SUBPARTITION() { return getToken(MySQLStatementParser.SUBPARTITION, 0); }
public TerminalNode BY() { return getToken(MySQLStatementParser.BY, 0); }
public TerminalNode HASH() { return getToken(MySQLStatementParser.HASH, 0); }
public TerminalNode LP_() { return getToken(MySQLStatementParser.LP_, 0); }
public BitExprContext bitExpr() {
return getRuleContext(BitExprContext.class,0);
}
public TerminalNode RP_() { return getToken(MySQLStatementParser.RP_, 0); }
public TerminalNode KEY() { return getToken(MySQLStatementParser.KEY, 0); }
public ColumnNamesContext columnNames() {
return getRuleContext(ColumnNamesContext.class,0);
}
public TerminalNode LINEAR() { return getToken(MySQLStatementParser.LINEAR, 0); }
public TerminalNode SUBPARTITIONS() { return getToken(MySQLStatementParser.SUBPARTITIONS, 0); }
public TerminalNode NUMBER_() { return getToken(MySQLStatementParser.NUMBER_, 0); }
public PartitionKeyAlgorithmContext partitionKeyAlgorithm() {
return getRuleContext(PartitionKeyAlgorithmContext.class,0);
}
public SubPartitionsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_subPartitions; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitSubPartitions(this);
else return visitor.visitChildren(this);
}
}
public final SubPartitionsContext subPartitions() throws RecognitionException {
SubPartitionsContext _localctx = new SubPartitionsContext(_ctx, getState());
enterRule(_localctx, 10, RULE_subPartitions);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1358);
match(SUBPARTITION);
setState(1359);
match(BY);
setState(1361);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LINEAR) {
{
setState(1360);
match(LINEAR);
}
}
setState(1376);
_errHandler.sync(this);
switch (_input.LA(1)) {
case HASH:
{
setState(1363);
match(HASH);
setState(1364);
match(LP_);
setState(1365);
bitExpr(0);
setState(1366);
match(RP_);
}
break;
case KEY:
{
setState(1368);
match(KEY);
setState(1370);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ALGORITHM) {
{
setState(1369);
partitionKeyAlgorithm();
}
}
setState(1372);
match(LP_);
setState(1373);
columnNames();
setState(1374);
match(RP_);
}
break;
default:
throw new NoViableAltException(this);
}
setState(1380);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,24,_ctx) ) {
case 1:
{
setState(1378);
match(SUBPARTITIONS);
setState(1379);
match(NUMBER_);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class PartitionKeyAlgorithmContext extends ParserRuleContext {
public TerminalNode ALGORITHM() { return getToken(MySQLStatementParser.ALGORITHM, 0); }
public TerminalNode EQ_() { return getToken(MySQLStatementParser.EQ_, 0); }
public TerminalNode NUMBER_() { return getToken(MySQLStatementParser.NUMBER_, 0); }
public PartitionKeyAlgorithmContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_partitionKeyAlgorithm; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitPartitionKeyAlgorithm(this);
else return visitor.visitChildren(this);
}
}
public final PartitionKeyAlgorithmContext partitionKeyAlgorithm() throws RecognitionException {
PartitionKeyAlgorithmContext _localctx = new PartitionKeyAlgorithmContext(_ctx, getState());
enterRule(_localctx, 12, RULE_partitionKeyAlgorithm);
try {
enterOuterAlt(_localctx, 1);
{
setState(1382);
match(ALGORITHM);
setState(1383);
match(EQ_);
setState(1384);
match(NUMBER_);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DuplicateAsQueryExpressionContext extends ParserRuleContext {
public SelectContext select() {
return getRuleContext(SelectContext.class,0);
}
public TerminalNode AS() { return getToken(MySQLStatementParser.AS, 0); }
public TerminalNode LP_() { return getToken(MySQLStatementParser.LP_, 0); }
public TerminalNode RP_() { return getToken(MySQLStatementParser.RP_, 0); }
public TerminalNode REPLACE() { return getToken(MySQLStatementParser.REPLACE, 0); }
public TerminalNode IGNORE() { return getToken(MySQLStatementParser.IGNORE, 0); }
public DuplicateAsQueryExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_duplicateAsQueryExpression; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitDuplicateAsQueryExpression(this);
else return visitor.visitChildren(this);
}
}
public final DuplicateAsQueryExpressionContext duplicateAsQueryExpression() throws RecognitionException {
DuplicateAsQueryExpressionContext _localctx = new DuplicateAsQueryExpressionContext(_ctx, getState());
enterRule(_localctx, 14, RULE_duplicateAsQueryExpression);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1387);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IGNORE || _la==REPLACE) {
{
setState(1386);
_la = _input.LA(1);
if ( !(_la==IGNORE || _la==REPLACE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(1390);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==AS) {
{
setState(1389);
match(AS);
}
}
setState(1393);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,27,_ctx) ) {
case 1:
{
setState(1392);
match(LP_);
}
break;
}
setState(1395);
select();
setState(1397);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==RP_) {
{
setState(1396);
match(RP_);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AlterTableContext extends ParserRuleContext {
public TerminalNode ALTER() { return getToken(MySQLStatementParser.ALTER, 0); }
public TerminalNode TABLE() { return getToken(MySQLStatementParser.TABLE, 0); }
public TableNameContext tableName() {
return getRuleContext(TableNameContext.class,0);
}
public AlterTableActionsContext alterTableActions() {
return getRuleContext(AlterTableActionsContext.class,0);
}
public StandaloneAlterTableActionContext standaloneAlterTableAction() {
return getRuleContext(StandaloneAlterTableActionContext.class,0);
}
public AlterTableContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterTable; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterTable(this);
else return visitor.visitChildren(this);
}
}
public final AlterTableContext alterTable() throws RecognitionException {
AlterTableContext _localctx = new AlterTableContext(_ctx, getState());
enterRule(_localctx, 16, RULE_alterTable);
try {
setState(1410);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,30,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1399);
match(ALTER);
setState(1400);
match(TABLE);
setState(1401);
tableName();
setState(1403);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,29,_ctx) ) {
case 1:
{
setState(1402);
alterTableActions();
}
break;
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1405);
match(ALTER);
setState(1406);
match(TABLE);
setState(1407);
tableName();
setState(1408);
standaloneAlterTableAction();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class StandaloneAlterTableActionContext extends ParserRuleContext {
public StandaloneAlterCommandsContext standaloneAlterCommands() {
return getRuleContext(StandaloneAlterCommandsContext.class,0);
}
public AlterCommandsModifierListContext alterCommandsModifierList() {
return getRuleContext(AlterCommandsModifierListContext.class,0);
}
public TerminalNode COMMA_() { return getToken(MySQLStatementParser.COMMA_, 0); }
public StandaloneAlterTableActionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_standaloneAlterTableAction; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitStandaloneAlterTableAction(this);
else return visitor.visitChildren(this);
}
}
public final StandaloneAlterTableActionContext standaloneAlterTableAction() throws RecognitionException {
StandaloneAlterTableActionContext _localctx = new StandaloneAlterTableActionContext(_ctx, getState());
enterRule(_localctx, 18, RULE_standaloneAlterTableAction);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1415);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ALGORITHM || _la==LOCK || _la==WITH || _la==WITHOUT) {
{
setState(1412);
alterCommandsModifierList();
setState(1413);
match(COMMA_);
}
}
setState(1417);
standaloneAlterCommands();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AlterTableActionsContext extends ParserRuleContext {
public AlterCommandListContext alterCommandList() {
return getRuleContext(AlterCommandListContext.class,0);
}
public AlterTablePartitionOptionsContext alterTablePartitionOptions() {
return getRuleContext(AlterTablePartitionOptionsContext.class,0);
}
public AlterTableActionsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterTableActions; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterTableActions(this);
else return visitor.visitChildren(this);
}
}
public final AlterTableActionsContext alterTableActions() throws RecognitionException {
AlterTableActionsContext _localctx = new AlterTableActionsContext(_ctx, getState());
enterRule(_localctx, 20, RULE_alterTableActions);
try {
setState(1424);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ADD:
case ALGORITHM:
case ALTER:
case AUTO_INCREMENT:
case AVG_ROW_LENGTH:
case CHANGE:
case CHAR:
case CHARACTER:
case CHARSET:
case CHECKSUM:
case COLLATE:
case COMMENT:
case COMPRESSION:
case CONNECTION:
case CONVERT:
case DATA:
case DEFAULT:
case DELAY_KEY_WRITE:
case DISABLE:
case DROP:
case ENABLE:
case ENCRYPTION:
case ENGINE:
case ENGINE_ATTRIBUTE:
case FORCE:
case INDEX:
case INSERT_METHOD:
case KEY_BLOCK_SIZE:
case LOCK:
case MAX_ROWS:
case MIN_ROWS:
case MODIFY:
case ORDER:
case PACK_KEYS:
case PASSWORD:
case RENAME:
case ROW_FORMAT:
case SECONDARY_ENGINE:
case SECONDARY_ENGINE_ATTRIBUTE:
case STATS_AUTO_RECALC:
case STATS_PERSISTENT:
case STATS_SAMPLE_PAGES:
case STORAGE:
case TABLESPACE:
case TABLE_CHECKSUM:
case UNION:
case WITH:
case WITHOUT:
enterOuterAlt(_localctx, 1);
{
setState(1419);
alterCommandList();
setState(1421);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,32,_ctx) ) {
case 1:
{
setState(1420);
alterTablePartitionOptions();
}
break;
}
}
break;
case PARTITION:
case REMOVE:
enterOuterAlt(_localctx, 2);
{
setState(1423);
alterTablePartitionOptions();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AlterTablePartitionOptionsContext extends ParserRuleContext {
public PartitionClauseContext partitionClause() {
return getRuleContext(PartitionClauseContext.class,0);
}
public TerminalNode REMOVE() { return getToken(MySQLStatementParser.REMOVE, 0); }
public TerminalNode PARTITIONING() { return getToken(MySQLStatementParser.PARTITIONING, 0); }
public AlterTablePartitionOptionsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterTablePartitionOptions; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterTablePartitionOptions(this);
else return visitor.visitChildren(this);
}
}
public final AlterTablePartitionOptionsContext alterTablePartitionOptions() throws RecognitionException {
AlterTablePartitionOptionsContext _localctx = new AlterTablePartitionOptionsContext(_ctx, getState());
enterRule(_localctx, 22, RULE_alterTablePartitionOptions);
try {
setState(1429);
_errHandler.sync(this);
switch (_input.LA(1)) {
case PARTITION:
enterOuterAlt(_localctx, 1);
{
setState(1426);
partitionClause();
}
break;
case REMOVE:
enterOuterAlt(_localctx, 2);
{
setState(1427);
match(REMOVE);
setState(1428);
match(PARTITIONING);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AlterCommandListContext extends ParserRuleContext {
public AlterCommandsModifierListContext alterCommandsModifierList() {
return getRuleContext(AlterCommandsModifierListContext.class,0);
}
public AlterListContext alterList() {
return getRuleContext(AlterListContext.class,0);
}
public TerminalNode COMMA_() { return getToken(MySQLStatementParser.COMMA_, 0); }
public AlterCommandListContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterCommandList; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterCommandList(this);
else return visitor.visitChildren(this);
}
}
public final AlterCommandListContext alterCommandList() throws RecognitionException {
AlterCommandListContext _localctx = new AlterCommandListContext(_ctx, getState());
enterRule(_localctx, 24, RULE_alterCommandList);
int _la;
try {
setState(1438);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,36,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1431);
alterCommandsModifierList();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1435);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ALGORITHM || _la==LOCK || _la==WITH || _la==WITHOUT) {
{
setState(1432);
alterCommandsModifierList();
setState(1433);
match(COMMA_);
}
}
setState(1437);
alterList();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AlterListContext extends ParserRuleContext {
public List alterListItem() {
return getRuleContexts(AlterListItemContext.class);
}
public AlterListItemContext alterListItem(int i) {
return getRuleContext(AlterListItemContext.class,i);
}
public List createTableOptionsSpaceSeparated() {
return getRuleContexts(CreateTableOptionsSpaceSeparatedContext.class);
}
public CreateTableOptionsSpaceSeparatedContext createTableOptionsSpaceSeparated(int i) {
return getRuleContext(CreateTableOptionsSpaceSeparatedContext.class,i);
}
public List COMMA_() { return getTokens(MySQLStatementParser.COMMA_); }
public TerminalNode COMMA_(int i) {
return getToken(MySQLStatementParser.COMMA_, i);
}
public List alterCommandsModifier() {
return getRuleContexts(AlterCommandsModifierContext.class);
}
public AlterCommandsModifierContext alterCommandsModifier(int i) {
return getRuleContext(AlterCommandsModifierContext.class,i);
}
public AlterListContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterList; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterList(this);
else return visitor.visitChildren(this);
}
}
public final AlterListContext alterList() throws RecognitionException {
AlterListContext _localctx = new AlterListContext(_ctx, getState());
enterRule(_localctx, 26, RULE_alterList);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1442);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ADD:
case ALTER:
case CHANGE:
case CONVERT:
case DISABLE:
case DROP:
case ENABLE:
case FORCE:
case MODIFY:
case ORDER:
case RENAME:
{
setState(1440);
alterListItem();
}
break;
case AUTO_INCREMENT:
case AVG_ROW_LENGTH:
case CHAR:
case CHARACTER:
case CHARSET:
case CHECKSUM:
case COLLATE:
case COMMENT:
case COMPRESSION:
case CONNECTION:
case DATA:
case DEFAULT:
case DELAY_KEY_WRITE:
case ENCRYPTION:
case ENGINE:
case ENGINE_ATTRIBUTE:
case INDEX:
case INSERT_METHOD:
case KEY_BLOCK_SIZE:
case MAX_ROWS:
case MIN_ROWS:
case PACK_KEYS:
case PASSWORD:
case ROW_FORMAT:
case SECONDARY_ENGINE:
case SECONDARY_ENGINE_ATTRIBUTE:
case STATS_AUTO_RECALC:
case STATS_PERSISTENT:
case STATS_SAMPLE_PAGES:
case STORAGE:
case TABLESPACE:
case TABLE_CHECKSUM:
case UNION:
{
setState(1441);
createTableOptionsSpaceSeparated();
}
break;
default:
throw new NoViableAltException(this);
}
setState(1452);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA_) {
{
{
setState(1444);
match(COMMA_);
setState(1448);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ADD:
case ALTER:
case CHANGE:
case CONVERT:
case DISABLE:
case DROP:
case ENABLE:
case FORCE:
case MODIFY:
case ORDER:
case RENAME:
{
setState(1445);
alterListItem();
}
break;
case ALGORITHM:
case LOCK:
case WITH:
case WITHOUT:
{
setState(1446);
alterCommandsModifier();
}
break;
case AUTO_INCREMENT:
case AVG_ROW_LENGTH:
case CHAR:
case CHARACTER:
case CHARSET:
case CHECKSUM:
case COLLATE:
case COMMENT:
case COMPRESSION:
case CONNECTION:
case DATA:
case DEFAULT:
case DELAY_KEY_WRITE:
case ENCRYPTION:
case ENGINE:
case ENGINE_ATTRIBUTE:
case INDEX:
case INSERT_METHOD:
case KEY_BLOCK_SIZE:
case MAX_ROWS:
case MIN_ROWS:
case PACK_KEYS:
case PASSWORD:
case ROW_FORMAT:
case SECONDARY_ENGINE:
case SECONDARY_ENGINE_ATTRIBUTE:
case STATS_AUTO_RECALC:
case STATS_PERSISTENT:
case STATS_SAMPLE_PAGES:
case STORAGE:
case TABLESPACE:
case TABLE_CHECKSUM:
case UNION:
{
setState(1447);
createTableOptionsSpaceSeparated();
}
break;
default:
throw new NoViableAltException(this);
}
}
}
setState(1454);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CreateTableOptionsSpaceSeparatedContext extends ParserRuleContext {
public List createTableOption() {
return getRuleContexts(CreateTableOptionContext.class);
}
public CreateTableOptionContext createTableOption(int i) {
return getRuleContext(CreateTableOptionContext.class,i);
}
public CreateTableOptionsSpaceSeparatedContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_createTableOptionsSpaceSeparated; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitCreateTableOptionsSpaceSeparated(this);
else return visitor.visitChildren(this);
}
}
public final CreateTableOptionsSpaceSeparatedContext createTableOptionsSpaceSeparated() throws RecognitionException {
CreateTableOptionsSpaceSeparatedContext _localctx = new CreateTableOptionsSpaceSeparatedContext(_ctx, getState());
enterRule(_localctx, 28, RULE_createTableOptionsSpaceSeparated);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(1456);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(1455);
createTableOption();
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(1458);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,40,_ctx);
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AlterListItemContext extends ParserRuleContext {
public AlterListItemContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterListItem; }
public AlterListItemContext() { }
public void copyFrom(AlterListItemContext ctx) {
super.copyFrom(ctx);
}
}
public static class AddColumnContext extends AlterListItemContext {
public TerminalNode ADD() { return getToken(MySQLStatementParser.ADD, 0); }
public ColumnDefinitionContext columnDefinition() {
return getRuleContext(ColumnDefinitionContext.class,0);
}
public TerminalNode LP_() { return getToken(MySQLStatementParser.LP_, 0); }
public TableElementListContext tableElementList() {
return getRuleContext(TableElementListContext.class,0);
}
public TerminalNode RP_() { return getToken(MySQLStatementParser.RP_, 0); }
public TerminalNode COLUMN() { return getToken(MySQLStatementParser.COLUMN, 0); }
public PlaceContext place() {
return getRuleContext(PlaceContext.class,0);
}
public AddColumnContext(AlterListItemContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAddColumn(this);
else return visitor.visitChildren(this);
}
}
public static class EnableKeysContext extends AlterListItemContext {
public TerminalNode ENABLE() { return getToken(MySQLStatementParser.ENABLE, 0); }
public TerminalNode KEYS() { return getToken(MySQLStatementParser.KEYS, 0); }
public EnableKeysContext(AlterListItemContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitEnableKeys(this);
else return visitor.visitChildren(this);
}
}
public static class AlterTableDropContext extends AlterListItemContext {
public IdentifierContext columnInternalRef;
public TerminalNode DROP() { return getToken(MySQLStatementParser.DROP, 0); }
public TerminalNode FOREIGN() { return getToken(MySQLStatementParser.FOREIGN, 0); }
public TerminalNode KEY() { return getToken(MySQLStatementParser.KEY, 0); }
public TerminalNode PRIMARY() { return getToken(MySQLStatementParser.PRIMARY, 0); }
public KeyOrIndexContext keyOrIndex() {
return getRuleContext(KeyOrIndexContext.class,0);
}
public IndexNameContext indexName() {
return getRuleContext(IndexNameContext.class,0);
}
public TerminalNode CHECK() { return getToken(MySQLStatementParser.CHECK, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode CONSTRAINT() { return getToken(MySQLStatementParser.CONSTRAINT, 0); }
public TerminalNode COLUMN() { return getToken(MySQLStatementParser.COLUMN, 0); }
public RestrictContext restrict() {
return getRuleContext(RestrictContext.class,0);
}
public AlterTableDropContext(AlterListItemContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterTableDrop(this);
else return visitor.visitChildren(this);
}
}
public static class AlterConstraintContext extends AlterListItemContext {
public TerminalNode ALTER() { return getToken(MySQLStatementParser.ALTER, 0); }
public TerminalNode CONSTRAINT() { return getToken(MySQLStatementParser.CONSTRAINT, 0); }
public ConstraintNameContext constraintName() {
return getRuleContext(ConstraintNameContext.class,0);
}
public ConstraintEnforcementContext constraintEnforcement() {
return getRuleContext(ConstraintEnforcementContext.class,0);
}
public AlterConstraintContext(AlterListItemContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterConstraint(this);
else return visitor.visitChildren(this);
}
}
public static class AlterColumnContext extends AlterListItemContext {
public IdentifierContext columnInternalRef;
public TerminalNode ALTER() { return getToken(MySQLStatementParser.ALTER, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode SET() { return getToken(MySQLStatementParser.SET, 0); }
public TerminalNode DEFAULT() { return getToken(MySQLStatementParser.DEFAULT, 0); }
public VisibilityContext visibility() {
return getRuleContext(VisibilityContext.class,0);
}
public TerminalNode DROP() { return getToken(MySQLStatementParser.DROP, 0); }
public TerminalNode COLUMN() { return getToken(MySQLStatementParser.COLUMN, 0); }
public TerminalNode LP_() { return getToken(MySQLStatementParser.LP_, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode RP_() { return getToken(MySQLStatementParser.RP_, 0); }
public LiteralsContext literals() {
return getRuleContext(LiteralsContext.class,0);
}
public AlterColumnContext(AlterListItemContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterColumn(this);
else return visitor.visitChildren(this);
}
}
public static class AlterCheckContext extends AlterListItemContext {
public TerminalNode ALTER() { return getToken(MySQLStatementParser.ALTER, 0); }
public TerminalNode CHECK() { return getToken(MySQLStatementParser.CHECK, 0); }
public ConstraintNameContext constraintName() {
return getRuleContext(ConstraintNameContext.class,0);
}
public ConstraintEnforcementContext constraintEnforcement() {
return getRuleContext(ConstraintEnforcementContext.class,0);
}
public AlterCheckContext(AlterListItemContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterCheck(this);
else return visitor.visitChildren(this);
}
}
public static class ModifyColumnContext extends AlterListItemContext {
public IdentifierContext columnInternalRef;
public TerminalNode MODIFY() { return getToken(MySQLStatementParser.MODIFY, 0); }
public FieldDefinitionContext fieldDefinition() {
return getRuleContext(FieldDefinitionContext.class,0);
}
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode COLUMN() { return getToken(MySQLStatementParser.COLUMN, 0); }
public PlaceContext place() {
return getRuleContext(PlaceContext.class,0);
}
public ModifyColumnContext(AlterListItemContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitModifyColumn(this);
else return visitor.visitChildren(this);
}
}
public static class AlterIndexContext extends AlterListItemContext {
public TerminalNode ALTER() { return getToken(MySQLStatementParser.ALTER, 0); }
public TerminalNode INDEX() { return getToken(MySQLStatementParser.INDEX, 0); }
public IndexNameContext indexName() {
return getRuleContext(IndexNameContext.class,0);
}
public VisibilityContext visibility() {
return getRuleContext(VisibilityContext.class,0);
}
public AlterIndexContext(AlterListItemContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterIndex(this);
else return visitor.visitChildren(this);
}
}
public static class ChangeColumnContext extends AlterListItemContext {
public IdentifierContext columnInternalRef;
public TerminalNode CHANGE() { return getToken(MySQLStatementParser.CHANGE, 0); }
public ColumnDefinitionContext columnDefinition() {
return getRuleContext(ColumnDefinitionContext.class,0);
}
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode COLUMN() { return getToken(MySQLStatementParser.COLUMN, 0); }
public PlaceContext place() {
return getRuleContext(PlaceContext.class,0);
}
public ChangeColumnContext(AlterListItemContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitChangeColumn(this);
else return visitor.visitChildren(this);
}
}
public static class AlterTableOrderContext extends AlterListItemContext {
public TerminalNode ORDER() { return getToken(MySQLStatementParser.ORDER, 0); }
public TerminalNode BY() { return getToken(MySQLStatementParser.BY, 0); }
public AlterOrderListContext alterOrderList() {
return getRuleContext(AlterOrderListContext.class,0);
}
public AlterTableOrderContext(AlterListItemContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterTableOrder(this);
else return visitor.visitChildren(this);
}
}
public static class AlterConvertContext extends AlterListItemContext {
public TerminalNode CONVERT() { return getToken(MySQLStatementParser.CONVERT, 0); }
public TerminalNode TO() { return getToken(MySQLStatementParser.TO, 0); }
public CharsetContext charset() {
return getRuleContext(CharsetContext.class,0);
}
public CharsetNameContext charsetName() {
return getRuleContext(CharsetNameContext.class,0);
}
public CollateClauseContext collateClause() {
return getRuleContext(CollateClauseContext.class,0);
}
public AlterConvertContext(AlterListItemContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterConvert(this);
else return visitor.visitChildren(this);
}
}
public static class RenameIndexContext extends AlterListItemContext {
public TerminalNode RENAME() { return getToken(MySQLStatementParser.RENAME, 0); }
public KeyOrIndexContext keyOrIndex() {
return getRuleContext(KeyOrIndexContext.class,0);
}
public List indexName() {
return getRuleContexts(IndexNameContext.class);
}
public IndexNameContext indexName(int i) {
return getRuleContext(IndexNameContext.class,i);
}
public TerminalNode TO() { return getToken(MySQLStatementParser.TO, 0); }
public RenameIndexContext(AlterListItemContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitRenameIndex(this);
else return visitor.visitChildren(this);
}
}
public static class AlterTableForceContext extends AlterListItemContext {
public TerminalNode FORCE() { return getToken(MySQLStatementParser.FORCE, 0); }
public AlterTableForceContext(AlterListItemContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterTableForce(this);
else return visitor.visitChildren(this);
}
}
public static class AddTableConstraintContext extends AlterListItemContext {
public TerminalNode ADD() { return getToken(MySQLStatementParser.ADD, 0); }
public TableConstraintDefContext tableConstraintDef() {
return getRuleContext(TableConstraintDefContext.class,0);
}
public AddTableConstraintContext(AlterListItemContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAddTableConstraint(this);
else return visitor.visitChildren(this);
}
}
public static class RenameColumnContext extends AlterListItemContext {
public IdentifierContext columnInternalRef;
public TerminalNode RENAME() { return getToken(MySQLStatementParser.RENAME, 0); }
public TerminalNode COLUMN() { return getToken(MySQLStatementParser.COLUMN, 0); }
public TerminalNode TO() { return getToken(MySQLStatementParser.TO, 0); }
public List identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public RenameColumnContext(AlterListItemContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitRenameColumn(this);
else return visitor.visitChildren(this);
}
}
public static class DisableKeysContext extends AlterListItemContext {
public TerminalNode DISABLE() { return getToken(MySQLStatementParser.DISABLE, 0); }
public TerminalNode KEYS() { return getToken(MySQLStatementParser.KEYS, 0); }
public DisableKeysContext(AlterListItemContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitDisableKeys(this);
else return visitor.visitChildren(this);
}
}
public static class AlterRenameTableContext extends AlterListItemContext {
public TerminalNode RENAME() { return getToken(MySQLStatementParser.RENAME, 0); }
public TableNameContext tableName() {
return getRuleContext(TableNameContext.class,0);
}
public TerminalNode TO() { return getToken(MySQLStatementParser.TO, 0); }
public TerminalNode AS() { return getToken(MySQLStatementParser.AS, 0); }
public AlterRenameTableContext(AlterListItemContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterRenameTable(this);
else return visitor.visitChildren(this);
}
}
public final AlterListItemContext alterListItem() throws RecognitionException {
AlterListItemContext _localctx = new AlterListItemContext(_ctx, getState());
enterRule(_localctx, 30, RULE_alterListItem);
int _la;
try {
setState(1583);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,56,_ctx) ) {
case 1:
_localctx = new AddColumnContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(1460);
match(ADD);
setState(1462);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COLUMN) {
{
setState(1461);
match(COLUMN);
}
}
setState(1472);
_errHandler.sync(this);
switch (_input.LA(1)) {
case MAX:
case MIN:
case SUM:
case COUNT:
case GROUP_CONCAT:
case CAST:
case POSITION:
case SUBSTRING:
case SUBSTR:
case EXTRACT:
case TRIM:
case LAST_DAY:
case TRADITIONAL:
case TREE:
case MYSQL_MAIN:
case MYSQL_ADMIN:
case INSTANT:
case INPLACE:
case COPY:
case UL_BINARY:
case AUTOCOMMIT:
case INNODB:
case REDO_LOG:
case ACCOUNT:
case ACTION:
case ACTIVE:
case ADMIN:
case AFTER:
case AGAINST:
case AGGREGATE:
case ALGORITHM:
case ALWAYS:
case ANY:
case ARRAY:
case ASCII:
case AT:
case ATTRIBUTE:
case AUTOEXTEND_SIZE:
case AUTO_INCREMENT:
case AVG:
case BIT_XOR:
case AVG_ROW_LENGTH:
case BACKUP:
case BEGIN:
case BINLOG:
case BIT:
case BLOCK:
case BOOL:
case BOOLEAN:
case BTREE:
case BUCKETS:
case BYTE:
case CACHE:
case CASCADED:
case CATALOG_NAME:
case CHAIN:
case CHANGED:
case CHANNEL:
case CHARSET:
case CHECKSUM:
case CIPHER:
case CLASS_ORIGIN:
case CLIENT:
case CLONE:
case CLOSE:
case COALESCE:
case CODE:
case COLLATION:
case COLUMNS:
case COLUMN_FORMAT:
case COLUMN_NAME:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETION:
case COMPONENT:
case COMPRESSED:
case COMPRESSION:
case CONCURRENT:
case CONNECTION:
case CONSISTENT:
case CONSTRAINT_CATALOG:
case CONSTRAINT_NAME:
case CONSTRAINT_SCHEMA:
case CONTAINS:
case CONTEXT:
case CPU:
case CREATE:
case CURRENT:
case CURSOR_NAME:
case DATA:
case DATAFILE:
case DATE:
case DATETIME:
case DAY:
case DEALLOCATE:
case DEFAULT_AUTH:
case DEFINER:
case DEFINITION:
case DELAY_KEY_WRITE:
case DESCRIPTION:
case DIAGNOSTICS:
case DIRECTORY:
case DISABLE:
case DISCARD:
case DISK:
case DO:
case DUMPFILE:
case DUPLICATE:
case DYNAMIC:
case ENABLE:
case ENCRYPTION:
case END:
case ENDS:
case ENFORCED:
case ENGINE:
case ENGINES:
case ENGINE_ATTRIBUTE:
case ENUM:
case ERROR:
case ERRORS:
case ESCAPE:
case EVENT:
case EVENTS:
case EVERY:
case EXCHANGE:
case EXCLUDE:
case EXECUTE:
case EXPANSION:
case EXPIRE:
case EXPORT:
case EXTENDED:
case EXTENT_SIZE:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FAULTS:
case FILE:
case FILE_BLOCK_SIZE:
case FILTER:
case FIRST:
case FIXED:
case FLUSH:
case FOLLOWING:
case FOLLOWS:
case FORMAT:
case FOUND:
case FULL:
case GENERAL:
case GEOMETRY:
case GEOMETRYCOLLECTION:
case GET_FORMAT:
case GET_MASTER_PUBLIC_KEY:
case GLOBAL:
case GRANTS:
case GROUP_REPLICATION:
case HANDLER:
case HASH:
case HELP:
case HISTOGRAM:
case HISTORY:
case HOST:
case HOSTS:
case HOUR:
case IDENTIFIED:
case IGNORE_SERVER_IDS:
case IMPORT:
case INACTIVE:
case INDEXES:
case INITIAL_SIZE:
case INSERT_METHOD:
case INSTALL:
case INSTANCE:
case INVISIBLE:
case INVOKER:
case IO:
case IPC:
case ISOLATION:
case ISSUER:
case JSON:
case JSON_VALUE:
case KEY:
case KEY_BLOCK_SIZE:
case LANGUAGE:
case LAST:
case LAST_VALUE:
case LEAVES:
case LESS:
case LEVEL:
case LINESTRING:
case LIST:
case LOCAL:
case LOCKED:
case LOCKS:
case LOGFILE:
case LOGS:
case MASTER:
case MASTER_AUTO_POSITION:
case MASTER_COMPRESSION_ALGORITHM:
case MASTER_CONNECT_RETRY:
case MASTER_DELAY:
case MASTER_HEARTBEAT_PERIOD:
case MASTER_HOST:
case MASTER_LOG_FILE:
case MASTER_LOG_POS:
case MASTER_PASSWORD:
case MASTER_PORT:
case MASTER_PUBLIC_KEY_PATH:
case MASTER_RETRY_COUNT:
case MASTER_SERVER_ID:
case MASTER_SSL:
case MASTER_SSL_CA:
case MASTER_SSL_CAPATH:
case MASTER_SSL_CERT:
case MASTER_SSL_CIPHER:
case MASTER_SSL_CRL:
case MASTER_SSL_CRLPATH:
case MASTER_SSL_KEY:
case MASTER_TLS_CIPHERSUITES:
case MASTER_TLS_VERSION:
case MASTER_USER:
case MASTER_ZSTD_COMPRESSION_LEVEL:
case MAXVALUE:
case MAX_CONNECTIONS_PER_HOUR:
case MAX_QUERIES_PER_HOUR:
case MAX_ROWS:
case MAX_SIZE:
case MAX_UPDATES_PER_HOUR:
case MAX_USER_CONNECTIONS:
case MEDIUM:
case MEMBER:
case MEMORY:
case MERGE:
case MESSAGE_TEXT:
case MICROSECOND:
case MIGRATE:
case MINUTE:
case MIN_ROWS:
case MODE:
case MODIFY:
case MONTH:
case MULTILINESTRING:
case MULTIPOINT:
case MULTIPOLYGON:
case MUTEX:
case MYSQL_ERRNO:
case NAME:
case NAMES:
case NATIONAL:
case NCHAR:
case NDBCLUSTER:
case NESTED:
case NETWORK_NAMESPACE:
case NEVER:
case NEW:
case NEXT:
case NO:
case NODEGROUP:
case NONE:
case NOWAIT:
case NO_WAIT:
case NULLS:
case NUMBER:
case NVARCHAR:
case OFF:
case OFFSET:
case OJ:
case OLD:
case ONE:
case ONLY:
case OPEN:
case OPTIONAL:
case OPTIONS:
case ORDINALITY:
case ORGANIZATION:
case OTHERS:
case OWNER:
case PACK_KEYS:
case PAGE:
case PARSER:
case PARTIAL:
case PARTITIONING:
case PARTITIONS:
case PASSWORD:
case PASSWORD_LOCK_TIME:
case PATH:
case PERSIST:
case PERSIST_ONLY:
case PHASE:
case PLUGIN:
case PLUGINS:
case PLUGIN_DIR:
case POINT:
case POLYGON:
case PORT:
case PRECEDES:
case PRECEDING:
case PREPARE:
case PRESERVE:
case PREV:
case PRIMARY:
case PRIVILEGES:
case PRIVILEGE_CHECKS_USER:
case PROCESS:
case PROCESSLIST:
case PROFILE:
case PROFILES:
case PROXY:
case QUARTER:
case QUERY:
case QUICK:
case RANDOM:
case READ_ONLY:
case REBUILD:
case RECOVER:
case REDO_BUFFER_SIZE:
case REDUNDANT:
case REFERENCE:
case RELAY:
case RELAYLOG:
case RELAY_LOG_FILE:
case RELAY_LOG_POS:
case RELAY_THREAD:
case RELOAD:
case REMOVE:
case REORGANIZE:
case REPAIR:
case REPEATABLE:
case REPLICATE_DO_DB:
case REPLICATE_DO_TABLE:
case REPLICATE_IGNORE_DB:
case REPLICATE_IGNORE_TABLE:
case REPLICATE_REWRITE_DB:
case REPLICATE_WILD_DO_TABLE:
case REPLICATE_WILD_IGNORE_TABLE:
case REPLICATION:
case REQUIRE_ROW_FORMAT:
case RESET:
case RESOURCE:
case RESPECT:
case RESTART:
case RESTORE:
case RESUME:
case RETAIN:
case RETURNED_SQLSTATE:
case RETURNING:
case RETURNS:
case REUSE:
case REVERSE:
case ROLE:
case ROLLBACK:
case ROLLUP:
case ROTATE:
case ROUTINE:
case ROW_COUNT:
case ROW_FORMAT:
case RTREE:
case SAVEPOINT:
case SCHEDULE:
case SCHEMA_NAME:
case SECOND:
case SECONDARY:
case SECONDARY_ENGINE:
case SECONDARY_ENGINE_ATTRIBUTE:
case SECONDARY_LOAD:
case SECONDARY_UNLOAD:
case SECURITY:
case SERIAL:
case SERIALIZABLE:
case SERVER:
case SESSION:
case SHARE:
case SHUTDOWN:
case SIGNED:
case SIMPLE:
case SLAVE:
case SLOW:
case SNAPSHOT:
case SOCKET:
case SONAME:
case SOUNDS:
case SOURCE:
case SQL_AFTER_GTIDS:
case SQL_AFTER_MTS_GAPS:
case SQL_BEFORE_GTIDS:
case SQL_BUFFER_RESULT:
case SQL_NO_CACHE:
case SQL_THREAD:
case SRID:
case STACKED:
case START:
case STARTS:
case STATS_AUTO_RECALC:
case STATS_PERSISTENT:
case STATS_SAMPLE_PAGES:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STRING:
case SUBCLASS_ORIGIN:
case SUBJECT:
case SUBPARTITION:
case SUBPARTITIONS:
case SUPER:
case SUSPEND:
case SWAPS:
case SWITCHES:
case TABLES:
case TABLESPACE:
case TABLE_CHECKSUM:
case TABLE_NAME:
case TEMPORARY:
case TEMPTABLE:
case TEXT:
case THAN:
case THREAD_PRIORITY:
case TIES:
case TIME:
case TIMESTAMP:
case TIMESTAMP_ADD:
case TIMESTAMP_DIFF:
case TLS:
case TRANSACTION:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNBOUNDED:
case UNCOMMITTED:
case UNDEFINED:
case UNDOFILE:
case UNDO_BUFFER_SIZE:
case UNICODE:
case UNINSTALL:
case UNKNOWN:
case UNTIL:
case UPGRADE:
case USER:
case USER_RESOURCES:
case USE_FRM:
case UTC_DATE:
case UTC_TIME:
case UTC_TIMESTAMP:
case VALIDATION:
case VALUE:
case VARIABLES:
case VCPU:
case VIEW:
case VISIBLE:
case WAIT:
case WARNINGS:
case WEEK:
case WEIGHT_STRING:
case WITHOUT:
case WORK:
case WRAPPER:
case X509:
case XA:
case XID:
case XML:
case YEAR:
case DOUBLE_QUOTED_TEXT:
case UNDERSCORE_CHARSET:
case IDENTIFIER_:
{
setState(1464);
columnDefinition();
setState(1466);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,42,_ctx) ) {
case 1:
{
setState(1465);
place();
}
break;
}
}
break;
case LP_:
{
setState(1468);
match(LP_);
setState(1469);
tableElementList();
setState(1470);
match(RP_);
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 2:
_localctx = new AddTableConstraintContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(1474);
match(ADD);
setState(1475);
tableConstraintDef();
}
break;
case 3:
_localctx = new ChangeColumnContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(1476);
match(CHANGE);
setState(1478);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COLUMN) {
{
setState(1477);
match(COLUMN);
}
}
setState(1480);
((ChangeColumnContext)_localctx).columnInternalRef = identifier();
setState(1481);
columnDefinition();
setState(1483);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,45,_ctx) ) {
case 1:
{
setState(1482);
place();
}
break;
}
}
break;
case 4:
_localctx = new ModifyColumnContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(1485);
match(MODIFY);
setState(1487);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COLUMN) {
{
setState(1486);
match(COLUMN);
}
}
setState(1489);
((ModifyColumnContext)_localctx).columnInternalRef = identifier();
setState(1490);
fieldDefinition();
setState(1492);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,47,_ctx) ) {
case 1:
{
setState(1491);
place();
}
break;
}
}
break;
case 5:
_localctx = new AlterTableDropContext(_localctx);
enterOuterAlt(_localctx, 5);
{
setState(1494);
match(DROP);
setState(1514);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,50,_ctx) ) {
case 1:
{
setState(1496);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COLUMN) {
{
setState(1495);
match(COLUMN);
}
}
setState(1498);
((AlterTableDropContext)_localctx).columnInternalRef = identifier();
setState(1500);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==CASCADE || _la==RESTRICT) {
{
setState(1499);
restrict();
}
}
}
break;
case 2:
{
setState(1502);
match(FOREIGN);
setState(1503);
match(KEY);
setState(1504);
((AlterTableDropContext)_localctx).columnInternalRef = identifier();
}
break;
case 3:
{
setState(1505);
match(PRIMARY);
setState(1506);
match(KEY);
}
break;
case 4:
{
setState(1507);
keyOrIndex();
setState(1508);
indexName();
}
break;
case 5:
{
setState(1510);
match(CHECK);
setState(1511);
identifier();
}
break;
case 6:
{
setState(1512);
match(CONSTRAINT);
setState(1513);
identifier();
}
break;
}
}
break;
case 6:
_localctx = new DisableKeysContext(_localctx);
enterOuterAlt(_localctx, 6);
{
setState(1516);
match(DISABLE);
setState(1517);
match(KEYS);
}
break;
case 7:
_localctx = new EnableKeysContext(_localctx);
enterOuterAlt(_localctx, 7);
{
setState(1518);
match(ENABLE);
setState(1519);
match(KEYS);
}
break;
case 8:
_localctx = new AlterColumnContext(_localctx);
enterOuterAlt(_localctx, 8);
{
setState(1520);
match(ALTER);
setState(1522);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COLUMN) {
{
setState(1521);
match(COLUMN);
}
}
setState(1524);
((AlterColumnContext)_localctx).columnInternalRef = identifier();
setState(1538);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,53,_ctx) ) {
case 1:
{
setState(1525);
match(SET);
setState(1526);
match(DEFAULT);
setState(1532);
_errHandler.sync(this);
switch (_input.LA(1)) {
case LP_:
{
setState(1527);
match(LP_);
setState(1528);
expr(0);
setState(1529);
match(RP_);
}
break;
case PLUS_:
case MINUS_:
case UL_BINARY:
case DATE:
case FALSE:
case NULL:
case TIME:
case TIMESTAMP:
case TRUE:
case SINGLE_QUOTED_TEXT:
case DOUBLE_QUOTED_TEXT:
case NCHAR_TEXT:
case UNDERSCORE_CHARSET:
case NUMBER_:
case HEX_DIGIT_:
case BIT_NUM_:
{
setState(1531);
literals();
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 2:
{
setState(1534);
match(SET);
setState(1535);
visibility();
}
break;
case 3:
{
setState(1536);
match(DROP);
setState(1537);
match(DEFAULT);
}
break;
}
}
break;
case 9:
_localctx = new AlterIndexContext(_localctx);
enterOuterAlt(_localctx, 9);
{
setState(1540);
match(ALTER);
setState(1541);
match(INDEX);
setState(1542);
indexName();
setState(1543);
visibility();
}
break;
case 10:
_localctx = new AlterCheckContext(_localctx);
enterOuterAlt(_localctx, 10);
{
setState(1545);
match(ALTER);
setState(1546);
match(CHECK);
setState(1547);
constraintName();
setState(1548);
constraintEnforcement();
}
break;
case 11:
_localctx = new AlterConstraintContext(_localctx);
enterOuterAlt(_localctx, 11);
{
setState(1550);
match(ALTER);
setState(1551);
match(CONSTRAINT);
setState(1552);
constraintName();
setState(1553);
constraintEnforcement();
}
break;
case 12:
_localctx = new RenameColumnContext(_localctx);
enterOuterAlt(_localctx, 12);
{
setState(1555);
match(RENAME);
setState(1556);
match(COLUMN);
setState(1557);
((RenameColumnContext)_localctx).columnInternalRef = identifier();
setState(1558);
match(TO);
setState(1559);
identifier();
}
break;
case 13:
_localctx = new AlterRenameTableContext(_localctx);
enterOuterAlt(_localctx, 13);
{
setState(1561);
match(RENAME);
setState(1563);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==AS || _la==TO) {
{
setState(1562);
_la = _input.LA(1);
if ( !(_la==AS || _la==TO) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(1565);
tableName();
}
break;
case 14:
_localctx = new RenameIndexContext(_localctx);
enterOuterAlt(_localctx, 14);
{
setState(1566);
match(RENAME);
setState(1567);
keyOrIndex();
setState(1568);
indexName();
setState(1569);
match(TO);
setState(1570);
indexName();
}
break;
case 15:
_localctx = new AlterConvertContext(_localctx);
enterOuterAlt(_localctx, 15);
{
setState(1572);
match(CONVERT);
setState(1573);
match(TO);
setState(1574);
charset();
setState(1575);
charsetName();
setState(1577);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COLLATE) {
{
setState(1576);
collateClause();
}
}
}
break;
case 16:
_localctx = new AlterTableForceContext(_localctx);
enterOuterAlt(_localctx, 16);
{
setState(1579);
match(FORCE);
}
break;
case 17:
_localctx = new AlterTableOrderContext(_localctx);
enterOuterAlt(_localctx, 17);
{
setState(1580);
match(ORDER);
setState(1581);
match(BY);
setState(1582);
alterOrderList();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AlterOrderListContext extends ParserRuleContext {
public List identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public List direction() {
return getRuleContexts(DirectionContext.class);
}
public DirectionContext direction(int i) {
return getRuleContext(DirectionContext.class,i);
}
public List COMMA_() { return getTokens(MySQLStatementParser.COMMA_); }
public TerminalNode COMMA_(int i) {
return getToken(MySQLStatementParser.COMMA_, i);
}
public AlterOrderListContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterOrderList; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterOrderList(this);
else return visitor.visitChildren(this);
}
}
public final AlterOrderListContext alterOrderList() throws RecognitionException {
AlterOrderListContext _localctx = new AlterOrderListContext(_ctx, getState());
enterRule(_localctx, 32, RULE_alterOrderList);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(1585);
identifier();
setState(1587);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ASC || _la==DESC) {
{
setState(1586);
direction();
}
}
setState(1596);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,59,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(1589);
match(COMMA_);
setState(1590);
identifier();
setState(1592);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ASC || _la==DESC) {
{
setState(1591);
direction();
}
}
}
}
}
setState(1598);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,59,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class TableConstraintDefContext extends ParserRuleContext {
public KeyOrIndexContext keyOrIndex() {
return getRuleContext(KeyOrIndexContext.class,0);
}
public KeyListWithExpressionContext keyListWithExpression() {
return getRuleContext(KeyListWithExpressionContext.class,0);
}
public IndexNameContext indexName() {
return getRuleContext(IndexNameContext.class,0);
}
public IndexTypeClauseContext indexTypeClause() {
return getRuleContext(IndexTypeClauseContext.class,0);
}
public List indexOption() {
return getRuleContexts(IndexOptionContext.class);
}
public IndexOptionContext indexOption(int i) {
return getRuleContext(IndexOptionContext.class,i);
}
public TerminalNode FULLTEXT() { return getToken(MySQLStatementParser.FULLTEXT, 0); }
public List fulltextIndexOption() {
return getRuleContexts(FulltextIndexOptionContext.class);
}
public FulltextIndexOptionContext fulltextIndexOption(int i) {
return getRuleContext(FulltextIndexOptionContext.class,i);
}
public TerminalNode SPATIAL() { return getToken(MySQLStatementParser.SPATIAL, 0); }
public List commonIndexOption() {
return getRuleContexts(CommonIndexOptionContext.class);
}
public CommonIndexOptionContext commonIndexOption(int i) {
return getRuleContext(CommonIndexOptionContext.class,i);
}
public TerminalNode PRIMARY() { return getToken(MySQLStatementParser.PRIMARY, 0); }
public TerminalNode KEY() { return getToken(MySQLStatementParser.KEY, 0); }
public TerminalNode UNIQUE() { return getToken(MySQLStatementParser.UNIQUE, 0); }
public ConstraintClauseContext constraintClause() {
return getRuleContext(ConstraintClauseContext.class,0);
}
public TerminalNode FOREIGN() { return getToken(MySQLStatementParser.FOREIGN, 0); }
public KeyPartsContext keyParts() {
return getRuleContext(KeyPartsContext.class,0);
}
public ReferenceDefinitionContext referenceDefinition() {
return getRuleContext(ReferenceDefinitionContext.class,0);
}
public CheckConstraintContext checkConstraint() {
return getRuleContext(CheckConstraintContext.class,0);
}
public ConstraintEnforcementContext constraintEnforcement() {
return getRuleContext(ConstraintEnforcementContext.class,0);
}
public TableConstraintDefContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_tableConstraintDef; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitTableConstraintDef(this);
else return visitor.visitChildren(this);
}
}
public final TableConstraintDefContext tableConstraintDef() throws RecognitionException {
TableConstraintDefContext _localctx = new TableConstraintDefContext(_ctx, getState());
enterRule(_localctx, 34, RULE_tableConstraintDef);
int _la;
try {
int _alt;
setState(1683);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,79,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1599);
keyOrIndex();
setState(1601);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,60,_ctx) ) {
case 1:
{
setState(1600);
indexName();
}
break;
}
setState(1604);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==TYPE || _la==USING) {
{
setState(1603);
indexTypeClause();
}
}
setState(1606);
keyListWithExpression();
setState(1610);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,62,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(1607);
indexOption();
}
}
}
setState(1612);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,62,_ctx);
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1613);
match(FULLTEXT);
setState(1615);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,63,_ctx) ) {
case 1:
{
setState(1614);
keyOrIndex();
}
break;
}
setState(1618);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 49)) & ~0x3f) == 0 && ((1L << (_la - 49)) & ((1L << (MAX - 49)) | (1L << (MIN - 49)) | (1L << (SUM - 49)) | (1L << (COUNT - 49)) | (1L << (GROUP_CONCAT - 49)) | (1L << (CAST - 49)) | (1L << (POSITION - 49)) | (1L << (SUBSTRING - 49)) | (1L << (SUBSTR - 49)) | (1L << (EXTRACT - 49)) | (1L << (TRIM - 49)) | (1L << (LAST_DAY - 49)) | (1L << (TRADITIONAL - 49)) | (1L << (TREE - 49)) | (1L << (MYSQL_MAIN - 49)) | (1L << (MYSQL_ADMIN - 49)) | (1L << (INSTANT - 49)) | (1L << (INPLACE - 49)) | (1L << (COPY - 49)) | (1L << (UL_BINARY - 49)) | (1L << (AUTOCOMMIT - 49)) | (1L << (INNODB - 49)) | (1L << (REDO_LOG - 49)) | (1L << (ACCOUNT - 49)) | (1L << (ACTION - 49)) | (1L << (ACTIVE - 49)) | (1L << (ADMIN - 49)) | (1L << (AFTER - 49)) | (1L << (AGAINST - 49)) | (1L << (AGGREGATE - 49)) | (1L << (ALGORITHM - 49)) | (1L << (ALWAYS - 49)) | (1L << (ANY - 49)) | (1L << (ARRAY - 49)) | (1L << (ASCII - 49)) | (1L << (AT - 49)) | (1L << (ATTRIBUTE - 49)) | (1L << (AUTOEXTEND_SIZE - 49)) | (1L << (AUTO_INCREMENT - 49)) | (1L << (AVG - 49)) | (1L << (BIT_XOR - 49)) | (1L << (AVG_ROW_LENGTH - 49)) | (1L << (BACKUP - 49)) | (1L << (BEGIN - 49)) | (1L << (BINLOG - 49)) | (1L << (BIT - 49)) | (1L << (BLOCK - 49)) | (1L << (BOOL - 49)))) != 0) || ((((_la - 113)) & ~0x3f) == 0 && ((1L << (_la - 113)) & ((1L << (BOOLEAN - 113)) | (1L << (BTREE - 113)) | (1L << (BUCKETS - 113)) | (1L << (BYTE - 113)) | (1L << (CACHE - 113)) | (1L << (CASCADED - 113)) | (1L << (CATALOG_NAME - 113)) | (1L << (CHAIN - 113)) | (1L << (CHANGED - 113)) | (1L << (CHANNEL - 113)) | (1L << (CHARSET - 113)) | (1L << (CHECKSUM - 113)) | (1L << (CIPHER - 113)) | (1L << (CLASS_ORIGIN - 113)) | (1L << (CLIENT - 113)) | (1L << (CLONE - 113)) | (1L << (CLOSE - 113)) | (1L << (COALESCE - 113)) | (1L << (CODE - 113)) | (1L << (COLLATION - 113)) | (1L << (COLUMNS - 113)) | (1L << (COLUMN_FORMAT - 113)) | (1L << (COLUMN_NAME - 113)) | (1L << (COMMENT - 113)) | (1L << (COMMIT - 113)) | (1L << (COMMITTED - 113)) | (1L << (COMPACT - 113)) | (1L << (COMPLETION - 113)) | (1L << (COMPONENT - 113)) | (1L << (COMPRESSED - 113)) | (1L << (COMPRESSION - 113)) | (1L << (CONCURRENT - 113)) | (1L << (CONNECTION - 113)) | (1L << (CONSISTENT - 113)) | (1L << (CONSTRAINT_CATALOG - 113)) | (1L << (CONSTRAINT_NAME - 113)) | (1L << (CONSTRAINT_SCHEMA - 113)) | (1L << (CONTAINS - 113)) | (1L << (CONTEXT - 113)) | (1L << (CPU - 113)) | (1L << (CREATE - 113)) | (1L << (CURRENT - 113)))) != 0) || ((((_la - 178)) & ~0x3f) == 0 && ((1L << (_la - 178)) & ((1L << (CURSOR_NAME - 178)) | (1L << (DATA - 178)) | (1L << (DATAFILE - 178)) | (1L << (DATE - 178)) | (1L << (DATETIME - 178)) | (1L << (DAY - 178)) | (1L << (DEALLOCATE - 178)) | (1L << (DEFAULT_AUTH - 178)) | (1L << (DEFINER - 178)) | (1L << (DEFINITION - 178)) | (1L << (DELAY_KEY_WRITE - 178)) | (1L << (DESCRIPTION - 178)) | (1L << (DIAGNOSTICS - 178)) | (1L << (DIRECTORY - 178)) | (1L << (DISABLE - 178)) | (1L << (DISCARD - 178)) | (1L << (DISK - 178)) | (1L << (DO - 178)) | (1L << (DUMPFILE - 178)) | (1L << (DUPLICATE - 178)) | (1L << (DYNAMIC - 178)) | (1L << (ENABLE - 178)) | (1L << (ENCRYPTION - 178)) | (1L << (END - 178)) | (1L << (ENDS - 178)) | (1L << (ENFORCED - 178)) | (1L << (ENGINE - 178)) | (1L << (ENGINES - 178)) | (1L << (ENGINE_ATTRIBUTE - 178)) | (1L << (ENUM - 178)) | (1L << (ERROR - 178)) | (1L << (ERRORS - 178)) | (1L << (ESCAPE - 178)) | (1L << (EVENT - 178)) | (1L << (EVENTS - 178)) | (1L << (EVERY - 178)))) != 0) || ((((_la - 243)) & ~0x3f) == 0 && ((1L << (_la - 243)) & ((1L << (EXCHANGE - 243)) | (1L << (EXCLUDE - 243)) | (1L << (EXECUTE - 243)) | (1L << (EXPANSION - 243)) | (1L << (EXPIRE - 243)) | (1L << (EXPORT - 243)) | (1L << (EXTENDED - 243)) | (1L << (EXTENT_SIZE - 243)) | (1L << (FAILED_LOGIN_ATTEMPTS - 243)) | (1L << (FAST - 243)) | (1L << (FAULTS - 243)) | (1L << (FILE - 243)) | (1L << (FILE_BLOCK_SIZE - 243)) | (1L << (FILTER - 243)) | (1L << (FIRST - 243)) | (1L << (FIXED - 243)) | (1L << (FLUSH - 243)) | (1L << (FOLLOWING - 243)) | (1L << (FOLLOWS - 243)) | (1L << (FORMAT - 243)) | (1L << (FOUND - 243)) | (1L << (FULL - 243)) | (1L << (GENERAL - 243)) | (1L << (GEOMETRY - 243)) | (1L << (GEOMETRYCOLLECTION - 243)) | (1L << (GET_FORMAT - 243)) | (1L << (GET_MASTER_PUBLIC_KEY - 243)) | (1L << (GLOBAL - 243)) | (1L << (GRANTS - 243)) | (1L << (GROUP_REPLICATION - 243)) | (1L << (HANDLER - 243)) | (1L << (HASH - 243)) | (1L << (HELP - 243)) | (1L << (HISTOGRAM - 243)) | (1L << (HISTORY - 243)) | (1L << (HOST - 243)) | (1L << (HOSTS - 243)) | (1L << (HOUR - 243)))) != 0) || ((((_la - 307)) & ~0x3f) == 0 && ((1L << (_la - 307)) & ((1L << (IDENTIFIED - 307)) | (1L << (IGNORE_SERVER_IDS - 307)) | (1L << (IMPORT - 307)) | (1L << (INACTIVE - 307)) | (1L << (INDEXES - 307)) | (1L << (INITIAL_SIZE - 307)) | (1L << (INSERT_METHOD - 307)) | (1L << (INSTALL - 307)) | (1L << (INSTANCE - 307)) | (1L << (INVISIBLE - 307)) | (1L << (INVOKER - 307)) | (1L << (IO - 307)) | (1L << (IPC - 307)) | (1L << (ISOLATION - 307)) | (1L << (ISSUER - 307)) | (1L << (JSON - 307)) | (1L << (JSON_VALUE - 307)) | (1L << (KEY - 307)) | (1L << (KEY_BLOCK_SIZE - 307)) | (1L << (LANGUAGE - 307)) | (1L << (LAST - 307)) | (1L << (LAST_VALUE - 307)) | (1L << (LEAVES - 307)) | (1L << (LESS - 307)) | (1L << (LEVEL - 307)) | (1L << (LINESTRING - 307)) | (1L << (LIST - 307)))) != 0) || ((((_la - 371)) & ~0x3f) == 0 && ((1L << (_la - 371)) & ((1L << (LOCAL - 371)) | (1L << (LOCKED - 371)) | (1L << (LOCKS - 371)) | (1L << (LOGFILE - 371)) | (1L << (LOGS - 371)) | (1L << (MASTER - 371)) | (1L << (MASTER_AUTO_POSITION - 371)) | (1L << (MASTER_COMPRESSION_ALGORITHM - 371)) | (1L << (MASTER_CONNECT_RETRY - 371)) | (1L << (MASTER_DELAY - 371)) | (1L << (MASTER_HEARTBEAT_PERIOD - 371)) | (1L << (MASTER_HOST - 371)) | (1L << (MASTER_LOG_FILE - 371)) | (1L << (MASTER_LOG_POS - 371)) | (1L << (MASTER_PASSWORD - 371)) | (1L << (MASTER_PORT - 371)) | (1L << (MASTER_PUBLIC_KEY_PATH - 371)) | (1L << (MASTER_RETRY_COUNT - 371)) | (1L << (MASTER_SERVER_ID - 371)) | (1L << (MASTER_SSL - 371)) | (1L << (MASTER_SSL_CA - 371)) | (1L << (MASTER_SSL_CAPATH - 371)) | (1L << (MASTER_SSL_CERT - 371)) | (1L << (MASTER_SSL_CIPHER - 371)) | (1L << (MASTER_SSL_CRL - 371)) | (1L << (MASTER_SSL_CRLPATH - 371)) | (1L << (MASTER_SSL_KEY - 371)) | (1L << (MASTER_TLS_CIPHERSUITES - 371)) | (1L << (MASTER_TLS_VERSION - 371)) | (1L << (MASTER_USER - 371)) | (1L << (MASTER_ZSTD_COMPRESSION_LEVEL - 371)) | (1L << (MAXVALUE - 371)) | (1L << (MAX_CONNECTIONS_PER_HOUR - 371)) | (1L << (MAX_QUERIES_PER_HOUR - 371)) | (1L << (MAX_ROWS - 371)) | (1L << (MAX_SIZE - 371)) | (1L << (MAX_UPDATES_PER_HOUR - 371)) | (1L << (MAX_USER_CONNECTIONS - 371)) | (1L << (MEDIUM - 371)) | (1L << (MEMBER - 371)) | (1L << (MEMORY - 371)) | (1L << (MERGE - 371)) | (1L << (MESSAGE_TEXT - 371)) | (1L << (MICROSECOND - 371)) | (1L << (MIGRATE - 371)) | (1L << (MINUTE - 371)) | (1L << (MIN_ROWS - 371)))) != 0) || ((((_la - 436)) & ~0x3f) == 0 && ((1L << (_la - 436)) & ((1L << (MODE - 436)) | (1L << (MODIFY - 436)) | (1L << (MONTH - 436)) | (1L << (MULTILINESTRING - 436)) | (1L << (MULTIPOINT - 436)) | (1L << (MULTIPOLYGON - 436)) | (1L << (MUTEX - 436)) | (1L << (MYSQL_ERRNO - 436)) | (1L << (NAME - 436)) | (1L << (NAMES - 436)) | (1L << (NATIONAL - 436)) | (1L << (NCHAR - 436)) | (1L << (NDBCLUSTER - 436)) | (1L << (NESTED - 436)) | (1L << (NETWORK_NAMESPACE - 436)) | (1L << (NEVER - 436)) | (1L << (NEW - 436)) | (1L << (NEXT - 436)) | (1L << (NO - 436)) | (1L << (NODEGROUP - 436)) | (1L << (NONE - 436)) | (1L << (NOWAIT - 436)) | (1L << (NO_WAIT - 436)) | (1L << (NULLS - 436)) | (1L << (NUMBER - 436)) | (1L << (NVARCHAR - 436)) | (1L << (OFF - 436)) | (1L << (OFFSET - 436)) | (1L << (OJ - 436)) | (1L << (OLD - 436)) | (1L << (ONE - 436)) | (1L << (ONLY - 436)) | (1L << (OPEN - 436)) | (1L << (OPTIONAL - 436)) | (1L << (OPTIONS - 436)) | (1L << (ORDINALITY - 436)) | (1L << (ORGANIZATION - 436)) | (1L << (OTHERS - 436)) | (1L << (OWNER - 436)) | (1L << (PACK_KEYS - 436)) | (1L << (PAGE - 436)) | (1L << (PARSER - 436)) | (1L << (PARTIAL - 436)))) != 0) || ((((_la - 500)) & ~0x3f) == 0 && ((1L << (_la - 500)) & ((1L << (PARTITIONING - 500)) | (1L << (PARTITIONS - 500)) | (1L << (PASSWORD - 500)) | (1L << (PASSWORD_LOCK_TIME - 500)) | (1L << (PATH - 500)) | (1L << (PERSIST - 500)) | (1L << (PERSIST_ONLY - 500)) | (1L << (PHASE - 500)) | (1L << (PLUGIN - 500)) | (1L << (PLUGINS - 500)) | (1L << (PLUGIN_DIR - 500)) | (1L << (POINT - 500)) | (1L << (POLYGON - 500)) | (1L << (PORT - 500)) | (1L << (PRECEDES - 500)) | (1L << (PRECEDING - 500)) | (1L << (PREPARE - 500)) | (1L << (PRESERVE - 500)) | (1L << (PREV - 500)) | (1L << (PRIMARY - 500)) | (1L << (PRIVILEGES - 500)) | (1L << (PRIVILEGE_CHECKS_USER - 500)) | (1L << (PROCESS - 500)) | (1L << (PROCESSLIST - 500)) | (1L << (PROFILE - 500)) | (1L << (PROFILES - 500)) | (1L << (PROXY - 500)) | (1L << (QUARTER - 500)) | (1L << (QUERY - 500)) | (1L << (QUICK - 500)) | (1L << (RANDOM - 500)) | (1L << (READ_ONLY - 500)) | (1L << (REBUILD - 500)) | (1L << (RECOVER - 500)) | (1L << (REDO_BUFFER_SIZE - 500)) | (1L << (REDUNDANT - 500)) | (1L << (REFERENCE - 500)) | (1L << (RELAY - 500)) | (1L << (RELAYLOG - 500)) | (1L << (RELAY_LOG_FILE - 500)) | (1L << (RELAY_LOG_POS - 500)) | (1L << (RELAY_THREAD - 500)) | (1L << (RELOAD - 500)) | (1L << (REMOVE - 500)) | (1L << (REORGANIZE - 500)) | (1L << (REPAIR - 500)) | (1L << (REPEATABLE - 500)))) != 0) || ((((_la - 566)) & ~0x3f) == 0 && ((1L << (_la - 566)) & ((1L << (REPLICATE_DO_DB - 566)) | (1L << (REPLICATE_DO_TABLE - 566)) | (1L << (REPLICATE_IGNORE_DB - 566)) | (1L << (REPLICATE_IGNORE_TABLE - 566)) | (1L << (REPLICATE_REWRITE_DB - 566)) | (1L << (REPLICATE_WILD_DO_TABLE - 566)) | (1L << (REPLICATE_WILD_IGNORE_TABLE - 566)) | (1L << (REPLICATION - 566)) | (1L << (REQUIRE_ROW_FORMAT - 566)) | (1L << (RESET - 566)) | (1L << (RESOURCE - 566)) | (1L << (RESPECT - 566)) | (1L << (RESTART - 566)) | (1L << (RESTORE - 566)) | (1L << (RESUME - 566)) | (1L << (RETAIN - 566)) | (1L << (RETURNED_SQLSTATE - 566)) | (1L << (RETURNING - 566)) | (1L << (RETURNS - 566)) | (1L << (REUSE - 566)) | (1L << (REVERSE - 566)) | (1L << (ROLE - 566)) | (1L << (ROLLBACK - 566)) | (1L << (ROLLUP - 566)) | (1L << (ROTATE - 566)) | (1L << (ROUTINE - 566)) | (1L << (ROW_COUNT - 566)) | (1L << (ROW_FORMAT - 566)) | (1L << (RTREE - 566)) | (1L << (SAVEPOINT - 566)) | (1L << (SCHEDULE - 566)) | (1L << (SCHEMA_NAME - 566)) | (1L << (SECOND - 566)) | (1L << (SECONDARY - 566)) | (1L << (SECONDARY_ENGINE - 566)) | (1L << (SECONDARY_ENGINE_ATTRIBUTE - 566)) | (1L << (SECONDARY_LOAD - 566)) | (1L << (SECONDARY_UNLOAD - 566)) | (1L << (SECURITY - 566)) | (1L << (SERIAL - 566)) | (1L << (SERIALIZABLE - 566)) | (1L << (SERVER - 566)) | (1L << (SESSION - 566)) | (1L << (SHARE - 566)) | (1L << (SHUTDOWN - 566)))) != 0) || ((((_la - 630)) & ~0x3f) == 0 && ((1L << (_la - 630)) & ((1L << (SIGNED - 630)) | (1L << (SIMPLE - 630)) | (1L << (SLAVE - 630)) | (1L << (SLOW - 630)) | (1L << (SNAPSHOT - 630)) | (1L << (SOCKET - 630)) | (1L << (SONAME - 630)) | (1L << (SOUNDS - 630)) | (1L << (SOURCE - 630)) | (1L << (SQL_AFTER_GTIDS - 630)) | (1L << (SQL_AFTER_MTS_GAPS - 630)) | (1L << (SQL_BEFORE_GTIDS - 630)) | (1L << (SQL_BUFFER_RESULT - 630)) | (1L << (SQL_NO_CACHE - 630)) | (1L << (SQL_THREAD - 630)) | (1L << (SRID - 630)) | (1L << (STACKED - 630)) | (1L << (START - 630)) | (1L << (STARTS - 630)) | (1L << (STATS_AUTO_RECALC - 630)) | (1L << (STATS_PERSISTENT - 630)) | (1L << (STATS_SAMPLE_PAGES - 630)) | (1L << (STATUS - 630)) | (1L << (STOP - 630)) | (1L << (STORAGE - 630)) | (1L << (STREAM - 630)) | (1L << (STRING - 630)) | (1L << (SUBCLASS_ORIGIN - 630)) | (1L << (SUBJECT - 630)) | (1L << (SUBPARTITION - 630)) | (1L << (SUBPARTITIONS - 630)) | (1L << (SUPER - 630)) | (1L << (SUSPEND - 630)) | (1L << (SWAPS - 630)) | (1L << (SWITCHES - 630)) | (1L << (TABLES - 630)) | (1L << (TABLESPACE - 630)) | (1L << (TABLE_CHECKSUM - 630)) | (1L << (TABLE_NAME - 630)) | (1L << (TEMPORARY - 630)) | (1L << (TEMPTABLE - 630)) | (1L << (TEXT - 630)) | (1L << (THAN - 630)) | (1L << (THREAD_PRIORITY - 630)) | (1L << (TIES - 630)))) != 0) || ((((_la - 694)) & ~0x3f) == 0 && ((1L << (_la - 694)) & ((1L << (TIME - 694)) | (1L << (TIMESTAMP - 694)) | (1L << (TIMESTAMP_ADD - 694)) | (1L << (TIMESTAMP_DIFF - 694)) | (1L << (TLS - 694)) | (1L << (TRANSACTION - 694)) | (1L << (TRIGGERS - 694)) | (1L << (TRUNCATE - 694)) | (1L << (TYPE - 694)) | (1L << (TYPES - 694)) | (1L << (UNBOUNDED - 694)) | (1L << (UNCOMMITTED - 694)) | (1L << (UNDEFINED - 694)) | (1L << (UNDOFILE - 694)) | (1L << (UNDO_BUFFER_SIZE - 694)) | (1L << (UNICODE - 694)) | (1L << (UNINSTALL - 694)) | (1L << (UNKNOWN - 694)) | (1L << (UNTIL - 694)) | (1L << (UPGRADE - 694)) | (1L << (USER - 694)) | (1L << (USER_RESOURCES - 694)) | (1L << (USE_FRM - 694)) | (1L << (UTC_DATE - 694)) | (1L << (UTC_TIME - 694)) | (1L << (UTC_TIMESTAMP - 694)) | (1L << (VALIDATION - 694)) | (1L << (VALUE - 694)) | (1L << (VARIABLES - 694)) | (1L << (VCPU - 694)) | (1L << (VIEW - 694)) | (1L << (VISIBLE - 694)) | (1L << (WAIT - 694)) | (1L << (WARNINGS - 694)) | (1L << (WEEK - 694)) | (1L << (WEIGHT_STRING - 694)) | (1L << (WITHOUT - 694)))) != 0) || ((((_la - 758)) & ~0x3f) == 0 && ((1L << (_la - 758)) & ((1L << (WORK - 758)) | (1L << (WRAPPER - 758)) | (1L << (X509 - 758)) | (1L << (XA - 758)) | (1L << (XID - 758)) | (1L << (XML - 758)) | (1L << (YEAR - 758)) | (1L << (DOUBLE_QUOTED_TEXT - 758)) | (1L << (UNDERSCORE_CHARSET - 758)) | (1L << (IDENTIFIER_ - 758)))) != 0)) {
{
setState(1617);
indexName();
}
}
setState(1620);
keyListWithExpression();
setState(1624);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,65,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(1621);
fulltextIndexOption();
}
}
}
setState(1626);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,65,_ctx);
}
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(1627);
match(SPATIAL);
setState(1629);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,66,_ctx) ) {
case 1:
{
setState(1628);
keyOrIndex();
}
break;
}
setState(1632);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 49)) & ~0x3f) == 0 && ((1L << (_la - 49)) & ((1L << (MAX - 49)) | (1L << (MIN - 49)) | (1L << (SUM - 49)) | (1L << (COUNT - 49)) | (1L << (GROUP_CONCAT - 49)) | (1L << (CAST - 49)) | (1L << (POSITION - 49)) | (1L << (SUBSTRING - 49)) | (1L << (SUBSTR - 49)) | (1L << (EXTRACT - 49)) | (1L << (TRIM - 49)) | (1L << (LAST_DAY - 49)) | (1L << (TRADITIONAL - 49)) | (1L << (TREE - 49)) | (1L << (MYSQL_MAIN - 49)) | (1L << (MYSQL_ADMIN - 49)) | (1L << (INSTANT - 49)) | (1L << (INPLACE - 49)) | (1L << (COPY - 49)) | (1L << (UL_BINARY - 49)) | (1L << (AUTOCOMMIT - 49)) | (1L << (INNODB - 49)) | (1L << (REDO_LOG - 49)) | (1L << (ACCOUNT - 49)) | (1L << (ACTION - 49)) | (1L << (ACTIVE - 49)) | (1L << (ADMIN - 49)) | (1L << (AFTER - 49)) | (1L << (AGAINST - 49)) | (1L << (AGGREGATE - 49)) | (1L << (ALGORITHM - 49)) | (1L << (ALWAYS - 49)) | (1L << (ANY - 49)) | (1L << (ARRAY - 49)) | (1L << (ASCII - 49)) | (1L << (AT - 49)) | (1L << (ATTRIBUTE - 49)) | (1L << (AUTOEXTEND_SIZE - 49)) | (1L << (AUTO_INCREMENT - 49)) | (1L << (AVG - 49)) | (1L << (BIT_XOR - 49)) | (1L << (AVG_ROW_LENGTH - 49)) | (1L << (BACKUP - 49)) | (1L << (BEGIN - 49)) | (1L << (BINLOG - 49)) | (1L << (BIT - 49)) | (1L << (BLOCK - 49)) | (1L << (BOOL - 49)))) != 0) || ((((_la - 113)) & ~0x3f) == 0 && ((1L << (_la - 113)) & ((1L << (BOOLEAN - 113)) | (1L << (BTREE - 113)) | (1L << (BUCKETS - 113)) | (1L << (BYTE - 113)) | (1L << (CACHE - 113)) | (1L << (CASCADED - 113)) | (1L << (CATALOG_NAME - 113)) | (1L << (CHAIN - 113)) | (1L << (CHANGED - 113)) | (1L << (CHANNEL - 113)) | (1L << (CHARSET - 113)) | (1L << (CHECKSUM - 113)) | (1L << (CIPHER - 113)) | (1L << (CLASS_ORIGIN - 113)) | (1L << (CLIENT - 113)) | (1L << (CLONE - 113)) | (1L << (CLOSE - 113)) | (1L << (COALESCE - 113)) | (1L << (CODE - 113)) | (1L << (COLLATION - 113)) | (1L << (COLUMNS - 113)) | (1L << (COLUMN_FORMAT - 113)) | (1L << (COLUMN_NAME - 113)) | (1L << (COMMENT - 113)) | (1L << (COMMIT - 113)) | (1L << (COMMITTED - 113)) | (1L << (COMPACT - 113)) | (1L << (COMPLETION - 113)) | (1L << (COMPONENT - 113)) | (1L << (COMPRESSED - 113)) | (1L << (COMPRESSION - 113)) | (1L << (CONCURRENT - 113)) | (1L << (CONNECTION - 113)) | (1L << (CONSISTENT - 113)) | (1L << (CONSTRAINT_CATALOG - 113)) | (1L << (CONSTRAINT_NAME - 113)) | (1L << (CONSTRAINT_SCHEMA - 113)) | (1L << (CONTAINS - 113)) | (1L << (CONTEXT - 113)) | (1L << (CPU - 113)) | (1L << (CREATE - 113)) | (1L << (CURRENT - 113)))) != 0) || ((((_la - 178)) & ~0x3f) == 0 && ((1L << (_la - 178)) & ((1L << (CURSOR_NAME - 178)) | (1L << (DATA - 178)) | (1L << (DATAFILE - 178)) | (1L << (DATE - 178)) | (1L << (DATETIME - 178)) | (1L << (DAY - 178)) | (1L << (DEALLOCATE - 178)) | (1L << (DEFAULT_AUTH - 178)) | (1L << (DEFINER - 178)) | (1L << (DEFINITION - 178)) | (1L << (DELAY_KEY_WRITE - 178)) | (1L << (DESCRIPTION - 178)) | (1L << (DIAGNOSTICS - 178)) | (1L << (DIRECTORY - 178)) | (1L << (DISABLE - 178)) | (1L << (DISCARD - 178)) | (1L << (DISK - 178)) | (1L << (DO - 178)) | (1L << (DUMPFILE - 178)) | (1L << (DUPLICATE - 178)) | (1L << (DYNAMIC - 178)) | (1L << (ENABLE - 178)) | (1L << (ENCRYPTION - 178)) | (1L << (END - 178)) | (1L << (ENDS - 178)) | (1L << (ENFORCED - 178)) | (1L << (ENGINE - 178)) | (1L << (ENGINES - 178)) | (1L << (ENGINE_ATTRIBUTE - 178)) | (1L << (ENUM - 178)) | (1L << (ERROR - 178)) | (1L << (ERRORS - 178)) | (1L << (ESCAPE - 178)) | (1L << (EVENT - 178)) | (1L << (EVENTS - 178)) | (1L << (EVERY - 178)))) != 0) || ((((_la - 243)) & ~0x3f) == 0 && ((1L << (_la - 243)) & ((1L << (EXCHANGE - 243)) | (1L << (EXCLUDE - 243)) | (1L << (EXECUTE - 243)) | (1L << (EXPANSION - 243)) | (1L << (EXPIRE - 243)) | (1L << (EXPORT - 243)) | (1L << (EXTENDED - 243)) | (1L << (EXTENT_SIZE - 243)) | (1L << (FAILED_LOGIN_ATTEMPTS - 243)) | (1L << (FAST - 243)) | (1L << (FAULTS - 243)) | (1L << (FILE - 243)) | (1L << (FILE_BLOCK_SIZE - 243)) | (1L << (FILTER - 243)) | (1L << (FIRST - 243)) | (1L << (FIXED - 243)) | (1L << (FLUSH - 243)) | (1L << (FOLLOWING - 243)) | (1L << (FOLLOWS - 243)) | (1L << (FORMAT - 243)) | (1L << (FOUND - 243)) | (1L << (FULL - 243)) | (1L << (GENERAL - 243)) | (1L << (GEOMETRY - 243)) | (1L << (GEOMETRYCOLLECTION - 243)) | (1L << (GET_FORMAT - 243)) | (1L << (GET_MASTER_PUBLIC_KEY - 243)) | (1L << (GLOBAL - 243)) | (1L << (GRANTS - 243)) | (1L << (GROUP_REPLICATION - 243)) | (1L << (HANDLER - 243)) | (1L << (HASH - 243)) | (1L << (HELP - 243)) | (1L << (HISTOGRAM - 243)) | (1L << (HISTORY - 243)) | (1L << (HOST - 243)) | (1L << (HOSTS - 243)) | (1L << (HOUR - 243)))) != 0) || ((((_la - 307)) & ~0x3f) == 0 && ((1L << (_la - 307)) & ((1L << (IDENTIFIED - 307)) | (1L << (IGNORE_SERVER_IDS - 307)) | (1L << (IMPORT - 307)) | (1L << (INACTIVE - 307)) | (1L << (INDEXES - 307)) | (1L << (INITIAL_SIZE - 307)) | (1L << (INSERT_METHOD - 307)) | (1L << (INSTALL - 307)) | (1L << (INSTANCE - 307)) | (1L << (INVISIBLE - 307)) | (1L << (INVOKER - 307)) | (1L << (IO - 307)) | (1L << (IPC - 307)) | (1L << (ISOLATION - 307)) | (1L << (ISSUER - 307)) | (1L << (JSON - 307)) | (1L << (JSON_VALUE - 307)) | (1L << (KEY - 307)) | (1L << (KEY_BLOCK_SIZE - 307)) | (1L << (LANGUAGE - 307)) | (1L << (LAST - 307)) | (1L << (LAST_VALUE - 307)) | (1L << (LEAVES - 307)) | (1L << (LESS - 307)) | (1L << (LEVEL - 307)) | (1L << (LINESTRING - 307)) | (1L << (LIST - 307)))) != 0) || ((((_la - 371)) & ~0x3f) == 0 && ((1L << (_la - 371)) & ((1L << (LOCAL - 371)) | (1L << (LOCKED - 371)) | (1L << (LOCKS - 371)) | (1L << (LOGFILE - 371)) | (1L << (LOGS - 371)) | (1L << (MASTER - 371)) | (1L << (MASTER_AUTO_POSITION - 371)) | (1L << (MASTER_COMPRESSION_ALGORITHM - 371)) | (1L << (MASTER_CONNECT_RETRY - 371)) | (1L << (MASTER_DELAY - 371)) | (1L << (MASTER_HEARTBEAT_PERIOD - 371)) | (1L << (MASTER_HOST - 371)) | (1L << (MASTER_LOG_FILE - 371)) | (1L << (MASTER_LOG_POS - 371)) | (1L << (MASTER_PASSWORD - 371)) | (1L << (MASTER_PORT - 371)) | (1L << (MASTER_PUBLIC_KEY_PATH - 371)) | (1L << (MASTER_RETRY_COUNT - 371)) | (1L << (MASTER_SERVER_ID - 371)) | (1L << (MASTER_SSL - 371)) | (1L << (MASTER_SSL_CA - 371)) | (1L << (MASTER_SSL_CAPATH - 371)) | (1L << (MASTER_SSL_CERT - 371)) | (1L << (MASTER_SSL_CIPHER - 371)) | (1L << (MASTER_SSL_CRL - 371)) | (1L << (MASTER_SSL_CRLPATH - 371)) | (1L << (MASTER_SSL_KEY - 371)) | (1L << (MASTER_TLS_CIPHERSUITES - 371)) | (1L << (MASTER_TLS_VERSION - 371)) | (1L << (MASTER_USER - 371)) | (1L << (MASTER_ZSTD_COMPRESSION_LEVEL - 371)) | (1L << (MAXVALUE - 371)) | (1L << (MAX_CONNECTIONS_PER_HOUR - 371)) | (1L << (MAX_QUERIES_PER_HOUR - 371)) | (1L << (MAX_ROWS - 371)) | (1L << (MAX_SIZE - 371)) | (1L << (MAX_UPDATES_PER_HOUR - 371)) | (1L << (MAX_USER_CONNECTIONS - 371)) | (1L << (MEDIUM - 371)) | (1L << (MEMBER - 371)) | (1L << (MEMORY - 371)) | (1L << (MERGE - 371)) | (1L << (MESSAGE_TEXT - 371)) | (1L << (MICROSECOND - 371)) | (1L << (MIGRATE - 371)) | (1L << (MINUTE - 371)) | (1L << (MIN_ROWS - 371)))) != 0) || ((((_la - 436)) & ~0x3f) == 0 && ((1L << (_la - 436)) & ((1L << (MODE - 436)) | (1L << (MODIFY - 436)) | (1L << (MONTH - 436)) | (1L << (MULTILINESTRING - 436)) | (1L << (MULTIPOINT - 436)) | (1L << (MULTIPOLYGON - 436)) | (1L << (MUTEX - 436)) | (1L << (MYSQL_ERRNO - 436)) | (1L << (NAME - 436)) | (1L << (NAMES - 436)) | (1L << (NATIONAL - 436)) | (1L << (NCHAR - 436)) | (1L << (NDBCLUSTER - 436)) | (1L << (NESTED - 436)) | (1L << (NETWORK_NAMESPACE - 436)) | (1L << (NEVER - 436)) | (1L << (NEW - 436)) | (1L << (NEXT - 436)) | (1L << (NO - 436)) | (1L << (NODEGROUP - 436)) | (1L << (NONE - 436)) | (1L << (NOWAIT - 436)) | (1L << (NO_WAIT - 436)) | (1L << (NULLS - 436)) | (1L << (NUMBER - 436)) | (1L << (NVARCHAR - 436)) | (1L << (OFF - 436)) | (1L << (OFFSET - 436)) | (1L << (OJ - 436)) | (1L << (OLD - 436)) | (1L << (ONE - 436)) | (1L << (ONLY - 436)) | (1L << (OPEN - 436)) | (1L << (OPTIONAL - 436)) | (1L << (OPTIONS - 436)) | (1L << (ORDINALITY - 436)) | (1L << (ORGANIZATION - 436)) | (1L << (OTHERS - 436)) | (1L << (OWNER - 436)) | (1L << (PACK_KEYS - 436)) | (1L << (PAGE - 436)) | (1L << (PARSER - 436)) | (1L << (PARTIAL - 436)))) != 0) || ((((_la - 500)) & ~0x3f) == 0 && ((1L << (_la - 500)) & ((1L << (PARTITIONING - 500)) | (1L << (PARTITIONS - 500)) | (1L << (PASSWORD - 500)) | (1L << (PASSWORD_LOCK_TIME - 500)) | (1L << (PATH - 500)) | (1L << (PERSIST - 500)) | (1L << (PERSIST_ONLY - 500)) | (1L << (PHASE - 500)) | (1L << (PLUGIN - 500)) | (1L << (PLUGINS - 500)) | (1L << (PLUGIN_DIR - 500)) | (1L << (POINT - 500)) | (1L << (POLYGON - 500)) | (1L << (PORT - 500)) | (1L << (PRECEDES - 500)) | (1L << (PRECEDING - 500)) | (1L << (PREPARE - 500)) | (1L << (PRESERVE - 500)) | (1L << (PREV - 500)) | (1L << (PRIMARY - 500)) | (1L << (PRIVILEGES - 500)) | (1L << (PRIVILEGE_CHECKS_USER - 500)) | (1L << (PROCESS - 500)) | (1L << (PROCESSLIST - 500)) | (1L << (PROFILE - 500)) | (1L << (PROFILES - 500)) | (1L << (PROXY - 500)) | (1L << (QUARTER - 500)) | (1L << (QUERY - 500)) | (1L << (QUICK - 500)) | (1L << (RANDOM - 500)) | (1L << (READ_ONLY - 500)) | (1L << (REBUILD - 500)) | (1L << (RECOVER - 500)) | (1L << (REDO_BUFFER_SIZE - 500)) | (1L << (REDUNDANT - 500)) | (1L << (REFERENCE - 500)) | (1L << (RELAY - 500)) | (1L << (RELAYLOG - 500)) | (1L << (RELAY_LOG_FILE - 500)) | (1L << (RELAY_LOG_POS - 500)) | (1L << (RELAY_THREAD - 500)) | (1L << (RELOAD - 500)) | (1L << (REMOVE - 500)) | (1L << (REORGANIZE - 500)) | (1L << (REPAIR - 500)) | (1L << (REPEATABLE - 500)))) != 0) || ((((_la - 566)) & ~0x3f) == 0 && ((1L << (_la - 566)) & ((1L << (REPLICATE_DO_DB - 566)) | (1L << (REPLICATE_DO_TABLE - 566)) | (1L << (REPLICATE_IGNORE_DB - 566)) | (1L << (REPLICATE_IGNORE_TABLE - 566)) | (1L << (REPLICATE_REWRITE_DB - 566)) | (1L << (REPLICATE_WILD_DO_TABLE - 566)) | (1L << (REPLICATE_WILD_IGNORE_TABLE - 566)) | (1L << (REPLICATION - 566)) | (1L << (REQUIRE_ROW_FORMAT - 566)) | (1L << (RESET - 566)) | (1L << (RESOURCE - 566)) | (1L << (RESPECT - 566)) | (1L << (RESTART - 566)) | (1L << (RESTORE - 566)) | (1L << (RESUME - 566)) | (1L << (RETAIN - 566)) | (1L << (RETURNED_SQLSTATE - 566)) | (1L << (RETURNING - 566)) | (1L << (RETURNS - 566)) | (1L << (REUSE - 566)) | (1L << (REVERSE - 566)) | (1L << (ROLE - 566)) | (1L << (ROLLBACK - 566)) | (1L << (ROLLUP - 566)) | (1L << (ROTATE - 566)) | (1L << (ROUTINE - 566)) | (1L << (ROW_COUNT - 566)) | (1L << (ROW_FORMAT - 566)) | (1L << (RTREE - 566)) | (1L << (SAVEPOINT - 566)) | (1L << (SCHEDULE - 566)) | (1L << (SCHEMA_NAME - 566)) | (1L << (SECOND - 566)) | (1L << (SECONDARY - 566)) | (1L << (SECONDARY_ENGINE - 566)) | (1L << (SECONDARY_ENGINE_ATTRIBUTE - 566)) | (1L << (SECONDARY_LOAD - 566)) | (1L << (SECONDARY_UNLOAD - 566)) | (1L << (SECURITY - 566)) | (1L << (SERIAL - 566)) | (1L << (SERIALIZABLE - 566)) | (1L << (SERVER - 566)) | (1L << (SESSION - 566)) | (1L << (SHARE - 566)) | (1L << (SHUTDOWN - 566)))) != 0) || ((((_la - 630)) & ~0x3f) == 0 && ((1L << (_la - 630)) & ((1L << (SIGNED - 630)) | (1L << (SIMPLE - 630)) | (1L << (SLAVE - 630)) | (1L << (SLOW - 630)) | (1L << (SNAPSHOT - 630)) | (1L << (SOCKET - 630)) | (1L << (SONAME - 630)) | (1L << (SOUNDS - 630)) | (1L << (SOURCE - 630)) | (1L << (SQL_AFTER_GTIDS - 630)) | (1L << (SQL_AFTER_MTS_GAPS - 630)) | (1L << (SQL_BEFORE_GTIDS - 630)) | (1L << (SQL_BUFFER_RESULT - 630)) | (1L << (SQL_NO_CACHE - 630)) | (1L << (SQL_THREAD - 630)) | (1L << (SRID - 630)) | (1L << (STACKED - 630)) | (1L << (START - 630)) | (1L << (STARTS - 630)) | (1L << (STATS_AUTO_RECALC - 630)) | (1L << (STATS_PERSISTENT - 630)) | (1L << (STATS_SAMPLE_PAGES - 630)) | (1L << (STATUS - 630)) | (1L << (STOP - 630)) | (1L << (STORAGE - 630)) | (1L << (STREAM - 630)) | (1L << (STRING - 630)) | (1L << (SUBCLASS_ORIGIN - 630)) | (1L << (SUBJECT - 630)) | (1L << (SUBPARTITION - 630)) | (1L << (SUBPARTITIONS - 630)) | (1L << (SUPER - 630)) | (1L << (SUSPEND - 630)) | (1L << (SWAPS - 630)) | (1L << (SWITCHES - 630)) | (1L << (TABLES - 630)) | (1L << (TABLESPACE - 630)) | (1L << (TABLE_CHECKSUM - 630)) | (1L << (TABLE_NAME - 630)) | (1L << (TEMPORARY - 630)) | (1L << (TEMPTABLE - 630)) | (1L << (TEXT - 630)) | (1L << (THAN - 630)) | (1L << (THREAD_PRIORITY - 630)) | (1L << (TIES - 630)))) != 0) || ((((_la - 694)) & ~0x3f) == 0 && ((1L << (_la - 694)) & ((1L << (TIME - 694)) | (1L << (TIMESTAMP - 694)) | (1L << (TIMESTAMP_ADD - 694)) | (1L << (TIMESTAMP_DIFF - 694)) | (1L << (TLS - 694)) | (1L << (TRANSACTION - 694)) | (1L << (TRIGGERS - 694)) | (1L << (TRUNCATE - 694)) | (1L << (TYPE - 694)) | (1L << (TYPES - 694)) | (1L << (UNBOUNDED - 694)) | (1L << (UNCOMMITTED - 694)) | (1L << (UNDEFINED - 694)) | (1L << (UNDOFILE - 694)) | (1L << (UNDO_BUFFER_SIZE - 694)) | (1L << (UNICODE - 694)) | (1L << (UNINSTALL - 694)) | (1L << (UNKNOWN - 694)) | (1L << (UNTIL - 694)) | (1L << (UPGRADE - 694)) | (1L << (USER - 694)) | (1L << (USER_RESOURCES - 694)) | (1L << (USE_FRM - 694)) | (1L << (UTC_DATE - 694)) | (1L << (UTC_TIME - 694)) | (1L << (UTC_TIMESTAMP - 694)) | (1L << (VALIDATION - 694)) | (1L << (VALUE - 694)) | (1L << (VARIABLES - 694)) | (1L << (VCPU - 694)) | (1L << (VIEW - 694)) | (1L << (VISIBLE - 694)) | (1L << (WAIT - 694)) | (1L << (WARNINGS - 694)) | (1L << (WEEK - 694)) | (1L << (WEIGHT_STRING - 694)) | (1L << (WITHOUT - 694)))) != 0) || ((((_la - 758)) & ~0x3f) == 0 && ((1L << (_la - 758)) & ((1L << (WORK - 758)) | (1L << (WRAPPER - 758)) | (1L << (X509 - 758)) | (1L << (XA - 758)) | (1L << (XID - 758)) | (1L << (XML - 758)) | (1L << (YEAR - 758)) | (1L << (DOUBLE_QUOTED_TEXT - 758)) | (1L << (UNDERSCORE_CHARSET - 758)) | (1L << (IDENTIFIER_ - 758)))) != 0)) {
{
setState(1631);
indexName();
}
}
setState(1634);
keyListWithExpression();
setState(1638);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,68,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(1635);
commonIndexOption();
}
}
}
setState(1640);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,68,_ctx);
}
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(1642);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==CONSTRAINT) {
{
setState(1641);
constraintClause();
}
}
setState(1650);
_errHandler.sync(this);
switch (_input.LA(1)) {
case PRIMARY:
{
setState(1644);
match(PRIMARY);
setState(1645);
match(KEY);
}
break;
case UNIQUE:
{
setState(1646);
match(UNIQUE);
setState(1648);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,70,_ctx) ) {
case 1:
{
setState(1647);
keyOrIndex();
}
break;
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(1653);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,72,_ctx) ) {
case 1:
{
setState(1652);
indexName();
}
break;
}
setState(1656);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==TYPE || _la==USING) {
{
setState(1655);
indexTypeClause();
}
}
setState(1658);
keyListWithExpression();
setState(1662);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,74,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(1659);
indexOption();
}
}
}
setState(1664);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,74,_ctx);
}
}
break;
case 5:
enterOuterAlt(_localctx, 5);
{
setState(1666);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==CONSTRAINT) {
{
setState(1665);
constraintClause();
}
}
setState(1668);
match(FOREIGN);
setState(1669);
match(KEY);
setState(1671);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 49)) & ~0x3f) == 0 && ((1L << (_la - 49)) & ((1L << (MAX - 49)) | (1L << (MIN - 49)) | (1L << (SUM - 49)) | (1L << (COUNT - 49)) | (1L << (GROUP_CONCAT - 49)) | (1L << (CAST - 49)) | (1L << (POSITION - 49)) | (1L << (SUBSTRING - 49)) | (1L << (SUBSTR - 49)) | (1L << (EXTRACT - 49)) | (1L << (TRIM - 49)) | (1L << (LAST_DAY - 49)) | (1L << (TRADITIONAL - 49)) | (1L << (TREE - 49)) | (1L << (MYSQL_MAIN - 49)) | (1L << (MYSQL_ADMIN - 49)) | (1L << (INSTANT - 49)) | (1L << (INPLACE - 49)) | (1L << (COPY - 49)) | (1L << (UL_BINARY - 49)) | (1L << (AUTOCOMMIT - 49)) | (1L << (INNODB - 49)) | (1L << (REDO_LOG - 49)) | (1L << (ACCOUNT - 49)) | (1L << (ACTION - 49)) | (1L << (ACTIVE - 49)) | (1L << (ADMIN - 49)) | (1L << (AFTER - 49)) | (1L << (AGAINST - 49)) | (1L << (AGGREGATE - 49)) | (1L << (ALGORITHM - 49)) | (1L << (ALWAYS - 49)) | (1L << (ANY - 49)) | (1L << (ARRAY - 49)) | (1L << (ASCII - 49)) | (1L << (AT - 49)) | (1L << (ATTRIBUTE - 49)) | (1L << (AUTOEXTEND_SIZE - 49)) | (1L << (AUTO_INCREMENT - 49)) | (1L << (AVG - 49)) | (1L << (BIT_XOR - 49)) | (1L << (AVG_ROW_LENGTH - 49)) | (1L << (BACKUP - 49)) | (1L << (BEGIN - 49)) | (1L << (BINLOG - 49)) | (1L << (BIT - 49)) | (1L << (BLOCK - 49)) | (1L << (BOOL - 49)))) != 0) || ((((_la - 113)) & ~0x3f) == 0 && ((1L << (_la - 113)) & ((1L << (BOOLEAN - 113)) | (1L << (BTREE - 113)) | (1L << (BUCKETS - 113)) | (1L << (BYTE - 113)) | (1L << (CACHE - 113)) | (1L << (CASCADED - 113)) | (1L << (CATALOG_NAME - 113)) | (1L << (CHAIN - 113)) | (1L << (CHANGED - 113)) | (1L << (CHANNEL - 113)) | (1L << (CHARSET - 113)) | (1L << (CHECKSUM - 113)) | (1L << (CIPHER - 113)) | (1L << (CLASS_ORIGIN - 113)) | (1L << (CLIENT - 113)) | (1L << (CLONE - 113)) | (1L << (CLOSE - 113)) | (1L << (COALESCE - 113)) | (1L << (CODE - 113)) | (1L << (COLLATION - 113)) | (1L << (COLUMNS - 113)) | (1L << (COLUMN_FORMAT - 113)) | (1L << (COLUMN_NAME - 113)) | (1L << (COMMENT - 113)) | (1L << (COMMIT - 113)) | (1L << (COMMITTED - 113)) | (1L << (COMPACT - 113)) | (1L << (COMPLETION - 113)) | (1L << (COMPONENT - 113)) | (1L << (COMPRESSED - 113)) | (1L << (COMPRESSION - 113)) | (1L << (CONCURRENT - 113)) | (1L << (CONNECTION - 113)) | (1L << (CONSISTENT - 113)) | (1L << (CONSTRAINT_CATALOG - 113)) | (1L << (CONSTRAINT_NAME - 113)) | (1L << (CONSTRAINT_SCHEMA - 113)) | (1L << (CONTAINS - 113)) | (1L << (CONTEXT - 113)) | (1L << (CPU - 113)) | (1L << (CREATE - 113)) | (1L << (CURRENT - 113)))) != 0) || ((((_la - 178)) & ~0x3f) == 0 && ((1L << (_la - 178)) & ((1L << (CURSOR_NAME - 178)) | (1L << (DATA - 178)) | (1L << (DATAFILE - 178)) | (1L << (DATE - 178)) | (1L << (DATETIME - 178)) | (1L << (DAY - 178)) | (1L << (DEALLOCATE - 178)) | (1L << (DEFAULT_AUTH - 178)) | (1L << (DEFINER - 178)) | (1L << (DEFINITION - 178)) | (1L << (DELAY_KEY_WRITE - 178)) | (1L << (DESCRIPTION - 178)) | (1L << (DIAGNOSTICS - 178)) | (1L << (DIRECTORY - 178)) | (1L << (DISABLE - 178)) | (1L << (DISCARD - 178)) | (1L << (DISK - 178)) | (1L << (DO - 178)) | (1L << (DUMPFILE - 178)) | (1L << (DUPLICATE - 178)) | (1L << (DYNAMIC - 178)) | (1L << (ENABLE - 178)) | (1L << (ENCRYPTION - 178)) | (1L << (END - 178)) | (1L << (ENDS - 178)) | (1L << (ENFORCED - 178)) | (1L << (ENGINE - 178)) | (1L << (ENGINES - 178)) | (1L << (ENGINE_ATTRIBUTE - 178)) | (1L << (ENUM - 178)) | (1L << (ERROR - 178)) | (1L << (ERRORS - 178)) | (1L << (ESCAPE - 178)) | (1L << (EVENT - 178)) | (1L << (EVENTS - 178)) | (1L << (EVERY - 178)))) != 0) || ((((_la - 243)) & ~0x3f) == 0 && ((1L << (_la - 243)) & ((1L << (EXCHANGE - 243)) | (1L << (EXCLUDE - 243)) | (1L << (EXECUTE - 243)) | (1L << (EXPANSION - 243)) | (1L << (EXPIRE - 243)) | (1L << (EXPORT - 243)) | (1L << (EXTENDED - 243)) | (1L << (EXTENT_SIZE - 243)) | (1L << (FAILED_LOGIN_ATTEMPTS - 243)) | (1L << (FAST - 243)) | (1L << (FAULTS - 243)) | (1L << (FILE - 243)) | (1L << (FILE_BLOCK_SIZE - 243)) | (1L << (FILTER - 243)) | (1L << (FIRST - 243)) | (1L << (FIXED - 243)) | (1L << (FLUSH - 243)) | (1L << (FOLLOWING - 243)) | (1L << (FOLLOWS - 243)) | (1L << (FORMAT - 243)) | (1L << (FOUND - 243)) | (1L << (FULL - 243)) | (1L << (GENERAL - 243)) | (1L << (GEOMETRY - 243)) | (1L << (GEOMETRYCOLLECTION - 243)) | (1L << (GET_FORMAT - 243)) | (1L << (GET_MASTER_PUBLIC_KEY - 243)) | (1L << (GLOBAL - 243)) | (1L << (GRANTS - 243)) | (1L << (GROUP_REPLICATION - 243)) | (1L << (HANDLER - 243)) | (1L << (HASH - 243)) | (1L << (HELP - 243)) | (1L << (HISTOGRAM - 243)) | (1L << (HISTORY - 243)) | (1L << (HOST - 243)) | (1L << (HOSTS - 243)) | (1L << (HOUR - 243)))) != 0) || ((((_la - 307)) & ~0x3f) == 0 && ((1L << (_la - 307)) & ((1L << (IDENTIFIED - 307)) | (1L << (IGNORE_SERVER_IDS - 307)) | (1L << (IMPORT - 307)) | (1L << (INACTIVE - 307)) | (1L << (INDEXES - 307)) | (1L << (INITIAL_SIZE - 307)) | (1L << (INSERT_METHOD - 307)) | (1L << (INSTALL - 307)) | (1L << (INSTANCE - 307)) | (1L << (INVISIBLE - 307)) | (1L << (INVOKER - 307)) | (1L << (IO - 307)) | (1L << (IPC - 307)) | (1L << (ISOLATION - 307)) | (1L << (ISSUER - 307)) | (1L << (JSON - 307)) | (1L << (JSON_VALUE - 307)) | (1L << (KEY - 307)) | (1L << (KEY_BLOCK_SIZE - 307)) | (1L << (LANGUAGE - 307)) | (1L << (LAST - 307)) | (1L << (LAST_VALUE - 307)) | (1L << (LEAVES - 307)) | (1L << (LESS - 307)) | (1L << (LEVEL - 307)) | (1L << (LINESTRING - 307)) | (1L << (LIST - 307)))) != 0) || ((((_la - 371)) & ~0x3f) == 0 && ((1L << (_la - 371)) & ((1L << (LOCAL - 371)) | (1L << (LOCKED - 371)) | (1L << (LOCKS - 371)) | (1L << (LOGFILE - 371)) | (1L << (LOGS - 371)) | (1L << (MASTER - 371)) | (1L << (MASTER_AUTO_POSITION - 371)) | (1L << (MASTER_COMPRESSION_ALGORITHM - 371)) | (1L << (MASTER_CONNECT_RETRY - 371)) | (1L << (MASTER_DELAY - 371)) | (1L << (MASTER_HEARTBEAT_PERIOD - 371)) | (1L << (MASTER_HOST - 371)) | (1L << (MASTER_LOG_FILE - 371)) | (1L << (MASTER_LOG_POS - 371)) | (1L << (MASTER_PASSWORD - 371)) | (1L << (MASTER_PORT - 371)) | (1L << (MASTER_PUBLIC_KEY_PATH - 371)) | (1L << (MASTER_RETRY_COUNT - 371)) | (1L << (MASTER_SERVER_ID - 371)) | (1L << (MASTER_SSL - 371)) | (1L << (MASTER_SSL_CA - 371)) | (1L << (MASTER_SSL_CAPATH - 371)) | (1L << (MASTER_SSL_CERT - 371)) | (1L << (MASTER_SSL_CIPHER - 371)) | (1L << (MASTER_SSL_CRL - 371)) | (1L << (MASTER_SSL_CRLPATH - 371)) | (1L << (MASTER_SSL_KEY - 371)) | (1L << (MASTER_TLS_CIPHERSUITES - 371)) | (1L << (MASTER_TLS_VERSION - 371)) | (1L << (MASTER_USER - 371)) | (1L << (MASTER_ZSTD_COMPRESSION_LEVEL - 371)) | (1L << (MAXVALUE - 371)) | (1L << (MAX_CONNECTIONS_PER_HOUR - 371)) | (1L << (MAX_QUERIES_PER_HOUR - 371)) | (1L << (MAX_ROWS - 371)) | (1L << (MAX_SIZE - 371)) | (1L << (MAX_UPDATES_PER_HOUR - 371)) | (1L << (MAX_USER_CONNECTIONS - 371)) | (1L << (MEDIUM - 371)) | (1L << (MEMBER - 371)) | (1L << (MEMORY - 371)) | (1L << (MERGE - 371)) | (1L << (MESSAGE_TEXT - 371)) | (1L << (MICROSECOND - 371)) | (1L << (MIGRATE - 371)) | (1L << (MINUTE - 371)) | (1L << (MIN_ROWS - 371)))) != 0) || ((((_la - 436)) & ~0x3f) == 0 && ((1L << (_la - 436)) & ((1L << (MODE - 436)) | (1L << (MODIFY - 436)) | (1L << (MONTH - 436)) | (1L << (MULTILINESTRING - 436)) | (1L << (MULTIPOINT - 436)) | (1L << (MULTIPOLYGON - 436)) | (1L << (MUTEX - 436)) | (1L << (MYSQL_ERRNO - 436)) | (1L << (NAME - 436)) | (1L << (NAMES - 436)) | (1L << (NATIONAL - 436)) | (1L << (NCHAR - 436)) | (1L << (NDBCLUSTER - 436)) | (1L << (NESTED - 436)) | (1L << (NETWORK_NAMESPACE - 436)) | (1L << (NEVER - 436)) | (1L << (NEW - 436)) | (1L << (NEXT - 436)) | (1L << (NO - 436)) | (1L << (NODEGROUP - 436)) | (1L << (NONE - 436)) | (1L << (NOWAIT - 436)) | (1L << (NO_WAIT - 436)) | (1L << (NULLS - 436)) | (1L << (NUMBER - 436)) | (1L << (NVARCHAR - 436)) | (1L << (OFF - 436)) | (1L << (OFFSET - 436)) | (1L << (OJ - 436)) | (1L << (OLD - 436)) | (1L << (ONE - 436)) | (1L << (ONLY - 436)) | (1L << (OPEN - 436)) | (1L << (OPTIONAL - 436)) | (1L << (OPTIONS - 436)) | (1L << (ORDINALITY - 436)) | (1L << (ORGANIZATION - 436)) | (1L << (OTHERS - 436)) | (1L << (OWNER - 436)) | (1L << (PACK_KEYS - 436)) | (1L << (PAGE - 436)) | (1L << (PARSER - 436)) | (1L << (PARTIAL - 436)))) != 0) || ((((_la - 500)) & ~0x3f) == 0 && ((1L << (_la - 500)) & ((1L << (PARTITIONING - 500)) | (1L << (PARTITIONS - 500)) | (1L << (PASSWORD - 500)) | (1L << (PASSWORD_LOCK_TIME - 500)) | (1L << (PATH - 500)) | (1L << (PERSIST - 500)) | (1L << (PERSIST_ONLY - 500)) | (1L << (PHASE - 500)) | (1L << (PLUGIN - 500)) | (1L << (PLUGINS - 500)) | (1L << (PLUGIN_DIR - 500)) | (1L << (POINT - 500)) | (1L << (POLYGON - 500)) | (1L << (PORT - 500)) | (1L << (PRECEDES - 500)) | (1L << (PRECEDING - 500)) | (1L << (PREPARE - 500)) | (1L << (PRESERVE - 500)) | (1L << (PREV - 500)) | (1L << (PRIMARY - 500)) | (1L << (PRIVILEGES - 500)) | (1L << (PRIVILEGE_CHECKS_USER - 500)) | (1L << (PROCESS - 500)) | (1L << (PROCESSLIST - 500)) | (1L << (PROFILE - 500)) | (1L << (PROFILES - 500)) | (1L << (PROXY - 500)) | (1L << (QUARTER - 500)) | (1L << (QUERY - 500)) | (1L << (QUICK - 500)) | (1L << (RANDOM - 500)) | (1L << (READ_ONLY - 500)) | (1L << (REBUILD - 500)) | (1L << (RECOVER - 500)) | (1L << (REDO_BUFFER_SIZE - 500)) | (1L << (REDUNDANT - 500)) | (1L << (REFERENCE - 500)) | (1L << (RELAY - 500)) | (1L << (RELAYLOG - 500)) | (1L << (RELAY_LOG_FILE - 500)) | (1L << (RELAY_LOG_POS - 500)) | (1L << (RELAY_THREAD - 500)) | (1L << (RELOAD - 500)) | (1L << (REMOVE - 500)) | (1L << (REORGANIZE - 500)) | (1L << (REPAIR - 500)) | (1L << (REPEATABLE - 500)))) != 0) || ((((_la - 566)) & ~0x3f) == 0 && ((1L << (_la - 566)) & ((1L << (REPLICATE_DO_DB - 566)) | (1L << (REPLICATE_DO_TABLE - 566)) | (1L << (REPLICATE_IGNORE_DB - 566)) | (1L << (REPLICATE_IGNORE_TABLE - 566)) | (1L << (REPLICATE_REWRITE_DB - 566)) | (1L << (REPLICATE_WILD_DO_TABLE - 566)) | (1L << (REPLICATE_WILD_IGNORE_TABLE - 566)) | (1L << (REPLICATION - 566)) | (1L << (REQUIRE_ROW_FORMAT - 566)) | (1L << (RESET - 566)) | (1L << (RESOURCE - 566)) | (1L << (RESPECT - 566)) | (1L << (RESTART - 566)) | (1L << (RESTORE - 566)) | (1L << (RESUME - 566)) | (1L << (RETAIN - 566)) | (1L << (RETURNED_SQLSTATE - 566)) | (1L << (RETURNING - 566)) | (1L << (RETURNS - 566)) | (1L << (REUSE - 566)) | (1L << (REVERSE - 566)) | (1L << (ROLE - 566)) | (1L << (ROLLBACK - 566)) | (1L << (ROLLUP - 566)) | (1L << (ROTATE - 566)) | (1L << (ROUTINE - 566)) | (1L << (ROW_COUNT - 566)) | (1L << (ROW_FORMAT - 566)) | (1L << (RTREE - 566)) | (1L << (SAVEPOINT - 566)) | (1L << (SCHEDULE - 566)) | (1L << (SCHEMA_NAME - 566)) | (1L << (SECOND - 566)) | (1L << (SECONDARY - 566)) | (1L << (SECONDARY_ENGINE - 566)) | (1L << (SECONDARY_ENGINE_ATTRIBUTE - 566)) | (1L << (SECONDARY_LOAD - 566)) | (1L << (SECONDARY_UNLOAD - 566)) | (1L << (SECURITY - 566)) | (1L << (SERIAL - 566)) | (1L << (SERIALIZABLE - 566)) | (1L << (SERVER - 566)) | (1L << (SESSION - 566)) | (1L << (SHARE - 566)) | (1L << (SHUTDOWN - 566)))) != 0) || ((((_la - 630)) & ~0x3f) == 0 && ((1L << (_la - 630)) & ((1L << (SIGNED - 630)) | (1L << (SIMPLE - 630)) | (1L << (SLAVE - 630)) | (1L << (SLOW - 630)) | (1L << (SNAPSHOT - 630)) | (1L << (SOCKET - 630)) | (1L << (SONAME - 630)) | (1L << (SOUNDS - 630)) | (1L << (SOURCE - 630)) | (1L << (SQL_AFTER_GTIDS - 630)) | (1L << (SQL_AFTER_MTS_GAPS - 630)) | (1L << (SQL_BEFORE_GTIDS - 630)) | (1L << (SQL_BUFFER_RESULT - 630)) | (1L << (SQL_NO_CACHE - 630)) | (1L << (SQL_THREAD - 630)) | (1L << (SRID - 630)) | (1L << (STACKED - 630)) | (1L << (START - 630)) | (1L << (STARTS - 630)) | (1L << (STATS_AUTO_RECALC - 630)) | (1L << (STATS_PERSISTENT - 630)) | (1L << (STATS_SAMPLE_PAGES - 630)) | (1L << (STATUS - 630)) | (1L << (STOP - 630)) | (1L << (STORAGE - 630)) | (1L << (STREAM - 630)) | (1L << (STRING - 630)) | (1L << (SUBCLASS_ORIGIN - 630)) | (1L << (SUBJECT - 630)) | (1L << (SUBPARTITION - 630)) | (1L << (SUBPARTITIONS - 630)) | (1L << (SUPER - 630)) | (1L << (SUSPEND - 630)) | (1L << (SWAPS - 630)) | (1L << (SWITCHES - 630)) | (1L << (TABLES - 630)) | (1L << (TABLESPACE - 630)) | (1L << (TABLE_CHECKSUM - 630)) | (1L << (TABLE_NAME - 630)) | (1L << (TEMPORARY - 630)) | (1L << (TEMPTABLE - 630)) | (1L << (TEXT - 630)) | (1L << (THAN - 630)) | (1L << (THREAD_PRIORITY - 630)) | (1L << (TIES - 630)))) != 0) || ((((_la - 694)) & ~0x3f) == 0 && ((1L << (_la - 694)) & ((1L << (TIME - 694)) | (1L << (TIMESTAMP - 694)) | (1L << (TIMESTAMP_ADD - 694)) | (1L << (TIMESTAMP_DIFF - 694)) | (1L << (TLS - 694)) | (1L << (TRANSACTION - 694)) | (1L << (TRIGGERS - 694)) | (1L << (TRUNCATE - 694)) | (1L << (TYPE - 694)) | (1L << (TYPES - 694)) | (1L << (UNBOUNDED - 694)) | (1L << (UNCOMMITTED - 694)) | (1L << (UNDEFINED - 694)) | (1L << (UNDOFILE - 694)) | (1L << (UNDO_BUFFER_SIZE - 694)) | (1L << (UNICODE - 694)) | (1L << (UNINSTALL - 694)) | (1L << (UNKNOWN - 694)) | (1L << (UNTIL - 694)) | (1L << (UPGRADE - 694)) | (1L << (USER - 694)) | (1L << (USER_RESOURCES - 694)) | (1L << (USE_FRM - 694)) | (1L << (UTC_DATE - 694)) | (1L << (UTC_TIME - 694)) | (1L << (UTC_TIMESTAMP - 694)) | (1L << (VALIDATION - 694)) | (1L << (VALUE - 694)) | (1L << (VARIABLES - 694)) | (1L << (VCPU - 694)) | (1L << (VIEW - 694)) | (1L << (VISIBLE - 694)) | (1L << (WAIT - 694)) | (1L << (WARNINGS - 694)) | (1L << (WEEK - 694)) | (1L << (WEIGHT_STRING - 694)) | (1L << (WITHOUT - 694)))) != 0) || ((((_la - 758)) & ~0x3f) == 0 && ((1L << (_la - 758)) & ((1L << (WORK - 758)) | (1L << (WRAPPER - 758)) | (1L << (X509 - 758)) | (1L << (XA - 758)) | (1L << (XID - 758)) | (1L << (XML - 758)) | (1L << (YEAR - 758)) | (1L << (DOUBLE_QUOTED_TEXT - 758)) | (1L << (UNDERSCORE_CHARSET - 758)) | (1L << (IDENTIFIER_ - 758)))) != 0)) {
{
setState(1670);
indexName();
}
}
setState(1673);
keyParts();
setState(1674);
referenceDefinition();
}
break;
case 6:
enterOuterAlt(_localctx, 6);
{
setState(1677);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==CONSTRAINT) {
{
setState(1676);
constraintClause();
}
}
setState(1679);
checkConstraint();
setState(1681);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,78,_ctx) ) {
case 1:
{
setState(1680);
constraintEnforcement();
}
break;
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AlterCommandsModifierListContext extends ParserRuleContext {
public List alterCommandsModifier() {
return getRuleContexts(AlterCommandsModifierContext.class);
}
public AlterCommandsModifierContext alterCommandsModifier(int i) {
return getRuleContext(AlterCommandsModifierContext.class,i);
}
public List COMMA_() { return getTokens(MySQLStatementParser.COMMA_); }
public TerminalNode COMMA_(int i) {
return getToken(MySQLStatementParser.COMMA_, i);
}
public AlterCommandsModifierListContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterCommandsModifierList; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterCommandsModifierList(this);
else return visitor.visitChildren(this);
}
}
public final AlterCommandsModifierListContext alterCommandsModifierList() throws RecognitionException {
AlterCommandsModifierListContext _localctx = new AlterCommandsModifierListContext(_ctx, getState());
enterRule(_localctx, 36, RULE_alterCommandsModifierList);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(1685);
alterCommandsModifier();
setState(1690);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,80,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(1686);
match(COMMA_);
setState(1687);
alterCommandsModifier();
}
}
}
setState(1692);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,80,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AlterCommandsModifierContext extends ParserRuleContext {
public AlterAlgorithmOptionContext alterAlgorithmOption() {
return getRuleContext(AlterAlgorithmOptionContext.class,0);
}
public AlterLockOptionContext alterLockOption() {
return getRuleContext(AlterLockOptionContext.class,0);
}
public WithValidationContext withValidation() {
return getRuleContext(WithValidationContext.class,0);
}
public AlterCommandsModifierContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterCommandsModifier; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterCommandsModifier(this);
else return visitor.visitChildren(this);
}
}
public final AlterCommandsModifierContext alterCommandsModifier() throws RecognitionException {
AlterCommandsModifierContext _localctx = new AlterCommandsModifierContext(_ctx, getState());
enterRule(_localctx, 38, RULE_alterCommandsModifier);
try {
setState(1696);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ALGORITHM:
enterOuterAlt(_localctx, 1);
{
setState(1693);
alterAlgorithmOption();
}
break;
case LOCK:
enterOuterAlt(_localctx, 2);
{
setState(1694);
alterLockOption();
}
break;
case WITH:
case WITHOUT:
enterOuterAlt(_localctx, 3);
{
setState(1695);
withValidation();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class WithValidationContext extends ParserRuleContext {
public TerminalNode VALIDATION() { return getToken(MySQLStatementParser.VALIDATION, 0); }
public TerminalNode WITH() { return getToken(MySQLStatementParser.WITH, 0); }
public TerminalNode WITHOUT() { return getToken(MySQLStatementParser.WITHOUT, 0); }
public WithValidationContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_withValidation; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitWithValidation(this);
else return visitor.visitChildren(this);
}
}
public final WithValidationContext withValidation() throws RecognitionException {
WithValidationContext _localctx = new WithValidationContext(_ctx, getState());
enterRule(_localctx, 40, RULE_withValidation);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1698);
_la = _input.LA(1);
if ( !(_la==WITH || _la==WITHOUT) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(1699);
match(VALIDATION);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class StandaloneAlterCommandsContext extends ParserRuleContext {
public TerminalNode DISCARD() { return getToken(MySQLStatementParser.DISCARD, 0); }
public TerminalNode TABLESPACE() { return getToken(MySQLStatementParser.TABLESPACE, 0); }
public TerminalNode IMPORT() { return getToken(MySQLStatementParser.IMPORT, 0); }
public AlterPartitionContext alterPartition() {
return getRuleContext(AlterPartitionContext.class,0);
}
public TerminalNode SECONDARY_LOAD() { return getToken(MySQLStatementParser.SECONDARY_LOAD, 0); }
public TerminalNode SECONDARY_UNLOAD() { return getToken(MySQLStatementParser.SECONDARY_UNLOAD, 0); }
public StandaloneAlterCommandsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_standaloneAlterCommands; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitStandaloneAlterCommands(this);
else return visitor.visitChildren(this);
}
}
public final StandaloneAlterCommandsContext standaloneAlterCommands() throws RecognitionException {
StandaloneAlterCommandsContext _localctx = new StandaloneAlterCommandsContext(_ctx, getState());
enterRule(_localctx, 42, RULE_standaloneAlterCommands);
int _la;
try {
setState(1707);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,82,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1701);
match(DISCARD);
setState(1702);
match(TABLESPACE);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1703);
match(IMPORT);
setState(1704);
match(TABLESPACE);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(1705);
alterPartition();
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(1706);
_la = _input.LA(1);
if ( !(_la==SECONDARY_LOAD || _la==SECONDARY_UNLOAD) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AlterPartitionContext extends ParserRuleContext {
public TerminalNode ADD() { return getToken(MySQLStatementParser.ADD, 0); }
public TerminalNode PARTITION() { return getToken(MySQLStatementParser.PARTITION, 0); }
public PartitionDefinitionsContext partitionDefinitions() {
return getRuleContext(PartitionDefinitionsContext.class,0);
}
public TerminalNode PARTITIONS() { return getToken(MySQLStatementParser.PARTITIONS, 0); }
public TerminalNode NUMBER_() { return getToken(MySQLStatementParser.NUMBER_, 0); }
public List noWriteToBinLog() {
return getRuleContexts(NoWriteToBinLogContext.class);
}
public NoWriteToBinLogContext noWriteToBinLog(int i) {
return getRuleContext(NoWriteToBinLogContext.class,i);
}
public TerminalNode DROP() { return getToken(MySQLStatementParser.DROP, 0); }
public IdentifierListContext identifierList() {
return getRuleContext(IdentifierListContext.class,0);
}
public TerminalNode REBUILD() { return getToken(MySQLStatementParser.REBUILD, 0); }
public AllOrPartitionNameListContext allOrPartitionNameList() {
return getRuleContext(AllOrPartitionNameListContext.class,0);
}
public TerminalNode OPTIMIZE() { return getToken(MySQLStatementParser.OPTIMIZE, 0); }
public TerminalNode ANALYZE() { return getToken(MySQLStatementParser.ANALYZE, 0); }
public TerminalNode CHECK() { return getToken(MySQLStatementParser.CHECK, 0); }
public List checkType() {
return getRuleContexts(CheckTypeContext.class);
}
public CheckTypeContext checkType(int i) {
return getRuleContext(CheckTypeContext.class,i);
}
public TerminalNode REPAIR() { return getToken(MySQLStatementParser.REPAIR, 0); }
public List repairType() {
return getRuleContexts(RepairTypeContext.class);
}
public RepairTypeContext repairType(int i) {
return getRuleContext(RepairTypeContext.class,i);
}
public TerminalNode COALESCE() { return getToken(MySQLStatementParser.COALESCE, 0); }
public TerminalNode TRUNCATE() { return getToken(MySQLStatementParser.TRUNCATE, 0); }
public TerminalNode REORGANIZE() { return getToken(MySQLStatementParser.REORGANIZE, 0); }
public TerminalNode INTO() { return getToken(MySQLStatementParser.INTO, 0); }
public TerminalNode EXCHANGE() { return getToken(MySQLStatementParser.EXCHANGE, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode WITH() { return getToken(MySQLStatementParser.WITH, 0); }
public TerminalNode TABLE() { return getToken(MySQLStatementParser.TABLE, 0); }
public TableNameContext tableName() {
return getRuleContext(TableNameContext.class,0);
}
public WithValidationContext withValidation() {
return getRuleContext(WithValidationContext.class,0);
}
public TerminalNode DISCARD() { return getToken(MySQLStatementParser.DISCARD, 0); }
public TerminalNode TABLESPACE() { return getToken(MySQLStatementParser.TABLESPACE, 0); }
public TerminalNode IMPORT() { return getToken(MySQLStatementParser.IMPORT, 0); }
public AlterPartitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterPartition; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterPartition(this);
else return visitor.visitChildren(this);
}
}
public final AlterPartitionContext alterPartition() throws RecognitionException {
AlterPartitionContext _localctx = new AlterPartitionContext(_ctx, getState());
enterRule(_localctx, 44, RULE_alterPartition);
int _la;
try {
int _alt;
setState(1803);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ADD:
enterOuterAlt(_localctx, 1);
{
setState(1709);
match(ADD);
setState(1710);
match(PARTITION);
setState(1712);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LOCAL || _la==NO_WRITE_TO_BINLOG) {
{
setState(1711);
noWriteToBinLog();
}
}
setState(1717);
_errHandler.sync(this);
switch (_input.LA(1)) {
case LP_:
{
setState(1714);
partitionDefinitions();
}
break;
case PARTITIONS:
{
setState(1715);
match(PARTITIONS);
setState(1716);
match(NUMBER_);
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case DROP:
enterOuterAlt(_localctx, 2);
{
setState(1719);
match(DROP);
setState(1720);
match(PARTITION);
setState(1721);
identifierList();
}
break;
case REBUILD:
enterOuterAlt(_localctx, 3);
{
setState(1722);
match(REBUILD);
setState(1723);
match(PARTITION);
setState(1725);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,85,_ctx) ) {
case 1:
{
setState(1724);
noWriteToBinLog();
}
break;
}
setState(1727);
allOrPartitionNameList();
}
break;
case OPTIMIZE:
enterOuterAlt(_localctx, 4);
{
setState(1728);
match(OPTIMIZE);
setState(1729);
match(PARTITION);
setState(1731);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,86,_ctx) ) {
case 1:
{
setState(1730);
noWriteToBinLog();
}
break;
}
setState(1733);
allOrPartitionNameList();
setState(1735);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,87,_ctx) ) {
case 1:
{
setState(1734);
noWriteToBinLog();
}
break;
}
}
break;
case ANALYZE:
enterOuterAlt(_localctx, 5);
{
setState(1737);
match(ANALYZE);
setState(1738);
match(PARTITION);
setState(1740);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,88,_ctx) ) {
case 1:
{
setState(1739);
noWriteToBinLog();
}
break;
}
setState(1742);
allOrPartitionNameList();
}
break;
case CHECK:
enterOuterAlt(_localctx, 6);
{
setState(1743);
match(CHECK);
setState(1744);
match(PARTITION);
setState(1745);
allOrPartitionNameList();
setState(1749);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,89,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(1746);
checkType();
}
}
}
setState(1751);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,89,_ctx);
}
}
break;
case REPAIR:
enterOuterAlt(_localctx, 7);
{
setState(1752);
match(REPAIR);
setState(1753);
match(PARTITION);
setState(1755);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,90,_ctx) ) {
case 1:
{
setState(1754);
noWriteToBinLog();
}
break;
}
setState(1757);
allOrPartitionNameList();
setState(1761);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,91,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(1758);
repairType();
}
}
}
setState(1763);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,91,_ctx);
}
}
break;
case COALESCE:
enterOuterAlt(_localctx, 8);
{
setState(1764);
match(COALESCE);
setState(1765);
match(PARTITION);
setState(1767);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LOCAL || _la==NO_WRITE_TO_BINLOG) {
{
setState(1766);
noWriteToBinLog();
}
}
setState(1769);
match(NUMBER_);
}
break;
case TRUNCATE:
enterOuterAlt(_localctx, 9);
{
setState(1770);
match(TRUNCATE);
setState(1771);
match(PARTITION);
setState(1772);
allOrPartitionNameList();
}
break;
case REORGANIZE:
enterOuterAlt(_localctx, 10);
{
setState(1773);
match(REORGANIZE);
setState(1774);
match(PARTITION);
setState(1776);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,93,_ctx) ) {
case 1:
{
setState(1775);
noWriteToBinLog();
}
break;
}
setState(1782);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,94,_ctx) ) {
case 1:
{
setState(1778);
identifierList();
setState(1779);
match(INTO);
setState(1780);
partitionDefinitions();
}
break;
}
}
break;
case EXCHANGE:
enterOuterAlt(_localctx, 11);
{
setState(1784);
match(EXCHANGE);
setState(1785);
match(PARTITION);
setState(1786);
identifier();
setState(1787);
match(WITH);
setState(1788);
match(TABLE);
setState(1789);
tableName();
setState(1791);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,95,_ctx) ) {
case 1:
{
setState(1790);
withValidation();
}
break;
}
}
break;
case DISCARD:
enterOuterAlt(_localctx, 12);
{
setState(1793);
match(DISCARD);
setState(1794);
match(PARTITION);
setState(1795);
allOrPartitionNameList();
setState(1796);
match(TABLESPACE);
}
break;
case IMPORT:
enterOuterAlt(_localctx, 13);
{
setState(1798);
match(IMPORT);
setState(1799);
match(PARTITION);
setState(1800);
allOrPartitionNameList();
setState(1801);
match(TABLESPACE);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ConstraintClauseContext extends ParserRuleContext {
public TerminalNode CONSTRAINT() { return getToken(MySQLStatementParser.CONSTRAINT, 0); }
public ConstraintNameContext constraintName() {
return getRuleContext(ConstraintNameContext.class,0);
}
public ConstraintClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_constraintClause; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitConstraintClause(this);
else return visitor.visitChildren(this);
}
}
public final ConstraintClauseContext constraintClause() throws RecognitionException {
ConstraintClauseContext _localctx = new ConstraintClauseContext(_ctx, getState());
enterRule(_localctx, 46, RULE_constraintClause);
try {
enterOuterAlt(_localctx, 1);
{
setState(1805);
match(CONSTRAINT);
setState(1807);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,97,_ctx) ) {
case 1:
{
setState(1806);
constraintName();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class TableElementListContext extends ParserRuleContext {
public List tableElement() {
return getRuleContexts(TableElementContext.class);
}
public TableElementContext tableElement(int i) {
return getRuleContext(TableElementContext.class,i);
}
public List COMMA_() { return getTokens(MySQLStatementParser.COMMA_); }
public TerminalNode COMMA_(int i) {
return getToken(MySQLStatementParser.COMMA_, i);
}
public TableElementListContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_tableElementList; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitTableElementList(this);
else return visitor.visitChildren(this);
}
}
public final TableElementListContext tableElementList() throws RecognitionException {
TableElementListContext _localctx = new TableElementListContext(_ctx, getState());
enterRule(_localctx, 48, RULE_tableElementList);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1809);
tableElement();
setState(1814);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA_) {
{
{
setState(1810);
match(COMMA_);
setState(1811);
tableElement();
}
}
setState(1816);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class TableElementContext extends ParserRuleContext {
public ColumnDefinitionContext columnDefinition() {
return getRuleContext(ColumnDefinitionContext.class,0);
}
public TableConstraintDefContext tableConstraintDef() {
return getRuleContext(TableConstraintDefContext.class,0);
}
public TableElementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_tableElement; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitTableElement(this);
else return visitor.visitChildren(this);
}
}
public final TableElementContext tableElement() throws RecognitionException {
TableElementContext _localctx = new TableElementContext(_ctx, getState());
enterRule(_localctx, 50, RULE_tableElement);
try {
setState(1819);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,99,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1817);
columnDefinition();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1818);
tableConstraintDef();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class RestrictContext extends ParserRuleContext {
public TerminalNode RESTRICT() { return getToken(MySQLStatementParser.RESTRICT, 0); }
public TerminalNode CASCADE() { return getToken(MySQLStatementParser.CASCADE, 0); }
public RestrictContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_restrict; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitRestrict(this);
else return visitor.visitChildren(this);
}
}
public final RestrictContext restrict() throws RecognitionException {
RestrictContext _localctx = new RestrictContext(_ctx, getState());
enterRule(_localctx, 52, RULE_restrict);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1821);
_la = _input.LA(1);
if ( !(_la==CASCADE || _la==RESTRICT) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class FulltextIndexOptionContext extends ParserRuleContext {
public CommonIndexOptionContext commonIndexOption() {
return getRuleContext(CommonIndexOptionContext.class,0);
}
public TerminalNode WITH() { return getToken(MySQLStatementParser.WITH, 0); }
public TerminalNode PARSER() { return getToken(MySQLStatementParser.PARSER, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public FulltextIndexOptionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_fulltextIndexOption; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitFulltextIndexOption(this);
else return visitor.visitChildren(this);
}
}
public final FulltextIndexOptionContext fulltextIndexOption() throws RecognitionException {
FulltextIndexOptionContext _localctx = new FulltextIndexOptionContext(_ctx, getState());
enterRule(_localctx, 54, RULE_fulltextIndexOption);
try {
setState(1827);
_errHandler.sync(this);
switch (_input.LA(1)) {
case COMMENT:
case INVISIBLE:
case KEY_BLOCK_SIZE:
case VISIBLE:
enterOuterAlt(_localctx, 1);
{
setState(1823);
commonIndexOption();
}
break;
case WITH:
enterOuterAlt(_localctx, 2);
{
setState(1824);
match(WITH);
setState(1825);
match(PARSER);
setState(1826);
identifier();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DropTableContext extends ParserRuleContext {
public TerminalNode DROP() { return getToken(MySQLStatementParser.DROP, 0); }
public TableOrTablesContext tableOrTables() {
return getRuleContext(TableOrTablesContext.class,0);
}
public TableListContext tableList() {
return getRuleContext(TableListContext.class,0);
}
public TerminalNode TEMPORARY() { return getToken(MySQLStatementParser.TEMPORARY, 0); }
public IfExistsContext ifExists() {
return getRuleContext(IfExistsContext.class,0);
}
public RestrictContext restrict() {
return getRuleContext(RestrictContext.class,0);
}
public DropTableContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dropTable; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitDropTable(this);
else return visitor.visitChildren(this);
}
}
public final DropTableContext dropTable() throws RecognitionException {
DropTableContext _localctx = new DropTableContext(_ctx, getState());
enterRule(_localctx, 56, RULE_dropTable);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1829);
match(DROP);
setState(1831);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==TEMPORARY) {
{
setState(1830);
match(TEMPORARY);
}
}
setState(1833);
tableOrTables();
setState(1835);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(1834);
ifExists();
}
}
setState(1837);
tableList();
setState(1839);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==CASCADE || _la==RESTRICT) {
{
setState(1838);
restrict();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DropIndexContext extends ParserRuleContext {
public TerminalNode DROP() { return getToken(MySQLStatementParser.DROP, 0); }
public TerminalNode INDEX() { return getToken(MySQLStatementParser.INDEX, 0); }
public IndexNameContext indexName() {
return getRuleContext(IndexNameContext.class,0);
}
public TerminalNode ON() { return getToken(MySQLStatementParser.ON, 0); }
public TableNameContext tableName() {
return getRuleContext(TableNameContext.class,0);
}
public List alterAlgorithmOption() {
return getRuleContexts(AlterAlgorithmOptionContext.class);
}
public AlterAlgorithmOptionContext alterAlgorithmOption(int i) {
return getRuleContext(AlterAlgorithmOptionContext.class,i);
}
public List alterLockOption() {
return getRuleContexts(AlterLockOptionContext.class);
}
public AlterLockOptionContext alterLockOption(int i) {
return getRuleContext(AlterLockOptionContext.class,i);
}
public DropIndexContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dropIndex; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitDropIndex(this);
else return visitor.visitChildren(this);
}
}
public final DropIndexContext dropIndex() throws RecognitionException {
DropIndexContext _localctx = new DropIndexContext(_ctx, getState());
enterRule(_localctx, 58, RULE_dropIndex);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1841);
match(DROP);
setState(1842);
match(INDEX);
setState(1843);
indexName();
setState(1846);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ON) {
{
setState(1844);
match(ON);
setState(1845);
tableName();
}
}
setState(1852);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==ALGORITHM || _la==LOCK) {
{
setState(1850);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ALGORITHM:
{
setState(1848);
alterAlgorithmOption();
}
break;
case LOCK:
{
setState(1849);
alterLockOption();
}
break;
default:
throw new NoViableAltException(this);
}
}
setState(1854);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AlterAlgorithmOptionContext extends ParserRuleContext {
public TerminalNode ALGORITHM() { return getToken(MySQLStatementParser.ALGORITHM, 0); }
public TerminalNode DEFAULT() { return getToken(MySQLStatementParser.DEFAULT, 0); }
public TerminalNode INSTANT() { return getToken(MySQLStatementParser.INSTANT, 0); }
public TerminalNode INPLACE() { return getToken(MySQLStatementParser.INPLACE, 0); }
public TerminalNode COPY() { return getToken(MySQLStatementParser.COPY, 0); }
public TerminalNode EQ_() { return getToken(MySQLStatementParser.EQ_, 0); }
public AlterAlgorithmOptionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterAlgorithmOption; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterAlgorithmOption(this);
else return visitor.visitChildren(this);
}
}
public final AlterAlgorithmOptionContext alterAlgorithmOption() throws RecognitionException {
AlterAlgorithmOptionContext _localctx = new AlterAlgorithmOptionContext(_ctx, getState());
enterRule(_localctx, 60, RULE_alterAlgorithmOption);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1855);
match(ALGORITHM);
setState(1857);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(1856);
match(EQ_);
}
}
setState(1859);
_la = _input.LA(1);
if ( !(((((_la - 65)) & ~0x3f) == 0 && ((1L << (_la - 65)) & ((1L << (INSTANT - 65)) | (1L << (INPLACE - 65)) | (1L << (COPY - 65)))) != 0) || _la==DEFAULT) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AlterLockOptionContext extends ParserRuleContext {
public TerminalNode LOCK() { return getToken(MySQLStatementParser.LOCK, 0); }
public TerminalNode DEFAULT() { return getToken(MySQLStatementParser.DEFAULT, 0); }
public TerminalNode NONE() { return getToken(MySQLStatementParser.NONE, 0); }
public TerminalNode EQ_() { return getToken(MySQLStatementParser.EQ_, 0); }
public AlterLockOptionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterLockOption; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterLockOption(this);
else return visitor.visitChildren(this);
}
}
public final AlterLockOptionContext alterLockOption() throws RecognitionException {
AlterLockOptionContext _localctx = new AlterLockOptionContext(_ctx, getState());
enterRule(_localctx, 62, RULE_alterLockOption);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1861);
match(LOCK);
setState(1863);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(1862);
match(EQ_);
}
}
setState(1865);
_la = _input.LA(1);
if ( !(_la==T__0 || _la==T__1 || _la==DEFAULT || _la==NONE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class TruncateTableContext extends ParserRuleContext {
public TerminalNode TRUNCATE() { return getToken(MySQLStatementParser.TRUNCATE, 0); }
public TableNameContext tableName() {
return getRuleContext(TableNameContext.class,0);
}
public TerminalNode TABLE() { return getToken(MySQLStatementParser.TABLE, 0); }
public TruncateTableContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_truncateTable; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitTruncateTable(this);
else return visitor.visitChildren(this);
}
}
public final TruncateTableContext truncateTable() throws RecognitionException {
TruncateTableContext _localctx = new TruncateTableContext(_ctx, getState());
enterRule(_localctx, 64, RULE_truncateTable);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1867);
match(TRUNCATE);
setState(1869);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==TABLE) {
{
setState(1868);
match(TABLE);
}
}
setState(1871);
tableName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CreateIndexContext extends ParserRuleContext {
public TerminalNode CREATE() { return getToken(MySQLStatementParser.CREATE, 0); }
public TerminalNode INDEX() { return getToken(MySQLStatementParser.INDEX, 0); }
public IndexNameContext indexName() {
return getRuleContext(IndexNameContext.class,0);
}
public TerminalNode ON() { return getToken(MySQLStatementParser.ON, 0); }
public TableNameContext tableName() {
return getRuleContext(TableNameContext.class,0);
}
public KeyListWithExpressionContext keyListWithExpression() {
return getRuleContext(KeyListWithExpressionContext.class,0);
}
public CreateIndexSpecificationContext createIndexSpecification() {
return getRuleContext(CreateIndexSpecificationContext.class,0);
}
public IndexTypeClauseContext indexTypeClause() {
return getRuleContext(IndexTypeClauseContext.class,0);
}
public IndexOptionContext indexOption() {
return getRuleContext(IndexOptionContext.class,0);
}
public List alterAlgorithmOption() {
return getRuleContexts(AlterAlgorithmOptionContext.class);
}
public AlterAlgorithmOptionContext alterAlgorithmOption(int i) {
return getRuleContext(AlterAlgorithmOptionContext.class,i);
}
public List alterLockOption() {
return getRuleContexts(AlterLockOptionContext.class);
}
public AlterLockOptionContext alterLockOption(int i) {
return getRuleContext(AlterLockOptionContext.class,i);
}
public CreateIndexContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_createIndex; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitCreateIndex(this);
else return visitor.visitChildren(this);
}
}
public final CreateIndexContext createIndex() throws RecognitionException {
CreateIndexContext _localctx = new CreateIndexContext(_ctx, getState());
enterRule(_localctx, 66, RULE_createIndex);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1873);
match(CREATE);
setState(1875);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==FULLTEXT || _la==SPATIAL || _la==UNIQUE) {
{
setState(1874);
createIndexSpecification();
}
}
setState(1877);
match(INDEX);
setState(1878);
indexName();
setState(1880);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==TYPE || _la==USING) {
{
setState(1879);
indexTypeClause();
}
}
setState(1882);
match(ON);
setState(1883);
tableName();
setState(1884);
keyListWithExpression();
setState(1886);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMENT || _la==INVISIBLE || _la==KEY_BLOCK_SIZE || ((((_la - 709)) & ~0x3f) == 0 && ((1L << (_la - 709)) & ((1L << (TYPE - 709)) | (1L << (USING - 709)) | (1L << (VISIBLE - 709)))) != 0)) {
{
setState(1885);
indexOption();
}
}
setState(1892);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==ALGORITHM || _la==LOCK) {
{
setState(1890);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ALGORITHM:
{
setState(1888);
alterAlgorithmOption();
}
break;
case LOCK:
{
setState(1889);
alterLockOption();
}
break;
default:
throw new NoViableAltException(this);
}
}
setState(1894);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CreateDatabaseContext extends ParserRuleContext {
public TerminalNode CREATE() { return getToken(MySQLStatementParser.CREATE, 0); }
public SchemaNameContext schemaName() {
return getRuleContext(SchemaNameContext.class,0);
}
public TerminalNode DATABASE() { return getToken(MySQLStatementParser.DATABASE, 0); }
public TerminalNode SCHEMA() { return getToken(MySQLStatementParser.SCHEMA, 0); }
public IfNotExistsContext ifNotExists() {
return getRuleContext(IfNotExistsContext.class,0);
}
public List createDatabaseSpecification_() {
return getRuleContexts(CreateDatabaseSpecification_Context.class);
}
public CreateDatabaseSpecification_Context createDatabaseSpecification_(int i) {
return getRuleContext(CreateDatabaseSpecification_Context.class,i);
}
public CreateDatabaseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_createDatabase; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitCreateDatabase(this);
else return visitor.visitChildren(this);
}
}
public final CreateDatabaseContext createDatabase() throws RecognitionException {
CreateDatabaseContext _localctx = new CreateDatabaseContext(_ctx, getState());
enterRule(_localctx, 68, RULE_createDatabase);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1895);
match(CREATE);
setState(1896);
_la = _input.LA(1);
if ( !(_la==DATABASE || _la==SCHEMA) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(1898);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(1897);
ifNotExists();
}
}
setState(1900);
schemaName();
setState(1904);
_errHandler.sync(this);
_la = _input.LA(1);
while (((((_la - 129)) & ~0x3f) == 0 && ((1L << (_la - 129)) & ((1L << (CHAR - 129)) | (1L << (CHARACTER - 129)) | (1L << (CHARSET - 129)) | (1L << (COLLATE - 129)))) != 0) || _la==DEFAULT || _la==ENCRYPTION) {
{
{
setState(1901);
createDatabaseSpecification_();
}
}
setState(1906);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AlterDatabaseContext extends ParserRuleContext {
public TerminalNode ALTER() { return getToken(MySQLStatementParser.ALTER, 0); }
public TerminalNode DATABASE() { return getToken(MySQLStatementParser.DATABASE, 0); }
public TerminalNode SCHEMA() { return getToken(MySQLStatementParser.SCHEMA, 0); }
public SchemaNameContext schemaName() {
return getRuleContext(SchemaNameContext.class,0);
}
public List alterDatabaseSpecification_() {
return getRuleContexts(AlterDatabaseSpecification_Context.class);
}
public AlterDatabaseSpecification_Context alterDatabaseSpecification_(int i) {
return getRuleContext(AlterDatabaseSpecification_Context.class,i);
}
public AlterDatabaseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterDatabase; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterDatabase(this);
else return visitor.visitChildren(this);
}
}
public final AlterDatabaseContext alterDatabase() throws RecognitionException {
AlterDatabaseContext _localctx = new AlterDatabaseContext(_ctx, getState());
enterRule(_localctx, 70, RULE_alterDatabase);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1907);
match(ALTER);
setState(1908);
_la = _input.LA(1);
if ( !(_la==DATABASE || _la==SCHEMA) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(1910);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,117,_ctx) ) {
case 1:
{
setState(1909);
schemaName();
}
break;
}
setState(1915);
_errHandler.sync(this);
_la = _input.LA(1);
while (((((_la - 129)) & ~0x3f) == 0 && ((1L << (_la - 129)) & ((1L << (CHAR - 129)) | (1L << (CHARACTER - 129)) | (1L << (CHARSET - 129)) | (1L << (COLLATE - 129)))) != 0) || _la==DEFAULT || _la==ENCRYPTION || _la==READ) {
{
{
setState(1912);
alterDatabaseSpecification_();
}
}
setState(1917);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CreateDatabaseSpecification_Context extends ParserRuleContext {
public DefaultCharsetContext defaultCharset() {
return getRuleContext(DefaultCharsetContext.class,0);
}
public DefaultCollationContext defaultCollation() {
return getRuleContext(DefaultCollationContext.class,0);
}
public DefaultEncryptionContext defaultEncryption() {
return getRuleContext(DefaultEncryptionContext.class,0);
}
public CreateDatabaseSpecification_Context(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_createDatabaseSpecification_; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitCreateDatabaseSpecification_(this);
else return visitor.visitChildren(this);
}
}
public final CreateDatabaseSpecification_Context createDatabaseSpecification_() throws RecognitionException {
CreateDatabaseSpecification_Context _localctx = new CreateDatabaseSpecification_Context(_ctx, getState());
enterRule(_localctx, 72, RULE_createDatabaseSpecification_);
try {
setState(1921);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,119,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1918);
defaultCharset();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1919);
defaultCollation();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(1920);
defaultEncryption();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AlterDatabaseSpecification_Context extends ParserRuleContext {
public CreateDatabaseSpecification_Context createDatabaseSpecification_() {
return getRuleContext(CreateDatabaseSpecification_Context.class,0);
}
public TerminalNode READ() { return getToken(MySQLStatementParser.READ, 0); }
public TerminalNode ONLY() { return getToken(MySQLStatementParser.ONLY, 0); }
public TerminalNode DEFAULT() { return getToken(MySQLStatementParser.DEFAULT, 0); }
public TerminalNode NUMBER_() { return getToken(MySQLStatementParser.NUMBER_, 0); }
public TerminalNode EQ_() { return getToken(MySQLStatementParser.EQ_, 0); }
public AlterDatabaseSpecification_Context(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterDatabaseSpecification_; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterDatabaseSpecification_(this);
else return visitor.visitChildren(this);
}
}
public final AlterDatabaseSpecification_Context alterDatabaseSpecification_() throws RecognitionException {
AlterDatabaseSpecification_Context _localctx = new AlterDatabaseSpecification_Context(_ctx, getState());
enterRule(_localctx, 74, RULE_alterDatabaseSpecification_);
int _la;
try {
setState(1930);
_errHandler.sync(this);
switch (_input.LA(1)) {
case CHAR:
case CHARACTER:
case CHARSET:
case COLLATE:
case DEFAULT:
case ENCRYPTION:
enterOuterAlt(_localctx, 1);
{
setState(1923);
createDatabaseSpecification_();
}
break;
case READ:
enterOuterAlt(_localctx, 2);
{
setState(1924);
match(READ);
setState(1925);
match(ONLY);
setState(1927);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(1926);
match(EQ_);
}
}
setState(1929);
_la = _input.LA(1);
if ( !(_la==DEFAULT || _la==NUMBER_) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DropDatabaseContext extends ParserRuleContext {
public TerminalNode DROP() { return getToken(MySQLStatementParser.DROP, 0); }
public SchemaNameContext schemaName() {
return getRuleContext(SchemaNameContext.class,0);
}
public TerminalNode DATABASE() { return getToken(MySQLStatementParser.DATABASE, 0); }
public TerminalNode SCHEMA() { return getToken(MySQLStatementParser.SCHEMA, 0); }
public IfExistsContext ifExists() {
return getRuleContext(IfExistsContext.class,0);
}
public DropDatabaseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dropDatabase; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitDropDatabase(this);
else return visitor.visitChildren(this);
}
}
public final DropDatabaseContext dropDatabase() throws RecognitionException {
DropDatabaseContext _localctx = new DropDatabaseContext(_ctx, getState());
enterRule(_localctx, 76, RULE_dropDatabase);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1932);
match(DROP);
setState(1933);
_la = _input.LA(1);
if ( !(_la==DATABASE || _la==SCHEMA) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(1935);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(1934);
ifExists();
}
}
setState(1937);
schemaName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AlterInstanceContext extends ParserRuleContext {
public TerminalNode ALTER() { return getToken(MySQLStatementParser.ALTER, 0); }
public TerminalNode INSTANCE() { return getToken(MySQLStatementParser.INSTANCE, 0); }
public InstanceActionContext instanceAction() {
return getRuleContext(InstanceActionContext.class,0);
}
public AlterInstanceContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterInstance; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterInstance(this);
else return visitor.visitChildren(this);
}
}
public final AlterInstanceContext alterInstance() throws RecognitionException {
AlterInstanceContext _localctx = new AlterInstanceContext(_ctx, getState());
enterRule(_localctx, 78, RULE_alterInstance);
try {
enterOuterAlt(_localctx, 1);
{
setState(1939);
match(ALTER);
setState(1940);
match(INSTANCE);
setState(1941);
instanceAction();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class InstanceActionContext extends ParserRuleContext {
public TerminalNode INNODB() { return getToken(MySQLStatementParser.INNODB, 0); }
public TerminalNode REDO_LOG() { return getToken(MySQLStatementParser.REDO_LOG, 0); }
public TerminalNode ENABLE() { return getToken(MySQLStatementParser.ENABLE, 0); }
public TerminalNode DISABLE() { return getToken(MySQLStatementParser.DISABLE, 0); }
public TerminalNode ROTATE() { return getToken(MySQLStatementParser.ROTATE, 0); }
public TerminalNode MASTER() { return getToken(MySQLStatementParser.MASTER, 0); }
public TerminalNode KEY() { return getToken(MySQLStatementParser.KEY, 0); }
public TerminalNode BINLOG() { return getToken(MySQLStatementParser.BINLOG, 0); }
public TerminalNode RELOAD() { return getToken(MySQLStatementParser.RELOAD, 0); }
public TerminalNode TLS() { return getToken(MySQLStatementParser.TLS, 0); }
public TerminalNode FOR() { return getToken(MySQLStatementParser.FOR, 0); }
public TerminalNode CHANNEL() { return getToken(MySQLStatementParser.CHANNEL, 0); }
public ChannelContext channel() {
return getRuleContext(ChannelContext.class,0);
}
public TerminalNode NO() { return getToken(MySQLStatementParser.NO, 0); }
public TerminalNode ROLLBACK() { return getToken(MySQLStatementParser.ROLLBACK, 0); }
public TerminalNode ON() { return getToken(MySQLStatementParser.ON, 0); }
public TerminalNode ERROR() { return getToken(MySQLStatementParser.ERROR, 0); }
public InstanceActionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_instanceAction; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitInstanceAction(this);
else return visitor.visitChildren(this);
}
}
public final InstanceActionContext instanceAction() throws RecognitionException {
InstanceActionContext _localctx = new InstanceActionContext(_ctx, getState());
enterRule(_localctx, 80, RULE_instanceAction);
int _la;
try {
setState(1967);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,125,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(1943);
_la = _input.LA(1);
if ( !(_la==DISABLE || _la==ENABLE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(1944);
match(INNODB);
setState(1945);
match(REDO_LOG);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(1946);
match(ROTATE);
setState(1947);
match(INNODB);
setState(1948);
match(MASTER);
setState(1949);
match(KEY);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(1950);
match(ROTATE);
setState(1951);
match(BINLOG);
setState(1952);
match(MASTER);
setState(1953);
match(KEY);
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(1954);
match(RELOAD);
setState(1955);
match(TLS);
setState(1959);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==FOR) {
{
setState(1956);
match(FOR);
setState(1957);
match(CHANNEL);
setState(1958);
channel();
}
}
setState(1965);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NO) {
{
setState(1961);
match(NO);
setState(1962);
match(ROLLBACK);
setState(1963);
match(ON);
setState(1964);
match(ERROR);
}
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ChannelContext extends ParserRuleContext {
public TerminalNode MYSQL_MAIN() { return getToken(MySQLStatementParser.MYSQL_MAIN, 0); }
public TerminalNode MYSQL_ADMIN() { return getToken(MySQLStatementParser.MYSQL_ADMIN, 0); }
public ChannelContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_channel; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitChannel(this);
else return visitor.visitChildren(this);
}
}
public final ChannelContext channel() throws RecognitionException {
ChannelContext _localctx = new ChannelContext(_ctx, getState());
enterRule(_localctx, 82, RULE_channel);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1969);
_la = _input.LA(1);
if ( !(_la==MYSQL_MAIN || _la==MYSQL_ADMIN) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CreateEventContext extends ParserRuleContext {
public TerminalNode CREATE() { return getToken(MySQLStatementParser.CREATE, 0); }
public TerminalNode EVENT() { return getToken(MySQLStatementParser.EVENT, 0); }
public EventNameContext eventName() {
return getRuleContext(EventNameContext.class,0);
}
public List ON() { return getTokens(MySQLStatementParser.ON); }
public TerminalNode ON(int i) {
return getToken(MySQLStatementParser.ON, i);
}
public TerminalNode SCHEDULE() { return getToken(MySQLStatementParser.SCHEDULE, 0); }
public ScheduleExpressionContext scheduleExpression() {
return getRuleContext(ScheduleExpressionContext.class,0);
}
public TerminalNode DO() { return getToken(MySQLStatementParser.DO, 0); }
public RoutineBodyContext routineBody() {
return getRuleContext(RoutineBodyContext.class,0);
}
public OwnerStatementContext ownerStatement() {
return getRuleContext(OwnerStatementContext.class,0);
}
public IfNotExistsContext ifNotExists() {
return getRuleContext(IfNotExistsContext.class,0);
}
public TerminalNode COMPLETION() { return getToken(MySQLStatementParser.COMPLETION, 0); }
public TerminalNode PRESERVE() { return getToken(MySQLStatementParser.PRESERVE, 0); }
public TerminalNode ENABLE() { return getToken(MySQLStatementParser.ENABLE, 0); }
public TerminalNode DISABLE() { return getToken(MySQLStatementParser.DISABLE, 0); }
public TerminalNode SLAVE() { return getToken(MySQLStatementParser.SLAVE, 0); }
public TerminalNode COMMENT() { return getToken(MySQLStatementParser.COMMENT, 0); }
public String_Context string_() {
return getRuleContext(String_Context.class,0);
}
public TerminalNode NOT() { return getToken(MySQLStatementParser.NOT, 0); }
public CreateEventContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_createEvent; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitCreateEvent(this);
else return visitor.visitChildren(this);
}
}
public final CreateEventContext createEvent() throws RecognitionException {
CreateEventContext _localctx = new CreateEventContext(_ctx, getState());
enterRule(_localctx, 84, RULE_createEvent);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(1971);
match(CREATE);
setState(1973);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==DEFINER) {
{
setState(1972);
ownerStatement();
}
}
setState(1975);
match(EVENT);
setState(1977);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(1976);
ifNotExists();
}
}
setState(1979);
eventName();
setState(1980);
match(ON);
setState(1981);
match(SCHEDULE);
setState(1982);
scheduleExpression();
setState(1989);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ON) {
{
setState(1983);
match(ON);
setState(1984);
match(COMPLETION);
setState(1986);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NOT) {
{
setState(1985);
match(NOT);
}
}
setState(1988);
match(PRESERVE);
}
}
setState(1996);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,130,_ctx) ) {
case 1:
{
setState(1991);
match(ENABLE);
}
break;
case 2:
{
setState(1992);
match(DISABLE);
}
break;
case 3:
{
setState(1993);
match(DISABLE);
setState(1994);
match(ON);
setState(1995);
match(SLAVE);
}
break;
}
setState(2000);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMENT) {
{
setState(1998);
match(COMMENT);
setState(1999);
string_();
}
}
setState(2002);
match(DO);
setState(2003);
routineBody();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AlterEventContext extends ParserRuleContext {
public TerminalNode ALTER() { return getToken(MySQLStatementParser.ALTER, 0); }
public TerminalNode EVENT() { return getToken(MySQLStatementParser.EVENT, 0); }
public List eventName() {
return getRuleContexts(EventNameContext.class);
}
public EventNameContext eventName(int i) {
return getRuleContext(EventNameContext.class,i);
}
public OwnerStatementContext ownerStatement() {
return getRuleContext(OwnerStatementContext.class,0);
}
public List ON() { return getTokens(MySQLStatementParser.ON); }
public TerminalNode ON(int i) {
return getToken(MySQLStatementParser.ON, i);
}
public TerminalNode SCHEDULE() { return getToken(MySQLStatementParser.SCHEDULE, 0); }
public ScheduleExpressionContext scheduleExpression() {
return getRuleContext(ScheduleExpressionContext.class,0);
}
public TerminalNode COMPLETION() { return getToken(MySQLStatementParser.COMPLETION, 0); }
public TerminalNode PRESERVE() { return getToken(MySQLStatementParser.PRESERVE, 0); }
public TerminalNode RENAME() { return getToken(MySQLStatementParser.RENAME, 0); }
public TerminalNode TO() { return getToken(MySQLStatementParser.TO, 0); }
public TerminalNode ENABLE() { return getToken(MySQLStatementParser.ENABLE, 0); }
public TerminalNode DISABLE() { return getToken(MySQLStatementParser.DISABLE, 0); }
public TerminalNode SLAVE() { return getToken(MySQLStatementParser.SLAVE, 0); }
public TerminalNode COMMENT() { return getToken(MySQLStatementParser.COMMENT, 0); }
public String_Context string_() {
return getRuleContext(String_Context.class,0);
}
public TerminalNode DO() { return getToken(MySQLStatementParser.DO, 0); }
public RoutineBodyContext routineBody() {
return getRuleContext(RoutineBodyContext.class,0);
}
public TerminalNode NOT() { return getToken(MySQLStatementParser.NOT, 0); }
public AlterEventContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterEvent; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterEvent(this);
else return visitor.visitChildren(this);
}
}
public final AlterEventContext alterEvent() throws RecognitionException {
AlterEventContext _localctx = new AlterEventContext(_ctx, getState());
enterRule(_localctx, 86, RULE_alterEvent);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2005);
match(ALTER);
setState(2007);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==DEFINER) {
{
setState(2006);
ownerStatement();
}
}
setState(2009);
match(EVENT);
setState(2010);
eventName();
setState(2014);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,133,_ctx) ) {
case 1:
{
setState(2011);
match(ON);
setState(2012);
match(SCHEDULE);
setState(2013);
scheduleExpression();
}
break;
}
setState(2022);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ON) {
{
setState(2016);
match(ON);
setState(2017);
match(COMPLETION);
setState(2019);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NOT) {
{
setState(2018);
match(NOT);
}
}
setState(2021);
match(PRESERVE);
}
}
setState(2027);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==RENAME) {
{
setState(2024);
match(RENAME);
setState(2025);
match(TO);
setState(2026);
eventName();
}
}
setState(2034);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,137,_ctx) ) {
case 1:
{
setState(2029);
match(ENABLE);
}
break;
case 2:
{
setState(2030);
match(DISABLE);
}
break;
case 3:
{
setState(2031);
match(DISABLE);
setState(2032);
match(ON);
setState(2033);
match(SLAVE);
}
break;
}
setState(2038);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMENT) {
{
setState(2036);
match(COMMENT);
setState(2037);
string_();
}
}
setState(2042);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==DO) {
{
setState(2040);
match(DO);
setState(2041);
routineBody();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DropEventContext extends ParserRuleContext {
public TerminalNode DROP() { return getToken(MySQLStatementParser.DROP, 0); }
public TerminalNode EVENT() { return getToken(MySQLStatementParser.EVENT, 0); }
public EventNameContext eventName() {
return getRuleContext(EventNameContext.class,0);
}
public IfExistsContext ifExists() {
return getRuleContext(IfExistsContext.class,0);
}
public DropEventContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dropEvent; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitDropEvent(this);
else return visitor.visitChildren(this);
}
}
public final DropEventContext dropEvent() throws RecognitionException {
DropEventContext _localctx = new DropEventContext(_ctx, getState());
enterRule(_localctx, 88, RULE_dropEvent);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2044);
match(DROP);
setState(2045);
match(EVENT);
setState(2047);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(2046);
ifExists();
}
}
setState(2049);
eventName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CreateFunctionContext extends ParserRuleContext {
public TerminalNode CREATE() { return getToken(MySQLStatementParser.CREATE, 0); }
public TerminalNode FUNCTION() { return getToken(MySQLStatementParser.FUNCTION, 0); }
public FunctionNameContext functionName() {
return getRuleContext(FunctionNameContext.class,0);
}
public TerminalNode LP_() { return getToken(MySQLStatementParser.LP_, 0); }
public TerminalNode RP_() { return getToken(MySQLStatementParser.RP_, 0); }
public TerminalNode RETURNS() { return getToken(MySQLStatementParser.RETURNS, 0); }
public List dataType() {
return getRuleContexts(DataTypeContext.class);
}
public DataTypeContext dataType(int i) {
return getRuleContext(DataTypeContext.class,i);
}
public RoutineBodyContext routineBody() {
return getRuleContext(RoutineBodyContext.class,0);
}
public OwnerStatementContext ownerStatement() {
return getRuleContext(OwnerStatementContext.class,0);
}
public List identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public List COMMA_() { return getTokens(MySQLStatementParser.COMMA_); }
public TerminalNode COMMA_(int i) {
return getToken(MySQLStatementParser.COMMA_, i);
}
public List routineOption() {
return getRuleContexts(RoutineOptionContext.class);
}
public RoutineOptionContext routineOption(int i) {
return getRuleContext(RoutineOptionContext.class,i);
}
public CreateFunctionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_createFunction; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitCreateFunction(this);
else return visitor.visitChildren(this);
}
}
public final CreateFunctionContext createFunction() throws RecognitionException {
CreateFunctionContext _localctx = new CreateFunctionContext(_ctx, getState());
enterRule(_localctx, 90, RULE_createFunction);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(2051);
match(CREATE);
setState(2053);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==DEFINER) {
{
setState(2052);
ownerStatement();
}
}
setState(2055);
match(FUNCTION);
setState(2056);
functionName();
setState(2057);
match(LP_);
setState(2061);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 49)) & ~0x3f) == 0 && ((1L << (_la - 49)) & ((1L << (MAX - 49)) | (1L << (MIN - 49)) | (1L << (SUM - 49)) | (1L << (COUNT - 49)) | (1L << (GROUP_CONCAT - 49)) | (1L << (CAST - 49)) | (1L << (POSITION - 49)) | (1L << (SUBSTRING - 49)) | (1L << (SUBSTR - 49)) | (1L << (EXTRACT - 49)) | (1L << (TRIM - 49)) | (1L << (LAST_DAY - 49)) | (1L << (TRADITIONAL - 49)) | (1L << (TREE - 49)) | (1L << (MYSQL_MAIN - 49)) | (1L << (MYSQL_ADMIN - 49)) | (1L << (INSTANT - 49)) | (1L << (INPLACE - 49)) | (1L << (COPY - 49)) | (1L << (UL_BINARY - 49)) | (1L << (AUTOCOMMIT - 49)) | (1L << (INNODB - 49)) | (1L << (REDO_LOG - 49)) | (1L << (ACCOUNT - 49)) | (1L << (ACTION - 49)) | (1L << (ACTIVE - 49)) | (1L << (ADMIN - 49)) | (1L << (AFTER - 49)) | (1L << (AGAINST - 49)) | (1L << (AGGREGATE - 49)) | (1L << (ALGORITHM - 49)) | (1L << (ALWAYS - 49)) | (1L << (ANY - 49)) | (1L << (ARRAY - 49)) | (1L << (ASCII - 49)) | (1L << (AT - 49)) | (1L << (ATTRIBUTE - 49)) | (1L << (AUTOEXTEND_SIZE - 49)) | (1L << (AUTO_INCREMENT - 49)) | (1L << (AVG - 49)) | (1L << (BIT_XOR - 49)) | (1L << (AVG_ROW_LENGTH - 49)) | (1L << (BACKUP - 49)) | (1L << (BEGIN - 49)) | (1L << (BINLOG - 49)) | (1L << (BIT - 49)) | (1L << (BLOCK - 49)) | (1L << (BOOL - 49)))) != 0) || ((((_la - 113)) & ~0x3f) == 0 && ((1L << (_la - 113)) & ((1L << (BOOLEAN - 113)) | (1L << (BTREE - 113)) | (1L << (BUCKETS - 113)) | (1L << (BYTE - 113)) | (1L << (CACHE - 113)) | (1L << (CASCADED - 113)) | (1L << (CATALOG_NAME - 113)) | (1L << (CHAIN - 113)) | (1L << (CHANGED - 113)) | (1L << (CHANNEL - 113)) | (1L << (CHARSET - 113)) | (1L << (CHECKSUM - 113)) | (1L << (CIPHER - 113)) | (1L << (CLASS_ORIGIN - 113)) | (1L << (CLIENT - 113)) | (1L << (CLONE - 113)) | (1L << (CLOSE - 113)) | (1L << (COALESCE - 113)) | (1L << (CODE - 113)) | (1L << (COLLATION - 113)) | (1L << (COLUMNS - 113)) | (1L << (COLUMN_FORMAT - 113)) | (1L << (COLUMN_NAME - 113)) | (1L << (COMMENT - 113)) | (1L << (COMMIT - 113)) | (1L << (COMMITTED - 113)) | (1L << (COMPACT - 113)) | (1L << (COMPLETION - 113)) | (1L << (COMPONENT - 113)) | (1L << (COMPRESSED - 113)) | (1L << (COMPRESSION - 113)) | (1L << (CONCURRENT - 113)) | (1L << (CONNECTION - 113)) | (1L << (CONSISTENT - 113)) | (1L << (CONSTRAINT_CATALOG - 113)) | (1L << (CONSTRAINT_NAME - 113)) | (1L << (CONSTRAINT_SCHEMA - 113)) | (1L << (CONTAINS - 113)) | (1L << (CONTEXT - 113)) | (1L << (CPU - 113)) | (1L << (CREATE - 113)) | (1L << (CURRENT - 113)))) != 0) || ((((_la - 178)) & ~0x3f) == 0 && ((1L << (_la - 178)) & ((1L << (CURSOR_NAME - 178)) | (1L << (DATA - 178)) | (1L << (DATAFILE - 178)) | (1L << (DATE - 178)) | (1L << (DATETIME - 178)) | (1L << (DAY - 178)) | (1L << (DEALLOCATE - 178)) | (1L << (DEFAULT_AUTH - 178)) | (1L << (DEFINER - 178)) | (1L << (DEFINITION - 178)) | (1L << (DELAY_KEY_WRITE - 178)) | (1L << (DESCRIPTION - 178)) | (1L << (DIAGNOSTICS - 178)) | (1L << (DIRECTORY - 178)) | (1L << (DISABLE - 178)) | (1L << (DISCARD - 178)) | (1L << (DISK - 178)) | (1L << (DO - 178)) | (1L << (DUMPFILE - 178)) | (1L << (DUPLICATE - 178)) | (1L << (DYNAMIC - 178)) | (1L << (ENABLE - 178)) | (1L << (ENCRYPTION - 178)) | (1L << (END - 178)) | (1L << (ENDS - 178)) | (1L << (ENFORCED - 178)) | (1L << (ENGINE - 178)) | (1L << (ENGINES - 178)) | (1L << (ENGINE_ATTRIBUTE - 178)) | (1L << (ENUM - 178)) | (1L << (ERROR - 178)) | (1L << (ERRORS - 178)) | (1L << (ESCAPE - 178)) | (1L << (EVENT - 178)) | (1L << (EVENTS - 178)) | (1L << (EVERY - 178)))) != 0) || ((((_la - 243)) & ~0x3f) == 0 && ((1L << (_la - 243)) & ((1L << (EXCHANGE - 243)) | (1L << (EXCLUDE - 243)) | (1L << (EXECUTE - 243)) | (1L << (EXPANSION - 243)) | (1L << (EXPIRE - 243)) | (1L << (EXPORT - 243)) | (1L << (EXTENDED - 243)) | (1L << (EXTENT_SIZE - 243)) | (1L << (FAILED_LOGIN_ATTEMPTS - 243)) | (1L << (FAST - 243)) | (1L << (FAULTS - 243)) | (1L << (FILE - 243)) | (1L << (FILE_BLOCK_SIZE - 243)) | (1L << (FILTER - 243)) | (1L << (FIRST - 243)) | (1L << (FIXED - 243)) | (1L << (FLUSH - 243)) | (1L << (FOLLOWING - 243)) | (1L << (FOLLOWS - 243)) | (1L << (FORMAT - 243)) | (1L << (FOUND - 243)) | (1L << (FULL - 243)) | (1L << (GENERAL - 243)) | (1L << (GEOMETRY - 243)) | (1L << (GEOMETRYCOLLECTION - 243)) | (1L << (GET_FORMAT - 243)) | (1L << (GET_MASTER_PUBLIC_KEY - 243)) | (1L << (GLOBAL - 243)) | (1L << (GRANTS - 243)) | (1L << (GROUP_REPLICATION - 243)) | (1L << (HANDLER - 243)) | (1L << (HASH - 243)) | (1L << (HELP - 243)) | (1L << (HISTOGRAM - 243)) | (1L << (HISTORY - 243)) | (1L << (HOST - 243)) | (1L << (HOSTS - 243)) | (1L << (HOUR - 243)))) != 0) || ((((_la - 307)) & ~0x3f) == 0 && ((1L << (_la - 307)) & ((1L << (IDENTIFIED - 307)) | (1L << (IGNORE_SERVER_IDS - 307)) | (1L << (IMPORT - 307)) | (1L << (INACTIVE - 307)) | (1L << (INDEXES - 307)) | (1L << (INITIAL_SIZE - 307)) | (1L << (INSERT_METHOD - 307)) | (1L << (INSTALL - 307)) | (1L << (INSTANCE - 307)) | (1L << (INVISIBLE - 307)) | (1L << (INVOKER - 307)) | (1L << (IO - 307)) | (1L << (IPC - 307)) | (1L << (ISOLATION - 307)) | (1L << (ISSUER - 307)) | (1L << (JSON - 307)) | (1L << (JSON_VALUE - 307)) | (1L << (KEY - 307)) | (1L << (KEY_BLOCK_SIZE - 307)) | (1L << (LANGUAGE - 307)) | (1L << (LAST - 307)) | (1L << (LAST_VALUE - 307)) | (1L << (LEAVES - 307)) | (1L << (LESS - 307)) | (1L << (LEVEL - 307)) | (1L << (LINESTRING - 307)) | (1L << (LIST - 307)))) != 0) || ((((_la - 371)) & ~0x3f) == 0 && ((1L << (_la - 371)) & ((1L << (LOCAL - 371)) | (1L << (LOCKED - 371)) | (1L << (LOCKS - 371)) | (1L << (LOGFILE - 371)) | (1L << (LOGS - 371)) | (1L << (MASTER - 371)) | (1L << (MASTER_AUTO_POSITION - 371)) | (1L << (MASTER_COMPRESSION_ALGORITHM - 371)) | (1L << (MASTER_CONNECT_RETRY - 371)) | (1L << (MASTER_DELAY - 371)) | (1L << (MASTER_HEARTBEAT_PERIOD - 371)) | (1L << (MASTER_HOST - 371)) | (1L << (MASTER_LOG_FILE - 371)) | (1L << (MASTER_LOG_POS - 371)) | (1L << (MASTER_PASSWORD - 371)) | (1L << (MASTER_PORT - 371)) | (1L << (MASTER_PUBLIC_KEY_PATH - 371)) | (1L << (MASTER_RETRY_COUNT - 371)) | (1L << (MASTER_SERVER_ID - 371)) | (1L << (MASTER_SSL - 371)) | (1L << (MASTER_SSL_CA - 371)) | (1L << (MASTER_SSL_CAPATH - 371)) | (1L << (MASTER_SSL_CERT - 371)) | (1L << (MASTER_SSL_CIPHER - 371)) | (1L << (MASTER_SSL_CRL - 371)) | (1L << (MASTER_SSL_CRLPATH - 371)) | (1L << (MASTER_SSL_KEY - 371)) | (1L << (MASTER_TLS_CIPHERSUITES - 371)) | (1L << (MASTER_TLS_VERSION - 371)) | (1L << (MASTER_USER - 371)) | (1L << (MASTER_ZSTD_COMPRESSION_LEVEL - 371)) | (1L << (MAXVALUE - 371)) | (1L << (MAX_CONNECTIONS_PER_HOUR - 371)) | (1L << (MAX_QUERIES_PER_HOUR - 371)) | (1L << (MAX_ROWS - 371)) | (1L << (MAX_SIZE - 371)) | (1L << (MAX_UPDATES_PER_HOUR - 371)) | (1L << (MAX_USER_CONNECTIONS - 371)) | (1L << (MEDIUM - 371)) | (1L << (MEMBER - 371)) | (1L << (MEMORY - 371)) | (1L << (MERGE - 371)) | (1L << (MESSAGE_TEXT - 371)) | (1L << (MICROSECOND - 371)) | (1L << (MIGRATE - 371)) | (1L << (MINUTE - 371)) | (1L << (MIN_ROWS - 371)))) != 0) || ((((_la - 436)) & ~0x3f) == 0 && ((1L << (_la - 436)) & ((1L << (MODE - 436)) | (1L << (MODIFY - 436)) | (1L << (MONTH - 436)) | (1L << (MULTILINESTRING - 436)) | (1L << (MULTIPOINT - 436)) | (1L << (MULTIPOLYGON - 436)) | (1L << (MUTEX - 436)) | (1L << (MYSQL_ERRNO - 436)) | (1L << (NAME - 436)) | (1L << (NAMES - 436)) | (1L << (NATIONAL - 436)) | (1L << (NCHAR - 436)) | (1L << (NDBCLUSTER - 436)) | (1L << (NESTED - 436)) | (1L << (NETWORK_NAMESPACE - 436)) | (1L << (NEVER - 436)) | (1L << (NEW - 436)) | (1L << (NEXT - 436)) | (1L << (NO - 436)) | (1L << (NODEGROUP - 436)) | (1L << (NONE - 436)) | (1L << (NOWAIT - 436)) | (1L << (NO_WAIT - 436)) | (1L << (NULLS - 436)) | (1L << (NUMBER - 436)) | (1L << (NVARCHAR - 436)) | (1L << (OFF - 436)) | (1L << (OFFSET - 436)) | (1L << (OJ - 436)) | (1L << (OLD - 436)) | (1L << (ONE - 436)) | (1L << (ONLY - 436)) | (1L << (OPEN - 436)) | (1L << (OPTIONAL - 436)) | (1L << (OPTIONS - 436)) | (1L << (ORDINALITY - 436)) | (1L << (ORGANIZATION - 436)) | (1L << (OTHERS - 436)) | (1L << (OWNER - 436)) | (1L << (PACK_KEYS - 436)) | (1L << (PAGE - 436)) | (1L << (PARSER - 436)) | (1L << (PARTIAL - 436)))) != 0) || ((((_la - 500)) & ~0x3f) == 0 && ((1L << (_la - 500)) & ((1L << (PARTITIONING - 500)) | (1L << (PARTITIONS - 500)) | (1L << (PASSWORD - 500)) | (1L << (PASSWORD_LOCK_TIME - 500)) | (1L << (PATH - 500)) | (1L << (PERSIST - 500)) | (1L << (PERSIST_ONLY - 500)) | (1L << (PHASE - 500)) | (1L << (PLUGIN - 500)) | (1L << (PLUGINS - 500)) | (1L << (PLUGIN_DIR - 500)) | (1L << (POINT - 500)) | (1L << (POLYGON - 500)) | (1L << (PORT - 500)) | (1L << (PRECEDES - 500)) | (1L << (PRECEDING - 500)) | (1L << (PREPARE - 500)) | (1L << (PRESERVE - 500)) | (1L << (PREV - 500)) | (1L << (PRIMARY - 500)) | (1L << (PRIVILEGES - 500)) | (1L << (PRIVILEGE_CHECKS_USER - 500)) | (1L << (PROCESS - 500)) | (1L << (PROCESSLIST - 500)) | (1L << (PROFILE - 500)) | (1L << (PROFILES - 500)) | (1L << (PROXY - 500)) | (1L << (QUARTER - 500)) | (1L << (QUERY - 500)) | (1L << (QUICK - 500)) | (1L << (RANDOM - 500)) | (1L << (READ_ONLY - 500)) | (1L << (REBUILD - 500)) | (1L << (RECOVER - 500)) | (1L << (REDO_BUFFER_SIZE - 500)) | (1L << (REDUNDANT - 500)) | (1L << (REFERENCE - 500)) | (1L << (RELAY - 500)) | (1L << (RELAYLOG - 500)) | (1L << (RELAY_LOG_FILE - 500)) | (1L << (RELAY_LOG_POS - 500)) | (1L << (RELAY_THREAD - 500)) | (1L << (RELOAD - 500)) | (1L << (REMOVE - 500)) | (1L << (REORGANIZE - 500)) | (1L << (REPAIR - 500)) | (1L << (REPEATABLE - 500)))) != 0) || ((((_la - 566)) & ~0x3f) == 0 && ((1L << (_la - 566)) & ((1L << (REPLICATE_DO_DB - 566)) | (1L << (REPLICATE_DO_TABLE - 566)) | (1L << (REPLICATE_IGNORE_DB - 566)) | (1L << (REPLICATE_IGNORE_TABLE - 566)) | (1L << (REPLICATE_REWRITE_DB - 566)) | (1L << (REPLICATE_WILD_DO_TABLE - 566)) | (1L << (REPLICATE_WILD_IGNORE_TABLE - 566)) | (1L << (REPLICATION - 566)) | (1L << (REQUIRE_ROW_FORMAT - 566)) | (1L << (RESET - 566)) | (1L << (RESOURCE - 566)) | (1L << (RESPECT - 566)) | (1L << (RESTART - 566)) | (1L << (RESTORE - 566)) | (1L << (RESUME - 566)) | (1L << (RETAIN - 566)) | (1L << (RETURNED_SQLSTATE - 566)) | (1L << (RETURNING - 566)) | (1L << (RETURNS - 566)) | (1L << (REUSE - 566)) | (1L << (REVERSE - 566)) | (1L << (ROLE - 566)) | (1L << (ROLLBACK - 566)) | (1L << (ROLLUP - 566)) | (1L << (ROTATE - 566)) | (1L << (ROUTINE - 566)) | (1L << (ROW_COUNT - 566)) | (1L << (ROW_FORMAT - 566)) | (1L << (RTREE - 566)) | (1L << (SAVEPOINT - 566)) | (1L << (SCHEDULE - 566)) | (1L << (SCHEMA_NAME - 566)) | (1L << (SECOND - 566)) | (1L << (SECONDARY - 566)) | (1L << (SECONDARY_ENGINE - 566)) | (1L << (SECONDARY_ENGINE_ATTRIBUTE - 566)) | (1L << (SECONDARY_LOAD - 566)) | (1L << (SECONDARY_UNLOAD - 566)) | (1L << (SECURITY - 566)) | (1L << (SERIAL - 566)) | (1L << (SERIALIZABLE - 566)) | (1L << (SERVER - 566)) | (1L << (SESSION - 566)) | (1L << (SHARE - 566)) | (1L << (SHUTDOWN - 566)))) != 0) || ((((_la - 630)) & ~0x3f) == 0 && ((1L << (_la - 630)) & ((1L << (SIGNED - 630)) | (1L << (SIMPLE - 630)) | (1L << (SLAVE - 630)) | (1L << (SLOW - 630)) | (1L << (SNAPSHOT - 630)) | (1L << (SOCKET - 630)) | (1L << (SONAME - 630)) | (1L << (SOUNDS - 630)) | (1L << (SOURCE - 630)) | (1L << (SQL_AFTER_GTIDS - 630)) | (1L << (SQL_AFTER_MTS_GAPS - 630)) | (1L << (SQL_BEFORE_GTIDS - 630)) | (1L << (SQL_BUFFER_RESULT - 630)) | (1L << (SQL_NO_CACHE - 630)) | (1L << (SQL_THREAD - 630)) | (1L << (SRID - 630)) | (1L << (STACKED - 630)) | (1L << (START - 630)) | (1L << (STARTS - 630)) | (1L << (STATS_AUTO_RECALC - 630)) | (1L << (STATS_PERSISTENT - 630)) | (1L << (STATS_SAMPLE_PAGES - 630)) | (1L << (STATUS - 630)) | (1L << (STOP - 630)) | (1L << (STORAGE - 630)) | (1L << (STREAM - 630)) | (1L << (STRING - 630)) | (1L << (SUBCLASS_ORIGIN - 630)) | (1L << (SUBJECT - 630)) | (1L << (SUBPARTITION - 630)) | (1L << (SUBPARTITIONS - 630)) | (1L << (SUPER - 630)) | (1L << (SUSPEND - 630)) | (1L << (SWAPS - 630)) | (1L << (SWITCHES - 630)) | (1L << (TABLES - 630)) | (1L << (TABLESPACE - 630)) | (1L << (TABLE_CHECKSUM - 630)) | (1L << (TABLE_NAME - 630)) | (1L << (TEMPORARY - 630)) | (1L << (TEMPTABLE - 630)) | (1L << (TEXT - 630)) | (1L << (THAN - 630)) | (1L << (THREAD_PRIORITY - 630)) | (1L << (TIES - 630)))) != 0) || ((((_la - 694)) & ~0x3f) == 0 && ((1L << (_la - 694)) & ((1L << (TIME - 694)) | (1L << (TIMESTAMP - 694)) | (1L << (TIMESTAMP_ADD - 694)) | (1L << (TIMESTAMP_DIFF - 694)) | (1L << (TLS - 694)) | (1L << (TRANSACTION - 694)) | (1L << (TRIGGERS - 694)) | (1L << (TRUNCATE - 694)) | (1L << (TYPE - 694)) | (1L << (TYPES - 694)) | (1L << (UNBOUNDED - 694)) | (1L << (UNCOMMITTED - 694)) | (1L << (UNDEFINED - 694)) | (1L << (UNDOFILE - 694)) | (1L << (UNDO_BUFFER_SIZE - 694)) | (1L << (UNICODE - 694)) | (1L << (UNINSTALL - 694)) | (1L << (UNKNOWN - 694)) | (1L << (UNTIL - 694)) | (1L << (UPGRADE - 694)) | (1L << (USER - 694)) | (1L << (USER_RESOURCES - 694)) | (1L << (USE_FRM - 694)) | (1L << (UTC_DATE - 694)) | (1L << (UTC_TIME - 694)) | (1L << (UTC_TIMESTAMP - 694)) | (1L << (VALIDATION - 694)) | (1L << (VALUE - 694)) | (1L << (VARIABLES - 694)) | (1L << (VCPU - 694)) | (1L << (VIEW - 694)) | (1L << (VISIBLE - 694)) | (1L << (WAIT - 694)) | (1L << (WARNINGS - 694)) | (1L << (WEEK - 694)) | (1L << (WEIGHT_STRING - 694)) | (1L << (WITHOUT - 694)))) != 0) || ((((_la - 758)) & ~0x3f) == 0 && ((1L << (_la - 758)) & ((1L << (WORK - 758)) | (1L << (WRAPPER - 758)) | (1L << (X509 - 758)) | (1L << (XA - 758)) | (1L << (XID - 758)) | (1L << (XML - 758)) | (1L << (YEAR - 758)) | (1L << (DOUBLE_QUOTED_TEXT - 758)) | (1L << (UNDERSCORE_CHARSET - 758)) | (1L << (IDENTIFIER_ - 758)))) != 0)) {
{
setState(2058);
identifier();
setState(2059);
dataType();
}
}
setState(2069);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA_) {
{
{
setState(2063);
match(COMMA_);
setState(2064);
identifier();
setState(2065);
dataType();
}
}
setState(2071);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(2072);
match(RP_);
setState(2073);
match(RETURNS);
setState(2074);
dataType();
setState(2078);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,144,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(2075);
routineOption();
}
}
}
setState(2080);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,144,_ctx);
}
setState(2081);
routineBody();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AlterFunctionContext extends ParserRuleContext {
public TerminalNode ALTER() { return getToken(MySQLStatementParser.ALTER, 0); }
public TerminalNode FUNCTION() { return getToken(MySQLStatementParser.FUNCTION, 0); }
public FunctionNameContext functionName() {
return getRuleContext(FunctionNameContext.class,0);
}
public List routineOption() {
return getRuleContexts(RoutineOptionContext.class);
}
public RoutineOptionContext routineOption(int i) {
return getRuleContext(RoutineOptionContext.class,i);
}
public AlterFunctionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterFunction; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterFunction(this);
else return visitor.visitChildren(this);
}
}
public final AlterFunctionContext alterFunction() throws RecognitionException {
AlterFunctionContext _localctx = new AlterFunctionContext(_ctx, getState());
enterRule(_localctx, 92, RULE_alterFunction);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2083);
match(ALTER);
setState(2084);
match(FUNCTION);
setState(2085);
functionName();
setState(2089);
_errHandler.sync(this);
_la = _input.LA(1);
while (((((_la - 147)) & ~0x3f) == 0 && ((1L << (_la - 147)) & ((1L << (COMMENT - 147)) | (1L << (CONTAINS - 147)) | (1L << (DETERMINISTIC - 147)))) != 0) || _la==LANGUAGE || ((((_la - 437)) & ~0x3f) == 0 && ((1L << (_la - 437)) & ((1L << (MODIFIES - 437)) | (1L << (NO - 437)) | (1L << (NOT - 437)))) != 0) || _la==READS || _la==SQL) {
{
{
setState(2086);
routineOption();
}
}
setState(2091);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DropFunctionContext extends ParserRuleContext {
public TerminalNode DROP() { return getToken(MySQLStatementParser.DROP, 0); }
public TerminalNode FUNCTION() { return getToken(MySQLStatementParser.FUNCTION, 0); }
public FunctionNameContext functionName() {
return getRuleContext(FunctionNameContext.class,0);
}
public IfExistsContext ifExists() {
return getRuleContext(IfExistsContext.class,0);
}
public DropFunctionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dropFunction; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitDropFunction(this);
else return visitor.visitChildren(this);
}
}
public final DropFunctionContext dropFunction() throws RecognitionException {
DropFunctionContext _localctx = new DropFunctionContext(_ctx, getState());
enterRule(_localctx, 94, RULE_dropFunction);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2092);
match(DROP);
setState(2093);
match(FUNCTION);
setState(2095);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(2094);
ifExists();
}
}
setState(2097);
functionName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CreateProcedureContext extends ParserRuleContext {
public TerminalNode CREATE() { return getToken(MySQLStatementParser.CREATE, 0); }
public TerminalNode PROCEDURE() { return getToken(MySQLStatementParser.PROCEDURE, 0); }
public FunctionNameContext functionName() {
return getRuleContext(FunctionNameContext.class,0);
}
public TerminalNode LP_() { return getToken(MySQLStatementParser.LP_, 0); }
public TerminalNode RP_() { return getToken(MySQLStatementParser.RP_, 0); }
public RoutineBodyContext routineBody() {
return getRuleContext(RoutineBodyContext.class,0);
}
public OwnerStatementContext ownerStatement() {
return getRuleContext(OwnerStatementContext.class,0);
}
public List procedureParameter() {
return getRuleContexts(ProcedureParameterContext.class);
}
public ProcedureParameterContext procedureParameter(int i) {
return getRuleContext(ProcedureParameterContext.class,i);
}
public List COMMA_() { return getTokens(MySQLStatementParser.COMMA_); }
public TerminalNode COMMA_(int i) {
return getToken(MySQLStatementParser.COMMA_, i);
}
public List routineOption() {
return getRuleContexts(RoutineOptionContext.class);
}
public RoutineOptionContext routineOption(int i) {
return getRuleContext(RoutineOptionContext.class,i);
}
public CreateProcedureContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_createProcedure; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitCreateProcedure(this);
else return visitor.visitChildren(this);
}
}
public final CreateProcedureContext createProcedure() throws RecognitionException {
CreateProcedureContext _localctx = new CreateProcedureContext(_ctx, getState());
enterRule(_localctx, 96, RULE_createProcedure);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(2099);
match(CREATE);
setState(2101);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==DEFINER) {
{
setState(2100);
ownerStatement();
}
}
setState(2103);
match(PROCEDURE);
setState(2104);
functionName();
setState(2105);
match(LP_);
setState(2107);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 49)) & ~0x3f) == 0 && ((1L << (_la - 49)) & ((1L << (MAX - 49)) | (1L << (MIN - 49)) | (1L << (SUM - 49)) | (1L << (COUNT - 49)) | (1L << (GROUP_CONCAT - 49)) | (1L << (CAST - 49)) | (1L << (POSITION - 49)) | (1L << (SUBSTRING - 49)) | (1L << (SUBSTR - 49)) | (1L << (EXTRACT - 49)) | (1L << (TRIM - 49)) | (1L << (LAST_DAY - 49)) | (1L << (TRADITIONAL - 49)) | (1L << (TREE - 49)) | (1L << (MYSQL_MAIN - 49)) | (1L << (MYSQL_ADMIN - 49)) | (1L << (INSTANT - 49)) | (1L << (INPLACE - 49)) | (1L << (COPY - 49)) | (1L << (UL_BINARY - 49)) | (1L << (AUTOCOMMIT - 49)) | (1L << (INNODB - 49)) | (1L << (REDO_LOG - 49)) | (1L << (ACCOUNT - 49)) | (1L << (ACTION - 49)) | (1L << (ACTIVE - 49)) | (1L << (ADMIN - 49)) | (1L << (AFTER - 49)) | (1L << (AGAINST - 49)) | (1L << (AGGREGATE - 49)) | (1L << (ALGORITHM - 49)) | (1L << (ALWAYS - 49)) | (1L << (ANY - 49)) | (1L << (ARRAY - 49)) | (1L << (ASCII - 49)) | (1L << (AT - 49)) | (1L << (ATTRIBUTE - 49)) | (1L << (AUTOEXTEND_SIZE - 49)) | (1L << (AUTO_INCREMENT - 49)) | (1L << (AVG - 49)) | (1L << (BIT_XOR - 49)) | (1L << (AVG_ROW_LENGTH - 49)) | (1L << (BACKUP - 49)) | (1L << (BEGIN - 49)) | (1L << (BINLOG - 49)) | (1L << (BIT - 49)) | (1L << (BLOCK - 49)) | (1L << (BOOL - 49)))) != 0) || ((((_la - 113)) & ~0x3f) == 0 && ((1L << (_la - 113)) & ((1L << (BOOLEAN - 113)) | (1L << (BTREE - 113)) | (1L << (BUCKETS - 113)) | (1L << (BYTE - 113)) | (1L << (CACHE - 113)) | (1L << (CASCADED - 113)) | (1L << (CATALOG_NAME - 113)) | (1L << (CHAIN - 113)) | (1L << (CHANGED - 113)) | (1L << (CHANNEL - 113)) | (1L << (CHARSET - 113)) | (1L << (CHECKSUM - 113)) | (1L << (CIPHER - 113)) | (1L << (CLASS_ORIGIN - 113)) | (1L << (CLIENT - 113)) | (1L << (CLONE - 113)) | (1L << (CLOSE - 113)) | (1L << (COALESCE - 113)) | (1L << (CODE - 113)) | (1L << (COLLATION - 113)) | (1L << (COLUMNS - 113)) | (1L << (COLUMN_FORMAT - 113)) | (1L << (COLUMN_NAME - 113)) | (1L << (COMMENT - 113)) | (1L << (COMMIT - 113)) | (1L << (COMMITTED - 113)) | (1L << (COMPACT - 113)) | (1L << (COMPLETION - 113)) | (1L << (COMPONENT - 113)) | (1L << (COMPRESSED - 113)) | (1L << (COMPRESSION - 113)) | (1L << (CONCURRENT - 113)) | (1L << (CONNECTION - 113)) | (1L << (CONSISTENT - 113)) | (1L << (CONSTRAINT_CATALOG - 113)) | (1L << (CONSTRAINT_NAME - 113)) | (1L << (CONSTRAINT_SCHEMA - 113)) | (1L << (CONTAINS - 113)) | (1L << (CONTEXT - 113)) | (1L << (CPU - 113)) | (1L << (CREATE - 113)) | (1L << (CURRENT - 113)))) != 0) || ((((_la - 178)) & ~0x3f) == 0 && ((1L << (_la - 178)) & ((1L << (CURSOR_NAME - 178)) | (1L << (DATA - 178)) | (1L << (DATAFILE - 178)) | (1L << (DATE - 178)) | (1L << (DATETIME - 178)) | (1L << (DAY - 178)) | (1L << (DEALLOCATE - 178)) | (1L << (DEFAULT_AUTH - 178)) | (1L << (DEFINER - 178)) | (1L << (DEFINITION - 178)) | (1L << (DELAY_KEY_WRITE - 178)) | (1L << (DESCRIPTION - 178)) | (1L << (DIAGNOSTICS - 178)) | (1L << (DIRECTORY - 178)) | (1L << (DISABLE - 178)) | (1L << (DISCARD - 178)) | (1L << (DISK - 178)) | (1L << (DO - 178)) | (1L << (DUMPFILE - 178)) | (1L << (DUPLICATE - 178)) | (1L << (DYNAMIC - 178)) | (1L << (ENABLE - 178)) | (1L << (ENCRYPTION - 178)) | (1L << (END - 178)) | (1L << (ENDS - 178)) | (1L << (ENFORCED - 178)) | (1L << (ENGINE - 178)) | (1L << (ENGINES - 178)) | (1L << (ENGINE_ATTRIBUTE - 178)) | (1L << (ENUM - 178)) | (1L << (ERROR - 178)) | (1L << (ERRORS - 178)) | (1L << (ESCAPE - 178)) | (1L << (EVENT - 178)) | (1L << (EVENTS - 178)) | (1L << (EVERY - 178)))) != 0) || ((((_la - 243)) & ~0x3f) == 0 && ((1L << (_la - 243)) & ((1L << (EXCHANGE - 243)) | (1L << (EXCLUDE - 243)) | (1L << (EXECUTE - 243)) | (1L << (EXPANSION - 243)) | (1L << (EXPIRE - 243)) | (1L << (EXPORT - 243)) | (1L << (EXTENDED - 243)) | (1L << (EXTENT_SIZE - 243)) | (1L << (FAILED_LOGIN_ATTEMPTS - 243)) | (1L << (FAST - 243)) | (1L << (FAULTS - 243)) | (1L << (FILE - 243)) | (1L << (FILE_BLOCK_SIZE - 243)) | (1L << (FILTER - 243)) | (1L << (FIRST - 243)) | (1L << (FIXED - 243)) | (1L << (FLUSH - 243)) | (1L << (FOLLOWING - 243)) | (1L << (FOLLOWS - 243)) | (1L << (FORMAT - 243)) | (1L << (FOUND - 243)) | (1L << (FULL - 243)) | (1L << (GENERAL - 243)) | (1L << (GEOMETRY - 243)) | (1L << (GEOMETRYCOLLECTION - 243)) | (1L << (GET_FORMAT - 243)) | (1L << (GET_MASTER_PUBLIC_KEY - 243)) | (1L << (GLOBAL - 243)) | (1L << (GRANTS - 243)) | (1L << (GROUP_REPLICATION - 243)) | (1L << (HANDLER - 243)) | (1L << (HASH - 243)) | (1L << (HELP - 243)) | (1L << (HISTOGRAM - 243)) | (1L << (HISTORY - 243)) | (1L << (HOST - 243)) | (1L << (HOSTS - 243)) | (1L << (HOUR - 243)))) != 0) || ((((_la - 307)) & ~0x3f) == 0 && ((1L << (_la - 307)) & ((1L << (IDENTIFIED - 307)) | (1L << (IGNORE_SERVER_IDS - 307)) | (1L << (IMPORT - 307)) | (1L << (IN - 307)) | (1L << (INACTIVE - 307)) | (1L << (INDEXES - 307)) | (1L << (INITIAL_SIZE - 307)) | (1L << (INOUT - 307)) | (1L << (INSERT_METHOD - 307)) | (1L << (INSTALL - 307)) | (1L << (INSTANCE - 307)) | (1L << (INVISIBLE - 307)) | (1L << (INVOKER - 307)) | (1L << (IO - 307)) | (1L << (IPC - 307)) | (1L << (ISOLATION - 307)) | (1L << (ISSUER - 307)) | (1L << (JSON - 307)) | (1L << (JSON_VALUE - 307)) | (1L << (KEY - 307)) | (1L << (KEY_BLOCK_SIZE - 307)) | (1L << (LANGUAGE - 307)) | (1L << (LAST - 307)) | (1L << (LAST_VALUE - 307)) | (1L << (LEAVES - 307)) | (1L << (LESS - 307)) | (1L << (LEVEL - 307)) | (1L << (LINESTRING - 307)) | (1L << (LIST - 307)))) != 0) || ((((_la - 371)) & ~0x3f) == 0 && ((1L << (_la - 371)) & ((1L << (LOCAL - 371)) | (1L << (LOCKED - 371)) | (1L << (LOCKS - 371)) | (1L << (LOGFILE - 371)) | (1L << (LOGS - 371)) | (1L << (MASTER - 371)) | (1L << (MASTER_AUTO_POSITION - 371)) | (1L << (MASTER_COMPRESSION_ALGORITHM - 371)) | (1L << (MASTER_CONNECT_RETRY - 371)) | (1L << (MASTER_DELAY - 371)) | (1L << (MASTER_HEARTBEAT_PERIOD - 371)) | (1L << (MASTER_HOST - 371)) | (1L << (MASTER_LOG_FILE - 371)) | (1L << (MASTER_LOG_POS - 371)) | (1L << (MASTER_PASSWORD - 371)) | (1L << (MASTER_PORT - 371)) | (1L << (MASTER_PUBLIC_KEY_PATH - 371)) | (1L << (MASTER_RETRY_COUNT - 371)) | (1L << (MASTER_SERVER_ID - 371)) | (1L << (MASTER_SSL - 371)) | (1L << (MASTER_SSL_CA - 371)) | (1L << (MASTER_SSL_CAPATH - 371)) | (1L << (MASTER_SSL_CERT - 371)) | (1L << (MASTER_SSL_CIPHER - 371)) | (1L << (MASTER_SSL_CRL - 371)) | (1L << (MASTER_SSL_CRLPATH - 371)) | (1L << (MASTER_SSL_KEY - 371)) | (1L << (MASTER_TLS_CIPHERSUITES - 371)) | (1L << (MASTER_TLS_VERSION - 371)) | (1L << (MASTER_USER - 371)) | (1L << (MASTER_ZSTD_COMPRESSION_LEVEL - 371)) | (1L << (MAXVALUE - 371)) | (1L << (MAX_CONNECTIONS_PER_HOUR - 371)) | (1L << (MAX_QUERIES_PER_HOUR - 371)) | (1L << (MAX_ROWS - 371)) | (1L << (MAX_SIZE - 371)) | (1L << (MAX_UPDATES_PER_HOUR - 371)) | (1L << (MAX_USER_CONNECTIONS - 371)) | (1L << (MEDIUM - 371)) | (1L << (MEMBER - 371)) | (1L << (MEMORY - 371)) | (1L << (MERGE - 371)) | (1L << (MESSAGE_TEXT - 371)) | (1L << (MICROSECOND - 371)) | (1L << (MIGRATE - 371)) | (1L << (MINUTE - 371)) | (1L << (MIN_ROWS - 371)))) != 0) || ((((_la - 436)) & ~0x3f) == 0 && ((1L << (_la - 436)) & ((1L << (MODE - 436)) | (1L << (MODIFY - 436)) | (1L << (MONTH - 436)) | (1L << (MULTILINESTRING - 436)) | (1L << (MULTIPOINT - 436)) | (1L << (MULTIPOLYGON - 436)) | (1L << (MUTEX - 436)) | (1L << (MYSQL_ERRNO - 436)) | (1L << (NAME - 436)) | (1L << (NAMES - 436)) | (1L << (NATIONAL - 436)) | (1L << (NCHAR - 436)) | (1L << (NDBCLUSTER - 436)) | (1L << (NESTED - 436)) | (1L << (NETWORK_NAMESPACE - 436)) | (1L << (NEVER - 436)) | (1L << (NEW - 436)) | (1L << (NEXT - 436)) | (1L << (NO - 436)) | (1L << (NODEGROUP - 436)) | (1L << (NONE - 436)) | (1L << (NOWAIT - 436)) | (1L << (NO_WAIT - 436)) | (1L << (NULLS - 436)) | (1L << (NUMBER - 436)) | (1L << (NVARCHAR - 436)) | (1L << (OFF - 436)) | (1L << (OFFSET - 436)) | (1L << (OJ - 436)) | (1L << (OLD - 436)) | (1L << (ONE - 436)) | (1L << (ONLY - 436)) | (1L << (OPEN - 436)) | (1L << (OPTIONAL - 436)) | (1L << (OPTIONS - 436)) | (1L << (ORDINALITY - 436)) | (1L << (ORGANIZATION - 436)) | (1L << (OTHERS - 436)) | (1L << (OUT - 436)) | (1L << (OWNER - 436)) | (1L << (PACK_KEYS - 436)) | (1L << (PAGE - 436)) | (1L << (PARSER - 436)) | (1L << (PARTIAL - 436)))) != 0) || ((((_la - 500)) & ~0x3f) == 0 && ((1L << (_la - 500)) & ((1L << (PARTITIONING - 500)) | (1L << (PARTITIONS - 500)) | (1L << (PASSWORD - 500)) | (1L << (PASSWORD_LOCK_TIME - 500)) | (1L << (PATH - 500)) | (1L << (PERSIST - 500)) | (1L << (PERSIST_ONLY - 500)) | (1L << (PHASE - 500)) | (1L << (PLUGIN - 500)) | (1L << (PLUGINS - 500)) | (1L << (PLUGIN_DIR - 500)) | (1L << (POINT - 500)) | (1L << (POLYGON - 500)) | (1L << (PORT - 500)) | (1L << (PRECEDES - 500)) | (1L << (PRECEDING - 500)) | (1L << (PREPARE - 500)) | (1L << (PRESERVE - 500)) | (1L << (PREV - 500)) | (1L << (PRIMARY - 500)) | (1L << (PRIVILEGES - 500)) | (1L << (PRIVILEGE_CHECKS_USER - 500)) | (1L << (PROCESS - 500)) | (1L << (PROCESSLIST - 500)) | (1L << (PROFILE - 500)) | (1L << (PROFILES - 500)) | (1L << (PROXY - 500)) | (1L << (QUARTER - 500)) | (1L << (QUERY - 500)) | (1L << (QUICK - 500)) | (1L << (RANDOM - 500)) | (1L << (READ_ONLY - 500)) | (1L << (REBUILD - 500)) | (1L << (RECOVER - 500)) | (1L << (REDO_BUFFER_SIZE - 500)) | (1L << (REDUNDANT - 500)) | (1L << (REFERENCE - 500)) | (1L << (RELAY - 500)) | (1L << (RELAYLOG - 500)) | (1L << (RELAY_LOG_FILE - 500)) | (1L << (RELAY_LOG_POS - 500)) | (1L << (RELAY_THREAD - 500)) | (1L << (RELOAD - 500)) | (1L << (REMOVE - 500)) | (1L << (REORGANIZE - 500)) | (1L << (REPAIR - 500)) | (1L << (REPEATABLE - 500)))) != 0) || ((((_la - 566)) & ~0x3f) == 0 && ((1L << (_la - 566)) & ((1L << (REPLICATE_DO_DB - 566)) | (1L << (REPLICATE_DO_TABLE - 566)) | (1L << (REPLICATE_IGNORE_DB - 566)) | (1L << (REPLICATE_IGNORE_TABLE - 566)) | (1L << (REPLICATE_REWRITE_DB - 566)) | (1L << (REPLICATE_WILD_DO_TABLE - 566)) | (1L << (REPLICATE_WILD_IGNORE_TABLE - 566)) | (1L << (REPLICATION - 566)) | (1L << (REQUIRE_ROW_FORMAT - 566)) | (1L << (RESET - 566)) | (1L << (RESOURCE - 566)) | (1L << (RESPECT - 566)) | (1L << (RESTART - 566)) | (1L << (RESTORE - 566)) | (1L << (RESUME - 566)) | (1L << (RETAIN - 566)) | (1L << (RETURNED_SQLSTATE - 566)) | (1L << (RETURNING - 566)) | (1L << (RETURNS - 566)) | (1L << (REUSE - 566)) | (1L << (REVERSE - 566)) | (1L << (ROLE - 566)) | (1L << (ROLLBACK - 566)) | (1L << (ROLLUP - 566)) | (1L << (ROTATE - 566)) | (1L << (ROUTINE - 566)) | (1L << (ROW_COUNT - 566)) | (1L << (ROW_FORMAT - 566)) | (1L << (RTREE - 566)) | (1L << (SAVEPOINT - 566)) | (1L << (SCHEDULE - 566)) | (1L << (SCHEMA_NAME - 566)) | (1L << (SECOND - 566)) | (1L << (SECONDARY - 566)) | (1L << (SECONDARY_ENGINE - 566)) | (1L << (SECONDARY_ENGINE_ATTRIBUTE - 566)) | (1L << (SECONDARY_LOAD - 566)) | (1L << (SECONDARY_UNLOAD - 566)) | (1L << (SECURITY - 566)) | (1L << (SERIAL - 566)) | (1L << (SERIALIZABLE - 566)) | (1L << (SERVER - 566)) | (1L << (SESSION - 566)) | (1L << (SHARE - 566)) | (1L << (SHUTDOWN - 566)))) != 0) || ((((_la - 630)) & ~0x3f) == 0 && ((1L << (_la - 630)) & ((1L << (SIGNED - 630)) | (1L << (SIMPLE - 630)) | (1L << (SLAVE - 630)) | (1L << (SLOW - 630)) | (1L << (SNAPSHOT - 630)) | (1L << (SOCKET - 630)) | (1L << (SONAME - 630)) | (1L << (SOUNDS - 630)) | (1L << (SOURCE - 630)) | (1L << (SQL_AFTER_GTIDS - 630)) | (1L << (SQL_AFTER_MTS_GAPS - 630)) | (1L << (SQL_BEFORE_GTIDS - 630)) | (1L << (SQL_BUFFER_RESULT - 630)) | (1L << (SQL_NO_CACHE - 630)) | (1L << (SQL_THREAD - 630)) | (1L << (SRID - 630)) | (1L << (STACKED - 630)) | (1L << (START - 630)) | (1L << (STARTS - 630)) | (1L << (STATS_AUTO_RECALC - 630)) | (1L << (STATS_PERSISTENT - 630)) | (1L << (STATS_SAMPLE_PAGES - 630)) | (1L << (STATUS - 630)) | (1L << (STOP - 630)) | (1L << (STORAGE - 630)) | (1L << (STREAM - 630)) | (1L << (STRING - 630)) | (1L << (SUBCLASS_ORIGIN - 630)) | (1L << (SUBJECT - 630)) | (1L << (SUBPARTITION - 630)) | (1L << (SUBPARTITIONS - 630)) | (1L << (SUPER - 630)) | (1L << (SUSPEND - 630)) | (1L << (SWAPS - 630)) | (1L << (SWITCHES - 630)) | (1L << (TABLES - 630)) | (1L << (TABLESPACE - 630)) | (1L << (TABLE_CHECKSUM - 630)) | (1L << (TABLE_NAME - 630)) | (1L << (TEMPORARY - 630)) | (1L << (TEMPTABLE - 630)) | (1L << (TEXT - 630)) | (1L << (THAN - 630)) | (1L << (THREAD_PRIORITY - 630)) | (1L << (TIES - 630)))) != 0) || ((((_la - 694)) & ~0x3f) == 0 && ((1L << (_la - 694)) & ((1L << (TIME - 694)) | (1L << (TIMESTAMP - 694)) | (1L << (TIMESTAMP_ADD - 694)) | (1L << (TIMESTAMP_DIFF - 694)) | (1L << (TLS - 694)) | (1L << (TRANSACTION - 694)) | (1L << (TRIGGERS - 694)) | (1L << (TRUNCATE - 694)) | (1L << (TYPE - 694)) | (1L << (TYPES - 694)) | (1L << (UNBOUNDED - 694)) | (1L << (UNCOMMITTED - 694)) | (1L << (UNDEFINED - 694)) | (1L << (UNDOFILE - 694)) | (1L << (UNDO_BUFFER_SIZE - 694)) | (1L << (UNICODE - 694)) | (1L << (UNINSTALL - 694)) | (1L << (UNKNOWN - 694)) | (1L << (UNTIL - 694)) | (1L << (UPGRADE - 694)) | (1L << (USER - 694)) | (1L << (USER_RESOURCES - 694)) | (1L << (USE_FRM - 694)) | (1L << (UTC_DATE - 694)) | (1L << (UTC_TIME - 694)) | (1L << (UTC_TIMESTAMP - 694)) | (1L << (VALIDATION - 694)) | (1L << (VALUE - 694)) | (1L << (VARIABLES - 694)) | (1L << (VCPU - 694)) | (1L << (VIEW - 694)) | (1L << (VISIBLE - 694)) | (1L << (WAIT - 694)) | (1L << (WARNINGS - 694)) | (1L << (WEEK - 694)) | (1L << (WEIGHT_STRING - 694)) | (1L << (WITHOUT - 694)))) != 0) || ((((_la - 758)) & ~0x3f) == 0 && ((1L << (_la - 758)) & ((1L << (WORK - 758)) | (1L << (WRAPPER - 758)) | (1L << (X509 - 758)) | (1L << (XA - 758)) | (1L << (XID - 758)) | (1L << (XML - 758)) | (1L << (YEAR - 758)) | (1L << (DOUBLE_QUOTED_TEXT - 758)) | (1L << (UNDERSCORE_CHARSET - 758)) | (1L << (IDENTIFIER_ - 758)))) != 0)) {
{
setState(2106);
procedureParameter();
}
}
setState(2113);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA_) {
{
{
setState(2109);
match(COMMA_);
setState(2110);
procedureParameter();
}
}
setState(2115);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(2116);
match(RP_);
setState(2120);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,150,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(2117);
routineOption();
}
}
}
setState(2122);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,150,_ctx);
}
setState(2123);
routineBody();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AlterProcedureContext extends ParserRuleContext {
public TerminalNode ALTER() { return getToken(MySQLStatementParser.ALTER, 0); }
public TerminalNode PROCEDURE() { return getToken(MySQLStatementParser.PROCEDURE, 0); }
public FunctionNameContext functionName() {
return getRuleContext(FunctionNameContext.class,0);
}
public List routineOption() {
return getRuleContexts(RoutineOptionContext.class);
}
public RoutineOptionContext routineOption(int i) {
return getRuleContext(RoutineOptionContext.class,i);
}
public AlterProcedureContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterProcedure; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterProcedure(this);
else return visitor.visitChildren(this);
}
}
public final AlterProcedureContext alterProcedure() throws RecognitionException {
AlterProcedureContext _localctx = new AlterProcedureContext(_ctx, getState());
enterRule(_localctx, 98, RULE_alterProcedure);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2125);
match(ALTER);
setState(2126);
match(PROCEDURE);
setState(2127);
functionName();
setState(2131);
_errHandler.sync(this);
_la = _input.LA(1);
while (((((_la - 147)) & ~0x3f) == 0 && ((1L << (_la - 147)) & ((1L << (COMMENT - 147)) | (1L << (CONTAINS - 147)) | (1L << (DETERMINISTIC - 147)))) != 0) || _la==LANGUAGE || ((((_la - 437)) & ~0x3f) == 0 && ((1L << (_la - 437)) & ((1L << (MODIFIES - 437)) | (1L << (NO - 437)) | (1L << (NOT - 437)))) != 0) || _la==READS || _la==SQL) {
{
{
setState(2128);
routineOption();
}
}
setState(2133);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DropProcedureContext extends ParserRuleContext {
public TerminalNode DROP() { return getToken(MySQLStatementParser.DROP, 0); }
public TerminalNode PROCEDURE() { return getToken(MySQLStatementParser.PROCEDURE, 0); }
public FunctionNameContext functionName() {
return getRuleContext(FunctionNameContext.class,0);
}
public IfExistsContext ifExists() {
return getRuleContext(IfExistsContext.class,0);
}
public DropProcedureContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dropProcedure; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitDropProcedure(this);
else return visitor.visitChildren(this);
}
}
public final DropProcedureContext dropProcedure() throws RecognitionException {
DropProcedureContext _localctx = new DropProcedureContext(_ctx, getState());
enterRule(_localctx, 100, RULE_dropProcedure);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2134);
match(DROP);
setState(2135);
match(PROCEDURE);
setState(2137);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(2136);
ifExists();
}
}
setState(2139);
functionName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CreateServerContext extends ParserRuleContext {
public TerminalNode CREATE() { return getToken(MySQLStatementParser.CREATE, 0); }
public TerminalNode SERVER() { return getToken(MySQLStatementParser.SERVER, 0); }
public ServerNameContext serverName() {
return getRuleContext(ServerNameContext.class,0);
}
public TerminalNode FOREIGN() { return getToken(MySQLStatementParser.FOREIGN, 0); }
public TerminalNode DATA() { return getToken(MySQLStatementParser.DATA, 0); }
public TerminalNode WRAPPER() { return getToken(MySQLStatementParser.WRAPPER, 0); }
public WrapperNameContext wrapperName() {
return getRuleContext(WrapperNameContext.class,0);
}
public TerminalNode OPTIONS() { return getToken(MySQLStatementParser.OPTIONS, 0); }
public TerminalNode LP_() { return getToken(MySQLStatementParser.LP_, 0); }
public List serverOption() {
return getRuleContexts(ServerOptionContext.class);
}
public ServerOptionContext serverOption(int i) {
return getRuleContext(ServerOptionContext.class,i);
}
public TerminalNode RP_() { return getToken(MySQLStatementParser.RP_, 0); }
public List COMMA_() { return getTokens(MySQLStatementParser.COMMA_); }
public TerminalNode COMMA_(int i) {
return getToken(MySQLStatementParser.COMMA_, i);
}
public CreateServerContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_createServer; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitCreateServer(this);
else return visitor.visitChildren(this);
}
}
public final CreateServerContext createServer() throws RecognitionException {
CreateServerContext _localctx = new CreateServerContext(_ctx, getState());
enterRule(_localctx, 102, RULE_createServer);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2141);
match(CREATE);
setState(2142);
match(SERVER);
setState(2143);
serverName();
setState(2144);
match(FOREIGN);
setState(2145);
match(DATA);
setState(2146);
match(WRAPPER);
setState(2147);
wrapperName();
setState(2148);
match(OPTIONS);
setState(2149);
match(LP_);
setState(2150);
serverOption();
setState(2155);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA_) {
{
{
setState(2151);
match(COMMA_);
setState(2152);
serverOption();
}
}
setState(2157);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(2158);
match(RP_);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AlterServerContext extends ParserRuleContext {
public TerminalNode ALTER() { return getToken(MySQLStatementParser.ALTER, 0); }
public TerminalNode SERVER() { return getToken(MySQLStatementParser.SERVER, 0); }
public ServerNameContext serverName() {
return getRuleContext(ServerNameContext.class,0);
}
public TerminalNode OPTIONS() { return getToken(MySQLStatementParser.OPTIONS, 0); }
public TerminalNode LP_() { return getToken(MySQLStatementParser.LP_, 0); }
public List serverOption() {
return getRuleContexts(ServerOptionContext.class);
}
public ServerOptionContext serverOption(int i) {
return getRuleContext(ServerOptionContext.class,i);
}
public TerminalNode RP_() { return getToken(MySQLStatementParser.RP_, 0); }
public List COMMA_() { return getTokens(MySQLStatementParser.COMMA_); }
public TerminalNode COMMA_(int i) {
return getToken(MySQLStatementParser.COMMA_, i);
}
public AlterServerContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterServer; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterServer(this);
else return visitor.visitChildren(this);
}
}
public final AlterServerContext alterServer() throws RecognitionException {
AlterServerContext _localctx = new AlterServerContext(_ctx, getState());
enterRule(_localctx, 104, RULE_alterServer);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2160);
match(ALTER);
setState(2161);
match(SERVER);
setState(2162);
serverName();
setState(2163);
match(OPTIONS);
setState(2164);
match(LP_);
setState(2165);
serverOption();
setState(2170);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA_) {
{
{
setState(2166);
match(COMMA_);
setState(2167);
serverOption();
}
}
setState(2172);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(2173);
match(RP_);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DropServerContext extends ParserRuleContext {
public TerminalNode DROP() { return getToken(MySQLStatementParser.DROP, 0); }
public TerminalNode SERVER() { return getToken(MySQLStatementParser.SERVER, 0); }
public ServerNameContext serverName() {
return getRuleContext(ServerNameContext.class,0);
}
public IfExistsContext ifExists() {
return getRuleContext(IfExistsContext.class,0);
}
public DropServerContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dropServer; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitDropServer(this);
else return visitor.visitChildren(this);
}
}
public final DropServerContext dropServer() throws RecognitionException {
DropServerContext _localctx = new DropServerContext(_ctx, getState());
enterRule(_localctx, 106, RULE_dropServer);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2175);
match(DROP);
setState(2176);
match(SERVER);
setState(2178);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(2177);
ifExists();
}
}
setState(2180);
serverName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CreateViewContext extends ParserRuleContext {
public TerminalNode CREATE() { return getToken(MySQLStatementParser.CREATE, 0); }
public TerminalNode VIEW() { return getToken(MySQLStatementParser.VIEW, 0); }
public ViewNameContext viewName() {
return getRuleContext(ViewNameContext.class,0);
}
public TerminalNode AS() { return getToken(MySQLStatementParser.AS, 0); }
public SelectContext select() {
return getRuleContext(SelectContext.class,0);
}
public TerminalNode OR() { return getToken(MySQLStatementParser.OR, 0); }
public TerminalNode REPLACE() { return getToken(MySQLStatementParser.REPLACE, 0); }
public TerminalNode ALGORITHM() { return getToken(MySQLStatementParser.ALGORITHM, 0); }
public TerminalNode EQ_() { return getToken(MySQLStatementParser.EQ_, 0); }
public OwnerStatementContext ownerStatement() {
return getRuleContext(OwnerStatementContext.class,0);
}
public TerminalNode SQL() { return getToken(MySQLStatementParser.SQL, 0); }
public TerminalNode SECURITY() { return getToken(MySQLStatementParser.SECURITY, 0); }
public TerminalNode LP_() { return getToken(MySQLStatementParser.LP_, 0); }
public ColumnNamesContext columnNames() {
return getRuleContext(ColumnNamesContext.class,0);
}
public TerminalNode RP_() { return getToken(MySQLStatementParser.RP_, 0); }
public TerminalNode WITH() { return getToken(MySQLStatementParser.WITH, 0); }
public TerminalNode CHECK() { return getToken(MySQLStatementParser.CHECK, 0); }
public TerminalNode OPTION() { return getToken(MySQLStatementParser.OPTION, 0); }
public TerminalNode UNDEFINED() { return getToken(MySQLStatementParser.UNDEFINED, 0); }
public TerminalNode MERGE() { return getToken(MySQLStatementParser.MERGE, 0); }
public TerminalNode TEMPTABLE() { return getToken(MySQLStatementParser.TEMPTABLE, 0); }
public TerminalNode DEFINER() { return getToken(MySQLStatementParser.DEFINER, 0); }
public TerminalNode INVOKER() { return getToken(MySQLStatementParser.INVOKER, 0); }
public TerminalNode CASCADED() { return getToken(MySQLStatementParser.CASCADED, 0); }
public TerminalNode LOCAL() { return getToken(MySQLStatementParser.LOCAL, 0); }
public CreateViewContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_createView; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitCreateView(this);
else return visitor.visitChildren(this);
}
}
public final CreateViewContext createView() throws RecognitionException {
CreateViewContext _localctx = new CreateViewContext(_ctx, getState());
enterRule(_localctx, 108, RULE_createView);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2182);
match(CREATE);
setState(2185);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==OR) {
{
setState(2183);
match(OR);
setState(2184);
match(REPLACE);
}
}
setState(2190);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ALGORITHM) {
{
setState(2187);
match(ALGORITHM);
setState(2188);
match(EQ_);
setState(2189);
_la = _input.LA(1);
if ( !(_la==MERGE || _la==TEMPTABLE || _la==UNDEFINED) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(2193);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==DEFINER) {
{
setState(2192);
ownerStatement();
}
}
setState(2198);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SQL) {
{
setState(2195);
match(SQL);
setState(2196);
match(SECURITY);
setState(2197);
_la = _input.LA(1);
if ( !(_la==DEFINER || _la==INVOKER) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(2200);
match(VIEW);
setState(2201);
viewName();
setState(2206);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LP_) {
{
setState(2202);
match(LP_);
setState(2203);
columnNames();
setState(2204);
match(RP_);
}
}
setState(2208);
match(AS);
setState(2209);
select();
setState(2216);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,162,_ctx) ) {
case 1:
{
setState(2210);
match(WITH);
setState(2212);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==CASCADED || _la==LOCAL) {
{
setState(2211);
_la = _input.LA(1);
if ( !(_la==CASCADED || _la==LOCAL) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(2214);
match(CHECK);
setState(2215);
match(OPTION);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AlterViewContext extends ParserRuleContext {
public TerminalNode ALTER() { return getToken(MySQLStatementParser.ALTER, 0); }
public TerminalNode VIEW() { return getToken(MySQLStatementParser.VIEW, 0); }
public ViewNameContext viewName() {
return getRuleContext(ViewNameContext.class,0);
}
public TerminalNode AS() { return getToken(MySQLStatementParser.AS, 0); }
public SelectContext select() {
return getRuleContext(SelectContext.class,0);
}
public TerminalNode ALGORITHM() { return getToken(MySQLStatementParser.ALGORITHM, 0); }
public TerminalNode EQ_() { return getToken(MySQLStatementParser.EQ_, 0); }
public OwnerStatementContext ownerStatement() {
return getRuleContext(OwnerStatementContext.class,0);
}
public TerminalNode SQL() { return getToken(MySQLStatementParser.SQL, 0); }
public TerminalNode SECURITY() { return getToken(MySQLStatementParser.SECURITY, 0); }
public TerminalNode LP_() { return getToken(MySQLStatementParser.LP_, 0); }
public ColumnNamesContext columnNames() {
return getRuleContext(ColumnNamesContext.class,0);
}
public TerminalNode RP_() { return getToken(MySQLStatementParser.RP_, 0); }
public TerminalNode WITH() { return getToken(MySQLStatementParser.WITH, 0); }
public TerminalNode CHECK() { return getToken(MySQLStatementParser.CHECK, 0); }
public TerminalNode OPTION() { return getToken(MySQLStatementParser.OPTION, 0); }
public TerminalNode UNDEFINED() { return getToken(MySQLStatementParser.UNDEFINED, 0); }
public TerminalNode MERGE() { return getToken(MySQLStatementParser.MERGE, 0); }
public TerminalNode TEMPTABLE() { return getToken(MySQLStatementParser.TEMPTABLE, 0); }
public TerminalNode DEFINER() { return getToken(MySQLStatementParser.DEFINER, 0); }
public TerminalNode INVOKER() { return getToken(MySQLStatementParser.INVOKER, 0); }
public TerminalNode CASCADED() { return getToken(MySQLStatementParser.CASCADED, 0); }
public TerminalNode LOCAL() { return getToken(MySQLStatementParser.LOCAL, 0); }
public AlterViewContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterView; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterView(this);
else return visitor.visitChildren(this);
}
}
public final AlterViewContext alterView() throws RecognitionException {
AlterViewContext _localctx = new AlterViewContext(_ctx, getState());
enterRule(_localctx, 110, RULE_alterView);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2218);
match(ALTER);
setState(2222);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ALGORITHM) {
{
setState(2219);
match(ALGORITHM);
setState(2220);
match(EQ_);
setState(2221);
_la = _input.LA(1);
if ( !(_la==MERGE || _la==TEMPTABLE || _la==UNDEFINED) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(2225);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==DEFINER) {
{
setState(2224);
ownerStatement();
}
}
setState(2230);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SQL) {
{
setState(2227);
match(SQL);
setState(2228);
match(SECURITY);
setState(2229);
_la = _input.LA(1);
if ( !(_la==DEFINER || _la==INVOKER) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(2232);
match(VIEW);
setState(2233);
viewName();
setState(2238);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LP_) {
{
setState(2234);
match(LP_);
setState(2235);
columnNames();
setState(2236);
match(RP_);
}
}
setState(2240);
match(AS);
setState(2241);
select();
setState(2248);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==WITH) {
{
setState(2242);
match(WITH);
setState(2244);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==CASCADED || _la==LOCAL) {
{
setState(2243);
_la = _input.LA(1);
if ( !(_la==CASCADED || _la==LOCAL) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(2246);
match(CHECK);
setState(2247);
match(OPTION);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DropViewContext extends ParserRuleContext {
public TerminalNode DROP() { return getToken(MySQLStatementParser.DROP, 0); }
public TerminalNode VIEW() { return getToken(MySQLStatementParser.VIEW, 0); }
public ViewNamesContext viewNames() {
return getRuleContext(ViewNamesContext.class,0);
}
public IfExistsContext ifExists() {
return getRuleContext(IfExistsContext.class,0);
}
public RestrictContext restrict() {
return getRuleContext(RestrictContext.class,0);
}
public DropViewContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dropView; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitDropView(this);
else return visitor.visitChildren(this);
}
}
public final DropViewContext dropView() throws RecognitionException {
DropViewContext _localctx = new DropViewContext(_ctx, getState());
enterRule(_localctx, 112, RULE_dropView);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2250);
match(DROP);
setState(2251);
match(VIEW);
setState(2253);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(2252);
ifExists();
}
}
setState(2255);
viewNames();
setState(2257);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==CASCADE || _la==RESTRICT) {
{
setState(2256);
restrict();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CreateTablespaceContext extends ParserRuleContext {
public CreateTablespaceInnodbContext createTablespaceInnodb() {
return getRuleContext(CreateTablespaceInnodbContext.class,0);
}
public CreateTablespaceNdbContext createTablespaceNdb() {
return getRuleContext(CreateTablespaceNdbContext.class,0);
}
public CreateTablespaceContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_createTablespace; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitCreateTablespace(this);
else return visitor.visitChildren(this);
}
}
public final CreateTablespaceContext createTablespace() throws RecognitionException {
CreateTablespaceContext _localctx = new CreateTablespaceContext(_ctx, getState());
enterRule(_localctx, 114, RULE_createTablespace);
try {
setState(2261);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,171,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(2259);
createTablespaceInnodb();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(2260);
createTablespaceNdb();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CreateTablespaceInnodbContext extends ParserRuleContext {
public String_Context y_or_n;
public TerminalNode CREATE() { return getToken(MySQLStatementParser.CREATE, 0); }
public TerminalNode TABLESPACE() { return getToken(MySQLStatementParser.TABLESPACE, 0); }
public List identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public TerminalNode ADD() { return getToken(MySQLStatementParser.ADD, 0); }
public TerminalNode DATAFILE() { return getToken(MySQLStatementParser.DATAFILE, 0); }
public List string_() {
return getRuleContexts(String_Context.class);
}
public String_Context string_(int i) {
return getRuleContext(String_Context.class,i);
}
public TerminalNode UNDO() { return getToken(MySQLStatementParser.UNDO, 0); }
public TerminalNode FILE_BLOCK_SIZE() { return getToken(MySQLStatementParser.FILE_BLOCK_SIZE, 0); }
public List EQ_() { return getTokens(MySQLStatementParser.EQ_); }
public TerminalNode EQ_(int i) {
return getToken(MySQLStatementParser.EQ_, i);
}
public FileSizeLiteralContext fileSizeLiteral() {
return getRuleContext(FileSizeLiteralContext.class,0);
}
public TerminalNode ENCRYPTION() { return getToken(MySQLStatementParser.ENCRYPTION, 0); }
public TerminalNode ENGINE() { return getToken(MySQLStatementParser.ENGINE, 0); }
public CreateTablespaceInnodbContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_createTablespaceInnodb; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitCreateTablespaceInnodb(this);
else return visitor.visitChildren(this);
}
}
public final CreateTablespaceInnodbContext createTablespaceInnodb() throws RecognitionException {
CreateTablespaceInnodbContext _localctx = new CreateTablespaceInnodbContext(_ctx, getState());
enterRule(_localctx, 116, RULE_createTablespaceInnodb);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2263);
match(CREATE);
setState(2265);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==UNDO) {
{
setState(2264);
match(UNDO);
}
}
setState(2267);
match(TABLESPACE);
setState(2268);
identifier();
setState(2269);
match(ADD);
setState(2270);
match(DATAFILE);
setState(2271);
string_();
setState(2275);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==FILE_BLOCK_SIZE) {
{
setState(2272);
match(FILE_BLOCK_SIZE);
setState(2273);
match(EQ_);
setState(2274);
fileSizeLiteral();
}
}
setState(2280);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ENCRYPTION) {
{
setState(2277);
match(ENCRYPTION);
setState(2278);
match(EQ_);
setState(2279);
((CreateTablespaceInnodbContext)_localctx).y_or_n = string_();
}
}
setState(2287);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ENGINE) {
{
setState(2282);
match(ENGINE);
setState(2284);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2283);
match(EQ_);
}
}
setState(2286);
identifier();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CreateTablespaceNdbContext extends ParserRuleContext {
public TerminalNode CREATE() { return getToken(MySQLStatementParser.CREATE, 0); }
public TerminalNode TABLESPACE() { return getToken(MySQLStatementParser.TABLESPACE, 0); }
public List identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public TerminalNode ADD() { return getToken(MySQLStatementParser.ADD, 0); }
public TerminalNode DATAFILE() { return getToken(MySQLStatementParser.DATAFILE, 0); }
public List string_() {
return getRuleContexts(String_Context.class);
}
public String_Context string_(int i) {
return getRuleContext(String_Context.class,i);
}
public TerminalNode USE() { return getToken(MySQLStatementParser.USE, 0); }
public TerminalNode LOGFILE() { return getToken(MySQLStatementParser.LOGFILE, 0); }
public TerminalNode GROUP() { return getToken(MySQLStatementParser.GROUP, 0); }
public TerminalNode UNDO() { return getToken(MySQLStatementParser.UNDO, 0); }
public TerminalNode EXTENT_SIZE() { return getToken(MySQLStatementParser.EXTENT_SIZE, 0); }
public List fileSizeLiteral() {
return getRuleContexts(FileSizeLiteralContext.class);
}
public FileSizeLiteralContext fileSizeLiteral(int i) {
return getRuleContext(FileSizeLiteralContext.class,i);
}
public TerminalNode INITIAL_SIZE() { return getToken(MySQLStatementParser.INITIAL_SIZE, 0); }
public TerminalNode AUTOEXTEND_SIZE() { return getToken(MySQLStatementParser.AUTOEXTEND_SIZE, 0); }
public TerminalNode MAX_SIZE() { return getToken(MySQLStatementParser.MAX_SIZE, 0); }
public TerminalNode NODEGROUP() { return getToken(MySQLStatementParser.NODEGROUP, 0); }
public TerminalNode WAIT() { return getToken(MySQLStatementParser.WAIT, 0); }
public TerminalNode COMMENT() { return getToken(MySQLStatementParser.COMMENT, 0); }
public TerminalNode ENGINE() { return getToken(MySQLStatementParser.ENGINE, 0); }
public List EQ_() { return getTokens(MySQLStatementParser.EQ_); }
public TerminalNode EQ_(int i) {
return getToken(MySQLStatementParser.EQ_, i);
}
public CreateTablespaceNdbContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_createTablespaceNdb; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitCreateTablespaceNdb(this);
else return visitor.visitChildren(this);
}
}
public final CreateTablespaceNdbContext createTablespaceNdb() throws RecognitionException {
CreateTablespaceNdbContext _localctx = new CreateTablespaceNdbContext(_ctx, getState());
enterRule(_localctx, 118, RULE_createTablespaceNdb);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2289);
match(CREATE);
setState(2291);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==UNDO) {
{
setState(2290);
match(UNDO);
}
}
setState(2293);
match(TABLESPACE);
setState(2294);
identifier();
setState(2295);
match(ADD);
setState(2296);
match(DATAFILE);
setState(2297);
string_();
setState(2298);
match(USE);
setState(2299);
match(LOGFILE);
setState(2300);
match(GROUP);
setState(2301);
identifier();
setState(2307);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EXTENT_SIZE) {
{
setState(2302);
match(EXTENT_SIZE);
setState(2304);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2303);
match(EQ_);
}
}
setState(2306);
fileSizeLiteral();
}
}
setState(2314);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==INITIAL_SIZE) {
{
setState(2309);
match(INITIAL_SIZE);
setState(2311);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2310);
match(EQ_);
}
}
setState(2313);
fileSizeLiteral();
}
}
setState(2321);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==AUTOEXTEND_SIZE) {
{
setState(2316);
match(AUTOEXTEND_SIZE);
setState(2318);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2317);
match(EQ_);
}
}
setState(2320);
fileSizeLiteral();
}
}
setState(2328);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==MAX_SIZE) {
{
setState(2323);
match(MAX_SIZE);
setState(2325);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2324);
match(EQ_);
}
}
setState(2327);
fileSizeLiteral();
}
}
setState(2335);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NODEGROUP) {
{
setState(2330);
match(NODEGROUP);
setState(2332);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2331);
match(EQ_);
}
}
setState(2334);
identifier();
}
}
setState(2338);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==WAIT) {
{
setState(2337);
match(WAIT);
}
}
setState(2345);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMENT) {
{
setState(2340);
match(COMMENT);
setState(2342);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2341);
match(EQ_);
}
}
setState(2344);
string_();
}
}
setState(2352);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ENGINE) {
{
setState(2347);
match(ENGINE);
setState(2349);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2348);
match(EQ_);
}
}
setState(2351);
identifier();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AlterTablespaceContext extends ParserRuleContext {
public AlterTablespaceInnodbContext alterTablespaceInnodb() {
return getRuleContext(AlterTablespaceInnodbContext.class,0);
}
public AlterTablespaceNdbContext alterTablespaceNdb() {
return getRuleContext(AlterTablespaceNdbContext.class,0);
}
public AlterTablespaceContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterTablespace; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterTablespace(this);
else return visitor.visitChildren(this);
}
}
public final AlterTablespaceContext alterTablespace() throws RecognitionException {
AlterTablespaceContext _localctx = new AlterTablespaceContext(_ctx, getState());
enterRule(_localctx, 120, RULE_alterTablespace);
try {
setState(2356);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,193,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(2354);
alterTablespaceInnodb();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(2355);
alterTablespaceNdb();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AlterTablespaceNdbContext extends ParserRuleContext {
public TerminalNode ALTER() { return getToken(MySQLStatementParser.ALTER, 0); }
public TerminalNode TABLESPACE() { return getToken(MySQLStatementParser.TABLESPACE, 0); }
public List identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public TerminalNode DATAFILE() { return getToken(MySQLStatementParser.DATAFILE, 0); }
public String_Context string_() {
return getRuleContext(String_Context.class,0);
}
public TerminalNode ADD() { return getToken(MySQLStatementParser.ADD, 0); }
public TerminalNode DROP() { return getToken(MySQLStatementParser.DROP, 0); }
public TerminalNode UNDO() { return getToken(MySQLStatementParser.UNDO, 0); }
public TerminalNode INITIAL_SIZE() { return getToken(MySQLStatementParser.INITIAL_SIZE, 0); }
public List EQ_() { return getTokens(MySQLStatementParser.EQ_); }
public TerminalNode EQ_(int i) {
return getToken(MySQLStatementParser.EQ_, i);
}
public FileSizeLiteralContext fileSizeLiteral() {
return getRuleContext(FileSizeLiteralContext.class,0);
}
public TerminalNode WAIT() { return getToken(MySQLStatementParser.WAIT, 0); }
public TerminalNode RENAME() { return getToken(MySQLStatementParser.RENAME, 0); }
public TerminalNode TO() { return getToken(MySQLStatementParser.TO, 0); }
public TerminalNode ENGINE() { return getToken(MySQLStatementParser.ENGINE, 0); }
public AlterTablespaceNdbContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterTablespaceNdb; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterTablespaceNdb(this);
else return visitor.visitChildren(this);
}
}
public final AlterTablespaceNdbContext alterTablespaceNdb() throws RecognitionException {
AlterTablespaceNdbContext _localctx = new AlterTablespaceNdbContext(_ctx, getState());
enterRule(_localctx, 122, RULE_alterTablespaceNdb);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2358);
match(ALTER);
setState(2360);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==UNDO) {
{
setState(2359);
match(UNDO);
}
}
setState(2362);
match(TABLESPACE);
setState(2363);
identifier();
setState(2364);
_la = _input.LA(1);
if ( !(_la==ADD || _la==DROP) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(2365);
match(DATAFILE);
setState(2366);
string_();
setState(2370);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==INITIAL_SIZE) {
{
setState(2367);
match(INITIAL_SIZE);
setState(2368);
match(EQ_);
setState(2369);
fileSizeLiteral();
}
}
setState(2373);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==WAIT) {
{
setState(2372);
match(WAIT);
}
}
setState(2378);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==RENAME) {
{
setState(2375);
match(RENAME);
setState(2376);
match(TO);
setState(2377);
identifier();
}
}
setState(2385);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ENGINE) {
{
setState(2380);
match(ENGINE);
setState(2382);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2381);
match(EQ_);
}
}
setState(2384);
identifier();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AlterTablespaceInnodbContext extends ParserRuleContext {
public String_Context y_or_n;
public TerminalNode ALTER() { return getToken(MySQLStatementParser.ALTER, 0); }
public TerminalNode TABLESPACE() { return getToken(MySQLStatementParser.TABLESPACE, 0); }
public List identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public TerminalNode ENCRYPTION() { return getToken(MySQLStatementParser.ENCRYPTION, 0); }
public TerminalNode UNDO() { return getToken(MySQLStatementParser.UNDO, 0); }
public TerminalNode SET() { return getToken(MySQLStatementParser.SET, 0); }
public String_Context string_() {
return getRuleContext(String_Context.class,0);
}
public TerminalNode RENAME() { return getToken(MySQLStatementParser.RENAME, 0); }
public TerminalNode TO() { return getToken(MySQLStatementParser.TO, 0); }
public TerminalNode ENGINE() { return getToken(MySQLStatementParser.ENGINE, 0); }
public TerminalNode ACTIVE() { return getToken(MySQLStatementParser.ACTIVE, 0); }
public TerminalNode INACTIVE() { return getToken(MySQLStatementParser.INACTIVE, 0); }
public List EQ_() { return getTokens(MySQLStatementParser.EQ_); }
public TerminalNode EQ_(int i) {
return getToken(MySQLStatementParser.EQ_, i);
}
public AlterTablespaceInnodbContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterTablespaceInnodb; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterTablespaceInnodb(this);
else return visitor.visitChildren(this);
}
}
public final AlterTablespaceInnodbContext alterTablespaceInnodb() throws RecognitionException {
AlterTablespaceInnodbContext _localctx = new AlterTablespaceInnodbContext(_ctx, getState());
enterRule(_localctx, 124, RULE_alterTablespaceInnodb);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2387);
match(ALTER);
setState(2389);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==UNDO) {
{
setState(2388);
match(UNDO);
}
}
setState(2391);
match(TABLESPACE);
setState(2392);
identifier();
setState(2395);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==SET) {
{
setState(2393);
match(SET);
setState(2394);
_la = _input.LA(1);
if ( !(_la==ACTIVE || _la==INACTIVE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
{
setState(2397);
match(ENCRYPTION);
setState(2399);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2398);
match(EQ_);
}
}
setState(2401);
((AlterTablespaceInnodbContext)_localctx).y_or_n = string_();
}
setState(2406);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==RENAME) {
{
setState(2403);
match(RENAME);
setState(2404);
match(TO);
setState(2405);
identifier();
}
}
setState(2413);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ENGINE) {
{
setState(2408);
match(ENGINE);
setState(2410);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2409);
match(EQ_);
}
}
setState(2412);
identifier();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DropTablespaceContext extends ParserRuleContext {
public TerminalNode DROP() { return getToken(MySQLStatementParser.DROP, 0); }
public TerminalNode TABLESPACE() { return getToken(MySQLStatementParser.TABLESPACE, 0); }
public List identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public TerminalNode UNDO() { return getToken(MySQLStatementParser.UNDO, 0); }
public TerminalNode ENGINE() { return getToken(MySQLStatementParser.ENGINE, 0); }
public TerminalNode EQ_() { return getToken(MySQLStatementParser.EQ_, 0); }
public DropTablespaceContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dropTablespace; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitDropTablespace(this);
else return visitor.visitChildren(this);
}
}
public final DropTablespaceContext dropTablespace() throws RecognitionException {
DropTablespaceContext _localctx = new DropTablespaceContext(_ctx, getState());
enterRule(_localctx, 126, RULE_dropTablespace);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2415);
match(DROP);
setState(2417);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==UNDO) {
{
setState(2416);
match(UNDO);
}
}
setState(2419);
match(TABLESPACE);
setState(2420);
identifier();
setState(2426);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ENGINE) {
{
setState(2421);
match(ENGINE);
setState(2423);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2422);
match(EQ_);
}
}
setState(2425);
identifier();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CreateLogfileGroupContext extends ParserRuleContext {
public TerminalNode CREATE() { return getToken(MySQLStatementParser.CREATE, 0); }
public TerminalNode LOGFILE() { return getToken(MySQLStatementParser.LOGFILE, 0); }
public TerminalNode GROUP() { return getToken(MySQLStatementParser.GROUP, 0); }
public List identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public TerminalNode ADD() { return getToken(MySQLStatementParser.ADD, 0); }
public TerminalNode UNDOFILE() { return getToken(MySQLStatementParser.UNDOFILE, 0); }
public List string_() {
return getRuleContexts(String_Context.class);
}
public String_Context string_(int i) {
return getRuleContext(String_Context.class,i);
}
public TerminalNode INITIAL_SIZE() { return getToken(MySQLStatementParser.INITIAL_SIZE, 0); }
public List fileSizeLiteral() {
return getRuleContexts(FileSizeLiteralContext.class);
}
public FileSizeLiteralContext fileSizeLiteral(int i) {
return getRuleContext(FileSizeLiteralContext.class,i);
}
public TerminalNode UNDO_BUFFER_SIZE() { return getToken(MySQLStatementParser.UNDO_BUFFER_SIZE, 0); }
public TerminalNode REDO_BUFFER_SIZE() { return getToken(MySQLStatementParser.REDO_BUFFER_SIZE, 0); }
public TerminalNode NODEGROUP() { return getToken(MySQLStatementParser.NODEGROUP, 0); }
public TerminalNode WAIT() { return getToken(MySQLStatementParser.WAIT, 0); }
public TerminalNode COMMENT() { return getToken(MySQLStatementParser.COMMENT, 0); }
public TerminalNode ENGINE() { return getToken(MySQLStatementParser.ENGINE, 0); }
public List EQ_() { return getTokens(MySQLStatementParser.EQ_); }
public TerminalNode EQ_(int i) {
return getToken(MySQLStatementParser.EQ_, i);
}
public CreateLogfileGroupContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_createLogfileGroup; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitCreateLogfileGroup(this);
else return visitor.visitChildren(this);
}
}
public final CreateLogfileGroupContext createLogfileGroup() throws RecognitionException {
CreateLogfileGroupContext _localctx = new CreateLogfileGroupContext(_ctx, getState());
enterRule(_localctx, 128, RULE_createLogfileGroup);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2428);
match(CREATE);
setState(2429);
match(LOGFILE);
setState(2430);
match(GROUP);
setState(2431);
identifier();
setState(2432);
match(ADD);
setState(2433);
match(UNDOFILE);
setState(2434);
string_();
setState(2440);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==INITIAL_SIZE) {
{
setState(2435);
match(INITIAL_SIZE);
setState(2437);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2436);
match(EQ_);
}
}
setState(2439);
fileSizeLiteral();
}
}
setState(2447);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==UNDO_BUFFER_SIZE) {
{
setState(2442);
match(UNDO_BUFFER_SIZE);
setState(2444);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2443);
match(EQ_);
}
}
setState(2446);
fileSizeLiteral();
}
}
setState(2454);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==REDO_BUFFER_SIZE) {
{
setState(2449);
match(REDO_BUFFER_SIZE);
setState(2451);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2450);
match(EQ_);
}
}
setState(2453);
fileSizeLiteral();
}
}
setState(2461);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NODEGROUP) {
{
setState(2456);
match(NODEGROUP);
setState(2458);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2457);
match(EQ_);
}
}
setState(2460);
identifier();
}
}
setState(2464);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==WAIT) {
{
setState(2463);
match(WAIT);
}
}
setState(2471);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMENT) {
{
setState(2466);
match(COMMENT);
setState(2468);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2467);
match(EQ_);
}
}
setState(2470);
string_();
}
}
setState(2478);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ENGINE) {
{
setState(2473);
match(ENGINE);
setState(2475);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2474);
match(EQ_);
}
}
setState(2477);
identifier();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class AlterLogfileGroupContext extends ParserRuleContext {
public TerminalNode ALTER() { return getToken(MySQLStatementParser.ALTER, 0); }
public TerminalNode LOGFILE() { return getToken(MySQLStatementParser.LOGFILE, 0); }
public TerminalNode GROUP() { return getToken(MySQLStatementParser.GROUP, 0); }
public List identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public TerminalNode ADD() { return getToken(MySQLStatementParser.ADD, 0); }
public TerminalNode UNDOFILE() { return getToken(MySQLStatementParser.UNDOFILE, 0); }
public String_Context string_() {
return getRuleContext(String_Context.class,0);
}
public TerminalNode INITIAL_SIZE() { return getToken(MySQLStatementParser.INITIAL_SIZE, 0); }
public FileSizeLiteralContext fileSizeLiteral() {
return getRuleContext(FileSizeLiteralContext.class,0);
}
public TerminalNode WAIT() { return getToken(MySQLStatementParser.WAIT, 0); }
public TerminalNode ENGINE() { return getToken(MySQLStatementParser.ENGINE, 0); }
public List EQ_() { return getTokens(MySQLStatementParser.EQ_); }
public TerminalNode EQ_(int i) {
return getToken(MySQLStatementParser.EQ_, i);
}
public AlterLogfileGroupContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_alterLogfileGroup; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitAlterLogfileGroup(this);
else return visitor.visitChildren(this);
}
}
public final AlterLogfileGroupContext alterLogfileGroup() throws RecognitionException {
AlterLogfileGroupContext _localctx = new AlterLogfileGroupContext(_ctx, getState());
enterRule(_localctx, 130, RULE_alterLogfileGroup);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2480);
match(ALTER);
setState(2481);
match(LOGFILE);
setState(2482);
match(GROUP);
setState(2483);
identifier();
setState(2484);
match(ADD);
setState(2485);
match(UNDOFILE);
setState(2486);
string_();
setState(2492);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==INITIAL_SIZE) {
{
setState(2487);
match(INITIAL_SIZE);
setState(2489);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2488);
match(EQ_);
}
}
setState(2491);
fileSizeLiteral();
}
}
setState(2495);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==WAIT) {
{
setState(2494);
match(WAIT);
}
}
setState(2502);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ENGINE) {
{
setState(2497);
match(ENGINE);
setState(2499);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2498);
match(EQ_);
}
}
setState(2501);
identifier();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DropLogfileGroupContext extends ParserRuleContext {
public TerminalNode DROP() { return getToken(MySQLStatementParser.DROP, 0); }
public TerminalNode LOGFILE() { return getToken(MySQLStatementParser.LOGFILE, 0); }
public TerminalNode GROUP() { return getToken(MySQLStatementParser.GROUP, 0); }
public List identifier() {
return getRuleContexts(IdentifierContext.class);
}
public IdentifierContext identifier(int i) {
return getRuleContext(IdentifierContext.class,i);
}
public TerminalNode ENGINE() { return getToken(MySQLStatementParser.ENGINE, 0); }
public TerminalNode EQ_() { return getToken(MySQLStatementParser.EQ_, 0); }
public DropLogfileGroupContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dropLogfileGroup; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitDropLogfileGroup(this);
else return visitor.visitChildren(this);
}
}
public final DropLogfileGroupContext dropLogfileGroup() throws RecognitionException {
DropLogfileGroupContext _localctx = new DropLogfileGroupContext(_ctx, getState());
enterRule(_localctx, 132, RULE_dropLogfileGroup);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2504);
match(DROP);
setState(2505);
match(LOGFILE);
setState(2506);
match(GROUP);
setState(2507);
identifier();
setState(2513);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ENGINE) {
{
setState(2508);
match(ENGINE);
setState(2510);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2509);
match(EQ_);
}
}
setState(2512);
identifier();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CreateTriggerContext extends ParserRuleContext {
public TerminalNode CREATE() { return getToken(MySQLStatementParser.CREATE, 0); }
public TerminalNode TRIGGER() { return getToken(MySQLStatementParser.TRIGGER, 0); }
public TriggerNameContext triggerName() {
return getRuleContext(TriggerNameContext.class,0);
}
public TriggerTimeContext triggerTime() {
return getRuleContext(TriggerTimeContext.class,0);
}
public TriggerEventContext triggerEvent() {
return getRuleContext(TriggerEventContext.class,0);
}
public TerminalNode ON() { return getToken(MySQLStatementParser.ON, 0); }
public TableNameContext tableName() {
return getRuleContext(TableNameContext.class,0);
}
public TerminalNode FOR() { return getToken(MySQLStatementParser.FOR, 0); }
public TerminalNode EACH() { return getToken(MySQLStatementParser.EACH, 0); }
public TerminalNode ROW() { return getToken(MySQLStatementParser.ROW, 0); }
public RoutineBodyContext routineBody() {
return getRuleContext(RoutineBodyContext.class,0);
}
public OwnerStatementContext ownerStatement() {
return getRuleContext(OwnerStatementContext.class,0);
}
public TriggerOrderContext triggerOrder() {
return getRuleContext(TriggerOrderContext.class,0);
}
public CreateTriggerContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_createTrigger; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitCreateTrigger(this);
else return visitor.visitChildren(this);
}
}
public final CreateTriggerContext createTrigger() throws RecognitionException {
CreateTriggerContext _localctx = new CreateTriggerContext(_ctx, getState());
enterRule(_localctx, 134, RULE_createTrigger);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2515);
match(CREATE);
setState(2517);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==DEFINER) {
{
setState(2516);
ownerStatement();
}
}
setState(2519);
match(TRIGGER);
setState(2520);
triggerName();
setState(2521);
triggerTime();
setState(2522);
triggerEvent();
setState(2523);
match(ON);
setState(2524);
tableName();
setState(2525);
match(FOR);
setState(2526);
match(EACH);
setState(2527);
match(ROW);
setState(2529);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,230,_ctx) ) {
case 1:
{
setState(2528);
triggerOrder();
}
break;
}
setState(2531);
routineBody();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DropTriggerContext extends ParserRuleContext {
public TerminalNode DROP() { return getToken(MySQLStatementParser.DROP, 0); }
public TerminalNode TRIGGER() { return getToken(MySQLStatementParser.TRIGGER, 0); }
public TriggerNameContext triggerName() {
return getRuleContext(TriggerNameContext.class,0);
}
public IfExistsContext ifExists() {
return getRuleContext(IfExistsContext.class,0);
}
public SchemaNameContext schemaName() {
return getRuleContext(SchemaNameContext.class,0);
}
public TerminalNode DOT_() { return getToken(MySQLStatementParser.DOT_, 0); }
public DropTriggerContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dropTrigger; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitDropTrigger(this);
else return visitor.visitChildren(this);
}
}
public final DropTriggerContext dropTrigger() throws RecognitionException {
DropTriggerContext _localctx = new DropTriggerContext(_ctx, getState());
enterRule(_localctx, 136, RULE_dropTrigger);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2533);
match(DROP);
setState(2534);
match(TRIGGER);
setState(2536);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(2535);
ifExists();
}
}
setState(2541);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,232,_ctx) ) {
case 1:
{
setState(2538);
schemaName();
setState(2539);
match(DOT_);
}
break;
}
setState(2543);
triggerName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class RenameTableContext extends ParserRuleContext {
public TerminalNode RENAME() { return getToken(MySQLStatementParser.RENAME, 0); }
public TerminalNode TABLE() { return getToken(MySQLStatementParser.TABLE, 0); }
public List tableName() {
return getRuleContexts(TableNameContext.class);
}
public TableNameContext tableName(int i) {
return getRuleContext(TableNameContext.class,i);
}
public List TO() { return getTokens(MySQLStatementParser.TO); }
public TerminalNode TO(int i) {
return getToken(MySQLStatementParser.TO, i);
}
public List COMMA_() { return getTokens(MySQLStatementParser.COMMA_); }
public TerminalNode COMMA_(int i) {
return getToken(MySQLStatementParser.COMMA_, i);
}
public RenameTableContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_renameTable; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitRenameTable(this);
else return visitor.visitChildren(this);
}
}
public final RenameTableContext renameTable() throws RecognitionException {
RenameTableContext _localctx = new RenameTableContext(_ctx, getState());
enterRule(_localctx, 138, RULE_renameTable);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2545);
match(RENAME);
setState(2546);
match(TABLE);
setState(2547);
tableName();
setState(2548);
match(TO);
setState(2549);
tableName();
setState(2557);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA_) {
{
{
setState(2550);
match(COMMA_);
setState(2551);
tableName();
setState(2552);
match(TO);
setState(2553);
tableName();
}
}
setState(2559);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CreateDefinitionClauseContext extends ParserRuleContext {
public TerminalNode LP_() { return getToken(MySQLStatementParser.LP_, 0); }
public TableElementListContext tableElementList() {
return getRuleContext(TableElementListContext.class,0);
}
public TerminalNode RP_() { return getToken(MySQLStatementParser.RP_, 0); }
public CreateDefinitionClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_createDefinitionClause; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitCreateDefinitionClause(this);
else return visitor.visitChildren(this);
}
}
public final CreateDefinitionClauseContext createDefinitionClause() throws RecognitionException {
CreateDefinitionClauseContext _localctx = new CreateDefinitionClauseContext(_ctx, getState());
enterRule(_localctx, 140, RULE_createDefinitionClause);
try {
enterOuterAlt(_localctx, 1);
{
setState(2560);
match(LP_);
setState(2561);
tableElementList();
setState(2562);
match(RP_);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ColumnDefinitionContext extends ParserRuleContext {
public IdentifierContext column_name;
public FieldDefinitionContext fieldDefinition() {
return getRuleContext(FieldDefinitionContext.class,0);
}
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public ReferenceDefinitionContext referenceDefinition() {
return getRuleContext(ReferenceDefinitionContext.class,0);
}
public ColumnDefinitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_columnDefinition; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitColumnDefinition(this);
else return visitor.visitChildren(this);
}
}
public final ColumnDefinitionContext columnDefinition() throws RecognitionException {
ColumnDefinitionContext _localctx = new ColumnDefinitionContext(_ctx, getState());
enterRule(_localctx, 142, RULE_columnDefinition);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2564);
((ColumnDefinitionContext)_localctx).column_name = identifier();
setState(2565);
fieldDefinition();
setState(2567);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==REFERENCES) {
{
setState(2566);
referenceDefinition();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class FieldDefinitionContext extends ParserRuleContext {
public Token storedAttribute;
public DataTypeContext dataType() {
return getRuleContext(DataTypeContext.class,0);
}
public TerminalNode AS() { return getToken(MySQLStatementParser.AS, 0); }
public TerminalNode LP_() { return getToken(MySQLStatementParser.LP_, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode RP_() { return getToken(MySQLStatementParser.RP_, 0); }
public List columnAttribute() {
return getRuleContexts(ColumnAttributeContext.class);
}
public ColumnAttributeContext columnAttribute(int i) {
return getRuleContext(ColumnAttributeContext.class,i);
}
public CollateClauseContext collateClause() {
return getRuleContext(CollateClauseContext.class,0);
}
public GeneratedOptionContext generatedOption() {
return getRuleContext(GeneratedOptionContext.class,0);
}
public TerminalNode VIRTUAL() { return getToken(MySQLStatementParser.VIRTUAL, 0); }
public TerminalNode STORED() { return getToken(MySQLStatementParser.STORED, 0); }
public FieldDefinitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_fieldDefinition; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitFieldDefinition(this);
else return visitor.visitChildren(this);
}
}
public final FieldDefinitionContext fieldDefinition() throws RecognitionException {
FieldDefinitionContext _localctx = new FieldDefinitionContext(_ctx, getState());
enterRule(_localctx, 144, RULE_fieldDefinition);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(2569);
dataType();
setState(2595);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,240,_ctx) ) {
case 1:
{
setState(2573);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,235,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(2570);
columnAttribute();
}
}
}
setState(2575);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,235,_ctx);
}
}
break;
case 2:
{
setState(2577);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COLLATE) {
{
setState(2576);
collateClause();
}
}
setState(2580);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==GENERATED) {
{
setState(2579);
generatedOption();
}
}
setState(2582);
match(AS);
setState(2583);
match(LP_);
setState(2584);
expr(0);
setState(2585);
match(RP_);
setState(2587);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==STORED || _la==VIRTUAL) {
{
setState(2586);
((FieldDefinitionContext)_localctx).storedAttribute = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==STORED || _la==VIRTUAL) ) {
((FieldDefinitionContext)_localctx).storedAttribute = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(2592);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,239,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(2589);
columnAttribute();
}
}
}
setState(2594);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,239,_ctx);
}
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ColumnAttributeContext extends ParserRuleContext {
public Token value;
public TerminalNode NULL() { return getToken(MySQLStatementParser.NULL, 0); }
public TerminalNode NOT() { return getToken(MySQLStatementParser.NOT, 0); }
public TerminalNode SECONDARY() { return getToken(MySQLStatementParser.SECONDARY, 0); }
public TerminalNode DEFAULT() { return getToken(MySQLStatementParser.DEFAULT, 0); }
public LiteralsContext literals() {
return getRuleContext(LiteralsContext.class,0);
}
public NowContext now() {
return getRuleContext(NowContext.class,0);
}
public TerminalNode LP_() { return getToken(MySQLStatementParser.LP_, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode RP_() { return getToken(MySQLStatementParser.RP_, 0); }
public TerminalNode UPDATE() { return getToken(MySQLStatementParser.UPDATE, 0); }
public TerminalNode ON() { return getToken(MySQLStatementParser.ON, 0); }
public TerminalNode AUTO_INCREMENT() { return getToken(MySQLStatementParser.AUTO_INCREMENT, 0); }
public TerminalNode VALUE() { return getToken(MySQLStatementParser.VALUE, 0); }
public TerminalNode SERIAL() { return getToken(MySQLStatementParser.SERIAL, 0); }
public TerminalNode KEY() { return getToken(MySQLStatementParser.KEY, 0); }
public TerminalNode PRIMARY() { return getToken(MySQLStatementParser.PRIMARY, 0); }
public TerminalNode UNIQUE() { return getToken(MySQLStatementParser.UNIQUE, 0); }
public String_Context string_() {
return getRuleContext(String_Context.class,0);
}
public TerminalNode COMMENT() { return getToken(MySQLStatementParser.COMMENT, 0); }
public CollateClauseContext collateClause() {
return getRuleContext(CollateClauseContext.class,0);
}
public ColumnFormatContext columnFormat() {
return getRuleContext(ColumnFormatContext.class,0);
}
public TerminalNode COLUMN_FORMAT() { return getToken(MySQLStatementParser.COLUMN_FORMAT, 0); }
public StorageMediaContext storageMedia() {
return getRuleContext(StorageMediaContext.class,0);
}
public TerminalNode STORAGE() { return getToken(MySQLStatementParser.STORAGE, 0); }
public TerminalNode NUMBER_() { return getToken(MySQLStatementParser.NUMBER_, 0); }
public TerminalNode SRID() { return getToken(MySQLStatementParser.SRID, 0); }
public CheckConstraintContext checkConstraint() {
return getRuleContext(CheckConstraintContext.class,0);
}
public ConstraintClauseContext constraintClause() {
return getRuleContext(ConstraintClauseContext.class,0);
}
public ConstraintEnforcementContext constraintEnforcement() {
return getRuleContext(ConstraintEnforcementContext.class,0);
}
public VisibilityContext visibility() {
return getRuleContext(VisibilityContext.class,0);
}
public ColumnAttributeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_columnAttribute; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitColumnAttribute(this);
else return visitor.visitChildren(this);
}
}
public final ColumnAttributeContext columnAttribute() throws RecognitionException {
ColumnAttributeContext _localctx = new ColumnAttributeContext(_ctx, getState());
enterRule(_localctx, 146, RULE_columnAttribute);
int _la;
try {
setState(2642);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,246,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(2598);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NOT) {
{
setState(2597);
match(NOT);
}
}
setState(2600);
match(NULL);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(2601);
match(NOT);
setState(2602);
match(SECONDARY);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(2603);
((ColumnAttributeContext)_localctx).value = match(DEFAULT);
setState(2610);
_errHandler.sync(this);
switch (_input.LA(1)) {
case PLUS_:
case MINUS_:
case UL_BINARY:
case DATE:
case FALSE:
case NULL:
case TIME:
case TIMESTAMP:
case TRUE:
case SINGLE_QUOTED_TEXT:
case DOUBLE_QUOTED_TEXT:
case NCHAR_TEXT:
case UNDERSCORE_CHARSET:
case NUMBER_:
case HEX_DIGIT_:
case BIT_NUM_:
{
setState(2604);
literals();
}
break;
case CURRENT_TIMESTAMP:
case LOCALTIME:
case LOCALTIMESTAMP:
{
setState(2605);
now();
}
break;
case LP_:
{
setState(2606);
match(LP_);
setState(2607);
expr(0);
setState(2608);
match(RP_);
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(2612);
((ColumnAttributeContext)_localctx).value = match(ON);
setState(2613);
match(UPDATE);
setState(2614);
now();
}
break;
case 5:
enterOuterAlt(_localctx, 5);
{
setState(2615);
((ColumnAttributeContext)_localctx).value = match(AUTO_INCREMENT);
}
break;
case 6:
enterOuterAlt(_localctx, 6);
{
setState(2616);
((ColumnAttributeContext)_localctx).value = match(SERIAL);
setState(2617);
match(DEFAULT);
setState(2618);
match(VALUE);
}
break;
case 7:
enterOuterAlt(_localctx, 7);
{
setState(2620);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==PRIMARY) {
{
setState(2619);
match(PRIMARY);
}
}
setState(2622);
((ColumnAttributeContext)_localctx).value = match(KEY);
}
break;
case 8:
enterOuterAlt(_localctx, 8);
{
setState(2623);
((ColumnAttributeContext)_localctx).value = match(UNIQUE);
setState(2625);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,244,_ctx) ) {
case 1:
{
setState(2624);
match(KEY);
}
break;
}
}
break;
case 9:
enterOuterAlt(_localctx, 9);
{
setState(2627);
((ColumnAttributeContext)_localctx).value = match(COMMENT);
setState(2628);
string_();
}
break;
case 10:
enterOuterAlt(_localctx, 10);
{
setState(2629);
collateClause();
}
break;
case 11:
enterOuterAlt(_localctx, 11);
{
setState(2630);
((ColumnAttributeContext)_localctx).value = match(COLUMN_FORMAT);
setState(2631);
columnFormat();
}
break;
case 12:
enterOuterAlt(_localctx, 12);
{
setState(2632);
((ColumnAttributeContext)_localctx).value = match(STORAGE);
setState(2633);
storageMedia();
}
break;
case 13:
enterOuterAlt(_localctx, 13);
{
setState(2634);
((ColumnAttributeContext)_localctx).value = match(SRID);
setState(2635);
match(NUMBER_);
}
break;
case 14:
enterOuterAlt(_localctx, 14);
{
setState(2637);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==CONSTRAINT) {
{
setState(2636);
constraintClause();
}
}
setState(2639);
checkConstraint();
}
break;
case 15:
enterOuterAlt(_localctx, 15);
{
setState(2640);
constraintEnforcement();
}
break;
case 16:
enterOuterAlt(_localctx, 16);
{
setState(2641);
visibility();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CheckConstraintContext extends ParserRuleContext {
public TerminalNode CHECK() { return getToken(MySQLStatementParser.CHECK, 0); }
public TerminalNode LP_() { return getToken(MySQLStatementParser.LP_, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode RP_() { return getToken(MySQLStatementParser.RP_, 0); }
public CheckConstraintContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_checkConstraint; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitCheckConstraint(this);
else return visitor.visitChildren(this);
}
}
public final CheckConstraintContext checkConstraint() throws RecognitionException {
CheckConstraintContext _localctx = new CheckConstraintContext(_ctx, getState());
enterRule(_localctx, 148, RULE_checkConstraint);
try {
enterOuterAlt(_localctx, 1);
{
setState(2644);
match(CHECK);
setState(2645);
match(LP_);
setState(2646);
expr(0);
setState(2647);
match(RP_);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ConstraintEnforcementContext extends ParserRuleContext {
public TerminalNode ENFORCED() { return getToken(MySQLStatementParser.ENFORCED, 0); }
public TerminalNode NOT() { return getToken(MySQLStatementParser.NOT, 0); }
public ConstraintEnforcementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_constraintEnforcement; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitConstraintEnforcement(this);
else return visitor.visitChildren(this);
}
}
public final ConstraintEnforcementContext constraintEnforcement() throws RecognitionException {
ConstraintEnforcementContext _localctx = new ConstraintEnforcementContext(_ctx, getState());
enterRule(_localctx, 150, RULE_constraintEnforcement);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2650);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NOT) {
{
setState(2649);
match(NOT);
}
}
setState(2652);
match(ENFORCED);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class GeneratedOptionContext extends ParserRuleContext {
public TerminalNode GENERATED() { return getToken(MySQLStatementParser.GENERATED, 0); }
public TerminalNode ALWAYS() { return getToken(MySQLStatementParser.ALWAYS, 0); }
public GeneratedOptionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_generatedOption; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitGeneratedOption(this);
else return visitor.visitChildren(this);
}
}
public final GeneratedOptionContext generatedOption() throws RecognitionException {
GeneratedOptionContext _localctx = new GeneratedOptionContext(_ctx, getState());
enterRule(_localctx, 152, RULE_generatedOption);
try {
enterOuterAlt(_localctx, 1);
{
setState(2654);
match(GENERATED);
setState(2655);
match(ALWAYS);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ReferenceDefinitionContext extends ParserRuleContext {
public TerminalNode REFERENCES() { return getToken(MySQLStatementParser.REFERENCES, 0); }
public TableNameContext tableName() {
return getRuleContext(TableNameContext.class,0);
}
public KeyPartsContext keyParts() {
return getRuleContext(KeyPartsContext.class,0);
}
public TerminalNode MATCH() { return getToken(MySQLStatementParser.MATCH, 0); }
public TerminalNode FULL() { return getToken(MySQLStatementParser.FULL, 0); }
public TerminalNode PARTIAL() { return getToken(MySQLStatementParser.PARTIAL, 0); }
public TerminalNode SIMPLE() { return getToken(MySQLStatementParser.SIMPLE, 0); }
public OnUpdateDeleteContext onUpdateDelete() {
return getRuleContext(OnUpdateDeleteContext.class,0);
}
public ReferenceDefinitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_referenceDefinition; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitReferenceDefinition(this);
else return visitor.visitChildren(this);
}
}
public final ReferenceDefinitionContext referenceDefinition() throws RecognitionException {
ReferenceDefinitionContext _localctx = new ReferenceDefinitionContext(_ctx, getState());
enterRule(_localctx, 154, RULE_referenceDefinition);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2657);
match(REFERENCES);
setState(2658);
tableName();
setState(2659);
keyParts();
setState(2666);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,248,_ctx) ) {
case 1:
{
setState(2660);
match(MATCH);
setState(2661);
match(FULL);
}
break;
case 2:
{
setState(2662);
match(MATCH);
setState(2663);
match(PARTIAL);
}
break;
case 3:
{
setState(2664);
match(MATCH);
setState(2665);
match(SIMPLE);
}
break;
}
setState(2669);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ON) {
{
setState(2668);
onUpdateDelete();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OnUpdateDeleteContext extends ParserRuleContext {
public List ON() { return getTokens(MySQLStatementParser.ON); }
public TerminalNode ON(int i) {
return getToken(MySQLStatementParser.ON, i);
}
public TerminalNode UPDATE() { return getToken(MySQLStatementParser.UPDATE, 0); }
public List referenceOption() {
return getRuleContexts(ReferenceOptionContext.class);
}
public ReferenceOptionContext referenceOption(int i) {
return getRuleContext(ReferenceOptionContext.class,i);
}
public TerminalNode DELETE() { return getToken(MySQLStatementParser.DELETE, 0); }
public OnUpdateDeleteContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_onUpdateDelete; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitOnUpdateDelete(this);
else return visitor.visitChildren(this);
}
}
public final OnUpdateDeleteContext onUpdateDelete() throws RecognitionException {
OnUpdateDeleteContext _localctx = new OnUpdateDeleteContext(_ctx, getState());
enterRule(_localctx, 156, RULE_onUpdateDelete);
int _la;
try {
setState(2687);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,252,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(2671);
match(ON);
setState(2672);
match(UPDATE);
setState(2673);
referenceOption();
setState(2677);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ON) {
{
setState(2674);
match(ON);
setState(2675);
match(DELETE);
setState(2676);
referenceOption();
}
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(2679);
match(ON);
setState(2680);
match(DELETE);
setState(2681);
referenceOption();
setState(2685);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ON) {
{
setState(2682);
match(ON);
setState(2683);
match(UPDATE);
setState(2684);
referenceOption();
}
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ReferenceOptionContext extends ParserRuleContext {
public TerminalNode RESTRICT() { return getToken(MySQLStatementParser.RESTRICT, 0); }
public TerminalNode CASCADE() { return getToken(MySQLStatementParser.CASCADE, 0); }
public TerminalNode SET() { return getToken(MySQLStatementParser.SET, 0); }
public TerminalNode NULL() { return getToken(MySQLStatementParser.NULL, 0); }
public TerminalNode NO() { return getToken(MySQLStatementParser.NO, 0); }
public TerminalNode ACTION() { return getToken(MySQLStatementParser.ACTION, 0); }
public TerminalNode DEFAULT() { return getToken(MySQLStatementParser.DEFAULT, 0); }
public ReferenceOptionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_referenceOption; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitReferenceOption(this);
else return visitor.visitChildren(this);
}
}
public final ReferenceOptionContext referenceOption() throws RecognitionException {
ReferenceOptionContext _localctx = new ReferenceOptionContext(_ctx, getState());
enterRule(_localctx, 158, RULE_referenceOption);
try {
setState(2697);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,253,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(2689);
match(RESTRICT);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(2690);
match(CASCADE);
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(2691);
match(SET);
setState(2692);
match(NULL);
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(2693);
match(NO);
setState(2694);
match(ACTION);
}
break;
case 5:
enterOuterAlt(_localctx, 5);
{
setState(2695);
match(SET);
setState(2696);
match(DEFAULT);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class IndexTypeContext extends ParserRuleContext {
public TerminalNode BTREE() { return getToken(MySQLStatementParser.BTREE, 0); }
public TerminalNode RTREE() { return getToken(MySQLStatementParser.RTREE, 0); }
public TerminalNode HASH() { return getToken(MySQLStatementParser.HASH, 0); }
public IndexTypeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_indexType; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitIndexType(this);
else return visitor.visitChildren(this);
}
}
public final IndexTypeContext indexType() throws RecognitionException {
IndexTypeContext _localctx = new IndexTypeContext(_ctx, getState());
enterRule(_localctx, 160, RULE_indexType);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2699);
_la = _input.LA(1);
if ( !(_la==BTREE || _la==HASH || _la==RTREE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class IndexTypeClauseContext extends ParserRuleContext {
public IndexTypeContext indexType() {
return getRuleContext(IndexTypeContext.class,0);
}
public TerminalNode USING() { return getToken(MySQLStatementParser.USING, 0); }
public TerminalNode TYPE() { return getToken(MySQLStatementParser.TYPE, 0); }
public IndexTypeClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_indexTypeClause; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitIndexTypeClause(this);
else return visitor.visitChildren(this);
}
}
public final IndexTypeClauseContext indexTypeClause() throws RecognitionException {
IndexTypeClauseContext _localctx = new IndexTypeClauseContext(_ctx, getState());
enterRule(_localctx, 162, RULE_indexTypeClause);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2701);
_la = _input.LA(1);
if ( !(_la==TYPE || _la==USING) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(2702);
indexType();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class KeyPartsContext extends ParserRuleContext {
public TerminalNode LP_() { return getToken(MySQLStatementParser.LP_, 0); }
public List keyPart() {
return getRuleContexts(KeyPartContext.class);
}
public KeyPartContext keyPart(int i) {
return getRuleContext(KeyPartContext.class,i);
}
public TerminalNode RP_() { return getToken(MySQLStatementParser.RP_, 0); }
public List COMMA_() { return getTokens(MySQLStatementParser.COMMA_); }
public TerminalNode COMMA_(int i) {
return getToken(MySQLStatementParser.COMMA_, i);
}
public KeyPartsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_keyParts; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitKeyParts(this);
else return visitor.visitChildren(this);
}
}
public final KeyPartsContext keyParts() throws RecognitionException {
KeyPartsContext _localctx = new KeyPartsContext(_ctx, getState());
enterRule(_localctx, 164, RULE_keyParts);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2704);
match(LP_);
setState(2705);
keyPart();
setState(2710);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA_) {
{
{
setState(2706);
match(COMMA_);
setState(2707);
keyPart();
}
}
setState(2712);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(2713);
match(RP_);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class KeyPartContext extends ParserRuleContext {
public ColumnNameContext columnName() {
return getRuleContext(ColumnNameContext.class,0);
}
public FieldLengthContext fieldLength() {
return getRuleContext(FieldLengthContext.class,0);
}
public DirectionContext direction() {
return getRuleContext(DirectionContext.class,0);
}
public KeyPartContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_keyPart; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitKeyPart(this);
else return visitor.visitChildren(this);
}
}
public final KeyPartContext keyPart() throws RecognitionException {
KeyPartContext _localctx = new KeyPartContext(_ctx, getState());
enterRule(_localctx, 166, RULE_keyPart);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2715);
columnName();
setState(2717);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LP_) {
{
setState(2716);
fieldLength();
}
}
setState(2720);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ASC || _la==DESC) {
{
setState(2719);
direction();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class KeyPartWithExpressionContext extends ParserRuleContext {
public KeyPartContext keyPart() {
return getRuleContext(KeyPartContext.class,0);
}
public TerminalNode LP_() { return getToken(MySQLStatementParser.LP_, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode RP_() { return getToken(MySQLStatementParser.RP_, 0); }
public DirectionContext direction() {
return getRuleContext(DirectionContext.class,0);
}
public KeyPartWithExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_keyPartWithExpression; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitKeyPartWithExpression(this);
else return visitor.visitChildren(this);
}
}
public final KeyPartWithExpressionContext keyPartWithExpression() throws RecognitionException {
KeyPartWithExpressionContext _localctx = new KeyPartWithExpressionContext(_ctx, getState());
enterRule(_localctx, 168, RULE_keyPartWithExpression);
int _la;
try {
setState(2729);
_errHandler.sync(this);
switch (_input.LA(1)) {
case MAX:
case MIN:
case SUM:
case COUNT:
case GROUP_CONCAT:
case CAST:
case POSITION:
case SUBSTRING:
case SUBSTR:
case EXTRACT:
case TRIM:
case LAST_DAY:
case TRADITIONAL:
case TREE:
case MYSQL_MAIN:
case MYSQL_ADMIN:
case INSTANT:
case INPLACE:
case COPY:
case UL_BINARY:
case AUTOCOMMIT:
case INNODB:
case REDO_LOG:
case ACCOUNT:
case ACTION:
case ACTIVE:
case ADMIN:
case AFTER:
case AGAINST:
case AGGREGATE:
case ALGORITHM:
case ALWAYS:
case ANY:
case ARRAY:
case ASCII:
case AT:
case ATTRIBUTE:
case AUTOEXTEND_SIZE:
case AUTO_INCREMENT:
case AVG:
case BIT_XOR:
case AVG_ROW_LENGTH:
case BACKUP:
case BEGIN:
case BINLOG:
case BIT:
case BLOCK:
case BOOL:
case BOOLEAN:
case BTREE:
case BUCKETS:
case BYTE:
case CACHE:
case CASCADED:
case CATALOG_NAME:
case CHAIN:
case CHANGED:
case CHANNEL:
case CHARSET:
case CHECKSUM:
case CIPHER:
case CLASS_ORIGIN:
case CLIENT:
case CLONE:
case CLOSE:
case COALESCE:
case CODE:
case COLLATION:
case COLUMNS:
case COLUMN_FORMAT:
case COLUMN_NAME:
case COMMENT:
case COMMIT:
case COMMITTED:
case COMPACT:
case COMPLETION:
case COMPONENT:
case COMPRESSED:
case COMPRESSION:
case CONCURRENT:
case CONNECTION:
case CONSISTENT:
case CONSTRAINT_CATALOG:
case CONSTRAINT_NAME:
case CONSTRAINT_SCHEMA:
case CONTAINS:
case CONTEXT:
case CPU:
case CREATE:
case CURRENT:
case CURSOR_NAME:
case DATA:
case DATAFILE:
case DATE:
case DATETIME:
case DAY:
case DEALLOCATE:
case DEFAULT_AUTH:
case DEFINER:
case DEFINITION:
case DELAY_KEY_WRITE:
case DESCRIPTION:
case DIAGNOSTICS:
case DIRECTORY:
case DISABLE:
case DISCARD:
case DISK:
case DO:
case DUMPFILE:
case DUPLICATE:
case DYNAMIC:
case ENABLE:
case ENCRYPTION:
case END:
case ENDS:
case ENFORCED:
case ENGINE:
case ENGINES:
case ENGINE_ATTRIBUTE:
case ENUM:
case ERROR:
case ERRORS:
case ESCAPE:
case EVENT:
case EVENTS:
case EVERY:
case EXCHANGE:
case EXCLUDE:
case EXECUTE:
case EXPANSION:
case EXPIRE:
case EXPORT:
case EXTENDED:
case EXTENT_SIZE:
case FAILED_LOGIN_ATTEMPTS:
case FAST:
case FAULTS:
case FILE:
case FILE_BLOCK_SIZE:
case FILTER:
case FIRST:
case FIXED:
case FLUSH:
case FOLLOWING:
case FOLLOWS:
case FORMAT:
case FOUND:
case FULL:
case GENERAL:
case GEOMETRY:
case GEOMETRYCOLLECTION:
case GET_FORMAT:
case GET_MASTER_PUBLIC_KEY:
case GLOBAL:
case GRANTS:
case GROUP_REPLICATION:
case HANDLER:
case HASH:
case HELP:
case HISTOGRAM:
case HISTORY:
case HOST:
case HOSTS:
case HOUR:
case IDENTIFIED:
case IGNORE_SERVER_IDS:
case IMPORT:
case INACTIVE:
case INDEXES:
case INITIAL_SIZE:
case INSERT_METHOD:
case INSTALL:
case INSTANCE:
case INVISIBLE:
case INVOKER:
case IO:
case IPC:
case ISOLATION:
case ISSUER:
case JSON:
case JSON_VALUE:
case KEY:
case KEY_BLOCK_SIZE:
case LANGUAGE:
case LAST:
case LAST_VALUE:
case LEAVES:
case LESS:
case LEVEL:
case LINESTRING:
case LIST:
case LOCAL:
case LOCKED:
case LOCKS:
case LOGFILE:
case LOGS:
case MASTER:
case MASTER_AUTO_POSITION:
case MASTER_COMPRESSION_ALGORITHM:
case MASTER_CONNECT_RETRY:
case MASTER_DELAY:
case MASTER_HEARTBEAT_PERIOD:
case MASTER_HOST:
case MASTER_LOG_FILE:
case MASTER_LOG_POS:
case MASTER_PASSWORD:
case MASTER_PORT:
case MASTER_PUBLIC_KEY_PATH:
case MASTER_RETRY_COUNT:
case MASTER_SERVER_ID:
case MASTER_SSL:
case MASTER_SSL_CA:
case MASTER_SSL_CAPATH:
case MASTER_SSL_CERT:
case MASTER_SSL_CIPHER:
case MASTER_SSL_CRL:
case MASTER_SSL_CRLPATH:
case MASTER_SSL_KEY:
case MASTER_TLS_CIPHERSUITES:
case MASTER_TLS_VERSION:
case MASTER_USER:
case MASTER_ZSTD_COMPRESSION_LEVEL:
case MAXVALUE:
case MAX_CONNECTIONS_PER_HOUR:
case MAX_QUERIES_PER_HOUR:
case MAX_ROWS:
case MAX_SIZE:
case MAX_UPDATES_PER_HOUR:
case MAX_USER_CONNECTIONS:
case MEDIUM:
case MEMBER:
case MEMORY:
case MERGE:
case MESSAGE_TEXT:
case MICROSECOND:
case MIGRATE:
case MINUTE:
case MIN_ROWS:
case MODE:
case MODIFY:
case MONTH:
case MULTILINESTRING:
case MULTIPOINT:
case MULTIPOLYGON:
case MUTEX:
case MYSQL_ERRNO:
case NAME:
case NAMES:
case NATIONAL:
case NCHAR:
case NDBCLUSTER:
case NESTED:
case NETWORK_NAMESPACE:
case NEVER:
case NEW:
case NEXT:
case NO:
case NODEGROUP:
case NONE:
case NOWAIT:
case NO_WAIT:
case NULLS:
case NUMBER:
case NVARCHAR:
case OFF:
case OFFSET:
case OJ:
case OLD:
case ONE:
case ONLY:
case OPEN:
case OPTIONAL:
case OPTIONS:
case ORDINALITY:
case ORGANIZATION:
case OTHERS:
case OWNER:
case PACK_KEYS:
case PAGE:
case PARSER:
case PARTIAL:
case PARTITIONING:
case PARTITIONS:
case PASSWORD:
case PASSWORD_LOCK_TIME:
case PATH:
case PERSIST:
case PERSIST_ONLY:
case PHASE:
case PLUGIN:
case PLUGINS:
case PLUGIN_DIR:
case POINT:
case POLYGON:
case PORT:
case PRECEDES:
case PRECEDING:
case PREPARE:
case PRESERVE:
case PREV:
case PRIMARY:
case PRIVILEGES:
case PRIVILEGE_CHECKS_USER:
case PROCESS:
case PROCESSLIST:
case PROFILE:
case PROFILES:
case PROXY:
case QUARTER:
case QUERY:
case QUICK:
case RANDOM:
case READ_ONLY:
case REBUILD:
case RECOVER:
case REDO_BUFFER_SIZE:
case REDUNDANT:
case REFERENCE:
case RELAY:
case RELAYLOG:
case RELAY_LOG_FILE:
case RELAY_LOG_POS:
case RELAY_THREAD:
case RELOAD:
case REMOVE:
case REORGANIZE:
case REPAIR:
case REPEATABLE:
case REPLICATE_DO_DB:
case REPLICATE_DO_TABLE:
case REPLICATE_IGNORE_DB:
case REPLICATE_IGNORE_TABLE:
case REPLICATE_REWRITE_DB:
case REPLICATE_WILD_DO_TABLE:
case REPLICATE_WILD_IGNORE_TABLE:
case REPLICATION:
case REQUIRE_ROW_FORMAT:
case RESET:
case RESOURCE:
case RESPECT:
case RESTART:
case RESTORE:
case RESUME:
case RETAIN:
case RETURNED_SQLSTATE:
case RETURNING:
case RETURNS:
case REUSE:
case REVERSE:
case ROLE:
case ROLLBACK:
case ROLLUP:
case ROTATE:
case ROUTINE:
case ROW_COUNT:
case ROW_FORMAT:
case RTREE:
case SAVEPOINT:
case SCHEDULE:
case SCHEMA_NAME:
case SECOND:
case SECONDARY:
case SECONDARY_ENGINE:
case SECONDARY_ENGINE_ATTRIBUTE:
case SECONDARY_LOAD:
case SECONDARY_UNLOAD:
case SECURITY:
case SERIAL:
case SERIALIZABLE:
case SERVER:
case SESSION:
case SHARE:
case SHUTDOWN:
case SIGNED:
case SIMPLE:
case SLAVE:
case SLOW:
case SNAPSHOT:
case SOCKET:
case SONAME:
case SOUNDS:
case SOURCE:
case SQL_AFTER_GTIDS:
case SQL_AFTER_MTS_GAPS:
case SQL_BEFORE_GTIDS:
case SQL_BUFFER_RESULT:
case SQL_NO_CACHE:
case SQL_THREAD:
case SRID:
case STACKED:
case START:
case STARTS:
case STATS_AUTO_RECALC:
case STATS_PERSISTENT:
case STATS_SAMPLE_PAGES:
case STATUS:
case STOP:
case STORAGE:
case STREAM:
case STRING:
case SUBCLASS_ORIGIN:
case SUBJECT:
case SUBPARTITION:
case SUBPARTITIONS:
case SUPER:
case SUSPEND:
case SWAPS:
case SWITCHES:
case TABLES:
case TABLESPACE:
case TABLE_CHECKSUM:
case TABLE_NAME:
case TEMPORARY:
case TEMPTABLE:
case TEXT:
case THAN:
case THREAD_PRIORITY:
case TIES:
case TIME:
case TIMESTAMP:
case TIMESTAMP_ADD:
case TIMESTAMP_DIFF:
case TLS:
case TRANSACTION:
case TRIGGERS:
case TRUNCATE:
case TYPE:
case TYPES:
case UNBOUNDED:
case UNCOMMITTED:
case UNDEFINED:
case UNDOFILE:
case UNDO_BUFFER_SIZE:
case UNICODE:
case UNINSTALL:
case UNKNOWN:
case UNTIL:
case UPGRADE:
case USER:
case USER_RESOURCES:
case USE_FRM:
case UTC_DATE:
case UTC_TIME:
case UTC_TIMESTAMP:
case VALIDATION:
case VALUE:
case VARIABLES:
case VCPU:
case VIEW:
case VISIBLE:
case WAIT:
case WARNINGS:
case WEEK:
case WEIGHT_STRING:
case WITHOUT:
case WORK:
case WRAPPER:
case X509:
case XA:
case XID:
case XML:
case YEAR:
case DOUBLE_QUOTED_TEXT:
case UNDERSCORE_CHARSET:
case IDENTIFIER_:
enterOuterAlt(_localctx, 1);
{
setState(2722);
keyPart();
}
break;
case LP_:
enterOuterAlt(_localctx, 2);
{
setState(2723);
match(LP_);
setState(2724);
expr(0);
setState(2725);
match(RP_);
setState(2727);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ASC || _la==DESC) {
{
setState(2726);
direction();
}
}
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class KeyListWithExpressionContext extends ParserRuleContext {
public TerminalNode LP_() { return getToken(MySQLStatementParser.LP_, 0); }
public List keyPartWithExpression() {
return getRuleContexts(KeyPartWithExpressionContext.class);
}
public KeyPartWithExpressionContext keyPartWithExpression(int i) {
return getRuleContext(KeyPartWithExpressionContext.class,i);
}
public TerminalNode RP_() { return getToken(MySQLStatementParser.RP_, 0); }
public List COMMA_() { return getTokens(MySQLStatementParser.COMMA_); }
public TerminalNode COMMA_(int i) {
return getToken(MySQLStatementParser.COMMA_, i);
}
public KeyListWithExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_keyListWithExpression; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitKeyListWithExpression(this);
else return visitor.visitChildren(this);
}
}
public final KeyListWithExpressionContext keyListWithExpression() throws RecognitionException {
KeyListWithExpressionContext _localctx = new KeyListWithExpressionContext(_ctx, getState());
enterRule(_localctx, 170, RULE_keyListWithExpression);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2731);
match(LP_);
setState(2732);
keyPartWithExpression();
setState(2737);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA_) {
{
{
setState(2733);
match(COMMA_);
setState(2734);
keyPartWithExpression();
}
}
setState(2739);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(2740);
match(RP_);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class IndexOptionContext extends ParserRuleContext {
public CommonIndexOptionContext commonIndexOption() {
return getRuleContext(CommonIndexOptionContext.class,0);
}
public IndexTypeClauseContext indexTypeClause() {
return getRuleContext(IndexTypeClauseContext.class,0);
}
public IndexOptionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_indexOption; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitIndexOption(this);
else return visitor.visitChildren(this);
}
}
public final IndexOptionContext indexOption() throws RecognitionException {
IndexOptionContext _localctx = new IndexOptionContext(_ctx, getState());
enterRule(_localctx, 172, RULE_indexOption);
try {
setState(2744);
_errHandler.sync(this);
switch (_input.LA(1)) {
case COMMENT:
case INVISIBLE:
case KEY_BLOCK_SIZE:
case VISIBLE:
enterOuterAlt(_localctx, 1);
{
setState(2742);
commonIndexOption();
}
break;
case TYPE:
case USING:
enterOuterAlt(_localctx, 2);
{
setState(2743);
indexTypeClause();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CommonIndexOptionContext extends ParserRuleContext {
public TerminalNode KEY_BLOCK_SIZE() { return getToken(MySQLStatementParser.KEY_BLOCK_SIZE, 0); }
public TerminalNode NUMBER_() { return getToken(MySQLStatementParser.NUMBER_, 0); }
public TerminalNode EQ_() { return getToken(MySQLStatementParser.EQ_, 0); }
public TerminalNode COMMENT() { return getToken(MySQLStatementParser.COMMENT, 0); }
public StringLiteralsContext stringLiterals() {
return getRuleContext(StringLiteralsContext.class,0);
}
public VisibilityContext visibility() {
return getRuleContext(VisibilityContext.class,0);
}
public CommonIndexOptionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_commonIndexOption; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitCommonIndexOption(this);
else return visitor.visitChildren(this);
}
}
public final CommonIndexOptionContext commonIndexOption() throws RecognitionException {
CommonIndexOptionContext _localctx = new CommonIndexOptionContext(_ctx, getState());
enterRule(_localctx, 174, RULE_commonIndexOption);
int _la;
try {
setState(2754);
_errHandler.sync(this);
switch (_input.LA(1)) {
case KEY_BLOCK_SIZE:
enterOuterAlt(_localctx, 1);
{
setState(2746);
match(KEY_BLOCK_SIZE);
setState(2748);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2747);
match(EQ_);
}
}
setState(2750);
match(NUMBER_);
}
break;
case COMMENT:
enterOuterAlt(_localctx, 2);
{
setState(2751);
match(COMMENT);
setState(2752);
stringLiterals();
}
break;
case INVISIBLE:
case VISIBLE:
enterOuterAlt(_localctx, 3);
{
setState(2753);
visibility();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class VisibilityContext extends ParserRuleContext {
public TerminalNode VISIBLE() { return getToken(MySQLStatementParser.VISIBLE, 0); }
public TerminalNode INVISIBLE() { return getToken(MySQLStatementParser.INVISIBLE, 0); }
public VisibilityContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_visibility; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitVisibility(this);
else return visitor.visitChildren(this);
}
}
public final VisibilityContext visibility() throws RecognitionException {
VisibilityContext _localctx = new VisibilityContext(_ctx, getState());
enterRule(_localctx, 176, RULE_visibility);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2756);
_la = _input.LA(1);
if ( !(_la==INVISIBLE || _la==VISIBLE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CreateLikeClauseContext extends ParserRuleContext {
public TerminalNode LIKE() { return getToken(MySQLStatementParser.LIKE, 0); }
public TableNameContext tableName() {
return getRuleContext(TableNameContext.class,0);
}
public TerminalNode LP_() { return getToken(MySQLStatementParser.LP_, 0); }
public TerminalNode RP_() { return getToken(MySQLStatementParser.RP_, 0); }
public CreateLikeClauseContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_createLikeClause; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitCreateLikeClause(this);
else return visitor.visitChildren(this);
}
}
public final CreateLikeClauseContext createLikeClause() throws RecognitionException {
CreateLikeClauseContext _localctx = new CreateLikeClauseContext(_ctx, getState());
enterRule(_localctx, 178, RULE_createLikeClause);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2759);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LP_) {
{
setState(2758);
match(LP_);
}
}
setState(2761);
match(LIKE);
setState(2762);
tableName();
setState(2764);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==RP_) {
{
setState(2763);
match(RP_);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CreateIndexSpecificationContext extends ParserRuleContext {
public TerminalNode UNIQUE() { return getToken(MySQLStatementParser.UNIQUE, 0); }
public TerminalNode FULLTEXT() { return getToken(MySQLStatementParser.FULLTEXT, 0); }
public TerminalNode SPATIAL() { return getToken(MySQLStatementParser.SPATIAL, 0); }
public CreateIndexSpecificationContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_createIndexSpecification; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitCreateIndexSpecification(this);
else return visitor.visitChildren(this);
}
}
public final CreateIndexSpecificationContext createIndexSpecification() throws RecognitionException {
CreateIndexSpecificationContext _localctx = new CreateIndexSpecificationContext(_ctx, getState());
enterRule(_localctx, 180, RULE_createIndexSpecification);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2766);
_la = _input.LA(1);
if ( !(_la==FULLTEXT || _la==SPATIAL || _la==UNIQUE) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CreateTableOptionsContext extends ParserRuleContext {
public List createTableOption() {
return getRuleContexts(CreateTableOptionContext.class);
}
public CreateTableOptionContext createTableOption(int i) {
return getRuleContext(CreateTableOptionContext.class,i);
}
public List COMMA_() { return getTokens(MySQLStatementParser.COMMA_); }
public TerminalNode COMMA_(int i) {
return getToken(MySQLStatementParser.COMMA_, i);
}
public CreateTableOptionsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_createTableOptions; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitCreateTableOptions(this);
else return visitor.visitChildren(this);
}
}
public final CreateTableOptionsContext createTableOptions() throws RecognitionException {
CreateTableOptionsContext _localctx = new CreateTableOptionsContext(_ctx, getState());
enterRule(_localctx, 182, RULE_createTableOptions);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(2768);
createTableOption();
setState(2775);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,266,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(2770);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==COMMA_) {
{
setState(2769);
match(COMMA_);
}
}
setState(2772);
createTableOption();
}
}
}
setState(2777);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,266,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CreateTableOptionContext extends ParserRuleContext {
public Token option;
public Token ternaryOption;
public Token format;
public Token method;
public String_Context jsonAttribute;
public EngineRefContext engineRef() {
return getRuleContext(EngineRefContext.class,0);
}
public TerminalNode ENGINE() { return getToken(MySQLStatementParser.ENGINE, 0); }
public TerminalNode EQ_() { return getToken(MySQLStatementParser.EQ_, 0); }
public TerminalNode SECONDARY_ENGINE() { return getToken(MySQLStatementParser.SECONDARY_ENGINE, 0); }
public TerminalNode NULL() { return getToken(MySQLStatementParser.NULL, 0); }
public String_Context string_() {
return getRuleContext(String_Context.class,0);
}
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode NUMBER_() { return getToken(MySQLStatementParser.NUMBER_, 0); }
public TerminalNode MAX_ROWS() { return getToken(MySQLStatementParser.MAX_ROWS, 0); }
public TerminalNode MIN_ROWS() { return getToken(MySQLStatementParser.MIN_ROWS, 0); }
public TerminalNode AVG_ROW_LENGTH() { return getToken(MySQLStatementParser.AVG_ROW_LENGTH, 0); }
public TerminalNode PASSWORD() { return getToken(MySQLStatementParser.PASSWORD, 0); }
public TerminalNode COMMENT() { return getToken(MySQLStatementParser.COMMENT, 0); }
public TextStringContext textString() {
return getRuleContext(TextStringContext.class,0);
}
public TerminalNode COMPRESSION() { return getToken(MySQLStatementParser.COMPRESSION, 0); }
public TerminalNode ENCRYPTION() { return getToken(MySQLStatementParser.ENCRYPTION, 0); }
public TerminalNode AUTO_INCREMENT() { return getToken(MySQLStatementParser.AUTO_INCREMENT, 0); }
public TerminalNode PACK_KEYS() { return getToken(MySQLStatementParser.PACK_KEYS, 0); }
public TerminalNode DEFAULT() { return getToken(MySQLStatementParser.DEFAULT, 0); }
public TerminalNode STATS_AUTO_RECALC() { return getToken(MySQLStatementParser.STATS_AUTO_RECALC, 0); }
public TerminalNode STATS_PERSISTENT() { return getToken(MySQLStatementParser.STATS_PERSISTENT, 0); }
public TerminalNode STATS_SAMPLE_PAGES() { return getToken(MySQLStatementParser.STATS_SAMPLE_PAGES, 0); }
public TerminalNode CHECKSUM() { return getToken(MySQLStatementParser.CHECKSUM, 0); }
public TerminalNode TABLE_CHECKSUM() { return getToken(MySQLStatementParser.TABLE_CHECKSUM, 0); }
public TerminalNode DELAY_KEY_WRITE() { return getToken(MySQLStatementParser.DELAY_KEY_WRITE, 0); }
public TerminalNode ROW_FORMAT() { return getToken(MySQLStatementParser.ROW_FORMAT, 0); }
public TerminalNode DYNAMIC() { return getToken(MySQLStatementParser.DYNAMIC, 0); }
public TerminalNode FIXED() { return getToken(MySQLStatementParser.FIXED, 0); }
public TerminalNode COMPRESSED() { return getToken(MySQLStatementParser.COMPRESSED, 0); }
public TerminalNode REDUNDANT() { return getToken(MySQLStatementParser.REDUNDANT, 0); }
public TerminalNode COMPACT() { return getToken(MySQLStatementParser.COMPACT, 0); }
public TerminalNode LP_() { return getToken(MySQLStatementParser.LP_, 0); }
public TableListContext tableList() {
return getRuleContext(TableListContext.class,0);
}
public TerminalNode RP_() { return getToken(MySQLStatementParser.RP_, 0); }
public TerminalNode UNION() { return getToken(MySQLStatementParser.UNION, 0); }
public DefaultCharsetContext defaultCharset() {
return getRuleContext(DefaultCharsetContext.class,0);
}
public DefaultCollationContext defaultCollation() {
return getRuleContext(DefaultCollationContext.class,0);
}
public TerminalNode INSERT_METHOD() { return getToken(MySQLStatementParser.INSERT_METHOD, 0); }
public TerminalNode NO() { return getToken(MySQLStatementParser.NO, 0); }
public TerminalNode FIRST() { return getToken(MySQLStatementParser.FIRST, 0); }
public TerminalNode LAST() { return getToken(MySQLStatementParser.LAST, 0); }
public TerminalNode DIRECTORY() { return getToken(MySQLStatementParser.DIRECTORY, 0); }
public TerminalNode DATA() { return getToken(MySQLStatementParser.DATA, 0); }
public TerminalNode INDEX() { return getToken(MySQLStatementParser.INDEX, 0); }
public TerminalNode TABLESPACE() { return getToken(MySQLStatementParser.TABLESPACE, 0); }
public TerminalNode STORAGE() { return getToken(MySQLStatementParser.STORAGE, 0); }
public TerminalNode DISK() { return getToken(MySQLStatementParser.DISK, 0); }
public TerminalNode MEMORY() { return getToken(MySQLStatementParser.MEMORY, 0); }
public TerminalNode CONNECTION() { return getToken(MySQLStatementParser.CONNECTION, 0); }
public TerminalNode KEY_BLOCK_SIZE() { return getToken(MySQLStatementParser.KEY_BLOCK_SIZE, 0); }
public TerminalNode ENGINE_ATTRIBUTE() { return getToken(MySQLStatementParser.ENGINE_ATTRIBUTE, 0); }
public TerminalNode SECONDARY_ENGINE_ATTRIBUTE() { return getToken(MySQLStatementParser.SECONDARY_ENGINE_ATTRIBUTE, 0); }
public CreateTableOptionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_createTableOption; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitCreateTableOption(this);
else return visitor.visitChildren(this);
}
}
public final CreateTableOptionContext createTableOption() throws RecognitionException {
CreateTableOptionContext _localctx = new CreateTableOptionContext(_ctx, getState());
enterRule(_localctx, 184, RULE_createTableOption);
int _la;
try {
setState(2909);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,291,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(2778);
((CreateTableOptionContext)_localctx).option = match(ENGINE);
setState(2780);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2779);
match(EQ_);
}
}
setState(2782);
engineRef();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(2783);
((CreateTableOptionContext)_localctx).option = match(SECONDARY_ENGINE);
setState(2785);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2784);
match(EQ_);
}
}
setState(2790);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,269,_ctx) ) {
case 1:
{
setState(2787);
match(NULL);
}
break;
case 2:
{
setState(2788);
string_();
}
break;
case 3:
{
setState(2789);
identifier();
}
break;
}
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(2792);
((CreateTableOptionContext)_localctx).option = match(MAX_ROWS);
setState(2794);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2793);
match(EQ_);
}
}
setState(2796);
match(NUMBER_);
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(2797);
((CreateTableOptionContext)_localctx).option = match(MIN_ROWS);
setState(2799);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2798);
match(EQ_);
}
}
setState(2801);
match(NUMBER_);
}
break;
case 5:
enterOuterAlt(_localctx, 5);
{
setState(2802);
((CreateTableOptionContext)_localctx).option = match(AVG_ROW_LENGTH);
setState(2804);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2803);
match(EQ_);
}
}
setState(2806);
match(NUMBER_);
}
break;
case 6:
enterOuterAlt(_localctx, 6);
{
setState(2807);
((CreateTableOptionContext)_localctx).option = match(PASSWORD);
setState(2809);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2808);
match(EQ_);
}
}
setState(2811);
string_();
}
break;
case 7:
enterOuterAlt(_localctx, 7);
{
setState(2812);
((CreateTableOptionContext)_localctx).option = match(COMMENT);
setState(2814);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2813);
match(EQ_);
}
}
setState(2816);
string_();
}
break;
case 8:
enterOuterAlt(_localctx, 8);
{
setState(2817);
((CreateTableOptionContext)_localctx).option = match(COMPRESSION);
setState(2819);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2818);
match(EQ_);
}
}
setState(2821);
textString();
}
break;
case 9:
enterOuterAlt(_localctx, 9);
{
setState(2822);
((CreateTableOptionContext)_localctx).option = match(ENCRYPTION);
setState(2824);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2823);
match(EQ_);
}
}
setState(2826);
textString();
}
break;
case 10:
enterOuterAlt(_localctx, 10);
{
setState(2827);
((CreateTableOptionContext)_localctx).option = match(AUTO_INCREMENT);
setState(2829);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2828);
match(EQ_);
}
}
setState(2831);
match(NUMBER_);
}
break;
case 11:
enterOuterAlt(_localctx, 11);
{
setState(2832);
((CreateTableOptionContext)_localctx).option = match(PACK_KEYS);
setState(2834);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2833);
match(EQ_);
}
}
setState(2836);
((CreateTableOptionContext)_localctx).ternaryOption = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==DEFAULT || _la==NUMBER_) ) {
((CreateTableOptionContext)_localctx).ternaryOption = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
case 12:
enterOuterAlt(_localctx, 12);
{
setState(2837);
((CreateTableOptionContext)_localctx).option = _input.LT(1);
_la = _input.LA(1);
if ( !(((((_la - 662)) & ~0x3f) == 0 && ((1L << (_la - 662)) & ((1L << (STATS_AUTO_RECALC - 662)) | (1L << (STATS_PERSISTENT - 662)) | (1L << (STATS_SAMPLE_PAGES - 662)))) != 0)) ) {
((CreateTableOptionContext)_localctx).option = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(2839);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2838);
match(EQ_);
}
}
setState(2841);
((CreateTableOptionContext)_localctx).ternaryOption = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==DEFAULT || _la==NUMBER_) ) {
((CreateTableOptionContext)_localctx).ternaryOption = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
case 13:
enterOuterAlt(_localctx, 13);
{
setState(2842);
((CreateTableOptionContext)_localctx).option = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==CHECKSUM || _la==TABLE_CHECKSUM) ) {
((CreateTableOptionContext)_localctx).option = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
setState(2844);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2843);
match(EQ_);
}
}
setState(2846);
match(NUMBER_);
}
break;
case 14:
enterOuterAlt(_localctx, 14);
{
setState(2847);
((CreateTableOptionContext)_localctx).option = match(DELAY_KEY_WRITE);
setState(2849);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2848);
match(EQ_);
}
}
setState(2851);
match(NUMBER_);
}
break;
case 15:
enterOuterAlt(_localctx, 15);
{
setState(2852);
((CreateTableOptionContext)_localctx).option = match(ROW_FORMAT);
setState(2854);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2853);
match(EQ_);
}
}
setState(2856);
((CreateTableOptionContext)_localctx).format = _input.LT(1);
_la = _input.LA(1);
if ( !(((((_la - 150)) & ~0x3f) == 0 && ((1L << (_la - 150)) & ((1L << (COMPACT - 150)) | (1L << (COMPRESSED - 150)) | (1L << (DEFAULT - 150)))) != 0) || _la==DYNAMIC || _la==FIXED || _la==REDUNDANT) ) {
((CreateTableOptionContext)_localctx).format = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
case 16:
enterOuterAlt(_localctx, 16);
{
setState(2857);
((CreateTableOptionContext)_localctx).option = match(UNION);
setState(2859);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2858);
match(EQ_);
}
}
setState(2861);
match(LP_);
setState(2862);
tableList();
setState(2863);
match(RP_);
}
break;
case 17:
enterOuterAlt(_localctx, 17);
{
setState(2865);
defaultCharset();
}
break;
case 18:
enterOuterAlt(_localctx, 18);
{
setState(2866);
defaultCollation();
}
break;
case 19:
enterOuterAlt(_localctx, 19);
{
setState(2867);
((CreateTableOptionContext)_localctx).option = match(INSERT_METHOD);
setState(2869);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2868);
match(EQ_);
}
}
setState(2871);
((CreateTableOptionContext)_localctx).method = _input.LT(1);
_la = _input.LA(1);
if ( !(_la==FIRST || _la==LAST || _la==NO) ) {
((CreateTableOptionContext)_localctx).method = (Token)_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
case 20:
enterOuterAlt(_localctx, 20);
{
setState(2872);
((CreateTableOptionContext)_localctx).option = match(DATA);
setState(2873);
match(DIRECTORY);
setState(2875);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2874);
match(EQ_);
}
}
setState(2877);
textString();
}
break;
case 21:
enterOuterAlt(_localctx, 21);
{
setState(2878);
((CreateTableOptionContext)_localctx).option = match(INDEX);
setState(2879);
match(DIRECTORY);
setState(2881);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2880);
match(EQ_);
}
}
setState(2883);
textString();
}
break;
case 22:
enterOuterAlt(_localctx, 22);
{
setState(2884);
((CreateTableOptionContext)_localctx).option = match(TABLESPACE);
setState(2886);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2885);
match(EQ_);
}
}
setState(2888);
identifier();
}
break;
case 23:
enterOuterAlt(_localctx, 23);
{
setState(2889);
((CreateTableOptionContext)_localctx).option = match(STORAGE);
setState(2890);
_la = _input.LA(1);
if ( !(_la==DISK || _la==MEMORY) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
case 24:
enterOuterAlt(_localctx, 24);
{
setState(2891);
((CreateTableOptionContext)_localctx).option = match(CONNECTION);
setState(2893);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2892);
match(EQ_);
}
}
setState(2895);
textString();
}
break;
case 25:
enterOuterAlt(_localctx, 25);
{
setState(2896);
((CreateTableOptionContext)_localctx).option = match(KEY_BLOCK_SIZE);
setState(2898);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2897);
match(EQ_);
}
}
setState(2900);
match(NUMBER_);
}
break;
case 26:
enterOuterAlt(_localctx, 26);
{
setState(2901);
((CreateTableOptionContext)_localctx).option = match(ENGINE_ATTRIBUTE);
setState(2903);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(2902);
match(EQ_);
}
}
setState(2905);
((CreateTableOptionContext)_localctx).jsonAttribute = string_();
}
break;
case 27:
enterOuterAlt(_localctx, 27);
{
setState(2906);
((CreateTableOptionContext)_localctx).option = match(SECONDARY_ENGINE_ATTRIBUTE);
setState(2907);
match(EQ_);
setState(2908);
((CreateTableOptionContext)_localctx).jsonAttribute = string_();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CreateSRSStatementContext extends ParserRuleContext {
public TerminalNode CREATE() { return getToken(MySQLStatementParser.CREATE, 0); }
public TerminalNode OR() { return getToken(MySQLStatementParser.OR, 0); }
public TerminalNode REPLACE() { return getToken(MySQLStatementParser.REPLACE, 0); }
public TerminalNode SPATIAL() { return getToken(MySQLStatementParser.SPATIAL, 0); }
public TerminalNode REFERENCE() { return getToken(MySQLStatementParser.REFERENCE, 0); }
public TerminalNode SYSTEM() { return getToken(MySQLStatementParser.SYSTEM, 0); }
public TerminalNode NUMBER_() { return getToken(MySQLStatementParser.NUMBER_, 0); }
public List srsAttribute() {
return getRuleContexts(SrsAttributeContext.class);
}
public SrsAttributeContext srsAttribute(int i) {
return getRuleContext(SrsAttributeContext.class,i);
}
public IfNotExistsContext ifNotExists() {
return getRuleContext(IfNotExistsContext.class,0);
}
public CreateSRSStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_createSRSStatement; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitCreateSRSStatement(this);
else return visitor.visitChildren(this);
}
}
public final CreateSRSStatementContext createSRSStatement() throws RecognitionException {
CreateSRSStatementContext _localctx = new CreateSRSStatementContext(_ctx, getState());
enterRule(_localctx, 186, RULE_createSRSStatement);
int _la;
try {
setState(2938);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,295,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(2911);
match(CREATE);
setState(2912);
match(OR);
setState(2913);
match(REPLACE);
setState(2914);
match(SPATIAL);
setState(2915);
match(REFERENCE);
setState(2916);
match(SYSTEM);
setState(2917);
match(NUMBER_);
setState(2921);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==DEFINITION || _la==DESCRIPTION || _la==NAME || _la==ORGANIZATION) {
{
{
setState(2918);
srsAttribute();
}
}
setState(2923);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(2924);
match(CREATE);
setState(2925);
match(SPATIAL);
setState(2926);
match(REFERENCE);
setState(2927);
match(SYSTEM);
setState(2929);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(2928);
ifNotExists();
}
}
setState(2931);
match(NUMBER_);
setState(2935);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==DEFINITION || _la==DESCRIPTION || _la==NAME || _la==ORGANIZATION) {
{
{
setState(2932);
srsAttribute();
}
}
setState(2937);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DropSRSStatementContext extends ParserRuleContext {
public TerminalNode DROP() { return getToken(MySQLStatementParser.DROP, 0); }
public TerminalNode SPATIAL() { return getToken(MySQLStatementParser.SPATIAL, 0); }
public TerminalNode REFERENCE() { return getToken(MySQLStatementParser.REFERENCE, 0); }
public TerminalNode SYSTEM() { return getToken(MySQLStatementParser.SYSTEM, 0); }
public TerminalNode NUMBER_() { return getToken(MySQLStatementParser.NUMBER_, 0); }
public IfNotExistsContext ifNotExists() {
return getRuleContext(IfNotExistsContext.class,0);
}
public DropSRSStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dropSRSStatement; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitDropSRSStatement(this);
else return visitor.visitChildren(this);
}
}
public final DropSRSStatementContext dropSRSStatement() throws RecognitionException {
DropSRSStatementContext _localctx = new DropSRSStatementContext(_ctx, getState());
enterRule(_localctx, 188, RULE_dropSRSStatement);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2940);
match(DROP);
setState(2941);
match(SPATIAL);
setState(2942);
match(REFERENCE);
setState(2943);
match(SYSTEM);
setState(2945);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IF) {
{
setState(2944);
ifNotExists();
}
}
setState(2947);
match(NUMBER_);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class SrsAttributeContext extends ParserRuleContext {
public TerminalNode NAME() { return getToken(MySQLStatementParser.NAME, 0); }
public String_Context string_() {
return getRuleContext(String_Context.class,0);
}
public TerminalNode DEFINITION() { return getToken(MySQLStatementParser.DEFINITION, 0); }
public TerminalNode ORGANIZATION() { return getToken(MySQLStatementParser.ORGANIZATION, 0); }
public TerminalNode IDENTIFIED() { return getToken(MySQLStatementParser.IDENTIFIED, 0); }
public TerminalNode BY() { return getToken(MySQLStatementParser.BY, 0); }
public TerminalNode NUMBER_() { return getToken(MySQLStatementParser.NUMBER_, 0); }
public TerminalNode DESCRIPTION() { return getToken(MySQLStatementParser.DESCRIPTION, 0); }
public SrsAttributeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_srsAttribute; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitSrsAttribute(this);
else return visitor.visitChildren(this);
}
}
public final SrsAttributeContext srsAttribute() throws RecognitionException {
SrsAttributeContext _localctx = new SrsAttributeContext(_ctx, getState());
enterRule(_localctx, 190, RULE_srsAttribute);
try {
setState(2961);
_errHandler.sync(this);
switch (_input.LA(1)) {
case NAME:
enterOuterAlt(_localctx, 1);
{
setState(2949);
match(NAME);
setState(2950);
string_();
}
break;
case DEFINITION:
enterOuterAlt(_localctx, 2);
{
setState(2951);
match(DEFINITION);
setState(2952);
string_();
}
break;
case ORGANIZATION:
enterOuterAlt(_localctx, 3);
{
setState(2953);
match(ORGANIZATION);
setState(2954);
string_();
setState(2955);
match(IDENTIFIED);
setState(2956);
match(BY);
setState(2957);
match(NUMBER_);
}
break;
case DESCRIPTION:
enterOuterAlt(_localctx, 4);
{
setState(2959);
match(DESCRIPTION);
setState(2960);
string_();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class PlaceContext extends ParserRuleContext {
public TerminalNode FIRST() { return getToken(MySQLStatementParser.FIRST, 0); }
public TerminalNode AFTER() { return getToken(MySQLStatementParser.AFTER, 0); }
public ColumnNameContext columnName() {
return getRuleContext(ColumnNameContext.class,0);
}
public PlaceContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_place; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitPlace(this);
else return visitor.visitChildren(this);
}
}
public final PlaceContext place() throws RecognitionException {
PlaceContext _localctx = new PlaceContext(_ctx, getState());
enterRule(_localctx, 192, RULE_place);
try {
setState(2966);
_errHandler.sync(this);
switch (_input.LA(1)) {
case FIRST:
enterOuterAlt(_localctx, 1);
{
setState(2963);
match(FIRST);
}
break;
case AFTER:
enterOuterAlt(_localctx, 2);
{
setState(2964);
match(AFTER);
setState(2965);
columnName();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class PartitionDefinitionsContext extends ParserRuleContext {
public TerminalNode LP_() { return getToken(MySQLStatementParser.LP_, 0); }
public List partitionDefinition() {
return getRuleContexts(PartitionDefinitionContext.class);
}
public PartitionDefinitionContext partitionDefinition(int i) {
return getRuleContext(PartitionDefinitionContext.class,i);
}
public TerminalNode RP_() { return getToken(MySQLStatementParser.RP_, 0); }
public List COMMA_() { return getTokens(MySQLStatementParser.COMMA_); }
public TerminalNode COMMA_(int i) {
return getToken(MySQLStatementParser.COMMA_, i);
}
public PartitionDefinitionsContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_partitionDefinitions; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitPartitionDefinitions(this);
else return visitor.visitChildren(this);
}
}
public final PartitionDefinitionsContext partitionDefinitions() throws RecognitionException {
PartitionDefinitionsContext _localctx = new PartitionDefinitionsContext(_ctx, getState());
enterRule(_localctx, 194, RULE_partitionDefinitions);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2968);
match(LP_);
setState(2969);
partitionDefinition();
setState(2974);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA_) {
{
{
setState(2970);
match(COMMA_);
setState(2971);
partitionDefinition();
}
}
setState(2976);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(2977);
match(RP_);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class PartitionDefinitionContext extends ParserRuleContext {
public TerminalNode PARTITION() { return getToken(MySQLStatementParser.PARTITION, 0); }
public PartitionNameContext partitionName() {
return getRuleContext(PartitionNameContext.class,0);
}
public TerminalNode VALUES() { return getToken(MySQLStatementParser.VALUES, 0); }
public List partitionDefinitionOption() {
return getRuleContexts(PartitionDefinitionOptionContext.class);
}
public PartitionDefinitionOptionContext partitionDefinitionOption(int i) {
return getRuleContext(PartitionDefinitionOptionContext.class,i);
}
public List LP_() { return getTokens(MySQLStatementParser.LP_); }
public TerminalNode LP_(int i) {
return getToken(MySQLStatementParser.LP_, i);
}
public List subpartitionDefinition() {
return getRuleContexts(SubpartitionDefinitionContext.class);
}
public SubpartitionDefinitionContext subpartitionDefinition(int i) {
return getRuleContext(SubpartitionDefinitionContext.class,i);
}
public List RP_() { return getTokens(MySQLStatementParser.RP_); }
public TerminalNode RP_(int i) {
return getToken(MySQLStatementParser.RP_, i);
}
public TerminalNode LESS() { return getToken(MySQLStatementParser.LESS, 0); }
public TerminalNode THAN() { return getToken(MySQLStatementParser.THAN, 0); }
public PartitionLessThanValueContext partitionLessThanValue() {
return getRuleContext(PartitionLessThanValueContext.class,0);
}
public TerminalNode IN() { return getToken(MySQLStatementParser.IN, 0); }
public PartitionValueListContext partitionValueList() {
return getRuleContext(PartitionValueListContext.class,0);
}
public List COMMA_() { return getTokens(MySQLStatementParser.COMMA_); }
public TerminalNode COMMA_(int i) {
return getToken(MySQLStatementParser.COMMA_, i);
}
public PartitionDefinitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_partitionDefinition; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitPartitionDefinition(this);
else return visitor.visitChildren(this);
}
}
public final PartitionDefinitionContext partitionDefinition() throws RecognitionException {
PartitionDefinitionContext _localctx = new PartitionDefinitionContext(_ctx, getState());
enterRule(_localctx, 196, RULE_partitionDefinition);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(2979);
match(PARTITION);
setState(2980);
partitionName();
setState(2992);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==VALUES) {
{
setState(2981);
match(VALUES);
setState(2990);
_errHandler.sync(this);
switch (_input.LA(1)) {
case LESS:
{
setState(2982);
match(LESS);
setState(2983);
match(THAN);
setState(2984);
partitionLessThanValue();
}
break;
case IN:
{
setState(2985);
match(IN);
setState(2986);
match(LP_);
setState(2987);
partitionValueList();
setState(2988);
match(RP_);
}
break;
default:
throw new NoViableAltException(this);
}
}
}
setState(2997);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMENT || _la==DATA || _la==ENGINE || _la==INDEX || _la==MAX_ROWS || _la==MIN_ROWS || _la==STORAGE || _la==TABLESPACE) {
{
{
setState(2994);
partitionDefinitionOption();
}
}
setState(2999);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(3011);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LP_) {
{
setState(3000);
match(LP_);
setState(3001);
subpartitionDefinition();
setState(3006);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA_) {
{
{
setState(3002);
match(COMMA_);
setState(3003);
subpartitionDefinition();
}
}
setState(3008);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(3009);
match(RP_);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class PartitionLessThanValueContext extends ParserRuleContext {
public TerminalNode LP_() { return getToken(MySQLStatementParser.LP_, 0); }
public TerminalNode RP_() { return getToken(MySQLStatementParser.RP_, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public PartitionValueListContext partitionValueList() {
return getRuleContext(PartitionValueListContext.class,0);
}
public TerminalNode MAXVALUE() { return getToken(MySQLStatementParser.MAXVALUE, 0); }
public PartitionLessThanValueContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_partitionLessThanValue; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitPartitionLessThanValue(this);
else return visitor.visitChildren(this);
}
}
public final PartitionLessThanValueContext partitionLessThanValue() throws RecognitionException {
PartitionLessThanValueContext _localctx = new PartitionLessThanValueContext(_ctx, getState());
enterRule(_localctx, 198, RULE_partitionLessThanValue);
try {
setState(3021);
_errHandler.sync(this);
switch (_input.LA(1)) {
case LP_:
enterOuterAlt(_localctx, 1);
{
setState(3013);
match(LP_);
setState(3016);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,305,_ctx) ) {
case 1:
{
setState(3014);
expr(0);
}
break;
case 2:
{
setState(3015);
partitionValueList();
}
break;
}
setState(3018);
match(RP_);
}
break;
case MAXVALUE:
enterOuterAlt(_localctx, 2);
{
setState(3020);
match(MAXVALUE);
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class PartitionValueListContext extends ParserRuleContext {
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public List COMMA_() { return getTokens(MySQLStatementParser.COMMA_); }
public TerminalNode COMMA_(int i) {
return getToken(MySQLStatementParser.COMMA_, i);
}
public PartitionValueListContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_partitionValueList; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitPartitionValueList(this);
else return visitor.visitChildren(this);
}
}
public final PartitionValueListContext partitionValueList() throws RecognitionException {
PartitionValueListContext _localctx = new PartitionValueListContext(_ctx, getState());
enterRule(_localctx, 200, RULE_partitionValueList);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(3023);
expr(0);
setState(3028);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA_) {
{
{
setState(3024);
match(COMMA_);
setState(3025);
expr(0);
}
}
setState(3030);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class PartitionDefinitionOptionContext extends ParserRuleContext {
public TerminalNode ENGINE() { return getToken(MySQLStatementParser.ENGINE, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public TerminalNode STORAGE() { return getToken(MySQLStatementParser.STORAGE, 0); }
public TerminalNode EQ_() { return getToken(MySQLStatementParser.EQ_, 0); }
public TerminalNode COMMENT() { return getToken(MySQLStatementParser.COMMENT, 0); }
public String_Context string_() {
return getRuleContext(String_Context.class,0);
}
public TerminalNode DATA() { return getToken(MySQLStatementParser.DATA, 0); }
public TerminalNode DIRECTORY() { return getToken(MySQLStatementParser.DIRECTORY, 0); }
public TerminalNode INDEX() { return getToken(MySQLStatementParser.INDEX, 0); }
public TerminalNode MAX_ROWS() { return getToken(MySQLStatementParser.MAX_ROWS, 0); }
public TerminalNode NUMBER_() { return getToken(MySQLStatementParser.NUMBER_, 0); }
public TerminalNode MIN_ROWS() { return getToken(MySQLStatementParser.MIN_ROWS, 0); }
public TerminalNode TABLESPACE() { return getToken(MySQLStatementParser.TABLESPACE, 0); }
public PartitionDefinitionOptionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_partitionDefinitionOption; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitPartitionDefinitionOption(this);
else return visitor.visitChildren(this);
}
}
public final PartitionDefinitionOptionContext partitionDefinitionOption() throws RecognitionException {
PartitionDefinitionOptionContext _localctx = new PartitionDefinitionOptionContext(_ctx, getState());
enterRule(_localctx, 202, RULE_partitionDefinitionOption);
int _la;
try {
setState(3071);
_errHandler.sync(this);
switch (_input.LA(1)) {
case ENGINE:
case STORAGE:
enterOuterAlt(_localctx, 1);
{
setState(3032);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==STORAGE) {
{
setState(3031);
match(STORAGE);
}
}
setState(3034);
match(ENGINE);
setState(3036);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(3035);
match(EQ_);
}
}
setState(3038);
identifier();
}
break;
case COMMENT:
enterOuterAlt(_localctx, 2);
{
setState(3039);
match(COMMENT);
setState(3041);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(3040);
match(EQ_);
}
}
setState(3043);
string_();
}
break;
case DATA:
enterOuterAlt(_localctx, 3);
{
setState(3044);
match(DATA);
setState(3045);
match(DIRECTORY);
setState(3047);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(3046);
match(EQ_);
}
}
setState(3049);
string_();
}
break;
case INDEX:
enterOuterAlt(_localctx, 4);
{
setState(3050);
match(INDEX);
setState(3051);
match(DIRECTORY);
setState(3053);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(3052);
match(EQ_);
}
}
setState(3055);
string_();
}
break;
case MAX_ROWS:
enterOuterAlt(_localctx, 5);
{
setState(3056);
match(MAX_ROWS);
setState(3058);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(3057);
match(EQ_);
}
}
setState(3060);
match(NUMBER_);
}
break;
case MIN_ROWS:
enterOuterAlt(_localctx, 6);
{
setState(3061);
match(MIN_ROWS);
setState(3063);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(3062);
match(EQ_);
}
}
setState(3065);
match(NUMBER_);
}
break;
case TABLESPACE:
enterOuterAlt(_localctx, 7);
{
setState(3066);
match(TABLESPACE);
setState(3068);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==EQ_) {
{
setState(3067);
match(EQ_);
}
}
setState(3070);
identifier();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class SubpartitionDefinitionContext extends ParserRuleContext {
public TerminalNode SUBPARTITION() { return getToken(MySQLStatementParser.SUBPARTITION, 0); }
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public List partitionDefinitionOption() {
return getRuleContexts(PartitionDefinitionOptionContext.class);
}
public PartitionDefinitionOptionContext partitionDefinitionOption(int i) {
return getRuleContext(PartitionDefinitionOptionContext.class,i);
}
public SubpartitionDefinitionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_subpartitionDefinition; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitSubpartitionDefinition(this);
else return visitor.visitChildren(this);
}
}
public final SubpartitionDefinitionContext subpartitionDefinition() throws RecognitionException {
SubpartitionDefinitionContext _localctx = new SubpartitionDefinitionContext(_ctx, getState());
enterRule(_localctx, 204, RULE_subpartitionDefinition);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(3073);
match(SUBPARTITION);
setState(3074);
identifier();
setState(3078);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMENT || _la==DATA || _la==ENGINE || _la==INDEX || _la==MAX_ROWS || _la==MIN_ROWS || _la==STORAGE || _la==TABLESPACE) {
{
{
setState(3075);
partitionDefinitionOption();
}
}
setState(3080);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class OwnerStatementContext extends ParserRuleContext {
public TerminalNode DEFINER() { return getToken(MySQLStatementParser.DEFINER, 0); }
public TerminalNode EQ_() { return getToken(MySQLStatementParser.EQ_, 0); }
public UsernameContext username() {
return getRuleContext(UsernameContext.class,0);
}
public TerminalNode CURRENT_USER() { return getToken(MySQLStatementParser.CURRENT_USER, 0); }
public TerminalNode LP_() { return getToken(MySQLStatementParser.LP_, 0); }
public TerminalNode RP_() { return getToken(MySQLStatementParser.RP_, 0); }
public OwnerStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_ownerStatement; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitOwnerStatement(this);
else return visitor.visitChildren(this);
}
}
public final OwnerStatementContext ownerStatement() throws RecognitionException {
OwnerStatementContext _localctx = new OwnerStatementContext(_ctx, getState());
enterRule(_localctx, 206, RULE_ownerStatement);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(3081);
match(DEFINER);
setState(3082);
match(EQ_);
setState(3089);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,319,_ctx) ) {
case 1:
{
setState(3083);
username();
}
break;
case 2:
{
setState(3084);
match(CURRENT_USER);
setState(3087);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==LP_) {
{
setState(3085);
match(LP_);
setState(3086);
match(RP_);
}
}
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ScheduleExpressionContext extends ParserRuleContext {
public TerminalNode AT() { return getToken(MySQLStatementParser.AT, 0); }
public List timestampValue() {
return getRuleContexts(TimestampValueContext.class);
}
public TimestampValueContext timestampValue(int i) {
return getRuleContext(TimestampValueContext.class,i);
}
public List PLUS_() { return getTokens(MySQLStatementParser.PLUS_); }
public TerminalNode PLUS_(int i) {
return getToken(MySQLStatementParser.PLUS_, i);
}
public List intervalExpression() {
return getRuleContexts(IntervalExpressionContext.class);
}
public IntervalExpressionContext intervalExpression(int i) {
return getRuleContext(IntervalExpressionContext.class,i);
}
public TerminalNode EVERY() { return getToken(MySQLStatementParser.EVERY, 0); }
public IntervalValueContext intervalValue() {
return getRuleContext(IntervalValueContext.class,0);
}
public TerminalNode STARTS() { return getToken(MySQLStatementParser.STARTS, 0); }
public TerminalNode ENDS() { return getToken(MySQLStatementParser.ENDS, 0); }
public ScheduleExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_scheduleExpression; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitScheduleExpression(this);
else return visitor.visitChildren(this);
}
}
public final ScheduleExpressionContext scheduleExpression() throws RecognitionException {
ScheduleExpressionContext _localctx = new ScheduleExpressionContext(_ctx, getState());
enterRule(_localctx, 208, RULE_scheduleExpression);
int _la;
try {
setState(3124);
_errHandler.sync(this);
switch (_input.LA(1)) {
case AT:
enterOuterAlt(_localctx, 1);
{
setState(3091);
match(AT);
setState(3092);
timestampValue();
setState(3097);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==PLUS_) {
{
{
setState(3093);
match(PLUS_);
setState(3094);
intervalExpression();
}
}
setState(3099);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
break;
case EVERY:
enterOuterAlt(_localctx, 2);
{
setState(3100);
match(EVERY);
setState(3101);
intervalValue();
setState(3111);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==STARTS) {
{
setState(3102);
match(STARTS);
setState(3103);
timestampValue();
setState(3108);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==PLUS_) {
{
{
setState(3104);
match(PLUS_);
setState(3105);
intervalExpression();
}
}
setState(3110);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
setState(3122);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ENDS) {
{
setState(3113);
match(ENDS);
setState(3114);
timestampValue();
setState(3119);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==PLUS_) {
{
{
setState(3115);
match(PLUS_);
setState(3116);
intervalExpression();
}
}
setState(3121);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class TimestampValueContext extends ParserRuleContext {
public TerminalNode CURRENT_TIMESTAMP() { return getToken(MySQLStatementParser.CURRENT_TIMESTAMP, 0); }
public StringLiteralsContext stringLiterals() {
return getRuleContext(StringLiteralsContext.class,0);
}
public NumberLiteralsContext numberLiterals() {
return getRuleContext(NumberLiteralsContext.class,0);
}
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TimestampValueContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_timestampValue; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitTimestampValue(this);
else return visitor.visitChildren(this);
}
}
public final TimestampValueContext timestampValue() throws RecognitionException {
TimestampValueContext _localctx = new TimestampValueContext(_ctx, getState());
enterRule(_localctx, 210, RULE_timestampValue);
try {
setState(3130);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,326,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(3126);
match(CURRENT_TIMESTAMP);
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(3127);
stringLiterals();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(3128);
numberLiterals();
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(3129);
expr(0);
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class RoutineBodyContext extends ParserRuleContext {
public SimpleStatementContext simpleStatement() {
return getRuleContext(SimpleStatementContext.class,0);
}
public CompoundStatementContext compoundStatement() {
return getRuleContext(CompoundStatementContext.class,0);
}
public RoutineBodyContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_routineBody; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitRoutineBody(this);
else return visitor.visitChildren(this);
}
}
public final RoutineBodyContext routineBody() throws RecognitionException {
RoutineBodyContext _localctx = new RoutineBodyContext(_ctx, getState());
enterRule(_localctx, 212, RULE_routineBody);
try {
setState(3134);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,327,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(3132);
simpleStatement();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(3133);
compoundStatement();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ServerOptionContext extends ParserRuleContext {
public TerminalNode HOST() { return getToken(MySQLStatementParser.HOST, 0); }
public String_Context string_() {
return getRuleContext(String_Context.class,0);
}
public TerminalNode DATABASE() { return getToken(MySQLStatementParser.DATABASE, 0); }
public TerminalNode USER() { return getToken(MySQLStatementParser.USER, 0); }
public TerminalNode PASSWORD() { return getToken(MySQLStatementParser.PASSWORD, 0); }
public TerminalNode SOCKET() { return getToken(MySQLStatementParser.SOCKET, 0); }
public TerminalNode OWNER() { return getToken(MySQLStatementParser.OWNER, 0); }
public TerminalNode PORT() { return getToken(MySQLStatementParser.PORT, 0); }
public NumberLiteralsContext numberLiterals() {
return getRuleContext(NumberLiteralsContext.class,0);
}
public ServerOptionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_serverOption; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitServerOption(this);
else return visitor.visitChildren(this);
}
}
public final ServerOptionContext serverOption() throws RecognitionException {
ServerOptionContext _localctx = new ServerOptionContext(_ctx, getState());
enterRule(_localctx, 214, RULE_serverOption);
try {
setState(3150);
_errHandler.sync(this);
switch (_input.LA(1)) {
case HOST:
enterOuterAlt(_localctx, 1);
{
setState(3136);
match(HOST);
setState(3137);
string_();
}
break;
case DATABASE:
enterOuterAlt(_localctx, 2);
{
setState(3138);
match(DATABASE);
setState(3139);
string_();
}
break;
case USER:
enterOuterAlt(_localctx, 3);
{
setState(3140);
match(USER);
setState(3141);
string_();
}
break;
case PASSWORD:
enterOuterAlt(_localctx, 4);
{
setState(3142);
match(PASSWORD);
setState(3143);
string_();
}
break;
case SOCKET:
enterOuterAlt(_localctx, 5);
{
setState(3144);
match(SOCKET);
setState(3145);
string_();
}
break;
case OWNER:
enterOuterAlt(_localctx, 6);
{
setState(3146);
match(OWNER);
setState(3147);
string_();
}
break;
case PORT:
enterOuterAlt(_localctx, 7);
{
setState(3148);
match(PORT);
setState(3149);
numberLiterals();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class RoutineOptionContext extends ParserRuleContext {
public TerminalNode COMMENT() { return getToken(MySQLStatementParser.COMMENT, 0); }
public String_Context string_() {
return getRuleContext(String_Context.class,0);
}
public TerminalNode LANGUAGE() { return getToken(MySQLStatementParser.LANGUAGE, 0); }
public TerminalNode SQL() { return getToken(MySQLStatementParser.SQL, 0); }
public TerminalNode DETERMINISTIC() { return getToken(MySQLStatementParser.DETERMINISTIC, 0); }
public TerminalNode NOT() { return getToken(MySQLStatementParser.NOT, 0); }
public TerminalNode CONTAINS() { return getToken(MySQLStatementParser.CONTAINS, 0); }
public TerminalNode NO() { return getToken(MySQLStatementParser.NO, 0); }
public TerminalNode READS() { return getToken(MySQLStatementParser.READS, 0); }
public TerminalNode DATA() { return getToken(MySQLStatementParser.DATA, 0); }
public TerminalNode MODIFIES() { return getToken(MySQLStatementParser.MODIFIES, 0); }
public TerminalNode SECURITY() { return getToken(MySQLStatementParser.SECURITY, 0); }
public TerminalNode DEFINER() { return getToken(MySQLStatementParser.DEFINER, 0); }
public TerminalNode INVOKER() { return getToken(MySQLStatementParser.INVOKER, 0); }
public RoutineOptionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_routineOption; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitRoutineOption(this);
else return visitor.visitChildren(this);
}
}
public final RoutineOptionContext routineOption() throws RecognitionException {
RoutineOptionContext _localctx = new RoutineOptionContext(_ctx, getState());
enterRule(_localctx, 216, RULE_routineOption);
int _la;
try {
setState(3175);
_errHandler.sync(this);
switch (_input.LA(1)) {
case COMMENT:
enterOuterAlt(_localctx, 1);
{
setState(3152);
match(COMMENT);
setState(3153);
string_();
}
break;
case LANGUAGE:
enterOuterAlt(_localctx, 2);
{
setState(3154);
match(LANGUAGE);
setState(3155);
match(SQL);
}
break;
case DETERMINISTIC:
case NOT:
enterOuterAlt(_localctx, 3);
{
setState(3157);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==NOT) {
{
setState(3156);
match(NOT);
}
}
setState(3159);
match(DETERMINISTIC);
}
break;
case CONTAINS:
case MODIFIES:
case NO:
case READS:
enterOuterAlt(_localctx, 4);
{
setState(3170);
_errHandler.sync(this);
switch (_input.LA(1)) {
case CONTAINS:
{
setState(3160);
match(CONTAINS);
setState(3161);
match(SQL);
}
break;
case NO:
{
setState(3162);
match(NO);
setState(3163);
match(SQL);
}
break;
case READS:
{
setState(3164);
match(READS);
setState(3165);
match(SQL);
setState(3166);
match(DATA);
}
break;
case MODIFIES:
{
setState(3167);
match(MODIFIES);
setState(3168);
match(SQL);
setState(3169);
match(DATA);
}
break;
default:
throw new NoViableAltException(this);
}
}
break;
case SQL:
enterOuterAlt(_localctx, 5);
{
setState(3172);
match(SQL);
setState(3173);
match(SECURITY);
setState(3174);
_la = _input.LA(1);
if ( !(_la==DEFINER || _la==INVOKER) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ProcedureParameterContext extends ParserRuleContext {
public IdentifierContext identifier() {
return getRuleContext(IdentifierContext.class,0);
}
public DataTypeContext dataType() {
return getRuleContext(DataTypeContext.class,0);
}
public TerminalNode IN() { return getToken(MySQLStatementParser.IN, 0); }
public TerminalNode OUT() { return getToken(MySQLStatementParser.OUT, 0); }
public TerminalNode INOUT() { return getToken(MySQLStatementParser.INOUT, 0); }
public ProcedureParameterContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_procedureParameter; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitProcedureParameter(this);
else return visitor.visitChildren(this);
}
}
public final ProcedureParameterContext procedureParameter() throws RecognitionException {
ProcedureParameterContext _localctx = new ProcedureParameterContext(_ctx, getState());
enterRule(_localctx, 218, RULE_procedureParameter);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(3178);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==IN || _la==INOUT || _la==OUT) {
{
setState(3177);
_la = _input.LA(1);
if ( !(_la==IN || _la==INOUT || _la==OUT) ) {
_errHandler.recoverInline(this);
}
else {
if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
_errHandler.reportMatch(this);
consume();
}
}
}
setState(3180);
identifier();
setState(3181);
dataType();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class FileSizeLiteralContext extends ParserRuleContext {
public TerminalNode FILESIZE_LITERAL() { return getToken(MySQLStatementParser.FILESIZE_LITERAL, 0); }
public NumberLiteralsContext numberLiterals() {
return getRuleContext(NumberLiteralsContext.class,0);
}
public FileSizeLiteralContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_fileSizeLiteral; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitFileSizeLiteral(this);
else return visitor.visitChildren(this);
}
}
public final FileSizeLiteralContext fileSizeLiteral() throws RecognitionException {
FileSizeLiteralContext _localctx = new FileSizeLiteralContext(_ctx, getState());
enterRule(_localctx, 220, RULE_fileSizeLiteral);
try {
setState(3185);
_errHandler.sync(this);
switch (_input.LA(1)) {
case FILESIZE_LITERAL:
enterOuterAlt(_localctx, 1);
{
setState(3183);
match(FILESIZE_LITERAL);
}
break;
case PLUS_:
case MINUS_:
case NUMBER_:
enterOuterAlt(_localctx, 2);
{
setState(3184);
numberLiterals();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class SimpleStatementContext extends ParserRuleContext {
public ValidStatementContext validStatement() {
return getRuleContext(ValidStatementContext.class,0);
}
public SimpleStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_simpleStatement; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitSimpleStatement(this);
else return visitor.visitChildren(this);
}
}
public final SimpleStatementContext simpleStatement() throws RecognitionException {
SimpleStatementContext _localctx = new SimpleStatementContext(_ctx, getState());
enterRule(_localctx, 222, RULE_simpleStatement);
try {
enterOuterAlt(_localctx, 1);
{
setState(3187);
validStatement();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CompoundStatementContext extends ParserRuleContext {
public BeginStatementContext beginStatement() {
return getRuleContext(BeginStatementContext.class,0);
}
public CompoundStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_compoundStatement; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitCompoundStatement(this);
else return visitor.visitChildren(this);
}
}
public final CompoundStatementContext compoundStatement() throws RecognitionException {
CompoundStatementContext _localctx = new CompoundStatementContext(_ctx, getState());
enterRule(_localctx, 224, RULE_compoundStatement);
try {
enterOuterAlt(_localctx, 1);
{
setState(3189);
beginStatement();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ValidStatementContext extends ParserRuleContext {
public CreateTableContext createTable() {
return getRuleContext(CreateTableContext.class,0);
}
public AlterTableContext alterTable() {
return getRuleContext(AlterTableContext.class,0);
}
public DropTableContext dropTable() {
return getRuleContext(DropTableContext.class,0);
}
public TruncateTableContext truncateTable() {
return getRuleContext(TruncateTableContext.class,0);
}
public InsertContext insert() {
return getRuleContext(InsertContext.class,0);
}
public ReplaceContext replace() {
return getRuleContext(ReplaceContext.class,0);
}
public UpdateContext update() {
return getRuleContext(UpdateContext.class,0);
}
public DeleteContext delete() {
return getRuleContext(DeleteContext.class,0);
}
public SelectContext select() {
return getRuleContext(SelectContext.class,0);
}
public CallContext call() {
return getRuleContext(CallContext.class,0);
}
public CreateViewContext createView() {
return getRuleContext(CreateViewContext.class,0);
}
public PrepareContext prepare() {
return getRuleContext(PrepareContext.class,0);
}
public ExecuteStmtContext executeStmt() {
return getRuleContext(ExecuteStmtContext.class,0);
}
public CommitContext commit() {
return getRuleContext(CommitContext.class,0);
}
public DeallocateContext deallocate() {
return getRuleContext(DeallocateContext.class,0);
}
public SetVariableContext setVariable() {
return getRuleContext(SetVariableContext.class,0);
}
public BeginStatementContext beginStatement() {
return getRuleContext(BeginStatementContext.class,0);
}
public DeclareStatementContext declareStatement() {
return getRuleContext(DeclareStatementContext.class,0);
}
public FlowControlStatementContext flowControlStatement() {
return getRuleContext(FlowControlStatementContext.class,0);
}
public CursorStatementContext cursorStatement() {
return getRuleContext(CursorStatementContext.class,0);
}
public ConditionHandlingStatementContext conditionHandlingStatement() {
return getRuleContext(ConditionHandlingStatementContext.class,0);
}
public TerminalNode SEMI_() { return getToken(MySQLStatementParser.SEMI_, 0); }
public ValidStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_validStatement; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitValidStatement(this);
else return visitor.visitChildren(this);
}
}
public final ValidStatementContext validStatement() throws RecognitionException {
ValidStatementContext _localctx = new ValidStatementContext(_ctx, getState());
enterRule(_localctx, 226, RULE_validStatement);
try {
enterOuterAlt(_localctx, 1);
{
setState(3212);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,334,_ctx) ) {
case 1:
{
setState(3191);
createTable();
}
break;
case 2:
{
setState(3192);
alterTable();
}
break;
case 3:
{
setState(3193);
dropTable();
}
break;
case 4:
{
setState(3194);
truncateTable();
}
break;
case 5:
{
setState(3195);
insert();
}
break;
case 6:
{
setState(3196);
replace();
}
break;
case 7:
{
setState(3197);
update();
}
break;
case 8:
{
setState(3198);
delete();
}
break;
case 9:
{
setState(3199);
select();
}
break;
case 10:
{
setState(3200);
call();
}
break;
case 11:
{
setState(3201);
createView();
}
break;
case 12:
{
setState(3202);
prepare();
}
break;
case 13:
{
setState(3203);
executeStmt();
}
break;
case 14:
{
setState(3204);
commit();
}
break;
case 15:
{
setState(3205);
deallocate();
}
break;
case 16:
{
setState(3206);
setVariable();
}
break;
case 17:
{
setState(3207);
beginStatement();
}
break;
case 18:
{
setState(3208);
declareStatement();
}
break;
case 19:
{
setState(3209);
flowControlStatement();
}
break;
case 20:
{
setState(3210);
cursorStatement();
}
break;
case 21:
{
setState(3211);
conditionHandlingStatement();
}
break;
}
setState(3215);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,335,_ctx) ) {
case 1:
{
setState(3214);
match(SEMI_);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class BeginStatementContext extends ParserRuleContext {
public TerminalNode BEGIN() { return getToken(MySQLStatementParser.BEGIN, 0); }
public TerminalNode END() { return getToken(MySQLStatementParser.END, 0); }
public List labelName() {
return getRuleContexts(LabelNameContext.class);
}
public LabelNameContext labelName(int i) {
return getRuleContext(LabelNameContext.class,i);
}
public TerminalNode COLON_() { return getToken(MySQLStatementParser.COLON_, 0); }
public List validStatement() {
return getRuleContexts(ValidStatementContext.class);
}
public ValidStatementContext validStatement(int i) {
return getRuleContext(ValidStatementContext.class,i);
}
public TerminalNode SEMI_() { return getToken(MySQLStatementParser.SEMI_, 0); }
public BeginStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_beginStatement; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitBeginStatement(this);
else return visitor.visitChildren(this);
}
}
public final BeginStatementContext beginStatement() throws RecognitionException {
BeginStatementContext _localctx = new BeginStatementContext(_ctx, getState());
enterRule(_localctx, 228, RULE_beginStatement);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(3220);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,336,_ctx) ) {
case 1:
{
setState(3217);
labelName();
setState(3218);
match(COLON_);
}
break;
}
setState(3222);
match(BEGIN);
setState(3226);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,337,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(3223);
validStatement();
}
}
}
setState(3228);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,337,_ctx);
}
setState(3229);
match(END);
setState(3231);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,338,_ctx) ) {
case 1:
{
setState(3230);
labelName();
}
break;
}
setState(3234);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,339,_ctx) ) {
case 1:
{
setState(3233);
match(SEMI_);
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DeclareStatementContext extends ParserRuleContext {
public TerminalNode DECLARE() { return getToken(MySQLStatementParser.DECLARE, 0); }
public List variable() {
return getRuleContexts(VariableContext.class);
}
public VariableContext variable(int i) {
return getRuleContext(VariableContext.class,i);
}
public DataTypeContext dataType() {
return getRuleContext(DataTypeContext.class,0);
}
public List COMMA_() { return getTokens(MySQLStatementParser.COMMA_); }
public TerminalNode COMMA_(int i) {
return getToken(MySQLStatementParser.COMMA_, i);
}
public List DEFAULT() { return getTokens(MySQLStatementParser.DEFAULT); }
public TerminalNode DEFAULT(int i) {
return getToken(MySQLStatementParser.DEFAULT, i);
}
public List simpleExpr() {
return getRuleContexts(SimpleExprContext.class);
}
public SimpleExprContext simpleExpr(int i) {
return getRuleContext(SimpleExprContext.class,i);
}
public DeclareStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_declareStatement; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitDeclareStatement(this);
else return visitor.visitChildren(this);
}
}
public final DeclareStatementContext declareStatement() throws RecognitionException {
DeclareStatementContext _localctx = new DeclareStatementContext(_ctx, getState());
enterRule(_localctx, 230, RULE_declareStatement);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(3236);
match(DECLARE);
setState(3237);
variable();
setState(3242);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==COMMA_) {
{
{
setState(3238);
match(COMMA_);
setState(3239);
variable();
}
}
setState(3244);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(3245);
dataType();
setState(3250);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==DEFAULT) {
{
{
setState(3246);
match(DEFAULT);
setState(3247);
simpleExpr(0);
}
}
setState(3252);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class FlowControlStatementContext extends ParserRuleContext {
public CaseStatementContext caseStatement() {
return getRuleContext(CaseStatementContext.class,0);
}
public IfStatementContext ifStatement() {
return getRuleContext(IfStatementContext.class,0);
}
public IterateStatementContext iterateStatement() {
return getRuleContext(IterateStatementContext.class,0);
}
public LeaveStatementContext leaveStatement() {
return getRuleContext(LeaveStatementContext.class,0);
}
public LoopStatementContext loopStatement() {
return getRuleContext(LoopStatementContext.class,0);
}
public RepeatStatementContext repeatStatement() {
return getRuleContext(RepeatStatementContext.class,0);
}
public ReturnStatementContext returnStatement() {
return getRuleContext(ReturnStatementContext.class,0);
}
public WhileStatementContext whileStatement() {
return getRuleContext(WhileStatementContext.class,0);
}
public FlowControlStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_flowControlStatement; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitFlowControlStatement(this);
else return visitor.visitChildren(this);
}
}
public final FlowControlStatementContext flowControlStatement() throws RecognitionException {
FlowControlStatementContext _localctx = new FlowControlStatementContext(_ctx, getState());
enterRule(_localctx, 232, RULE_flowControlStatement);
try {
setState(3261);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,342,_ctx) ) {
case 1:
enterOuterAlt(_localctx, 1);
{
setState(3253);
caseStatement();
}
break;
case 2:
enterOuterAlt(_localctx, 2);
{
setState(3254);
ifStatement();
}
break;
case 3:
enterOuterAlt(_localctx, 3);
{
setState(3255);
iterateStatement();
}
break;
case 4:
enterOuterAlt(_localctx, 4);
{
setState(3256);
leaveStatement();
}
break;
case 5:
enterOuterAlt(_localctx, 5);
{
setState(3257);
loopStatement();
}
break;
case 6:
enterOuterAlt(_localctx, 6);
{
setState(3258);
repeatStatement();
}
break;
case 7:
enterOuterAlt(_localctx, 7);
{
setState(3259);
returnStatement();
}
break;
case 8:
enterOuterAlt(_localctx, 8);
{
setState(3260);
whileStatement();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class CaseStatementContext extends ParserRuleContext {
public List CASE() { return getTokens(MySQLStatementParser.CASE); }
public TerminalNode CASE(int i) {
return getToken(MySQLStatementParser.CASE, i);
}
public TerminalNode END() { return getToken(MySQLStatementParser.END, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public List WHEN() { return getTokens(MySQLStatementParser.WHEN); }
public TerminalNode WHEN(int i) {
return getToken(MySQLStatementParser.WHEN, i);
}
public List THEN() { return getTokens(MySQLStatementParser.THEN); }
public TerminalNode THEN(int i) {
return getToken(MySQLStatementParser.THEN, i);
}
public TerminalNode ELSE() { return getToken(MySQLStatementParser.ELSE, 0); }
public List validStatement() {
return getRuleContexts(ValidStatementContext.class);
}
public ValidStatementContext validStatement(int i) {
return getRuleContext(ValidStatementContext.class,i);
}
public CaseStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_caseStatement; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitCaseStatement(this);
else return visitor.visitChildren(this);
}
}
public final CaseStatementContext caseStatement() throws RecognitionException {
CaseStatementContext _localctx = new CaseStatementContext(_ctx, getState());
enterRule(_localctx, 234, RULE_caseStatement);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(3263);
match(CASE);
setState(3265);
_errHandler.sync(this);
_la = _input.LA(1);
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NOT_) | (1L << TILDE_) | (1L << PLUS_) | (1L << MINUS_) | (1L << LP_) | (1L << LBE_) | (1L << QUESTION_) | (1L << AT_) | (1L << MAX) | (1L << MIN) | (1L << SUM) | (1L << COUNT) | (1L << GROUP_CONCAT) | (1L << CAST) | (1L << POSITION) | (1L << SUBSTRING) | (1L << SUBSTR) | (1L << EXTRACT) | (1L << TRIM) | (1L << LAST_DAY) | (1L << TRADITIONAL) | (1L << TREE) | (1L << MYSQL_MAIN))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (MYSQL_ADMIN - 64)) | (1L << (INSTANT - 64)) | (1L << (INPLACE - 64)) | (1L << (COPY - 64)) | (1L << (UL_BINARY - 64)) | (1L << (AUTOCOMMIT - 64)) | (1L << (INNODB - 64)) | (1L << (REDO_LOG - 64)) | (1L << (ACCOUNT - 64)) | (1L << (ACTION - 64)) | (1L << (ACTIVE - 64)) | (1L << (ADMIN - 64)) | (1L << (AFTER - 64)) | (1L << (AGAINST - 64)) | (1L << (AGGREGATE - 64)) | (1L << (ALGORITHM - 64)) | (1L << (ALWAYS - 64)) | (1L << (ANY - 64)) | (1L << (ARRAY - 64)) | (1L << (ASCII - 64)) | (1L << (AT - 64)) | (1L << (ATTRIBUTE - 64)) | (1L << (AUTOEXTEND_SIZE - 64)) | (1L << (AUTO_INCREMENT - 64)) | (1L << (AVG - 64)) | (1L << (BIT_XOR - 64)) | (1L << (AVG_ROW_LENGTH - 64)) | (1L << (BACKUP - 64)) | (1L << (BEGIN - 64)) | (1L << (BINARY - 64)) | (1L << (BINLOG - 64)) | (1L << (BIT - 64)) | (1L << (BLOCK - 64)) | (1L << (BOOL - 64)) | (1L << (BOOLEAN - 64)) | (1L << (BTREE - 64)) | (1L << (BUCKETS - 64)) | (1L << (BYTE - 64)) | (1L << (CACHE - 64)) | (1L << (CASCADED - 64)) | (1L << (CASE - 64)) | (1L << (CATALOG_NAME - 64)) | (1L << (CHAIN - 64)) | (1L << (CHANGED - 64)))) != 0) || ((((_la - 128)) & ~0x3f) == 0 && ((1L << (_la - 128)) & ((1L << (CHANNEL - 128)) | (1L << (CHAR - 128)) | (1L << (CHARSET - 128)) | (1L << (CHECKSUM - 128)) | (1L << (CIPHER - 128)) | (1L << (CLASS_ORIGIN - 128)) | (1L << (CLIENT - 128)) | (1L << (CLONE - 128)) | (1L << (CLOSE - 128)) | (1L << (COALESCE - 128)) | (1L << (CODE - 128)) | (1L << (COLLATION - 128)) | (1L << (COLUMNS - 128)) | (1L << (COLUMN_FORMAT - 128)) | (1L << (COLUMN_NAME - 128)) | (1L << (COMMENT - 128)) | (1L << (COMMIT - 128)) | (1L << (COMMITTED - 128)) | (1L << (COMPACT - 128)) | (1L << (COMPLETION - 128)) | (1L << (COMPONENT - 128)) | (1L << (COMPRESSED - 128)) | (1L << (COMPRESSION - 128)) | (1L << (CONCURRENT - 128)) | (1L << (CONNECTION - 128)) | (1L << (CONSISTENT - 128)) | (1L << (CONSTRAINT_CATALOG - 128)) | (1L << (CONSTRAINT_NAME - 128)) | (1L << (CONSTRAINT_SCHEMA - 128)) | (1L << (CONTAINS - 128)) | (1L << (CONTEXT - 128)) | (1L << (CONVERT - 128)) | (1L << (CPU - 128)) | (1L << (CREATE - 128)) | (1L << (CUME_DIST - 128)) | (1L << (CURRENT - 128)) | (1L << (CURRENT_DATE - 128)) | (1L << (CURRENT_TIME - 128)) | (1L << (CURRENT_TIMESTAMP - 128)) | (1L << (CURRENT_USER - 128)) | (1L << (CURSOR_NAME - 128)) | (1L << (DATA - 128)) | (1L << (DATABASE - 128)) | (1L << (DATAFILE - 128)) | (1L << (DATE - 128)) | (1L << (DATETIME - 128)) | (1L << (DAY - 128)) | (1L << (DEALLOCATE - 128)))) != 0) || ((((_la - 195)) & ~0x3f) == 0 && ((1L << (_la - 195)) & ((1L << (DEFAULT_AUTH - 195)) | (1L << (DEFINER - 195)) | (1L << (DEFINITION - 195)) | (1L << (DELAY_KEY_WRITE - 195)) | (1L << (DENSE_RANK - 195)) | (1L << (DESCRIPTION - 195)) | (1L << (DIAGNOSTICS - 195)) | (1L << (DIRECTORY - 195)) | (1L << (DISABLE - 195)) | (1L << (DISCARD - 195)) | (1L << (DISK - 195)) | (1L << (DO - 195)) | (1L << (DUMPFILE - 195)) | (1L << (DUPLICATE - 195)) | (1L << (DYNAMIC - 195)) | (1L << (ENABLE - 195)) | (1L << (ENCRYPTION - 195)) | (1L << (END - 195)) | (1L << (ENDS - 195)) | (1L << (ENFORCED - 195)) | (1L << (ENGINE - 195)) | (1L << (ENGINES - 195)) | (1L << (ENGINE_ATTRIBUTE - 195)) | (1L << (ENUM - 195)) | (1L << (ERROR - 195)) | (1L << (ERRORS - 195)) | (1L << (ESCAPE - 195)) | (1L << (EVENT - 195)) | (1L << (EVENTS - 195)) | (1L << (EVERY - 195)) | (1L << (EXCHANGE - 195)) | (1L << (EXCLUDE - 195)) | (1L << (EXECUTE - 195)) | (1L << (EXISTS - 195)) | (1L << (EXPANSION - 195)) | (1L << (EXPIRE - 195)) | (1L << (EXPORT - 195)) | (1L << (EXTENDED - 195)) | (1L << (EXTENT_SIZE - 195)) | (1L << (FAILED_LOGIN_ATTEMPTS - 195)) | (1L << (FALSE - 195)) | (1L << (FAST - 195)) | (1L << (FAULTS - 195)))) != 0) || ((((_la - 259)) & ~0x3f) == 0 && ((1L << (_la - 259)) & ((1L << (FILE - 259)) | (1L << (FILE_BLOCK_SIZE - 259)) | (1L << (FILTER - 259)) | (1L << (FIRST - 259)) | (1L << (FIRST_VALUE - 259)) | (1L << (FIXED - 259)) | (1L << (FLUSH - 259)) | (1L << (FOLLOWING - 259)) | (1L << (FOLLOWS - 259)) | (1L << (FORMAT - 259)) | (1L << (FOUND - 259)) | (1L << (FULL - 259)) | (1L << (GENERAL - 259)) | (1L << (GEOMETRY - 259)) | (1L << (GEOMETRYCOLLECTION - 259)) | (1L << (GET_FORMAT - 259)) | (1L << (GET_MASTER_PUBLIC_KEY - 259)) | (1L << (GLOBAL - 259)) | (1L << (GRANTS - 259)) | (1L << (GROUP_REPLICATION - 259)) | (1L << (HANDLER - 259)) | (1L << (HASH - 259)) | (1L << (HELP - 259)) | (1L << (HISTOGRAM - 259)) | (1L << (HISTORY - 259)) | (1L << (HOST - 259)) | (1L << (HOSTS - 259)) | (1L << (HOUR - 259)) | (1L << (IDENTIFIED - 259)) | (1L << (IF - 259)) | (1L << (IGNORE_SERVER_IDS - 259)) | (1L << (IMPORT - 259)) | (1L << (INACTIVE - 259)) | (1L << (INDEXES - 259)) | (1L << (INITIAL_SIZE - 259)) | (1L << (INSERT - 259)) | (1L << (INSERT_METHOD - 259)))) != 0) || ((((_la - 323)) & ~0x3f) == 0 && ((1L << (_la - 323)) & ((1L << (INSTALL - 323)) | (1L << (INSTANCE - 323)) | (1L << (INTERVAL - 323)) | (1L << (INVISIBLE - 323)) | (1L << (INVOKER - 323)) | (1L << (IO - 323)) | (1L << (IPC - 323)) | (1L << (ISOLATION - 323)) | (1L << (ISSUER - 323)) | (1L << (JSON - 323)) | (1L << (JSON_TABLE - 323)) | (1L << (JSON_VALUE - 323)) | (1L << (KEY - 323)) | (1L << (KEY_BLOCK_SIZE - 323)) | (1L << (LAG - 323)) | (1L << (LANGUAGE - 323)) | (1L << (LAST - 323)) | (1L << (LAST_VALUE - 323)) | (1L << (LEAD - 323)) | (1L << (LEAVES - 323)) | (1L << (LEFT - 323)) | (1L << (LESS - 323)) | (1L << (LEVEL - 323)) | (1L << (LINESTRING - 323)) | (1L << (LIST - 323)) | (1L << (LOCAL - 323)) | (1L << (LOCALTIME - 323)) | (1L << (LOCALTIMESTAMP - 323)) | (1L << (LOCKED - 323)) | (1L << (LOCKS - 323)) | (1L << (LOGFILE - 323)) | (1L << (LOGS - 323)) | (1L << (MASTER - 323)) | (1L << (MASTER_AUTO_POSITION - 323)))) != 0) || ((((_la - 387)) & ~0x3f) == 0 && ((1L << (_la - 387)) & ((1L << (MASTER_COMPRESSION_ALGORITHM - 387)) | (1L << (MASTER_CONNECT_RETRY - 387)) | (1L << (MASTER_DELAY - 387)) | (1L << (MASTER_HEARTBEAT_PERIOD - 387)) | (1L << (MASTER_HOST - 387)) | (1L << (MASTER_LOG_FILE - 387)) | (1L << (MASTER_LOG_POS - 387)) | (1L << (MASTER_PASSWORD - 387)) | (1L << (MASTER_PORT - 387)) | (1L << (MASTER_PUBLIC_KEY_PATH - 387)) | (1L << (MASTER_RETRY_COUNT - 387)) | (1L << (MASTER_SERVER_ID - 387)) | (1L << (MASTER_SSL - 387)) | (1L << (MASTER_SSL_CA - 387)) | (1L << (MASTER_SSL_CAPATH - 387)) | (1L << (MASTER_SSL_CERT - 387)) | (1L << (MASTER_SSL_CIPHER - 387)) | (1L << (MASTER_SSL_CRL - 387)) | (1L << (MASTER_SSL_CRLPATH - 387)) | (1L << (MASTER_SSL_KEY - 387)) | (1L << (MASTER_TLS_CIPHERSUITES - 387)) | (1L << (MASTER_TLS_VERSION - 387)) | (1L << (MASTER_USER - 387)) | (1L << (MASTER_ZSTD_COMPRESSION_LEVEL - 387)) | (1L << (MATCH - 387)) | (1L << (MAXVALUE - 387)) | (1L << (MAX_CONNECTIONS_PER_HOUR - 387)) | (1L << (MAX_QUERIES_PER_HOUR - 387)) | (1L << (MAX_ROWS - 387)) | (1L << (MAX_SIZE - 387)) | (1L << (MAX_UPDATES_PER_HOUR - 387)) | (1L << (MAX_USER_CONNECTIONS - 387)) | (1L << (MEDIUM - 387)) | (1L << (MEMBER - 387)) | (1L << (MEMORY - 387)) | (1L << (MERGE - 387)) | (1L << (MESSAGE_TEXT - 387)) | (1L << (MICROSECOND - 387)) | (1L << (MIGRATE - 387)) | (1L << (MINUTE - 387)) | (1L << (MIN_ROWS - 387)) | (1L << (MOD - 387)) | (1L << (MODE - 387)) | (1L << (MODIFY - 387)) | (1L << (MONTH - 387)) | (1L << (MULTILINESTRING - 387)) | (1L << (MULTIPOINT - 387)) | (1L << (MULTIPOLYGON - 387)) | (1L << (MUTEX - 387)) | (1L << (MYSQL_ERRNO - 387)) | (1L << (NAME - 387)) | (1L << (NAMES - 387)) | (1L << (NATIONAL - 387)) | (1L << (NCHAR - 387)) | (1L << (NDBCLUSTER - 387)))) != 0) || ((((_la - 451)) & ~0x3f) == 0 && ((1L << (_la - 451)) & ((1L << (NESTED - 451)) | (1L << (NETWORK_NAMESPACE - 451)) | (1L << (NEVER - 451)) | (1L << (NEW - 451)) | (1L << (NEXT - 451)) | (1L << (NO - 451)) | (1L << (NODEGROUP - 451)) | (1L << (NONE - 451)) | (1L << (NOT - 451)) | (1L << (NOWAIT - 451)) | (1L << (NO_WAIT - 451)) | (1L << (NTH_VALUE - 451)) | (1L << (NTILE - 451)) | (1L << (NULL - 451)) | (1L << (NULLS - 451)) | (1L << (NUMBER - 451)) | (1L << (NVARCHAR - 451)) | (1L << (OFF - 451)) | (1L << (OFFSET - 451)) | (1L << (OJ - 451)) | (1L << (OLD - 451)) | (1L << (ONE - 451)) | (1L << (ONLY - 451)) | (1L << (OPEN - 451)) | (1L << (OPTIONAL - 451)) | (1L << (OPTIONS - 451)) | (1L << (ORDINALITY - 451)) | (1L << (ORGANIZATION - 451)) | (1L << (OTHERS - 451)) | (1L << (OWNER - 451)) | (1L << (PACK_KEYS - 451)) | (1L << (PAGE - 451)) | (1L << (PARSER - 451)) | (1L << (PARTIAL - 451)) | (1L << (PARTITIONING - 451)) | (1L << (PARTITIONS - 451)) | (1L << (PASSWORD - 451)) | (1L << (PASSWORD_LOCK_TIME - 451)) | (1L << (PATH - 451)) | (1L << (PERCENT_RANK - 451)) | (1L << (PERSIST - 451)) | (1L << (PERSIST_ONLY - 451)) | (1L << (PHASE - 451)) | (1L << (PLUGIN - 451)) | (1L << (PLUGINS - 451)) | (1L << (PLUGIN_DIR - 451)) | (1L << (POINT - 451)) | (1L << (POLYGON - 451)) | (1L << (PORT - 451)))) != 0) || ((((_la - 515)) & ~0x3f) == 0 && ((1L << (_la - 515)) & ((1L << (PRECEDES - 515)) | (1L << (PRECEDING - 515)) | (1L << (PREPARE - 515)) | (1L << (PRESERVE - 515)) | (1L << (PREV - 515)) | (1L << (PRIMARY - 515)) | (1L << (PRIVILEGES - 515)) | (1L << (PRIVILEGE_CHECKS_USER - 515)) | (1L << (PROCESS - 515)) | (1L << (PROCESSLIST - 515)) | (1L << (PROFILE - 515)) | (1L << (PROFILES - 515)) | (1L << (PROXY - 515)) | (1L << (QUARTER - 515)) | (1L << (QUERY - 515)) | (1L << (QUICK - 515)) | (1L << (RANDOM - 515)) | (1L << (RANK - 515)) | (1L << (READ_ONLY - 515)) | (1L << (REBUILD - 515)) | (1L << (RECOVER - 515)) | (1L << (REDO_BUFFER_SIZE - 515)) | (1L << (REDUNDANT - 515)) | (1L << (REFERENCE - 515)) | (1L << (RELAY - 515)) | (1L << (RELAYLOG - 515)) | (1L << (RELAY_LOG_FILE - 515)) | (1L << (RELAY_LOG_POS - 515)) | (1L << (RELAY_THREAD - 515)) | (1L << (RELOAD - 515)) | (1L << (REMOVE - 515)) | (1L << (REORGANIZE - 515)) | (1L << (REPAIR - 515)) | (1L << (REPEAT - 515)) | (1L << (REPEATABLE - 515)) | (1L << (REPLACE - 515)) | (1L << (REPLICATE_DO_DB - 515)) | (1L << (REPLICATE_DO_TABLE - 515)) | (1L << (REPLICATE_IGNORE_DB - 515)) | (1L << (REPLICATE_IGNORE_TABLE - 515)) | (1L << (REPLICATE_REWRITE_DB - 515)) | (1L << (REPLICATE_WILD_DO_TABLE - 515)) | (1L << (REPLICATE_WILD_IGNORE_TABLE - 515)) | (1L << (REPLICATION - 515)) | (1L << (REQUIRE_ROW_FORMAT - 515)) | (1L << (RESET - 515)) | (1L << (RESOURCE - 515)))) != 0) || ((((_la - 579)) & ~0x3f) == 0 && ((1L << (_la - 579)) & ((1L << (RESPECT - 579)) | (1L << (RESTART - 579)) | (1L << (RESTORE - 579)) | (1L << (RESUME - 579)) | (1L << (RETAIN - 579)) | (1L << (RETURNED_SQLSTATE - 579)) | (1L << (RETURNING - 579)) | (1L << (RETURNS - 579)) | (1L << (REUSE - 579)) | (1L << (REVERSE - 579)) | (1L << (RIGHT - 579)) | (1L << (ROLE - 579)) | (1L << (ROLLBACK - 579)) | (1L << (ROLLUP - 579)) | (1L << (ROTATE - 579)) | (1L << (ROUTINE - 579)) | (1L << (ROW - 579)) | (1L << (ROW_COUNT - 579)) | (1L << (ROW_FORMAT - 579)) | (1L << (ROW_NUMBER - 579)) | (1L << (RTREE - 579)) | (1L << (SAVEPOINT - 579)) | (1L << (SCHEDULE - 579)) | (1L << (SCHEMA - 579)) | (1L << (SCHEMA_NAME - 579)) | (1L << (SECOND - 579)) | (1L << (SECONDARY - 579)) | (1L << (SECONDARY_ENGINE - 579)) | (1L << (SECONDARY_ENGINE_ATTRIBUTE - 579)) | (1L << (SECONDARY_LOAD - 579)) | (1L << (SECONDARY_UNLOAD - 579)) | (1L << (SECURITY - 579)) | (1L << (SERIAL - 579)) | (1L << (SERIALIZABLE - 579)) | (1L << (SERVER - 579)) | (1L << (SESSION - 579)) | (1L << (SHARE - 579)) | (1L << (SHUTDOWN - 579)) | (1L << (SIGNED - 579)) | (1L << (SIMPLE - 579)) | (1L << (SLAVE - 579)) | (1L << (SLOW - 579)) | (1L << (SNAPSHOT - 579)) | (1L << (SOCKET - 579)) | (1L << (SONAME - 579)) | (1L << (SOUNDS - 579)) | (1L << (SOURCE - 579)))) != 0) || ((((_la - 647)) & ~0x3f) == 0 && ((1L << (_la - 647)) & ((1L << (SQL_AFTER_GTIDS - 647)) | (1L << (SQL_AFTER_MTS_GAPS - 647)) | (1L << (SQL_BEFORE_GTIDS - 647)) | (1L << (SQL_BUFFER_RESULT - 647)) | (1L << (SQL_NO_CACHE - 647)) | (1L << (SQL_THREAD - 647)) | (1L << (SRID - 647)) | (1L << (STACKED - 647)) | (1L << (START - 647)) | (1L << (STARTS - 647)) | (1L << (STATS_AUTO_RECALC - 647)) | (1L << (STATS_PERSISTENT - 647)) | (1L << (STATS_SAMPLE_PAGES - 647)) | (1L << (STATUS - 647)) | (1L << (STOP - 647)) | (1L << (STORAGE - 647)) | (1L << (STREAM - 647)) | (1L << (STRING - 647)) | (1L << (SUBCLASS_ORIGIN - 647)) | (1L << (SUBJECT - 647)) | (1L << (SUBPARTITION - 647)) | (1L << (SUBPARTITIONS - 647)) | (1L << (SUPER - 647)) | (1L << (SUSPEND - 647)) | (1L << (SWAPS - 647)) | (1L << (SWITCHES - 647)) | (1L << (TABLES - 647)) | (1L << (TABLESPACE - 647)) | (1L << (TABLE_CHECKSUM - 647)) | (1L << (TABLE_NAME - 647)) | (1L << (TEMPORARY - 647)) | (1L << (TEMPTABLE - 647)) | (1L << (TEXT - 647)) | (1L << (THAN - 647)) | (1L << (THREAD_PRIORITY - 647)) | (1L << (TIES - 647)) | (1L << (TIME - 647)) | (1L << (TIMESTAMP - 647)) | (1L << (TIMESTAMP_ADD - 647)) | (1L << (TIMESTAMP_DIFF - 647)) | (1L << (TLS - 647)) | (1L << (TRANSACTION - 647)) | (1L << (TRIGGERS - 647)) | (1L << (TRUE - 647)) | (1L << (TRUNCATE - 647)) | (1L << (TYPE - 647)) | (1L << (TYPES - 647)))) != 0) || ((((_la - 711)) & ~0x3f) == 0 && ((1L << (_la - 711)) & ((1L << (UNBOUNDED - 711)) | (1L << (UNCOMMITTED - 711)) | (1L << (UNDEFINED - 711)) | (1L << (UNDOFILE - 711)) | (1L << (UNDO_BUFFER_SIZE - 711)) | (1L << (UNICODE - 711)) | (1L << (UNINSTALL - 711)) | (1L << (UNKNOWN - 711)) | (1L << (UNTIL - 711)) | (1L << (UPGRADE - 711)) | (1L << (USER - 711)) | (1L << (USER_RESOURCES - 711)) | (1L << (USE_FRM - 711)) | (1L << (UTC_DATE - 711)) | (1L << (UTC_TIME - 711)) | (1L << (UTC_TIMESTAMP - 711)) | (1L << (VALIDATION - 711)) | (1L << (VALUE - 711)) | (1L << (VALUES - 711)) | (1L << (VARIABLES - 711)) | (1L << (VCPU - 711)) | (1L << (VIEW - 711)) | (1L << (VISIBLE - 711)) | (1L << (WAIT - 711)) | (1L << (WARNINGS - 711)) | (1L << (WEEK - 711)) | (1L << (WEIGHT_STRING - 711)) | (1L << (WITHOUT - 711)) | (1L << (WORK - 711)) | (1L << (WRAPPER - 711)) | (1L << (X509 - 711)) | (1L << (XA - 711)) | (1L << (XID - 711)) | (1L << (XML - 711)) | (1L << (YEAR - 711)) | (1L << (JSON_ARRAY - 711)) | (1L << (JSON_ARRAY_APPEND - 711)) | (1L << (JSON_ARRAY_INSERT - 711)) | (1L << (JSON_CONTAINS - 711)) | (1L << (JSON_CONTAINS_PATH - 711)) | (1L << (JSON_DEPTH - 711)))) != 0) || ((((_la - 775)) & ~0x3f) == 0 && ((1L << (_la - 775)) & ((1L << (JSON_EXTRACT - 775)) | (1L << (JSON_INSERT - 775)) | (1L << (JSON_KEYS - 775)) | (1L << (JSON_LENGTH - 775)) | (1L << (JSON_MERGE - 775)) | (1L << (JSON_MERGE_PATCH - 775)) | (1L << (JSON_MERGE_PRESERVE - 775)) | (1L << (JSON_OBJECT - 775)) | (1L << (JSON_OVERLAPS - 775)) | (1L << (JSON_PRETTY - 775)) | (1L << (JSON_QUOTE - 775)) | (1L << (JSON_REMOVE - 775)) | (1L << (JSON_REPLACE - 775)) | (1L << (JSON_SCHEMA_VALID - 775)) | (1L << (JSON_SCHEMA_VALIDATION_REPORT - 775)) | (1L << (JSON_SEARCH - 775)) | (1L << (JSON_SET - 775)) | (1L << (JSON_STORAGE_FREE - 775)) | (1L << (JSON_STORAGE_SIZE - 775)) | (1L << (JSON_TYPE - 775)) | (1L << (JSON_UNQUOTE - 775)) | (1L << (JSON_VALID - 775)) | (1L << (SINGLE_QUOTED_TEXT - 775)) | (1L << (DOUBLE_QUOTED_TEXT - 775)) | (1L << (NCHAR_TEXT - 775)) | (1L << (UNDERSCORE_CHARSET - 775)) | (1L << (NUMBER_ - 775)) | (1L << (HEX_DIGIT_ - 775)) | (1L << (BIT_NUM_ - 775)) | (1L << (IDENTIFIER_ - 775)))) != 0)) {
{
setState(3264);
expr(0);
}
}
setState(3275);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(3267);
match(WHEN);
setState(3268);
expr(0);
setState(3269);
match(THEN);
setState(3271);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(3270);
validStatement();
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(3273);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,344,_ctx);
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
}
}
setState(3277);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==WHEN );
setState(3285);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ELSE) {
{
setState(3279);
match(ELSE);
setState(3281);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(3280);
validStatement();
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(3283);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,346,_ctx);
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
}
}
setState(3287);
match(END);
setState(3288);
match(CASE);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class IfStatementContext extends ParserRuleContext {
public List IF() { return getTokens(MySQLStatementParser.IF); }
public TerminalNode IF(int i) {
return getToken(MySQLStatementParser.IF, i);
}
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public List THEN() { return getTokens(MySQLStatementParser.THEN); }
public TerminalNode THEN(int i) {
return getToken(MySQLStatementParser.THEN, i);
}
public TerminalNode END() { return getToken(MySQLStatementParser.END, 0); }
public List validStatement() {
return getRuleContexts(ValidStatementContext.class);
}
public ValidStatementContext validStatement(int i) {
return getRuleContext(ValidStatementContext.class,i);
}
public List ELSEIF() { return getTokens(MySQLStatementParser.ELSEIF); }
public TerminalNode ELSEIF(int i) {
return getToken(MySQLStatementParser.ELSEIF, i);
}
public TerminalNode ELSE() { return getToken(MySQLStatementParser.ELSE, 0); }
public IfStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_ifStatement; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitIfStatement(this);
else return visitor.visitChildren(this);
}
}
public final IfStatementContext ifStatement() throws RecognitionException {
IfStatementContext _localctx = new IfStatementContext(_ctx, getState());
enterRule(_localctx, 236, RULE_ifStatement);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(3290);
match(IF);
setState(3291);
expr(0);
setState(3292);
match(THEN);
setState(3294);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(3293);
validStatement();
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(3296);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,348,_ctx);
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
setState(3308);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==ELSEIF) {
{
{
setState(3298);
match(ELSEIF);
setState(3299);
expr(0);
setState(3300);
match(THEN);
setState(3302);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(3301);
validStatement();
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(3304);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,349,_ctx);
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
}
}
setState(3310);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(3317);
_errHandler.sync(this);
_la = _input.LA(1);
if (_la==ELSE) {
{
setState(3311);
match(ELSE);
setState(3313);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(3312);
validStatement();
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(3315);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,351,_ctx);
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
}
}
setState(3319);
match(END);
setState(3320);
match(IF);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class IterateStatementContext extends ParserRuleContext {
public TerminalNode ITERATE() { return getToken(MySQLStatementParser.ITERATE, 0); }
public LabelNameContext labelName() {
return getRuleContext(LabelNameContext.class,0);
}
public IterateStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_iterateStatement; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitIterateStatement(this);
else return visitor.visitChildren(this);
}
}
public final IterateStatementContext iterateStatement() throws RecognitionException {
IterateStatementContext _localctx = new IterateStatementContext(_ctx, getState());
enterRule(_localctx, 238, RULE_iterateStatement);
try {
enterOuterAlt(_localctx, 1);
{
setState(3322);
match(ITERATE);
setState(3323);
labelName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class LeaveStatementContext extends ParserRuleContext {
public TerminalNode LEAVE() { return getToken(MySQLStatementParser.LEAVE, 0); }
public LabelNameContext labelName() {
return getRuleContext(LabelNameContext.class,0);
}
public LeaveStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_leaveStatement; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitLeaveStatement(this);
else return visitor.visitChildren(this);
}
}
public final LeaveStatementContext leaveStatement() throws RecognitionException {
LeaveStatementContext _localctx = new LeaveStatementContext(_ctx, getState());
enterRule(_localctx, 240, RULE_leaveStatement);
try {
enterOuterAlt(_localctx, 1);
{
setState(3325);
match(LEAVE);
setState(3326);
labelName();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class LoopStatementContext extends ParserRuleContext {
public List LOOP() { return getTokens(MySQLStatementParser.LOOP); }
public TerminalNode LOOP(int i) {
return getToken(MySQLStatementParser.LOOP, i);
}
public TerminalNode END() { return getToken(MySQLStatementParser.END, 0); }
public List labelName() {
return getRuleContexts(LabelNameContext.class);
}
public LabelNameContext labelName(int i) {
return getRuleContext(LabelNameContext.class,i);
}
public TerminalNode COLON_() { return getToken(MySQLStatementParser.COLON_, 0); }
public List validStatement() {
return getRuleContexts(ValidStatementContext.class);
}
public ValidStatementContext validStatement(int i) {
return getRuleContext(ValidStatementContext.class,i);
}
public LoopStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_loopStatement; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitLoopStatement(this);
else return visitor.visitChildren(this);
}
}
public final LoopStatementContext loopStatement() throws RecognitionException {
LoopStatementContext _localctx = new LoopStatementContext(_ctx, getState());
enterRule(_localctx, 242, RULE_loopStatement);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(3331);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 49)) & ~0x3f) == 0 && ((1L << (_la - 49)) & ((1L << (MAX - 49)) | (1L << (MIN - 49)) | (1L << (SUM - 49)) | (1L << (COUNT - 49)) | (1L << (GROUP_CONCAT - 49)) | (1L << (CAST - 49)) | (1L << (POSITION - 49)) | (1L << (SUBSTRING - 49)) | (1L << (SUBSTR - 49)) | (1L << (EXTRACT - 49)) | (1L << (TRIM - 49)) | (1L << (LAST_DAY - 49)) | (1L << (TRADITIONAL - 49)) | (1L << (TREE - 49)) | (1L << (MYSQL_MAIN - 49)) | (1L << (MYSQL_ADMIN - 49)) | (1L << (INSTANT - 49)) | (1L << (INPLACE - 49)) | (1L << (COPY - 49)) | (1L << (UL_BINARY - 49)) | (1L << (AUTOCOMMIT - 49)) | (1L << (INNODB - 49)) | (1L << (REDO_LOG - 49)) | (1L << (ACCOUNT - 49)) | (1L << (ACTION - 49)) | (1L << (ACTIVE - 49)) | (1L << (ADMIN - 49)) | (1L << (AFTER - 49)) | (1L << (AGAINST - 49)) | (1L << (AGGREGATE - 49)) | (1L << (ALGORITHM - 49)) | (1L << (ALWAYS - 49)) | (1L << (ANY - 49)) | (1L << (ARRAY - 49)) | (1L << (ASCII - 49)) | (1L << (AT - 49)) | (1L << (ATTRIBUTE - 49)) | (1L << (AUTOEXTEND_SIZE - 49)) | (1L << (AUTO_INCREMENT - 49)) | (1L << (AVG - 49)) | (1L << (BIT_XOR - 49)) | (1L << (AVG_ROW_LENGTH - 49)) | (1L << (BACKUP - 49)) | (1L << (BEGIN - 49)) | (1L << (BINLOG - 49)) | (1L << (BIT - 49)) | (1L << (BLOCK - 49)) | (1L << (BOOL - 49)))) != 0) || ((((_la - 113)) & ~0x3f) == 0 && ((1L << (_la - 113)) & ((1L << (BOOLEAN - 113)) | (1L << (BTREE - 113)) | (1L << (BUCKETS - 113)) | (1L << (BYTE - 113)) | (1L << (CACHE - 113)) | (1L << (CASCADED - 113)) | (1L << (CATALOG_NAME - 113)) | (1L << (CHAIN - 113)) | (1L << (CHANGED - 113)) | (1L << (CHANNEL - 113)) | (1L << (CHARSET - 113)) | (1L << (CHECKSUM - 113)) | (1L << (CIPHER - 113)) | (1L << (CLASS_ORIGIN - 113)) | (1L << (CLIENT - 113)) | (1L << (CLONE - 113)) | (1L << (CLOSE - 113)) | (1L << (COALESCE - 113)) | (1L << (CODE - 113)) | (1L << (COLLATION - 113)) | (1L << (COLUMNS - 113)) | (1L << (COLUMN_FORMAT - 113)) | (1L << (COLUMN_NAME - 113)) | (1L << (COMMENT - 113)) | (1L << (COMMIT - 113)) | (1L << (COMMITTED - 113)) | (1L << (COMPACT - 113)) | (1L << (COMPLETION - 113)) | (1L << (COMPONENT - 113)) | (1L << (COMPRESSED - 113)) | (1L << (COMPRESSION - 113)) | (1L << (CONCURRENT - 113)) | (1L << (CONNECTION - 113)) | (1L << (CONSISTENT - 113)) | (1L << (CONSTRAINT_CATALOG - 113)) | (1L << (CONSTRAINT_NAME - 113)) | (1L << (CONSTRAINT_SCHEMA - 113)) | (1L << (CONTAINS - 113)) | (1L << (CONTEXT - 113)) | (1L << (CPU - 113)) | (1L << (CREATE - 113)) | (1L << (CURRENT - 113)))) != 0) || ((((_la - 178)) & ~0x3f) == 0 && ((1L << (_la - 178)) & ((1L << (CURSOR_NAME - 178)) | (1L << (DATA - 178)) | (1L << (DATAFILE - 178)) | (1L << (DATE - 178)) | (1L << (DATETIME - 178)) | (1L << (DAY - 178)) | (1L << (DEALLOCATE - 178)) | (1L << (DEFAULT_AUTH - 178)) | (1L << (DEFINER - 178)) | (1L << (DEFINITION - 178)) | (1L << (DELAY_KEY_WRITE - 178)) | (1L << (DESCRIPTION - 178)) | (1L << (DIAGNOSTICS - 178)) | (1L << (DIRECTORY - 178)) | (1L << (DISABLE - 178)) | (1L << (DISCARD - 178)) | (1L << (DISK - 178)) | (1L << (DO - 178)) | (1L << (DUMPFILE - 178)) | (1L << (DUPLICATE - 178)) | (1L << (DYNAMIC - 178)) | (1L << (ENABLE - 178)) | (1L << (ENCRYPTION - 178)) | (1L << (END - 178)) | (1L << (ENDS - 178)) | (1L << (ENFORCED - 178)) | (1L << (ENGINE - 178)) | (1L << (ENGINES - 178)) | (1L << (ENGINE_ATTRIBUTE - 178)) | (1L << (ENUM - 178)) | (1L << (ERROR - 178)) | (1L << (ERRORS - 178)) | (1L << (ESCAPE - 178)) | (1L << (EVENT - 178)) | (1L << (EVENTS - 178)) | (1L << (EVERY - 178)))) != 0) || ((((_la - 243)) & ~0x3f) == 0 && ((1L << (_la - 243)) & ((1L << (EXCHANGE - 243)) | (1L << (EXCLUDE - 243)) | (1L << (EXECUTE - 243)) | (1L << (EXPANSION - 243)) | (1L << (EXPIRE - 243)) | (1L << (EXPORT - 243)) | (1L << (EXTENDED - 243)) | (1L << (EXTENT_SIZE - 243)) | (1L << (FAILED_LOGIN_ATTEMPTS - 243)) | (1L << (FAST - 243)) | (1L << (FAULTS - 243)) | (1L << (FILE - 243)) | (1L << (FILE_BLOCK_SIZE - 243)) | (1L << (FILTER - 243)) | (1L << (FIRST - 243)) | (1L << (FIXED - 243)) | (1L << (FLUSH - 243)) | (1L << (FOLLOWING - 243)) | (1L << (FOLLOWS - 243)) | (1L << (FORMAT - 243)) | (1L << (FOUND - 243)) | (1L << (FULL - 243)) | (1L << (GENERAL - 243)) | (1L << (GEOMETRY - 243)) | (1L << (GEOMETRYCOLLECTION - 243)) | (1L << (GET_FORMAT - 243)) | (1L << (GET_MASTER_PUBLIC_KEY - 243)) | (1L << (GLOBAL - 243)) | (1L << (GRANTS - 243)) | (1L << (GROUP_REPLICATION - 243)) | (1L << (HANDLER - 243)) | (1L << (HASH - 243)) | (1L << (HELP - 243)) | (1L << (HISTOGRAM - 243)) | (1L << (HISTORY - 243)) | (1L << (HOST - 243)) | (1L << (HOSTS - 243)) | (1L << (HOUR - 243)))) != 0) || ((((_la - 307)) & ~0x3f) == 0 && ((1L << (_la - 307)) & ((1L << (IDENTIFIED - 307)) | (1L << (IGNORE_SERVER_IDS - 307)) | (1L << (IMPORT - 307)) | (1L << (INACTIVE - 307)) | (1L << (INDEXES - 307)) | (1L << (INITIAL_SIZE - 307)) | (1L << (INSERT_METHOD - 307)) | (1L << (INSTALL - 307)) | (1L << (INSTANCE - 307)) | (1L << (INVISIBLE - 307)) | (1L << (INVOKER - 307)) | (1L << (IO - 307)) | (1L << (IPC - 307)) | (1L << (ISOLATION - 307)) | (1L << (ISSUER - 307)) | (1L << (JSON - 307)) | (1L << (JSON_VALUE - 307)) | (1L << (KEY - 307)) | (1L << (KEY_BLOCK_SIZE - 307)) | (1L << (LANGUAGE - 307)) | (1L << (LAST - 307)) | (1L << (LAST_VALUE - 307)) | (1L << (LEAVES - 307)) | (1L << (LESS - 307)) | (1L << (LEVEL - 307)) | (1L << (LINESTRING - 307)) | (1L << (LIST - 307)))) != 0) || ((((_la - 371)) & ~0x3f) == 0 && ((1L << (_la - 371)) & ((1L << (LOCAL - 371)) | (1L << (LOCKED - 371)) | (1L << (LOCKS - 371)) | (1L << (LOGFILE - 371)) | (1L << (LOGS - 371)) | (1L << (MASTER - 371)) | (1L << (MASTER_AUTO_POSITION - 371)) | (1L << (MASTER_COMPRESSION_ALGORITHM - 371)) | (1L << (MASTER_CONNECT_RETRY - 371)) | (1L << (MASTER_DELAY - 371)) | (1L << (MASTER_HEARTBEAT_PERIOD - 371)) | (1L << (MASTER_HOST - 371)) | (1L << (MASTER_LOG_FILE - 371)) | (1L << (MASTER_LOG_POS - 371)) | (1L << (MASTER_PASSWORD - 371)) | (1L << (MASTER_PORT - 371)) | (1L << (MASTER_PUBLIC_KEY_PATH - 371)) | (1L << (MASTER_RETRY_COUNT - 371)) | (1L << (MASTER_SERVER_ID - 371)) | (1L << (MASTER_SSL - 371)) | (1L << (MASTER_SSL_CA - 371)) | (1L << (MASTER_SSL_CAPATH - 371)) | (1L << (MASTER_SSL_CERT - 371)) | (1L << (MASTER_SSL_CIPHER - 371)) | (1L << (MASTER_SSL_CRL - 371)) | (1L << (MASTER_SSL_CRLPATH - 371)) | (1L << (MASTER_SSL_KEY - 371)) | (1L << (MASTER_TLS_CIPHERSUITES - 371)) | (1L << (MASTER_TLS_VERSION - 371)) | (1L << (MASTER_USER - 371)) | (1L << (MASTER_ZSTD_COMPRESSION_LEVEL - 371)) | (1L << (MAXVALUE - 371)) | (1L << (MAX_CONNECTIONS_PER_HOUR - 371)) | (1L << (MAX_QUERIES_PER_HOUR - 371)) | (1L << (MAX_ROWS - 371)) | (1L << (MAX_SIZE - 371)) | (1L << (MAX_UPDATES_PER_HOUR - 371)) | (1L << (MAX_USER_CONNECTIONS - 371)) | (1L << (MEDIUM - 371)) | (1L << (MEMBER - 371)) | (1L << (MEMORY - 371)) | (1L << (MERGE - 371)) | (1L << (MESSAGE_TEXT - 371)) | (1L << (MICROSECOND - 371)) | (1L << (MIGRATE - 371)) | (1L << (MINUTE - 371)) | (1L << (MIN_ROWS - 371)))) != 0) || ((((_la - 436)) & ~0x3f) == 0 && ((1L << (_la - 436)) & ((1L << (MODE - 436)) | (1L << (MODIFY - 436)) | (1L << (MONTH - 436)) | (1L << (MULTILINESTRING - 436)) | (1L << (MULTIPOINT - 436)) | (1L << (MULTIPOLYGON - 436)) | (1L << (MUTEX - 436)) | (1L << (MYSQL_ERRNO - 436)) | (1L << (NAME - 436)) | (1L << (NAMES - 436)) | (1L << (NATIONAL - 436)) | (1L << (NCHAR - 436)) | (1L << (NDBCLUSTER - 436)) | (1L << (NESTED - 436)) | (1L << (NETWORK_NAMESPACE - 436)) | (1L << (NEVER - 436)) | (1L << (NEW - 436)) | (1L << (NEXT - 436)) | (1L << (NO - 436)) | (1L << (NODEGROUP - 436)) | (1L << (NONE - 436)) | (1L << (NOWAIT - 436)) | (1L << (NO_WAIT - 436)) | (1L << (NULLS - 436)) | (1L << (NUMBER - 436)) | (1L << (NVARCHAR - 436)) | (1L << (OFF - 436)) | (1L << (OFFSET - 436)) | (1L << (OJ - 436)) | (1L << (OLD - 436)) | (1L << (ONE - 436)) | (1L << (ONLY - 436)) | (1L << (OPEN - 436)) | (1L << (OPTIONAL - 436)) | (1L << (OPTIONS - 436)) | (1L << (ORDINALITY - 436)) | (1L << (ORGANIZATION - 436)) | (1L << (OTHERS - 436)) | (1L << (OWNER - 436)) | (1L << (PACK_KEYS - 436)) | (1L << (PAGE - 436)) | (1L << (PARSER - 436)) | (1L << (PARTIAL - 436)))) != 0) || ((((_la - 500)) & ~0x3f) == 0 && ((1L << (_la - 500)) & ((1L << (PARTITIONING - 500)) | (1L << (PARTITIONS - 500)) | (1L << (PASSWORD - 500)) | (1L << (PASSWORD_LOCK_TIME - 500)) | (1L << (PATH - 500)) | (1L << (PERSIST - 500)) | (1L << (PERSIST_ONLY - 500)) | (1L << (PHASE - 500)) | (1L << (PLUGIN - 500)) | (1L << (PLUGINS - 500)) | (1L << (PLUGIN_DIR - 500)) | (1L << (POINT - 500)) | (1L << (POLYGON - 500)) | (1L << (PORT - 500)) | (1L << (PRECEDES - 500)) | (1L << (PRECEDING - 500)) | (1L << (PREPARE - 500)) | (1L << (PRESERVE - 500)) | (1L << (PREV - 500)) | (1L << (PRIMARY - 500)) | (1L << (PRIVILEGES - 500)) | (1L << (PRIVILEGE_CHECKS_USER - 500)) | (1L << (PROCESS - 500)) | (1L << (PROCESSLIST - 500)) | (1L << (PROFILE - 500)) | (1L << (PROFILES - 500)) | (1L << (PROXY - 500)) | (1L << (QUARTER - 500)) | (1L << (QUERY - 500)) | (1L << (QUICK - 500)) | (1L << (RANDOM - 500)) | (1L << (READ_ONLY - 500)) | (1L << (REBUILD - 500)) | (1L << (RECOVER - 500)) | (1L << (REDO_BUFFER_SIZE - 500)) | (1L << (REDUNDANT - 500)) | (1L << (REFERENCE - 500)) | (1L << (RELAY - 500)) | (1L << (RELAYLOG - 500)) | (1L << (RELAY_LOG_FILE - 500)) | (1L << (RELAY_LOG_POS - 500)) | (1L << (RELAY_THREAD - 500)) | (1L << (RELOAD - 500)) | (1L << (REMOVE - 500)) | (1L << (REORGANIZE - 500)) | (1L << (REPAIR - 500)) | (1L << (REPEATABLE - 500)))) != 0) || ((((_la - 566)) & ~0x3f) == 0 && ((1L << (_la - 566)) & ((1L << (REPLICATE_DO_DB - 566)) | (1L << (REPLICATE_DO_TABLE - 566)) | (1L << (REPLICATE_IGNORE_DB - 566)) | (1L << (REPLICATE_IGNORE_TABLE - 566)) | (1L << (REPLICATE_REWRITE_DB - 566)) | (1L << (REPLICATE_WILD_DO_TABLE - 566)) | (1L << (REPLICATE_WILD_IGNORE_TABLE - 566)) | (1L << (REPLICATION - 566)) | (1L << (REQUIRE_ROW_FORMAT - 566)) | (1L << (RESET - 566)) | (1L << (RESOURCE - 566)) | (1L << (RESPECT - 566)) | (1L << (RESTART - 566)) | (1L << (RESTORE - 566)) | (1L << (RESUME - 566)) | (1L << (RETAIN - 566)) | (1L << (RETURNED_SQLSTATE - 566)) | (1L << (RETURNING - 566)) | (1L << (RETURNS - 566)) | (1L << (REUSE - 566)) | (1L << (REVERSE - 566)) | (1L << (ROLE - 566)) | (1L << (ROLLBACK - 566)) | (1L << (ROLLUP - 566)) | (1L << (ROTATE - 566)) | (1L << (ROUTINE - 566)) | (1L << (ROW_COUNT - 566)) | (1L << (ROW_FORMAT - 566)) | (1L << (RTREE - 566)) | (1L << (SAVEPOINT - 566)) | (1L << (SCHEDULE - 566)) | (1L << (SCHEMA_NAME - 566)) | (1L << (SECOND - 566)) | (1L << (SECONDARY - 566)) | (1L << (SECONDARY_ENGINE - 566)) | (1L << (SECONDARY_ENGINE_ATTRIBUTE - 566)) | (1L << (SECONDARY_LOAD - 566)) | (1L << (SECONDARY_UNLOAD - 566)) | (1L << (SECURITY - 566)) | (1L << (SERIAL - 566)) | (1L << (SERIALIZABLE - 566)) | (1L << (SERVER - 566)) | (1L << (SESSION - 566)) | (1L << (SHARE - 566)) | (1L << (SHUTDOWN - 566)))) != 0) || ((((_la - 630)) & ~0x3f) == 0 && ((1L << (_la - 630)) & ((1L << (SIGNED - 630)) | (1L << (SIMPLE - 630)) | (1L << (SLAVE - 630)) | (1L << (SLOW - 630)) | (1L << (SNAPSHOT - 630)) | (1L << (SOCKET - 630)) | (1L << (SONAME - 630)) | (1L << (SOUNDS - 630)) | (1L << (SOURCE - 630)) | (1L << (SQL_AFTER_GTIDS - 630)) | (1L << (SQL_AFTER_MTS_GAPS - 630)) | (1L << (SQL_BEFORE_GTIDS - 630)) | (1L << (SQL_BUFFER_RESULT - 630)) | (1L << (SQL_NO_CACHE - 630)) | (1L << (SQL_THREAD - 630)) | (1L << (SRID - 630)) | (1L << (STACKED - 630)) | (1L << (START - 630)) | (1L << (STARTS - 630)) | (1L << (STATS_AUTO_RECALC - 630)) | (1L << (STATS_PERSISTENT - 630)) | (1L << (STATS_SAMPLE_PAGES - 630)) | (1L << (STATUS - 630)) | (1L << (STOP - 630)) | (1L << (STORAGE - 630)) | (1L << (STREAM - 630)) | (1L << (STRING - 630)) | (1L << (SUBCLASS_ORIGIN - 630)) | (1L << (SUBJECT - 630)) | (1L << (SUBPARTITION - 630)) | (1L << (SUBPARTITIONS - 630)) | (1L << (SUPER - 630)) | (1L << (SUSPEND - 630)) | (1L << (SWAPS - 630)) | (1L << (SWITCHES - 630)) | (1L << (TABLES - 630)) | (1L << (TABLESPACE - 630)) | (1L << (TABLE_CHECKSUM - 630)) | (1L << (TABLE_NAME - 630)) | (1L << (TEMPORARY - 630)) | (1L << (TEMPTABLE - 630)) | (1L << (TEXT - 630)) | (1L << (THAN - 630)) | (1L << (THREAD_PRIORITY - 630)) | (1L << (TIES - 630)))) != 0) || ((((_la - 694)) & ~0x3f) == 0 && ((1L << (_la - 694)) & ((1L << (TIME - 694)) | (1L << (TIMESTAMP - 694)) | (1L << (TIMESTAMP_ADD - 694)) | (1L << (TIMESTAMP_DIFF - 694)) | (1L << (TLS - 694)) | (1L << (TRANSACTION - 694)) | (1L << (TRIGGERS - 694)) | (1L << (TRUNCATE - 694)) | (1L << (TYPE - 694)) | (1L << (TYPES - 694)) | (1L << (UNBOUNDED - 694)) | (1L << (UNCOMMITTED - 694)) | (1L << (UNDEFINED - 694)) | (1L << (UNDOFILE - 694)) | (1L << (UNDO_BUFFER_SIZE - 694)) | (1L << (UNICODE - 694)) | (1L << (UNINSTALL - 694)) | (1L << (UNKNOWN - 694)) | (1L << (UNTIL - 694)) | (1L << (UPGRADE - 694)) | (1L << (USER - 694)) | (1L << (USER_RESOURCES - 694)) | (1L << (USE_FRM - 694)) | (1L << (UTC_DATE - 694)) | (1L << (UTC_TIME - 694)) | (1L << (UTC_TIMESTAMP - 694)) | (1L << (VALIDATION - 694)) | (1L << (VALUE - 694)) | (1L << (VARIABLES - 694)) | (1L << (VCPU - 694)) | (1L << (VIEW - 694)) | (1L << (VISIBLE - 694)) | (1L << (WAIT - 694)) | (1L << (WARNINGS - 694)) | (1L << (WEEK - 694)) | (1L << (WEIGHT_STRING - 694)) | (1L << (WITHOUT - 694)))) != 0) || ((((_la - 758)) & ~0x3f) == 0 && ((1L << (_la - 758)) & ((1L << (WORK - 758)) | (1L << (WRAPPER - 758)) | (1L << (X509 - 758)) | (1L << (XA - 758)) | (1L << (XID - 758)) | (1L << (XML - 758)) | (1L << (YEAR - 758)) | (1L << (DOUBLE_QUOTED_TEXT - 758)) | (1L << (UNDERSCORE_CHARSET - 758)) | (1L << (IDENTIFIER_ - 758)))) != 0)) {
{
setState(3328);
labelName();
setState(3329);
match(COLON_);
}
}
setState(3333);
match(LOOP);
setState(3335);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(3334);
validStatement();
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(3337);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,354,_ctx);
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
setState(3339);
match(END);
setState(3340);
match(LOOP);
setState(3342);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,355,_ctx) ) {
case 1:
{
setState(3341);
labelName();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class RepeatStatementContext extends ParserRuleContext {
public List REPEAT() { return getTokens(MySQLStatementParser.REPEAT); }
public TerminalNode REPEAT(int i) {
return getToken(MySQLStatementParser.REPEAT, i);
}
public TerminalNode UNTIL() { return getToken(MySQLStatementParser.UNTIL, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode END() { return getToken(MySQLStatementParser.END, 0); }
public List labelName() {
return getRuleContexts(LabelNameContext.class);
}
public LabelNameContext labelName(int i) {
return getRuleContext(LabelNameContext.class,i);
}
public TerminalNode COLON_() { return getToken(MySQLStatementParser.COLON_, 0); }
public List validStatement() {
return getRuleContexts(ValidStatementContext.class);
}
public ValidStatementContext validStatement(int i) {
return getRuleContext(ValidStatementContext.class,i);
}
public RepeatStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_repeatStatement; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitRepeatStatement(this);
else return visitor.visitChildren(this);
}
}
public final RepeatStatementContext repeatStatement() throws RecognitionException {
RepeatStatementContext _localctx = new RepeatStatementContext(_ctx, getState());
enterRule(_localctx, 244, RULE_repeatStatement);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(3347);
_errHandler.sync(this);
_la = _input.LA(1);
if (((((_la - 49)) & ~0x3f) == 0 && ((1L << (_la - 49)) & ((1L << (MAX - 49)) | (1L << (MIN - 49)) | (1L << (SUM - 49)) | (1L << (COUNT - 49)) | (1L << (GROUP_CONCAT - 49)) | (1L << (CAST - 49)) | (1L << (POSITION - 49)) | (1L << (SUBSTRING - 49)) | (1L << (SUBSTR - 49)) | (1L << (EXTRACT - 49)) | (1L << (TRIM - 49)) | (1L << (LAST_DAY - 49)) | (1L << (TRADITIONAL - 49)) | (1L << (TREE - 49)) | (1L << (MYSQL_MAIN - 49)) | (1L << (MYSQL_ADMIN - 49)) | (1L << (INSTANT - 49)) | (1L << (INPLACE - 49)) | (1L << (COPY - 49)) | (1L << (UL_BINARY - 49)) | (1L << (AUTOCOMMIT - 49)) | (1L << (INNODB - 49)) | (1L << (REDO_LOG - 49)) | (1L << (ACCOUNT - 49)) | (1L << (ACTION - 49)) | (1L << (ACTIVE - 49)) | (1L << (ADMIN - 49)) | (1L << (AFTER - 49)) | (1L << (AGAINST - 49)) | (1L << (AGGREGATE - 49)) | (1L << (ALGORITHM - 49)) | (1L << (ALWAYS - 49)) | (1L << (ANY - 49)) | (1L << (ARRAY - 49)) | (1L << (ASCII - 49)) | (1L << (AT - 49)) | (1L << (ATTRIBUTE - 49)) | (1L << (AUTOEXTEND_SIZE - 49)) | (1L << (AUTO_INCREMENT - 49)) | (1L << (AVG - 49)) | (1L << (BIT_XOR - 49)) | (1L << (AVG_ROW_LENGTH - 49)) | (1L << (BACKUP - 49)) | (1L << (BEGIN - 49)) | (1L << (BINLOG - 49)) | (1L << (BIT - 49)) | (1L << (BLOCK - 49)) | (1L << (BOOL - 49)))) != 0) || ((((_la - 113)) & ~0x3f) == 0 && ((1L << (_la - 113)) & ((1L << (BOOLEAN - 113)) | (1L << (BTREE - 113)) | (1L << (BUCKETS - 113)) | (1L << (BYTE - 113)) | (1L << (CACHE - 113)) | (1L << (CASCADED - 113)) | (1L << (CATALOG_NAME - 113)) | (1L << (CHAIN - 113)) | (1L << (CHANGED - 113)) | (1L << (CHANNEL - 113)) | (1L << (CHARSET - 113)) | (1L << (CHECKSUM - 113)) | (1L << (CIPHER - 113)) | (1L << (CLASS_ORIGIN - 113)) | (1L << (CLIENT - 113)) | (1L << (CLONE - 113)) | (1L << (CLOSE - 113)) | (1L << (COALESCE - 113)) | (1L << (CODE - 113)) | (1L << (COLLATION - 113)) | (1L << (COLUMNS - 113)) | (1L << (COLUMN_FORMAT - 113)) | (1L << (COLUMN_NAME - 113)) | (1L << (COMMENT - 113)) | (1L << (COMMIT - 113)) | (1L << (COMMITTED - 113)) | (1L << (COMPACT - 113)) | (1L << (COMPLETION - 113)) | (1L << (COMPONENT - 113)) | (1L << (COMPRESSED - 113)) | (1L << (COMPRESSION - 113)) | (1L << (CONCURRENT - 113)) | (1L << (CONNECTION - 113)) | (1L << (CONSISTENT - 113)) | (1L << (CONSTRAINT_CATALOG - 113)) | (1L << (CONSTRAINT_NAME - 113)) | (1L << (CONSTRAINT_SCHEMA - 113)) | (1L << (CONTAINS - 113)) | (1L << (CONTEXT - 113)) | (1L << (CPU - 113)) | (1L << (CREATE - 113)) | (1L << (CURRENT - 113)))) != 0) || ((((_la - 178)) & ~0x3f) == 0 && ((1L << (_la - 178)) & ((1L << (CURSOR_NAME - 178)) | (1L << (DATA - 178)) | (1L << (DATAFILE - 178)) | (1L << (DATE - 178)) | (1L << (DATETIME - 178)) | (1L << (DAY - 178)) | (1L << (DEALLOCATE - 178)) | (1L << (DEFAULT_AUTH - 178)) | (1L << (DEFINER - 178)) | (1L << (DEFINITION - 178)) | (1L << (DELAY_KEY_WRITE - 178)) | (1L << (DESCRIPTION - 178)) | (1L << (DIAGNOSTICS - 178)) | (1L << (DIRECTORY - 178)) | (1L << (DISABLE - 178)) | (1L << (DISCARD - 178)) | (1L << (DISK - 178)) | (1L << (DO - 178)) | (1L << (DUMPFILE - 178)) | (1L << (DUPLICATE - 178)) | (1L << (DYNAMIC - 178)) | (1L << (ENABLE - 178)) | (1L << (ENCRYPTION - 178)) | (1L << (END - 178)) | (1L << (ENDS - 178)) | (1L << (ENFORCED - 178)) | (1L << (ENGINE - 178)) | (1L << (ENGINES - 178)) | (1L << (ENGINE_ATTRIBUTE - 178)) | (1L << (ENUM - 178)) | (1L << (ERROR - 178)) | (1L << (ERRORS - 178)) | (1L << (ESCAPE - 178)) | (1L << (EVENT - 178)) | (1L << (EVENTS - 178)) | (1L << (EVERY - 178)))) != 0) || ((((_la - 243)) & ~0x3f) == 0 && ((1L << (_la - 243)) & ((1L << (EXCHANGE - 243)) | (1L << (EXCLUDE - 243)) | (1L << (EXECUTE - 243)) | (1L << (EXPANSION - 243)) | (1L << (EXPIRE - 243)) | (1L << (EXPORT - 243)) | (1L << (EXTENDED - 243)) | (1L << (EXTENT_SIZE - 243)) | (1L << (FAILED_LOGIN_ATTEMPTS - 243)) | (1L << (FAST - 243)) | (1L << (FAULTS - 243)) | (1L << (FILE - 243)) | (1L << (FILE_BLOCK_SIZE - 243)) | (1L << (FILTER - 243)) | (1L << (FIRST - 243)) | (1L << (FIXED - 243)) | (1L << (FLUSH - 243)) | (1L << (FOLLOWING - 243)) | (1L << (FOLLOWS - 243)) | (1L << (FORMAT - 243)) | (1L << (FOUND - 243)) | (1L << (FULL - 243)) | (1L << (GENERAL - 243)) | (1L << (GEOMETRY - 243)) | (1L << (GEOMETRYCOLLECTION - 243)) | (1L << (GET_FORMAT - 243)) | (1L << (GET_MASTER_PUBLIC_KEY - 243)) | (1L << (GLOBAL - 243)) | (1L << (GRANTS - 243)) | (1L << (GROUP_REPLICATION - 243)) | (1L << (HANDLER - 243)) | (1L << (HASH - 243)) | (1L << (HELP - 243)) | (1L << (HISTOGRAM - 243)) | (1L << (HISTORY - 243)) | (1L << (HOST - 243)) | (1L << (HOSTS - 243)) | (1L << (HOUR - 243)))) != 0) || ((((_la - 307)) & ~0x3f) == 0 && ((1L << (_la - 307)) & ((1L << (IDENTIFIED - 307)) | (1L << (IGNORE_SERVER_IDS - 307)) | (1L << (IMPORT - 307)) | (1L << (INACTIVE - 307)) | (1L << (INDEXES - 307)) | (1L << (INITIAL_SIZE - 307)) | (1L << (INSERT_METHOD - 307)) | (1L << (INSTALL - 307)) | (1L << (INSTANCE - 307)) | (1L << (INVISIBLE - 307)) | (1L << (INVOKER - 307)) | (1L << (IO - 307)) | (1L << (IPC - 307)) | (1L << (ISOLATION - 307)) | (1L << (ISSUER - 307)) | (1L << (JSON - 307)) | (1L << (JSON_VALUE - 307)) | (1L << (KEY - 307)) | (1L << (KEY_BLOCK_SIZE - 307)) | (1L << (LANGUAGE - 307)) | (1L << (LAST - 307)) | (1L << (LAST_VALUE - 307)) | (1L << (LEAVES - 307)) | (1L << (LESS - 307)) | (1L << (LEVEL - 307)) | (1L << (LINESTRING - 307)) | (1L << (LIST - 307)))) != 0) || ((((_la - 371)) & ~0x3f) == 0 && ((1L << (_la - 371)) & ((1L << (LOCAL - 371)) | (1L << (LOCKED - 371)) | (1L << (LOCKS - 371)) | (1L << (LOGFILE - 371)) | (1L << (LOGS - 371)) | (1L << (MASTER - 371)) | (1L << (MASTER_AUTO_POSITION - 371)) | (1L << (MASTER_COMPRESSION_ALGORITHM - 371)) | (1L << (MASTER_CONNECT_RETRY - 371)) | (1L << (MASTER_DELAY - 371)) | (1L << (MASTER_HEARTBEAT_PERIOD - 371)) | (1L << (MASTER_HOST - 371)) | (1L << (MASTER_LOG_FILE - 371)) | (1L << (MASTER_LOG_POS - 371)) | (1L << (MASTER_PASSWORD - 371)) | (1L << (MASTER_PORT - 371)) | (1L << (MASTER_PUBLIC_KEY_PATH - 371)) | (1L << (MASTER_RETRY_COUNT - 371)) | (1L << (MASTER_SERVER_ID - 371)) | (1L << (MASTER_SSL - 371)) | (1L << (MASTER_SSL_CA - 371)) | (1L << (MASTER_SSL_CAPATH - 371)) | (1L << (MASTER_SSL_CERT - 371)) | (1L << (MASTER_SSL_CIPHER - 371)) | (1L << (MASTER_SSL_CRL - 371)) | (1L << (MASTER_SSL_CRLPATH - 371)) | (1L << (MASTER_SSL_KEY - 371)) | (1L << (MASTER_TLS_CIPHERSUITES - 371)) | (1L << (MASTER_TLS_VERSION - 371)) | (1L << (MASTER_USER - 371)) | (1L << (MASTER_ZSTD_COMPRESSION_LEVEL - 371)) | (1L << (MAXVALUE - 371)) | (1L << (MAX_CONNECTIONS_PER_HOUR - 371)) | (1L << (MAX_QUERIES_PER_HOUR - 371)) | (1L << (MAX_ROWS - 371)) | (1L << (MAX_SIZE - 371)) | (1L << (MAX_UPDATES_PER_HOUR - 371)) | (1L << (MAX_USER_CONNECTIONS - 371)) | (1L << (MEDIUM - 371)) | (1L << (MEMBER - 371)) | (1L << (MEMORY - 371)) | (1L << (MERGE - 371)) | (1L << (MESSAGE_TEXT - 371)) | (1L << (MICROSECOND - 371)) | (1L << (MIGRATE - 371)) | (1L << (MINUTE - 371)) | (1L << (MIN_ROWS - 371)))) != 0) || ((((_la - 436)) & ~0x3f) == 0 && ((1L << (_la - 436)) & ((1L << (MODE - 436)) | (1L << (MODIFY - 436)) | (1L << (MONTH - 436)) | (1L << (MULTILINESTRING - 436)) | (1L << (MULTIPOINT - 436)) | (1L << (MULTIPOLYGON - 436)) | (1L << (MUTEX - 436)) | (1L << (MYSQL_ERRNO - 436)) | (1L << (NAME - 436)) | (1L << (NAMES - 436)) | (1L << (NATIONAL - 436)) | (1L << (NCHAR - 436)) | (1L << (NDBCLUSTER - 436)) | (1L << (NESTED - 436)) | (1L << (NETWORK_NAMESPACE - 436)) | (1L << (NEVER - 436)) | (1L << (NEW - 436)) | (1L << (NEXT - 436)) | (1L << (NO - 436)) | (1L << (NODEGROUP - 436)) | (1L << (NONE - 436)) | (1L << (NOWAIT - 436)) | (1L << (NO_WAIT - 436)) | (1L << (NULLS - 436)) | (1L << (NUMBER - 436)) | (1L << (NVARCHAR - 436)) | (1L << (OFF - 436)) | (1L << (OFFSET - 436)) | (1L << (OJ - 436)) | (1L << (OLD - 436)) | (1L << (ONE - 436)) | (1L << (ONLY - 436)) | (1L << (OPEN - 436)) | (1L << (OPTIONAL - 436)) | (1L << (OPTIONS - 436)) | (1L << (ORDINALITY - 436)) | (1L << (ORGANIZATION - 436)) | (1L << (OTHERS - 436)) | (1L << (OWNER - 436)) | (1L << (PACK_KEYS - 436)) | (1L << (PAGE - 436)) | (1L << (PARSER - 436)) | (1L << (PARTIAL - 436)))) != 0) || ((((_la - 500)) & ~0x3f) == 0 && ((1L << (_la - 500)) & ((1L << (PARTITIONING - 500)) | (1L << (PARTITIONS - 500)) | (1L << (PASSWORD - 500)) | (1L << (PASSWORD_LOCK_TIME - 500)) | (1L << (PATH - 500)) | (1L << (PERSIST - 500)) | (1L << (PERSIST_ONLY - 500)) | (1L << (PHASE - 500)) | (1L << (PLUGIN - 500)) | (1L << (PLUGINS - 500)) | (1L << (PLUGIN_DIR - 500)) | (1L << (POINT - 500)) | (1L << (POLYGON - 500)) | (1L << (PORT - 500)) | (1L << (PRECEDES - 500)) | (1L << (PRECEDING - 500)) | (1L << (PREPARE - 500)) | (1L << (PRESERVE - 500)) | (1L << (PREV - 500)) | (1L << (PRIMARY - 500)) | (1L << (PRIVILEGES - 500)) | (1L << (PRIVILEGE_CHECKS_USER - 500)) | (1L << (PROCESS - 500)) | (1L << (PROCESSLIST - 500)) | (1L << (PROFILE - 500)) | (1L << (PROFILES - 500)) | (1L << (PROXY - 500)) | (1L << (QUARTER - 500)) | (1L << (QUERY - 500)) | (1L << (QUICK - 500)) | (1L << (RANDOM - 500)) | (1L << (READ_ONLY - 500)) | (1L << (REBUILD - 500)) | (1L << (RECOVER - 500)) | (1L << (REDO_BUFFER_SIZE - 500)) | (1L << (REDUNDANT - 500)) | (1L << (REFERENCE - 500)) | (1L << (RELAY - 500)) | (1L << (RELAYLOG - 500)) | (1L << (RELAY_LOG_FILE - 500)) | (1L << (RELAY_LOG_POS - 500)) | (1L << (RELAY_THREAD - 500)) | (1L << (RELOAD - 500)) | (1L << (REMOVE - 500)) | (1L << (REORGANIZE - 500)) | (1L << (REPAIR - 500)) | (1L << (REPEATABLE - 500)))) != 0) || ((((_la - 566)) & ~0x3f) == 0 && ((1L << (_la - 566)) & ((1L << (REPLICATE_DO_DB - 566)) | (1L << (REPLICATE_DO_TABLE - 566)) | (1L << (REPLICATE_IGNORE_DB - 566)) | (1L << (REPLICATE_IGNORE_TABLE - 566)) | (1L << (REPLICATE_REWRITE_DB - 566)) | (1L << (REPLICATE_WILD_DO_TABLE - 566)) | (1L << (REPLICATE_WILD_IGNORE_TABLE - 566)) | (1L << (REPLICATION - 566)) | (1L << (REQUIRE_ROW_FORMAT - 566)) | (1L << (RESET - 566)) | (1L << (RESOURCE - 566)) | (1L << (RESPECT - 566)) | (1L << (RESTART - 566)) | (1L << (RESTORE - 566)) | (1L << (RESUME - 566)) | (1L << (RETAIN - 566)) | (1L << (RETURNED_SQLSTATE - 566)) | (1L << (RETURNING - 566)) | (1L << (RETURNS - 566)) | (1L << (REUSE - 566)) | (1L << (REVERSE - 566)) | (1L << (ROLE - 566)) | (1L << (ROLLBACK - 566)) | (1L << (ROLLUP - 566)) | (1L << (ROTATE - 566)) | (1L << (ROUTINE - 566)) | (1L << (ROW_COUNT - 566)) | (1L << (ROW_FORMAT - 566)) | (1L << (RTREE - 566)) | (1L << (SAVEPOINT - 566)) | (1L << (SCHEDULE - 566)) | (1L << (SCHEMA_NAME - 566)) | (1L << (SECOND - 566)) | (1L << (SECONDARY - 566)) | (1L << (SECONDARY_ENGINE - 566)) | (1L << (SECONDARY_ENGINE_ATTRIBUTE - 566)) | (1L << (SECONDARY_LOAD - 566)) | (1L << (SECONDARY_UNLOAD - 566)) | (1L << (SECURITY - 566)) | (1L << (SERIAL - 566)) | (1L << (SERIALIZABLE - 566)) | (1L << (SERVER - 566)) | (1L << (SESSION - 566)) | (1L << (SHARE - 566)) | (1L << (SHUTDOWN - 566)))) != 0) || ((((_la - 630)) & ~0x3f) == 0 && ((1L << (_la - 630)) & ((1L << (SIGNED - 630)) | (1L << (SIMPLE - 630)) | (1L << (SLAVE - 630)) | (1L << (SLOW - 630)) | (1L << (SNAPSHOT - 630)) | (1L << (SOCKET - 630)) | (1L << (SONAME - 630)) | (1L << (SOUNDS - 630)) | (1L << (SOURCE - 630)) | (1L << (SQL_AFTER_GTIDS - 630)) | (1L << (SQL_AFTER_MTS_GAPS - 630)) | (1L << (SQL_BEFORE_GTIDS - 630)) | (1L << (SQL_BUFFER_RESULT - 630)) | (1L << (SQL_NO_CACHE - 630)) | (1L << (SQL_THREAD - 630)) | (1L << (SRID - 630)) | (1L << (STACKED - 630)) | (1L << (START - 630)) | (1L << (STARTS - 630)) | (1L << (STATS_AUTO_RECALC - 630)) | (1L << (STATS_PERSISTENT - 630)) | (1L << (STATS_SAMPLE_PAGES - 630)) | (1L << (STATUS - 630)) | (1L << (STOP - 630)) | (1L << (STORAGE - 630)) | (1L << (STREAM - 630)) | (1L << (STRING - 630)) | (1L << (SUBCLASS_ORIGIN - 630)) | (1L << (SUBJECT - 630)) | (1L << (SUBPARTITION - 630)) | (1L << (SUBPARTITIONS - 630)) | (1L << (SUPER - 630)) | (1L << (SUSPEND - 630)) | (1L << (SWAPS - 630)) | (1L << (SWITCHES - 630)) | (1L << (TABLES - 630)) | (1L << (TABLESPACE - 630)) | (1L << (TABLE_CHECKSUM - 630)) | (1L << (TABLE_NAME - 630)) | (1L << (TEMPORARY - 630)) | (1L << (TEMPTABLE - 630)) | (1L << (TEXT - 630)) | (1L << (THAN - 630)) | (1L << (THREAD_PRIORITY - 630)) | (1L << (TIES - 630)))) != 0) || ((((_la - 694)) & ~0x3f) == 0 && ((1L << (_la - 694)) & ((1L << (TIME - 694)) | (1L << (TIMESTAMP - 694)) | (1L << (TIMESTAMP_ADD - 694)) | (1L << (TIMESTAMP_DIFF - 694)) | (1L << (TLS - 694)) | (1L << (TRANSACTION - 694)) | (1L << (TRIGGERS - 694)) | (1L << (TRUNCATE - 694)) | (1L << (TYPE - 694)) | (1L << (TYPES - 694)) | (1L << (UNBOUNDED - 694)) | (1L << (UNCOMMITTED - 694)) | (1L << (UNDEFINED - 694)) | (1L << (UNDOFILE - 694)) | (1L << (UNDO_BUFFER_SIZE - 694)) | (1L << (UNICODE - 694)) | (1L << (UNINSTALL - 694)) | (1L << (UNKNOWN - 694)) | (1L << (UNTIL - 694)) | (1L << (UPGRADE - 694)) | (1L << (USER - 694)) | (1L << (USER_RESOURCES - 694)) | (1L << (USE_FRM - 694)) | (1L << (UTC_DATE - 694)) | (1L << (UTC_TIME - 694)) | (1L << (UTC_TIMESTAMP - 694)) | (1L << (VALIDATION - 694)) | (1L << (VALUE - 694)) | (1L << (VARIABLES - 694)) | (1L << (VCPU - 694)) | (1L << (VIEW - 694)) | (1L << (VISIBLE - 694)) | (1L << (WAIT - 694)) | (1L << (WARNINGS - 694)) | (1L << (WEEK - 694)) | (1L << (WEIGHT_STRING - 694)) | (1L << (WITHOUT - 694)))) != 0) || ((((_la - 758)) & ~0x3f) == 0 && ((1L << (_la - 758)) & ((1L << (WORK - 758)) | (1L << (WRAPPER - 758)) | (1L << (X509 - 758)) | (1L << (XA - 758)) | (1L << (XID - 758)) | (1L << (XML - 758)) | (1L << (YEAR - 758)) | (1L << (DOUBLE_QUOTED_TEXT - 758)) | (1L << (UNDERSCORE_CHARSET - 758)) | (1L << (IDENTIFIER_ - 758)))) != 0)) {
{
setState(3344);
labelName();
setState(3345);
match(COLON_);
}
}
setState(3349);
match(REPEAT);
setState(3351);
_errHandler.sync(this);
_alt = 1;
do {
switch (_alt) {
case 1:
{
{
setState(3350);
validStatement();
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(3353);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,357,_ctx);
} while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER );
setState(3355);
match(UNTIL);
setState(3356);
expr(0);
setState(3357);
match(END);
setState(3358);
match(REPEAT);
setState(3360);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,358,_ctx) ) {
case 1:
{
setState(3359);
labelName();
}
break;
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ReturnStatementContext extends ParserRuleContext {
public TerminalNode RETURN() { return getToken(MySQLStatementParser.RETURN, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public ReturnStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_returnStatement; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof MySQLStatementVisitor ) return ((MySQLStatementVisitor extends T>)visitor).visitReturnStatement(this);
else return visitor.visitChildren(this);
}
}
public final ReturnStatementContext returnStatement() throws RecognitionException {
ReturnStatementContext _localctx = new ReturnStatementContext(_ctx, getState());
enterRule(_localctx, 246, RULE_returnStatement);
try {
enterOuterAlt(_localctx, 1);
{
setState(3362);
match(RETURN);
setState(3363);
expr(0);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class WhileStatementContext extends ParserRuleContext {
public List