Melt Grammar Rules
: sql ';'
| sql_list sql ';'
: NOT NULLX
| IDENTITY
| NOT NULLX PRIMARY KEY opt_index_option_list
| DEFAULT literal
: DROP INDEX NAME opt_table
: /* empty */
: ALTER TABLE q_table_name ADD opt_col_add_column add_col_column_def_list
| ALTER TABLE q_table_name DROP opt_col_add_column add_col_column_list
| ALTER TABLE q_table_name MODIFY opt_col_add_column column_def
: /* empty */
| WITH CHECK OPTION
: /* empty */
| '(' column_commalist ')'
: REVOKE ALL PRIVILEGES FROM grantee_commalist
: /* empty */
| WITH GRANT OPTION
: /* empty */
| WITH ADMIN OPTION
: ALL PRIVILEGES
| ALL
| INSERT
| DELETE
| EXECUTE
: PUBLIC
| user
: SET PASSWORD NAME NAME
: CREATE USER user
| CREATE ROLE user
: DELETE USER user [CASCADE]
| DROP ROLE user
: SET USER GROUP user user
: /* empty */
| ASC
| DESC
: USE NAME
: DELETE FROM table WHERE CURRENT OF cursor
: /* empty */
: /* empty */
| FOR UPDATE
: /* empty */
| ESCAPE atom
| BEGINX ESCAPE atom ENDX
: column_ref IS NOT NULLX
| column_ref IS NULLX
: ANY
| ALL
| SOME
: CONVERT '(' data_type ',' scalar_exp ')'
| BEGIN_FN_X NAME '(' opt_scalar_exp_commalist ')' ENDX
| BEGIN_FN_X USER '(' opt_scalar_exp_commalist ')' ENDX
| BEGIN_FN_X CHARACTER '(' opt_scalar_exp_commalist ')' ENDX
| CALL '(' scalar_exp ')' '(' opt_scalar_exp_commalist ')'
: AMMSC '(' '*' ')'
| AMMSC '(' DISTINCT scalar_exp ')'
| AMMSC '(' ALL scalar_exp ')'
| AMMSC '(' scalar_exp ')'
: STRING
| INTNUM
| APPROXNUM
| NULLX
: NAME
| NAME '.' NAME
| NAME '.' NAME '.' NAME
| NAME '.' '.' NAME
: NAME
| NAME '.' NAME
| NAME '.' NAME '.' NAME
| NAME '.' '.' NAME
: NAME
| NAME '.' NAME
| NAME '.' NAME '.' NAME
| NAME '.' NAME '.' NAME '.' NAME
| NAME '.' '.' NAME '.' NAME
| '*'
| NAME '.' '*'
| NAME '.' NAME '.' '*'
| NAME '.' NAME '.' NAME '.' '*'
| NAME '.' '.' NAME '.' '*'
: CHARACTER
| VARCHAR
| VARCHAR '(' INTNUM ')'
| CHARACTER '(' INTNUM ')'
| NUMERIC
| NUMERIC '(' INTNUM ')'
| NUMERIC '(' INTNUM ',' INTNUM ')'
| DECIMAL
| DECIMAL '(' INTNUM ')'
| DECIMAL '(' INTNUM ',' INTNUM ')'
| INTEGER
| SMALLINT
| FLOAT
| FLOAT '(' INTNUM ')'
| REAL
| DOUBLE PRECISION
| LONG VARCHAR
| LONG VARBINARY
| TIMESTAMP
| DATETIME
| TIME
| DATE
| OWNER
: NAME
: NAME
: NAME
: PARAMETER
: NAME
: CHECKPOINT opt_log
| SHUTDOWN opt_log
| SET REPLICATION atom
| LOG OFF
| LOG ON
: FUNCTION
| PROCEDURE
: /* empty */
| RETURNS data_type
: IN
| OUT
| INOUT
: NAME
| variable_list ',' NAME
: WHENEVER condition GOTO NAME
| WHENEVER condition GO TO NAME
: /* empty */
| ELSE statement
: GOTO NAME
| GO TO NAME
: RETURN scalar_exp
| RETURN
: BEFORE
| AFTER
: INSERT
| UPDATE
| DELETE
: /* empty */
| REFERENCING old_commalist
: OLD AS NAME
| NEW AS NAME
: DROP TRIGGER q_table_name
: DECLARE NAME CURSOR FOR query_spec
: INTO
| REPLACING
| SOFT
: /* empty */
| ALL
| DISTINCT
: /* empty */
| OUTER
: LEFT
: BEGINX NAME atom ENDX
: /* empty */
: NOT FOUND
| SQLSTATE STRING
: CLUSTERED
| UNIQUE
: EXCLUSIVE
| PREFETCH INTNUM
'Used-In' Rules
':' is used in these productions:
'/' is used in these productions:
'.' is used in these productions:
'-' is used in these productions:
'*' is used in these productions:
'+' is used in these productions:
[CASCADE] is used in these productions:
%prec is used in these productions:
ADD is used in these productions:
ADMIN is used in these productions:
AFTER is used in these productions:
ALTER is used in these productions:
AMMSC is used in these productions:
AND is used in these productions:
ANY is used in these productions:
APPROXNUM is used in these productions:
AS is used in these productions:
ASC is used in these productions:
BEFORE is used in these productions:
BEGIN_FN_X is used in these productions:
BEGIN_OJ_X is used in these productions:
BEGINX is used in these productions:
BETWEEN is used in these productions:
BY is used in these productions:
CALL is used in these productions:
CHARACTER is used in these productions:
CHECK is used in these productions:
CHECKPOINT is used in these productions:
CLOSE is used in these productions:
CLUSTERED is used in these productions:
commit_statement is used in these productions:
COMPARISON is used in these productions:
CONVERT is used in these productions:
CURRENT is used in these productions:
CURSOR is used in these productions:
DATE is used in these productions:
DATETIME is used in these productions:
DECIMAL is used in these productions:
DECLARE is used in these productions:
DEFAULT is used in these productions:
DESC is used in these productions:
DISTINCT is used in these productions:
DOUBLE is used in these productions:
ELSE is used in these productions:
EQUALS is used in these productions:
ESCAPE is used in these productions:
EXCLUSIVE is used in these productions:
EXECUTE is used in these productions:
EXISTS is used in these productions:
FETCH is used in these productions:
FLOAT is used in these productions:
FOR is used in these productions:
FOREIGN is used in these productions:
FOUND is used in these productions:
FUNCTION is used in these productions:
GO is used in these productions:
GOTO is used in these productions:
GRANT is used in these productions:
GROUP is used in these productions:
HAVING is used in these productions:
IDENTITY is used in these productions:
IF is used in these productions:
IN is used in these productions:
INDEX is used in these productions:
INDICATOR is used in these productions:
INOUT is used in these productions:
INSERT is used in these productions:
INTEGER is used in these productions:
INTNUM is used in these productions:
INTO is used in these productions:
IS is used in these productions:
JOIN is used in these productions:
KEY is used in these productions:
LEFT is used in these productions:
LIKE is used in these productions:
LOG is used in these productions:
LONG is used in these productions:
MODIFY is used in these productions:
NEW is used in these productions:
NULLX is used in these productions:
NUMERIC is used in these productions:
OF is used in these productions:
OFF is used in these productions:
OLD is used in these productions:
OPEN is used in these productions:
opt_col_add_column is used in these productions:
OR is used in these productions:
ORDER is used in these productions:
OUT is used in these productions:
OUTER is used in these productions:
OWNER is used in these productions:
PARAMETER is used in these productions:
PASSWORD is used in these productions:
PRECISION is used in these productions:
PREFETCH is used in these productions:
PRIMARY is used in these productions:
PRIVILEGES is used in these productions:
PROCEDURE is used in these productions:
PUBLIC is used in these productions:
REAL is used in these productions:
REFERENCES is used in these productions:
REFERENCING is used in these productions:
RENAME is used in these productions:
REPLACING is used in these productions:
REPLICATION is used in these productions:
RETURN is used in these productions:
RETURNS is used in these productions:
REVOKE is used in these productions:
ROLE is used in these productions:
SELECT is used in these productions:
SHUTDOWN is used in these productions:
SMALLINT is used in these productions:
SOFT is used in these productions:
SOME is used in these productions:
SQLSTATE is used in these productions:
STRING is used in these productions:
TABLE is used in these productions:
TIME is used in these productions:
TIMESTAMP is used in these productions:
TO is used in these productions:
TRIGGER is used in these productions:
UMINUS is used in these productions:
UNDER is used in these productions:
UNION is used in these productions:
UNIQUE is used in these productions:
USE is used in these productions:
VALUES is used in these productions:
VARBINARY is used in these productions:
VARCHAR is used in these productions:
VIEW is used in these productions:
WHENEVER is used in these productions:
WHILE is used in these productions: