DBZ-1691 Support for SIGNAL statement
This commit is contained in:
parent
88e280d89e
commit
dfb91b779e
@ -175,6 +175,7 @@ SELECT: 'SELECT';
|
||||
SET: 'SET';
|
||||
SEPARATOR: 'SEPARATOR';
|
||||
SHOW: 'SHOW';
|
||||
SIGNAL: 'SIGNAL';
|
||||
SPATIAL: 'SPATIAL';
|
||||
SQL: 'SQL';
|
||||
SQLEXCEPTION: 'SQLEXCEPTION';
|
||||
@ -343,12 +344,14 @@ CHANNEL: 'CHANNEL';
|
||||
CHECKSUM: 'CHECKSUM';
|
||||
PAGE_CHECKSUM: 'PAGE_CHECKSUM';
|
||||
CIPHER: 'CIPHER';
|
||||
CLASS_ORIGIN: 'CLASS_ORIGIN';
|
||||
CLIENT: 'CLIENT';
|
||||
CLOSE: 'CLOSE';
|
||||
COALESCE: 'COALESCE';
|
||||
CODE: 'CODE';
|
||||
COLUMNS: 'COLUMNS';
|
||||
COLUMN_FORMAT: 'COLUMN_FORMAT';
|
||||
COLUMN_NAME: 'COLUMN_NAME';
|
||||
COMMENT: 'COMMENT';
|
||||
COMMIT: 'COMMIT';
|
||||
COMPACT: 'COMPACT';
|
||||
@ -358,6 +361,9 @@ COMPRESSION: 'COMPRESSION';
|
||||
CONCURRENT: 'CONCURRENT';
|
||||
CONNECTION: 'CONNECTION';
|
||||
CONSISTENT: 'CONSISTENT';
|
||||
CONSTRAINT_CATALOG: 'CONSTRAINT_CATALOG';
|
||||
CONSTRAINT_SCHEMA: 'CONSTRAINT_SCHEMA';
|
||||
CONSTRAINT_NAME: 'CONSTRAINT_NAME';
|
||||
CONTAINS: 'CONTAINS';
|
||||
CONTEXT: 'CONTEXT';
|
||||
CONTRIBUTORS: 'CONTRIBUTORS';
|
||||
@ -473,6 +479,7 @@ MAX_UPDATES_PER_HOUR: 'MAX_UPDATES_PER_HOUR';
|
||||
MAX_USER_CONNECTIONS: 'MAX_USER_CONNECTIONS';
|
||||
MEDIUM: 'MEDIUM';
|
||||
MERGE: 'MERGE';
|
||||
MESSAGE_TEXT: 'MESSAGE_TEXT';
|
||||
MID: 'MID';
|
||||
MIGRATE: 'MIGRATE';
|
||||
MIN_ROWS: 'MIN_ROWS';
|
||||
@ -480,6 +487,7 @@ MODE: 'MODE';
|
||||
MODIFY: 'MODIFY';
|
||||
MUTEX: 'MUTEX';
|
||||
MYSQL: 'MYSQL';
|
||||
MYSQL_ERRNO: 'MYSQL_ERRNO';
|
||||
NAME: 'NAME';
|
||||
NAMES: 'NAMES';
|
||||
NCHAR: 'NCHAR';
|
||||
@ -582,12 +590,14 @@ STATUS: 'STATUS';
|
||||
STOP: 'STOP';
|
||||
STORAGE: 'STORAGE';
|
||||
STRING: 'STRING';
|
||||
SUBCLASS_ORIGIN: 'SUBCLASS_ORIGIN';
|
||||
SUBJECT: 'SUBJECT';
|
||||
SUBPARTITION: 'SUBPARTITION';
|
||||
SUBPARTITIONS: 'SUBPARTITIONS';
|
||||
SUSPEND: 'SUSPEND';
|
||||
SWAPS: 'SWAPS';
|
||||
SWITCHES: 'SWITCHES';
|
||||
TABLE_NAME: 'TABLE_NAME';
|
||||
TABLESPACE: 'TABLESPACE';
|
||||
TEMPORARY: 'TEMPORARY';
|
||||
TEMPTABLE: 'TEMPTABLE';
|
||||
@ -762,6 +772,7 @@ BIN: 'BIN';
|
||||
BIT_COUNT: 'BIT_COUNT';
|
||||
BIT_LENGTH: 'BIT_LENGTH';
|
||||
BUFFER: 'BUFFER';
|
||||
CATALOG_NAME: 'CATALOG_NAME';
|
||||
CEIL: 'CEIL';
|
||||
CEILING: 'CEILING';
|
||||
CENTROID: 'CENTROID';
|
||||
@ -927,6 +938,7 @@ SESSION_USER: 'SESSION_USER';
|
||||
SHA: 'SHA';
|
||||
SHA1: 'SHA1';
|
||||
SHA2: 'SHA2';
|
||||
SCHEMA_NAME: 'SCHEMA_NAME';
|
||||
SIGN: 'SIGN';
|
||||
SIN: 'SIN';
|
||||
SLEEP: 'SLEEP';
|
||||
|
@ -115,7 +115,7 @@ administrationStatement
|
||||
|
||||
utilityStatement
|
||||
: simpleDescribeStatement | fullDescribeStatement
|
||||
| helpStatement | useStatement
|
||||
| helpStatement | useStatement | signalStatement
|
||||
;
|
||||
|
||||
|
||||
@ -1838,6 +1838,26 @@ useStatement
|
||||
: USE uid
|
||||
;
|
||||
|
||||
signalStatement
|
||||
: SIGNAL ( ( SQLSTATE VALUE? stringLiteral ) | ID | REVERSE_QUOTE_ID )
|
||||
( SET signalConditionInformation ( ',' signalConditionInformation)* )?
|
||||
;
|
||||
|
||||
signalConditionInformation
|
||||
: ( CLASS_ORIGIN
|
||||
| SUBCLASS_ORIGIN
|
||||
| MESSAGE_TEXT
|
||||
| MYSQL_ERRNO
|
||||
| CONSTRAINT_CATALOG
|
||||
| CONSTRAINT_SCHEMA
|
||||
| CONSTRAINT_NAME
|
||||
| CATALOG_NAME
|
||||
| SCHEMA_NAME
|
||||
| TABLE_NAME
|
||||
| COLUMN_NAME
|
||||
) '=' ( stringLiteral | DECIMAL_LITERAL )
|
||||
;
|
||||
|
||||
// details
|
||||
|
||||
describeObjectClause
|
||||
@ -2377,10 +2397,12 @@ keywordsCanBeId
|
||||
| AT | AUTHORS | AUTOCOMMIT | AUTOEXTEND_SIZE
|
||||
| AUTO_INCREMENT | AVG_ROW_LENGTH | BEGIN | BINLOG | BIT
|
||||
| BLOCK | BOOL | BOOLEAN | BTREE | CACHE | CASCADED | CHAIN | CHANGED
|
||||
| CHANNEL | CHECKSUM | PAGE_CHECKSUM | CIPHER | CLIENT | CLOSE | COALESCE | CODE
|
||||
| COLUMNS | COLUMN_FORMAT | COMMENT | COMMIT | COMPACT
|
||||
| CHANNEL | CHECKSUM | PAGE_CHECKSUM | CATALOG_NAME | CIPHER
|
||||
| CLASS_ORIGIN | CLIENT | CLOSE | COALESCE | CODE
|
||||
| COLUMNS | COLUMN_FORMAT | COLUMN_NAME | COMMENT | COMMIT | COMPACT
|
||||
| COMPLETION | COMPRESSED | COMPRESSION | CONCURRENT
|
||||
| CONNECTION | CONSISTENT | CONTAINS | CONTEXT
|
||||
| CONNECTION | CONSISTENT | CONSTRAINT_CATALOG | CONSTRAINT_NAME
|
||||
| CONSTRAINT_SCHEMA | CONTAINS | CONTEXT
|
||||
| CONTRIBUTORS | COPY | CPU | DATA | DATAFILE | DEALLOCATE
|
||||
| DEFAULT_AUTH | DEFINER | DELAY_KEY_WRITE | DES_KEY_FILE | DIRECTORY
|
||||
| DISABLE | DISCARD | DISK | DO | DUMPFILE | DUPLICATE
|
||||
@ -2404,8 +2426,9 @@ keywordsCanBeId
|
||||
| MASTER_TLS_VERSION | MASTER_USER
|
||||
| MAX_CONNECTIONS_PER_HOUR | MAX_QUERIES_PER_HOUR
|
||||
| MAX_ROWS | MAX_SIZE | MAX_UPDATES_PER_HOUR
|
||||
| MAX_USER_CONNECTIONS | MEDIUM | MEMORY | MERGE | MID | MIGRATE
|
||||
| MIN_ROWS | MODE | MODIFY | MUTEX | MYSQL | NAME | NAMES
|
||||
| MAX_USER_CONNECTIONS | MEDIUM | MEMORY | MERGE | MESSAGE_TEXT
|
||||
| MID | MIGRATE
|
||||
| MIN_ROWS | MODE | MODIFY | MUTEX | MYSQL | MYSQL_ERRNO | NAME | NAMES
|
||||
| NCHAR | NEVER | NEXT | NO | NODEGROUP | NONE | OFFLINE | OFFSET
|
||||
| OJ | OLD_PASSWORD | ONE | ONLINE | ONLY | OPEN | OPTIMIZER_COSTS
|
||||
| OPTIONS | OWNER | PACK_KEYS | PAGE | PARSER | PARTIAL
|
||||
@ -2419,15 +2442,15 @@ keywordsCanBeId
|
||||
| REPLICATE_REWRITE_DB | REPLICATE_WILD_DO_TABLE
|
||||
| REPLICATE_WILD_IGNORE_TABLE | REPLICATION | RESET | RESUME
|
||||
| RETURNS | ROLLBACK | ROLLUP | ROTATE | ROW | ROWS
|
||||
| ROW_FORMAT | SAVEPOINT | SCHEDULE | SECURITY | SERIAL | SERVER
|
||||
| ROW_FORMAT | SAVEPOINT | SCHEDULE | SCHEMA_NAME | SECURITY | SERIAL | SERVER
|
||||
| SESSION | SHARE | SHARED | SIGNED | SIMPLE | SLAVE
|
||||
| SLOW | SNAPSHOT | SOCKET | SOME | SONAME | SOUNDS | SOURCE
|
||||
| SQL_AFTER_GTIDS | SQL_AFTER_MTS_GAPS | SQL_BEFORE_GTIDS
|
||||
| SQL_BUFFER_RESULT | SQL_CACHE | SQL_NO_CACHE | SQL_THREAD
|
||||
| START | STARTS | STATS_AUTO_RECALC | STATS_PERSISTENT
|
||||
| STATS_SAMPLE_PAGES | STATUS | STOP | STORAGE | STRING
|
||||
| SUBJECT | SUBPARTITION | SUBPARTITIONS | SUSPEND | SWAPS
|
||||
| SWITCHES | TABLESPACE | TEMPORARY | TEMPTABLE | THAN | TRADITIONAL
|
||||
| SUBCLASS_ORIGIN | SUBJECT | SUBPARTITION | SUBPARTITIONS | SUSPEND | SWAPS
|
||||
| SWITCHES | TABLE_NAME | TABLESPACE | TEMPORARY | TEMPTABLE | THAN | TRADITIONAL
|
||||
| TRANSACTION | TRIGGERS | TRUNCATE | UNDEFINED | UNDOFILE
|
||||
| UNDO_BUFFER_SIZE | UNINSTALL | UNKNOWN | UNTIL | UPGRADE | USER | USE_FRM | USER_RESOURCES
|
||||
| VALIDATION | VALUE | VARIABLES | VIEW | WAIT | WARNINGS | WITHOUT
|
||||
|
@ -33,3 +33,11 @@ select *, sqrt(a), lower(substring(str, 'a', length(str)/2)) as col3 from tab1 w
|
||||
INSERT INTO geom VALUES (GeomFromWKB(0x0101000000000000000000F03F000000000000F03F));
|
||||
select y(point(1.25, 3.47)) as y, x(point(1.25, 3.47)) as x;
|
||||
#end
|
||||
#begin
|
||||
-- Signal tests
|
||||
SIGNAL SQLSTATE '06660' SET MESSAGE_TEXT = 'Database is in read-only mode!';
|
||||
SIGNAL specialty SET MESSAGE_TEXT = 'An error occurred';
|
||||
SIGNAL SQLSTATE '01000' SET MESSAGE_TEXT = 'A warning occurred', MYSQL_ERRNO = 1000;
|
||||
SIGNAL SQLSTATE '77777';
|
||||
SIGNAL divide_by_zero;
|
||||
#end
|
||||
|
Loading…
Reference in New Issue
Block a user