2174 lines
45 KiB
Python
Executable File
2174 lines
45 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
# description:
|
|
class SqlKeywords:
|
|
reserved_92 = '''
|
|
ABSOLUTE ACTION ADD ALL ALLOCATE ALTER AND ANY ARE
|
|
AS ASC ASSERTION AT AUTHORIZATION AVG
|
|
BEGIN BETWEEN BIT BIT_LENGTH BOTH BY
|
|
CASCADE CASCADED CASE CAST CATALOG CHAR CHARACTER CHARACTER_LENGTH
|
|
CHAR_LENGTH CHECK CLOSE COALESCE COLLATE COLLATION COLUMN COMMIT
|
|
CONNECT CONNECTION CONSTRAINT CONSTRAINTS CONTINUE CONVERT CORRESPONDING
|
|
CREATE CROSS CURRENT CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURSOR
|
|
DATABASE DATE DAY DEALLOCATE DEC DECIMAL DECLARE DEFAULT
|
|
DEFERRABLE DEFERRED DELETE DESC DESCRIBE DESCRIPTOR DIAGNOSTICS
|
|
DISCONNECT DISTINCT DOMAIN DOUBLE DROP
|
|
ELSE END END-EXEC ESCAPE EXCEPT EXCEPTION EXEC EXECUTE EXISTS EXTERNAL EXTRACT
|
|
FALSE FETCH FIRST FLOAT FOR FOREIGN FOUND FROM FULL
|
|
GET GLOBAL GO GOTO GRANT GROUP
|
|
HAVING HOUR
|
|
IDENTITY IMMEDIATE IN INDICATOR INITIALLY INNER INPUT INSENSITIVE
|
|
INSERT INT INTEGER INTERSECT INTERVAL INTO IS ISOLATION
|
|
JOIN
|
|
KEY
|
|
LANGUAGE LAST LEADING LEFT LEVEL LIKE LOCAL LOWER
|
|
MATCH MAX MIN MINUTE MODULE MONTH
|
|
NAMES NATIONAL NATURAL NCHAR NEXT NO NOT NULL NULLIF NUMERIC
|
|
OCTET_LENGTH OF ON ONLY OPEN OPTION OR ORDER OUTER OUTPUT OVERLAPS
|
|
PAD PARTIAL POSITION PRECISION PREPARE PRESERVE PRIMARY PRIOR PRIVILEGES PROCEDURE PUBLIC
|
|
READ REAL REFERENCES REGION RELATIVE RESTRICT REVOKE RIGHT ROLLBACK ROWS
|
|
SCHEMA SCROLL SECOND SECTION SELECT SESSION SESSION_USER SET
|
|
SIZE SMALLINT SOME SPACE SQL SQLCODE SQLERROR SQLSTATE SUBSTRING SUM SYSTEM_USER
|
|
TABLE TEMPORARY THEN TIME TIMESTAMP TIMEZONE_HOUR TIMEZONE_MINUTE
|
|
TO TRAILING TRANSACTION TRANSLATE TRANSLATION TRIM TRUE
|
|
UNION UNIQUE UNKNOWN UPDATE UPPER USAGE USER USING
|
|
VALUE VALUES VARCHAR VARYING VIEW
|
|
WHEN WHENEVER WHERE WITH WORK WRITE
|
|
YEAR
|
|
ZONE'''
|
|
non_reserved_92 = '''
|
|
ADA
|
|
C CATALOG_NAME CHARACTER_SET_CATALOG CHARACTER_SET_NAME CHARACTER_SET_SCHEMA
|
|
CLASS_ORIGIN COBOL COLLATION_CATALOG COLLATION_NAME COLLATION_SCHEMA
|
|
COLUMN_NAME COMMAND_FUNCTION COMMITTED CONDITION_NUMBER CONNECTION_NAME
|
|
CONSTRAINT_CATALOG CONSTRAINT_NAME CONSTRAINT_SCHEMA CURSOR_NAME
|
|
DATA DATETIME_INTERVAL_CODE DATETIME_INTERVAL_PRECISION DYNAMIC_FUNCTION
|
|
FORTRAN
|
|
LENGTH
|
|
MESSAGE_LENGTH MESSAGE_OCTET_LENGTH MESSAGE_TEXT MORE MUMPS
|
|
NAME NULLABLE NUMBER
|
|
PASCAL PLI
|
|
REPEATABLE RETURNED_LENGTH RETURNED_OCTET_LENGTH RETURNED_SQLSTATE ROW_COUNT
|
|
SCALE SCHEMA_NAME SERIALIZABLE SERVER_NAME SUBCLASS_ORIGIN
|
|
TABLE_NAME TYPE
|
|
UNCOMMITTED UNNAMED'''
|
|
reserved_99 = '''
|
|
ABSOLUTE ACTION ADD AFTER ALL ALLOCATE ALTER AND ANY ARE
|
|
ARRAY AS ASC ASSERTION AT AUTHORIZATION
|
|
BEFORE BEGIN BETWEEN BINARY BIT BLOB BOOLEAN BOTH
|
|
BREADTH BY
|
|
CALL CASCADE CASCADED CASE CAST CATALOG CHAR CHARACTER
|
|
CHECK CLOB CLOSE COLLATE COLLATION COLUMN COMMIT
|
|
CONDITION CONNECT CONNECTION CONSTRAINT CONSTRAINTS
|
|
CONSTRUCTOR CONTINUE CORRESPONDING CREATE CROSS CUBE
|
|
CURRENT CURRENT_DATE CURRENT_DEFAULT_TRANSFORM_GROUP
|
|
CURRENT_TRANSFORM_GROUP_FOR_TYPE CURRENT_PATH CURRENT_ROLE
|
|
CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURSOR CYCLE
|
|
DATA DATE DAY DEALLOCATE DEC DECIMAL DECLARE DEFAULT
|
|
DEFERRABLE DEFERRED DELETE DEPTH DEREF DESC
|
|
DESCRIBE DESCRIPTOR DETERMINISTIC
|
|
DIAGNOSTICS DISCONNECT DISTINCT DO DOMAIN DOUBLE
|
|
DROP DYNAMIC
|
|
EACH ELSE ELSEIF END END-EXEC EQUALS ESCAPE EXCEPT
|
|
EXCEPTION EXEC EXECUTE EXISTS EXIT EXTERNAL
|
|
FALSE FETCH FIRST FLOAT FOR FOREIGN FOUND FROM FREE
|
|
FULL FUNCTION
|
|
GENERAL GET GLOBAL GO GOTO GRANT GROUP GROUPING
|
|
HANDLE HAVING HOLD HOUR
|
|
IDENTITY IF IMMEDIATE IN INDICATOR
|
|
INITIALLY INNER INOUT INPUT INSERT INT INTEGER
|
|
INTERSECT INTERVAL INTO IS ISOLATION
|
|
JOIN
|
|
KEY
|
|
LANGUAGE LARGE LAST LATERAL LEADING LEAVE LEFT
|
|
LEVEL LIKE LOCAL LOCALTIME LOCALTIMESTAMP LOCATOR LOOP
|
|
MAP MATCH METHOD MINUTE MODIFIES MODULE MONTH
|
|
NAMES NATIONAL NATURAL NCHAR NCLOB NESTING NEW NEXT
|
|
NO NONE NOT NULL NUMERIC
|
|
OBJECT OF OLD ON ONLY OPEN OPTION
|
|
OR ORDER ORDINALITY OUT OUTER OUTPUT OVERLAPS
|
|
PAD PARAMETER PARTIAL PATH PRECISION
|
|
PREPARE PRESERVE PRIMARY PRIOR PRIVILEGES PROCEDURE PUBLIC
|
|
READ READS REAL RECURSIVE REDO REF REFERENCES REFERENCING
|
|
REGION RELATIVE RELEASE REPEAT RESIGNAL RESTRICT RESULT RETURN
|
|
RETURNS REVOKE RIGHT ROLE ROLLBACK ROLLUP ROUTINE
|
|
ROW ROWS
|
|
SAVEPOINT SCHEMA SCROLL SEARCH SECOND SECTION SELECT
|
|
SESSION SESSION_USER SET SETS SIGNAL SIMILAR SIZE
|
|
SMALLINT SOME SPACE SPECIFIC SPECIFICTYPE SQL SQLEXCEPTION
|
|
SQLSTATE SQLWARNING START STATE STATIC SYSTEM_USER
|
|
TABLE TEMPORARY THEN TIME TIMESTAMP
|
|
TIMEZONE_HOUR TIMEZONE_MINUTE TO TRAILING TRANSACTION
|
|
TRANSLATION TREAT TRIGGER TRUE
|
|
UNDER UNDO UNION UNIQUE UNKNOWN UNNEST UNTIL UPDATE
|
|
USAGE USER USING
|
|
VALUE VALUES VARCHAR VARYING VIEW
|
|
WHEN WHENEVER WHERE WHILE WITH WITHOUT WORK WRITE
|
|
YEAR
|
|
ZONE'''
|
|
non_reserved_99 = '''
|
|
ABS ADA ADMIN ASENSITIVE ASSIGNMENT ASYMMETRIC ATOMIC
|
|
ATTRIBUTE AVG
|
|
BIT_LENGTH
|
|
C CALLED CARDINALITY CATALOG_NAME CHAIN CHAR_LENGTH
|
|
CHARACTERISTICS CHARACTER_LENGTH CHARACTER_SET_CATALOG
|
|
CHARACTER_SET_NAME CHARACTER_SET_SCHEMA CHECKED CLASS_ORIGIN
|
|
COALESCE COBOL COLLATION_CATALOG COLLATION_NAME COLLATION_SCHEMA
|
|
COLUMN_NAME COMMAND_FUNCTION COMMAND_FUNCTION_CODE COMMITTED
|
|
CONDITION_IDENTIFIER CONDITION_NUMBER CONNECTION_NAME
|
|
CONSTRAINT_CATALOG CONSTRAINT_NAME CONSTRAINT_SCHEMA CONTAINS
|
|
CONVERT COUNT CURSOR_NAME
|
|
DATETIME_INTERVAL_CODE DATETIME_INTERVAL_PRECISION DEFINED
|
|
DEFINER DEGREE DERIVED DISPATCH
|
|
EVERY EXTRACT
|
|
FINAL FORTRAN
|
|
G GENERATED GRANTED
|
|
HIERARCHY
|
|
IMPLEMENTATION INSENSITIVE INSTANCE INSTANTIABLE INVOKER
|
|
K KEY_MEMBER KEY_TYPE
|
|
LENGTH LOWER
|
|
M MAX MIN MESSAGE_LENGTH MESSAGE_OCTET_LENGTH MESSAGE_TEXT
|
|
MOD MORE MUMPS
|
|
NAME NULLABLE NUMBER NULLIF
|
|
OCTET_LENGTH ORDERING OPTIONS OVERLAY OVERRIDING
|
|
PASCAL PARAMETER_MODE PARAMETER_NAME
|
|
PARAMETER_ORDINAL_POSITION PARAMETER_SPECIFIC_CATALOG
|
|
PARAMETER_SPECIFIC_NAME PARAMETER_SPECIFIC_SCHEMA PLI POSITION
|
|
REPEATABLE RETURNED_CARDINALITY RETURNED_LENGTH
|
|
RETURNED_OCTET_LENGTH RETURNED_SQLSTATE ROUTINE_CATALOG
|
|
ROUTINE_NAME ROUTINE_SCHEMA ROW_COUNT
|
|
SCALE SCHEMA_NAME SCOPE SECURITY SELF SENSITIVE SERIALIZABLE
|
|
SERVER_NAME SIMPLE SOURCE SPECIFIC_NAME STATEMENT STRUCTURE
|
|
STYLE SUBCLASS_ORIGIN SUBSTRING SUM SYMMETRIC SYSTEM
|
|
TABLE_NAME TOP_LEVEL_COUNT TRANSACTIONS_COMMITTED
|
|
TRANSACTIONS_ROLLED_BACK TRANSACTION_ACTIVE TRANSFORM
|
|
TRANSFORMS TRANSLATE TRIGGER_CATALOG TRIGGER_SCHEMA
|
|
TRIGGER_NAME TRIM TYPE
|
|
UNCOMMITTED UNNAMED UPPER '''
|
|
non_reserved_03 = '''
|
|
A
|
|
ABS
|
|
ABSOLUTE
|
|
ACTION
|
|
ADA
|
|
ADMIN
|
|
AFTER
|
|
ALWAYS
|
|
ASC
|
|
ASSERTION
|
|
ASSIGNMENT
|
|
ATTRIBUTE
|
|
ATTRIBUTES
|
|
AVG
|
|
BEFORE
|
|
BERNOULLI
|
|
BREADTH
|
|
C
|
|
CARDINALITY
|
|
CASCADE
|
|
CATALOG
|
|
CATALOG_NAME
|
|
CEIL
|
|
CEILING
|
|
CHAIN
|
|
CHARACTERISTICS
|
|
CHARACTERS
|
|
CHARACTER_LENGTH
|
|
CHARACTER_SET_CATALOG
|
|
CHARACTER_SET_NAME
|
|
CHARACTER_SET_SCHEMA
|
|
CHAR_LENGTH
|
|
CHECKED
|
|
CLASS_ORIGIN
|
|
COALESCE
|
|
COBOL
|
|
CODE_UNITS
|
|
COLLATION
|
|
COLLATION_CATALOG
|
|
COLLATION_NAME
|
|
COLLATION_SCHEMA
|
|
COLLECT
|
|
COLUMN_NAME
|
|
COMMAND_FUNCTION
|
|
COMMAND_FUNCTION_CODE
|
|
COMMITTED
|
|
CONDITION
|
|
CONDITION_NUMBER
|
|
CONNECTION_NAME
|
|
CONSTRAINTS
|
|
CONSTRAINT_CATALOG
|
|
CONSTRAINT_NAME
|
|
CONSTRAINT_SCHEMA
|
|
CONSTRUCTORS
|
|
CONTAINS
|
|
CONVERT
|
|
CORR
|
|
COUNT
|
|
COVAR_POP
|
|
COVAR_SAMP
|
|
CUME_DIST
|
|
CURRENT_COLLATION
|
|
CURSOR_NAME
|
|
DATA
|
|
DATETIME_INTERVAL_CODE
|
|
DATETIME_INTERVAL_PRECISION
|
|
DEFAULTS
|
|
DEFERRABLE
|
|
DEFERRED
|
|
DEFINED
|
|
DEFINER
|
|
DEGREE
|
|
DENSE_RANK
|
|
DEPTH
|
|
DERIVED
|
|
DESC
|
|
DESCRIPTOR
|
|
DIAGNOSTICS
|
|
DISPATCH
|
|
DOMAIN
|
|
DYNAMIC_FUNCTION
|
|
DYNAMIC_FUNCTION_CODE
|
|
EQUALS
|
|
EVERY
|
|
EXCEPTION
|
|
EXCLUDE
|
|
EXCLUDING
|
|
EXP
|
|
EXTRACT
|
|
FINAL
|
|
FIRST
|
|
FIRST_VALUE
|
|
FLOOR
|
|
FOLLOWING
|
|
FORTRAN
|
|
FOUND
|
|
FUSION
|
|
G
|
|
GENERAL
|
|
GO
|
|
GOTO
|
|
GRANTED
|
|
HIERARCHY
|
|
IMPLEMENTATION
|
|
INCLUDING
|
|
INCREMENT
|
|
INITIALLY
|
|
INSTANCE
|
|
INSTANTIABLE
|
|
INTERSECTION
|
|
INVOKER
|
|
ISOLATION
|
|
K
|
|
KEY
|
|
KEY_MEMBER
|
|
KEY_TYPE
|
|
LAST
|
|
LAST_VALUE
|
|
LENGTH
|
|
LEVEL
|
|
LN
|
|
LOCATOR
|
|
LOWER
|
|
M
|
|
MAP
|
|
MATCHED
|
|
MAX
|
|
MAXVALUE
|
|
MESSAGE_LENGTH
|
|
MESSAGE_OCTET_LENGTH
|
|
MESSAGE_TEXT
|
|
MIN
|
|
MINVALUE
|
|
MOD
|
|
MORE
|
|
MUMPS
|
|
NAME
|
|
NAMES
|
|
NESTING
|
|
NEXT
|
|
NORMALIZE
|
|
NORMALIZED
|
|
NULLABLE
|
|
NULLIF
|
|
NULLS
|
|
NUMBER
|
|
OBJECT
|
|
OCTETS
|
|
OCTET_LENGTH
|
|
OPTION
|
|
OPTIONS
|
|
ORDERING
|
|
ORDINALITY
|
|
OTHERS
|
|
OVERLAY
|
|
OVERRIDING
|
|
PAD
|
|
PARAMETER_MODE
|
|
PARAMETER_NAME
|
|
PARAMETER_ORDINAL_POSITION
|
|
PARAMETER_SPECIFIC_CATALOG
|
|
PARAMETER_SPECIFIC_NAME
|
|
PARAMETER_SPECIFIC_SCHEMA
|
|
PARTIAL
|
|
PASCAL
|
|
PATH
|
|
PERCENTILE_CONT
|
|
PERCENTILE_DISC
|
|
PERCENT_RANK
|
|
PLACING
|
|
PLI
|
|
POSITION
|
|
POWER
|
|
PRECEDING
|
|
PRESERVE
|
|
PRIOR
|
|
PRIVILEGES
|
|
PUBLIC
|
|
RANK
|
|
READ
|
|
REGION
|
|
RELATIVE
|
|
REPEATABLE
|
|
RESTART
|
|
RETURNED_CARDINALITY
|
|
RETURNED_LENGTH
|
|
RETURNED_OCTET_LENGTH
|
|
RETURNED_SQLSTATE
|
|
ROLE
|
|
ROUTINE
|
|
ROUTINE_CATALOG
|
|
ROUTINE_NAME
|
|
ROUTINE_SCHEMA
|
|
ROW_COUNT
|
|
ROW_NUMBER
|
|
SCALE
|
|
SCHEMA
|
|
SCHEMA_NAME
|
|
SCOPE_CATALOG
|
|
SCOPE_NAME
|
|
SCOPE_SCHEMA
|
|
SECTION
|
|
SECURITY
|
|
SELF
|
|
SEQUENCE
|
|
SERIALIZABLE
|
|
SERVER_NAME
|
|
SESSION
|
|
SETS
|
|
SIMPLE
|
|
SIZE
|
|
SOURCE
|
|
SPACE
|
|
SPECIFIC_NAME
|
|
SQRT
|
|
STATE
|
|
STATEMENT
|
|
STDDEV_POP
|
|
STDDEV_SAMP
|
|
STRUCTURE
|
|
STYLE
|
|
SUBCLASS_ORIGIN
|
|
SUBSTRING
|
|
SUM
|
|
TABLESAMPLE
|
|
TABLE_NAME
|
|
TEMPORARY
|
|
TIES
|
|
TOP_LEVEL_COUNT
|
|
TRANSACTION
|
|
TRANSACTIONS_COMMITTED
|
|
TRANSACTIONS_ROLLED_BACK
|
|
TRANSACTION_ACTIVE
|
|
TRANSFORM
|
|
TRANSFORMS
|
|
TRANSLATE
|
|
TRIGGER_CATALOG
|
|
TRIGGER_NAME
|
|
TRIGGER_SCHEMA
|
|
TRIM
|
|
TYPE
|
|
UNBOUNDED
|
|
UNCOMMITTED
|
|
UNDER
|
|
UNNAMED
|
|
USAGE
|
|
USER_DEFINED_TYPE_CATALOG
|
|
USER_DEFINED_TYPE_CODE
|
|
USER_DEFINED_TYPE_NAME
|
|
USER_DEFINED_TYPE_SCHEMA
|
|
VIEW
|
|
WORK
|
|
WRITE
|
|
ZONE '''
|
|
reserved_03 = '''
|
|
ADD
|
|
ALL
|
|
ALLOCATE
|
|
ALTER
|
|
AND
|
|
ANY
|
|
ARE
|
|
ARRAY
|
|
AS
|
|
ASENSITIVE
|
|
ASYMMETRIC
|
|
AT
|
|
ATOMIC
|
|
AUTHORIZATION
|
|
BEGIN
|
|
BETWEEN
|
|
BIGINT
|
|
BINARY
|
|
BLOB
|
|
BOOLEAN
|
|
BOTH
|
|
BY
|
|
CALL
|
|
CALLED
|
|
CASCADED
|
|
CASE
|
|
CAST
|
|
CHAR
|
|
CHARACTER
|
|
CHECK
|
|
CLOB
|
|
CLOSE
|
|
COLLATE
|
|
COLUMN
|
|
COMMIT
|
|
CONNECT
|
|
CONSTRAINT
|
|
CONTINUE
|
|
CORRESPONDING
|
|
CREATE
|
|
CROSS
|
|
CUBE
|
|
CURRENT
|
|
CURRENT_DATE
|
|
CURRENT_DEFAULT_TRANSFORM_GROUP
|
|
CURRENT_PATH
|
|
CURRENT_ROLE
|
|
CURRENT_TIME
|
|
CURRENT_TIMESTAMP
|
|
CURRENT_TRANSFORM_GROUP_FOR_TYPE
|
|
CURRENT_USER
|
|
CURSOR
|
|
CYCLE
|
|
DATE
|
|
DAY
|
|
DEALLOCATE
|
|
DEC
|
|
DECIMAL
|
|
DECLARE
|
|
DEFAULT
|
|
DELETE
|
|
DEREF
|
|
DESCRIBE
|
|
DETERMINISTIC
|
|
DISCONNECT
|
|
DISTINCT
|
|
DOUBLE
|
|
DROP
|
|
DYNAMIC
|
|
EACH
|
|
ELEMENT
|
|
ELSE
|
|
END
|
|
END-EXEC
|
|
ESCAPE
|
|
EXCEPT
|
|
EXEC
|
|
EXECUTE
|
|
EXISTS
|
|
EXTERNAL
|
|
FALSE
|
|
FETCH
|
|
FILTER
|
|
FLOAT
|
|
FOR
|
|
FOREIGN
|
|
FREE
|
|
FROM
|
|
FULL
|
|
FUNCTION
|
|
GET
|
|
GLOBAL
|
|
GRANT
|
|
GROUP
|
|
GROUPING
|
|
HAVING
|
|
HOLD
|
|
HOUR
|
|
IDENTITY
|
|
IMMEDIATE
|
|
IN
|
|
INDICATOR
|
|
INNER
|
|
INOUT
|
|
INPUT
|
|
INSENSITIVE
|
|
INSERT
|
|
INT
|
|
INTEGER
|
|
INTERSECT
|
|
INTERVAL
|
|
INTO
|
|
IS
|
|
ISOLATION
|
|
JOIN
|
|
LANGUAGE
|
|
LARGE
|
|
LATERAL
|
|
LEADING
|
|
LEFT
|
|
LIKE
|
|
LOCAL
|
|
LOCALTIME
|
|
LOCALTIMESTAMP
|
|
MATCH
|
|
MEMBER
|
|
MERGE
|
|
METHOD
|
|
MINUTE
|
|
MODIFIES
|
|
MODULE
|
|
MONTH
|
|
MULTISET
|
|
NATIONAL
|
|
NATURAL
|
|
NCHAR
|
|
NCLOB
|
|
NEW
|
|
NO
|
|
NONE
|
|
NOT
|
|
NULL
|
|
NUMERIC
|
|
OF
|
|
OLD
|
|
ON
|
|
ONLY
|
|
OPEN
|
|
OR
|
|
ORDER
|
|
OUT
|
|
OUTER
|
|
OUTPUT
|
|
OVER
|
|
OVERLAPS
|
|
PARAMETER
|
|
PARTITION
|
|
PRECISION
|
|
PREPARE
|
|
PRIMARY
|
|
PROCEDURE
|
|
RANGE
|
|
READS
|
|
REAL
|
|
RECURSIVE
|
|
REF
|
|
REFERENCES
|
|
REFERENCING
|
|
REGR_AVGX
|
|
REGR_AVGY
|
|
REGR_COUNT
|
|
REGR_INTERCEPT
|
|
REGR_R2
|
|
REGR_SLOPE
|
|
REGR_SXX
|
|
REGR_SXY
|
|
REGR_SYY
|
|
RELEASE
|
|
RESULT
|
|
RETURN
|
|
RETURNS
|
|
REVOKE
|
|
RIGHT
|
|
ROLLBACK
|
|
ROLLUP
|
|
ROW
|
|
ROWS
|
|
SAVEPOINT
|
|
SCROLL
|
|
SEARCH
|
|
SECOND
|
|
SELECT
|
|
SENSITIVE
|
|
SESSION_USER
|
|
SET
|
|
SIMILAR
|
|
SMALLINT
|
|
SOME
|
|
SPECIFIC
|
|
SPECIFICTYPE
|
|
SQL
|
|
SQLEXCEPTION
|
|
SQLSTATE
|
|
SQLWARNING
|
|
START
|
|
STATIC
|
|
SUBMULTISET
|
|
SYMMETRIC
|
|
SYSTEM
|
|
SYSTEM_USER
|
|
TABLE
|
|
THEN
|
|
TIME
|
|
TIMESTAMP
|
|
TIMEZONE_HOUR
|
|
TIMEZONE_MINUTE
|
|
TO
|
|
TRAILING
|
|
TRANSLATION
|
|
TREAT
|
|
TRIGGER
|
|
TRUE
|
|
UESCAPE
|
|
UNION
|
|
UNIQUE
|
|
UNKNOWN
|
|
UNNEST
|
|
UPDATE
|
|
UPPER
|
|
USER
|
|
USING
|
|
VALUE
|
|
VALUES
|
|
VAR_POP
|
|
VAR_SAMP
|
|
VARCHAR
|
|
VARYING
|
|
WHEN
|
|
WHENEVER
|
|
WHERE
|
|
WIDTH_BUCKET
|
|
WINDOW
|
|
WITH
|
|
WITHIN
|
|
WITHOUT
|
|
YEAR'''
|
|
|
|
mysql_56_reserved_keywords = '''
|
|
ACCESSIBLE
|
|
ADD
|
|
ALL
|
|
ALTER
|
|
ANALYZE
|
|
AND
|
|
AS
|
|
ASC
|
|
ASENSITIVE
|
|
BEFORE
|
|
BETWEEN
|
|
BIGINT
|
|
BINARY
|
|
BLOB
|
|
BOTH
|
|
BY
|
|
CALL
|
|
CASCADE
|
|
CASE
|
|
CHANGE
|
|
CHAR
|
|
CHARACTER
|
|
CHECK
|
|
COLLATE
|
|
COLUMN
|
|
CONDITION
|
|
CONSTRAINT
|
|
CONTINUE
|
|
CONVERT
|
|
CREATE
|
|
CROSS
|
|
CURRENT_DATE
|
|
CURRENT_TIME
|
|
CURRENT_TIMESTAMP
|
|
CURRENT_USER
|
|
CURSOR
|
|
DATABASE
|
|
DATABASES
|
|
DAY_HOUR
|
|
DAY_MICROSECOND
|
|
DAY_MINUTE
|
|
DAY_SECOND
|
|
DEC
|
|
DECIMAL
|
|
DECLARE
|
|
DEFAULT
|
|
DELAYED
|
|
DELETE
|
|
DESC
|
|
DESCRIBE
|
|
DETERMINISTIC
|
|
DISTINCT
|
|
DISTINCTROW
|
|
DIV
|
|
DOUBLE
|
|
DROP
|
|
DUAL
|
|
EACH
|
|
ELSE
|
|
ELSEIF
|
|
ENCLOSED
|
|
ESCAPED
|
|
EXISTS
|
|
EXIT
|
|
EXPLAIN
|
|
FALSE
|
|
FETCH
|
|
FLOAT
|
|
FLOAT4
|
|
FLOAT8
|
|
FOR
|
|
FORCE
|
|
FOREIGN
|
|
FROM
|
|
FULLTEXT
|
|
GET
|
|
GRANT
|
|
GROUP
|
|
HAVING
|
|
HIGH_PRIORITY
|
|
HOUR_MICROSECOND
|
|
HOUR_MINUTE
|
|
HOUR_SECOND
|
|
IF
|
|
IFIGNORE
|
|
IN
|
|
INDEX
|
|
INFILE
|
|
INNER
|
|
INOUT
|
|
INSENSITIVE
|
|
INSERT
|
|
INT
|
|
INT1
|
|
INT2
|
|
INT3
|
|
INT4
|
|
INT8
|
|
INTEGER
|
|
INTERVAL
|
|
INTO
|
|
IO_AFTER_GTIDS
|
|
IO_BEFORE_GTIDS
|
|
IS
|
|
ITERATE
|
|
JOIN
|
|
KEY
|
|
KEYS
|
|
KILL
|
|
LEADING
|
|
LEAVE
|
|
LEFT
|
|
LIKE
|
|
LIMIT
|
|
LINEAR
|
|
LINES
|
|
LOAD
|
|
LOCALTIME
|
|
LOCALTIMESTAMP
|
|
LOCK
|
|
LONG
|
|
LONGBLOB
|
|
LONGTEXT
|
|
LOOP
|
|
LOW_PRIORITY
|
|
MASTER_BIND
|
|
MASTER_SSL_VERIFY_SERVER_CERT
|
|
MATCH
|
|
MAXVALUE
|
|
MEDIUMBLOB
|
|
MEDIUMINT
|
|
MEDIUMTEXT
|
|
MIDDLEINT
|
|
MINUTE_MICROSECOND
|
|
MINUTE_SECOND
|
|
MOD
|
|
MODIFIES
|
|
NATURAL
|
|
NOT
|
|
NO_WRITE_TO_BINLOG
|
|
NULL
|
|
NUMERIC
|
|
ON
|
|
OPTIMIZE
|
|
OPTION
|
|
OPTIONALLY
|
|
OR
|
|
ORDER
|
|
OUT
|
|
OUTER
|
|
OUTFILE
|
|
PARTITION
|
|
PRECISION
|
|
PRIMARY
|
|
PROCEDURE
|
|
PURGE
|
|
RANGE
|
|
READ
|
|
READS
|
|
READ_WRITE
|
|
REAL
|
|
REFERENCES
|
|
REGEXP
|
|
RELEASE
|
|
RENAME
|
|
REPEAT
|
|
REPLACE
|
|
REQUIRE
|
|
RESIGNAL
|
|
RESTRICT
|
|
RETURN
|
|
REVOKE
|
|
RIGHT
|
|
RLIKE
|
|
SCHEMA
|
|
SCHEMAS
|
|
SECOND_MICROSECOND
|
|
SELECT
|
|
SENSITIVE
|
|
SEPARATOR
|
|
SET
|
|
SHOW
|
|
SIGNAL
|
|
SMALLINT
|
|
SPATIAL
|
|
SPECIFIC
|
|
SQL
|
|
SQLEXCEPTION
|
|
SQLSTATE
|
|
SQLWARNING
|
|
SQL_BIG_RESULT
|
|
SQL_CALC_FOUND_ROWS
|
|
SQL_SMALL_RESULT
|
|
SSL
|
|
STARTING
|
|
STRAIGHT_JOIN
|
|
TABLE
|
|
TERMINATED
|
|
THEN
|
|
TINYBLOB
|
|
TINYINTTINYTEXT
|
|
TO
|
|
TRAILING
|
|
TRIGGER
|
|
TRUE
|
|
UNDO
|
|
UNION
|
|
UNIQUE
|
|
UNLOCK
|
|
UNSIGNED
|
|
UPDATE
|
|
USAGE
|
|
USE
|
|
USING
|
|
UTC_DATE
|
|
UTC_TIME
|
|
UTC_TIMESTAMPVALUE
|
|
VALUES
|
|
VARBINARY
|
|
VARCHAR
|
|
VARCHARACTER
|
|
VARYING
|
|
WHEN
|
|
WHERE
|
|
WHILE
|
|
WITH
|
|
WRITE
|
|
XOR
|
|
YEAR_MONTH
|
|
ZEROFILL
|
|
'''
|
|
mysql_56_non_reserved_keywords = '''
|
|
ACTION
|
|
AFTER
|
|
AGAINST
|
|
AGGREGATE
|
|
ALGORITHM
|
|
ANALYSE
|
|
ANY
|
|
ASCII
|
|
AT
|
|
AUTHORS
|
|
AUTOEXTEND_SIZE
|
|
AUTO_INCREMENT
|
|
AVG
|
|
AVG_ROW_LENGTH
|
|
BACKUP
|
|
BEGIN
|
|
BINLOG
|
|
BIT
|
|
BLOCK
|
|
BOOL
|
|
BOOLEAN
|
|
BTREE
|
|
BYTE
|
|
CACHE
|
|
CASCADED
|
|
CATALOG_NAME
|
|
CHAIN
|
|
CHANGED
|
|
CHARSET
|
|
CHECKSUM
|
|
CIPHER
|
|
CLASS_ORIGIN
|
|
CLIENT
|
|
CLOSE
|
|
COALESCE
|
|
CODE
|
|
COLLATION
|
|
COLUMNS
|
|
COLUMN_FORMAT
|
|
COLUMN_NAME
|
|
COMMENT
|
|
COMMIT
|
|
COMMITTED
|
|
COMPACT
|
|
COMPLETION
|
|
COMPRESSED
|
|
CONCURRENT
|
|
CONNECTION
|
|
CONSISTENT
|
|
CONSTRAINT_CATALOG
|
|
CONSTRAINT_NAME
|
|
CONSTRAINT_SCHEMA
|
|
CONTAINS
|
|
CONTEXT
|
|
CONTRIBUTORS
|
|
CPU
|
|
CUBE
|
|
CURRENT
|
|
CURSOR_NAME
|
|
DATA
|
|
DATAFILE
|
|
|
|
DATE
|
|
DATETIME
|
|
DAY
|
|
DEALLOCATE
|
|
DEFAULT_AUTH
|
|
DEFINER
|
|
DELAY_KEY_WRITE
|
|
DES_KEY_FILE
|
|
DIAGNOSTICS
|
|
DIRECTORY
|
|
DISABLE
|
|
DISCARD
|
|
DISK
|
|
DO
|
|
DUMPFILE
|
|
DUPLICATE
|
|
DYNAMIC
|
|
ENABLE
|
|
END
|
|
ENDS
|
|
ENGINE_
|
|
ENGINES
|
|
ENUM
|
|
ERROR
|
|
ERRORS
|
|
ESCAPE
|
|
EVENT
|
|
EVENTS
|
|
EVERY
|
|
EXCHANGE
|
|
EXECUTE
|
|
EXPANSION
|
|
EXPIRE
|
|
EXPORT
|
|
EXTENDED
|
|
EXTENT_SIZE
|
|
FAST
|
|
FAULTS
|
|
FIELDS
|
|
FILE
|
|
FIRST
|
|
FIXED
|
|
FLUSH
|
|
FORMAT
|
|
FOUND
|
|
FRAGMENTATION
|
|
FULL
|
|
FUNCTION
|
|
GENERAL
|
|
GEOMETRY
|
|
GEOMETRYCOLLECTION
|
|
GET_FORMAT
|
|
GLOBAL
|
|
GRANTS
|
|
HANDLER
|
|
HASH
|
|
HELP
|
|
HOST
|
|
HOSTS
|
|
HOUR
|
|
IDENTIFIED
|
|
IGNORE_SERVER_IDS
|
|
IMPORT
|
|
INDEXES
|
|
INITIAL_SIZE
|
|
INSERT_METHOD
|
|
INSTALL
|
|
INVOKER
|
|
IO
|
|
IO_THREAD
|
|
IPC
|
|
ISOLATION
|
|
ISSUER
|
|
KEY_BLOCK_SIZE
|
|
LANGUAGE
|
|
LAST
|
|
LEAVES
|
|
LESS
|
|
LEVEL
|
|
LINESTRING
|
|
LIST_
|
|
LOCAL
|
|
LOCKS
|
|
LOGFILE
|
|
LOGS
|
|
MASTER
|
|
MASTER_AUTO_POSITION
|
|
MASTER_CONNECT_RETRY
|
|
MASTER_DELAY
|
|
MASTER_HEARTBEAT_PERIOD
|
|
MASTER_HOST
|
|
MASTER_LOG_FILE
|
|
MASTER_LOG_POS
|
|
MASTER_PASSWORD
|
|
MASTER_PORT
|
|
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_USER
|
|
MAX_CONNECTIONS_PER_HOUR
|
|
MAX_QUERIES_PER_HOUR
|
|
MAX_ROWS
|
|
MAX_SIZE
|
|
MAX_UPDATES_PER_HOUR
|
|
MAX_USER_CONNECTIONS
|
|
MEDIUM
|
|
MEMORY
|
|
MERGE
|
|
MESSAGE_TEXT
|
|
MICROSECOND
|
|
MIGRATE
|
|
MINUTE
|
|
MIN_ROWS
|
|
MODE
|
|
MODIFY
|
|
MONTH
|
|
MULTILINESTRING
|
|
MULTIPOINT
|
|
MULTIPOLYGON
|
|
MUTEX
|
|
MYSQL_ERRNO
|
|
NAME
|
|
NAMES
|
|
NATIONAL
|
|
NCHAR
|
|
NDB
|
|
NDBCLUSTER
|
|
NEW
|
|
NEXT
|
|
NO
|
|
NODEGROUP
|
|
NONE
|
|
NO_WAIT
|
|
NUMBER
|
|
NVARCHAR
|
|
OFFSET
|
|
OLD_PASSWORD
|
|
ONE
|
|
ONE_SHOT
|
|
ONLY
|
|
OPEN
|
|
OPTIONS
|
|
OWNER
|
|
PACK_KEYS
|
|
PAGE
|
|
PARSER
|
|
PARTIAL
|
|
PARTITIONING
|
|
PARTITIONS
|
|
PASSWORD
|
|
PHASE
|
|
PLUGIN
|
|
PLUGINS
|
|
PLUGIN_DIR
|
|
POINT
|
|
POLYGON
|
|
PORT
|
|
PREPARE
|
|
PRESERVE
|
|
PREV
|
|
PRIVILEGES
|
|
PROCESSLIST
|
|
PROFILE
|
|
PROFILES
|
|
PROXY
|
|
QUARTER
|
|
QUERY
|
|
QUICK
|
|
READ_ONLY
|
|
REBUILD
|
|
RECOVER
|
|
REDOFILE
|
|
REDO_BUFFER_SIZE
|
|
REDUNDANT
|
|
RELAY
|
|
RELAYLOG
|
|
RELAY_LOG_FILE
|
|
RELAY_LOG_POS
|
|
RELAY_THREAD
|
|
RELOAD
|
|
REMOVE
|
|
REORGANIZE
|
|
REPAIR
|
|
REPEATABLE
|
|
REPLICATION
|
|
RESET
|
|
RESTORE
|
|
RESUME
|
|
RETURNED_SQLSTATE
|
|
RETURNS
|
|
REVERSE
|
|
ROLLBACK
|
|
ROLLUP
|
|
ROUTINE
|
|
ROW
|
|
ROWS
|
|
ROW_COUNT
|
|
ROW_FORMAT
|
|
RTREE
|
|
SAVEPOINT
|
|
SCHEDULE
|
|
SCHEMA_NAME
|
|
SECOND
|
|
SECURITY
|
|
SERIAL
|
|
SERIALIZABLE
|
|
SERVER
|
|
SESSION
|
|
SHARE
|
|
SHUTDOWN
|
|
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
|
|
SQL_TSI_DAY
|
|
SQL_TSI_HOUR
|
|
SQL_TSI_MINUTE
|
|
SQL_TSI_MONTH
|
|
SQL_TSI_QUARTER
|
|
SQL_TSI_SECOND
|
|
SQL_TSI_WEEK
|
|
SQL_TSI_YEAR
|
|
START
|
|
STARTS
|
|
STATS_AUTO_RECALC
|
|
STATS_PERSISTENT
|
|
STATS_SAMPLE_PAGES
|
|
STATUS
|
|
STOP
|
|
STORAGE
|
|
STRING
|
|
SUBCLASS_ORIGIN
|
|
SUBJECT
|
|
SUBPARTITION
|
|
SUBPARTITIONS
|
|
SUPER
|
|
SUSPEND
|
|
SWAPS
|
|
SWITCHES
|
|
TABLES
|
|
TABLESPACE
|
|
TABLE_CHECKSUM
|
|
TABLE_NAME
|
|
TEMPORARY
|
|
TEMPTABLE
|
|
TEXT
|
|
THAN
|
|
TIME
|
|
TIMESTAMP
|
|
TIMESTAMPADD
|
|
TIMESTAMPDIFF
|
|
TRANSACTION
|
|
TRIGGERS
|
|
TRUNCATE
|
|
TYPE
|
|
TYPES
|
|
UNCOMMITTED
|
|
UNDEFINED
|
|
UNDOFILE
|
|
UNDO_BUFFER_SIZE
|
|
UNICODE
|
|
UNINSTALL
|
|
UNKNOWN
|
|
UNTIL
|
|
UPGRADE
|
|
USER
|
|
USER_RESOURCES
|
|
USE_FRM
|
|
VARIABLES
|
|
VIEW
|
|
WAIT
|
|
WARNINGS
|
|
WASH
|
|
WEEK
|
|
WEIGHT_STRING
|
|
WORK
|
|
WRAPPER
|
|
X509_
|
|
XA
|
|
XML
|
|
YEAR
|
|
'''
|
|
|
|
ob_reserved_keywords = '''
|
|
ACCESSIBLE
|
|
ADD
|
|
ALTER
|
|
AND
|
|
ANALYZE
|
|
ALL
|
|
AS
|
|
ASENSITIVE
|
|
ASC
|
|
BETWEEN
|
|
BEFORE
|
|
BIGINT
|
|
BINARY
|
|
BLOB
|
|
BOTH
|
|
BY
|
|
CALL
|
|
CASCADE
|
|
CASE
|
|
CHANGE
|
|
CHAR
|
|
CHARACTER
|
|
CHECK
|
|
CONDITION
|
|
CONSTRAINT
|
|
CONTINUE
|
|
CONVERT
|
|
COLLATE
|
|
COLUMN
|
|
CREATE
|
|
CROSS
|
|
CURRENT_DATE
|
|
CURRENT_TIME
|
|
CURRENT_TIMESTAMP
|
|
CURRENT_USER
|
|
CURSOR
|
|
DAY_HOUR
|
|
DAY_MICROSECOND
|
|
DAY_MINUTE
|
|
DAY_SECOND
|
|
DATABASE
|
|
DATABASES
|
|
DEC
|
|
DECIMAL
|
|
DECLARE
|
|
DEFAULT
|
|
DELAYED
|
|
DELETE
|
|
DESC
|
|
DESCRIBE
|
|
DETERMINISTIC
|
|
DISTINCT
|
|
DISTINCTROW
|
|
DOUBLE
|
|
DROP
|
|
DUAL
|
|
EACH
|
|
ENCLOSED
|
|
ELSE
|
|
ELSEIF
|
|
ESCAPED
|
|
EXISTS
|
|
EXIT
|
|
EXPLAIN
|
|
FETCH
|
|
FOREIGN
|
|
FLOAT
|
|
FLOAT4
|
|
FLOAT8
|
|
FOR
|
|
FORCE
|
|
FROM
|
|
FULLTEXT
|
|
GET
|
|
GRANT
|
|
GROUP
|
|
HAVING
|
|
HIGH_PRIORITY
|
|
HOUR_MICROSECOND
|
|
HOUR_MINUTE
|
|
HOUR_SECOND
|
|
IF
|
|
IFIGNORE
|
|
IN
|
|
INDEX
|
|
INNER
|
|
INFILE
|
|
INOUT
|
|
INSENSITIVE
|
|
INT
|
|
INT1
|
|
INT2
|
|
INT3
|
|
INT4
|
|
INT8
|
|
INTEGER
|
|
INTERVAL
|
|
INSERT
|
|
INTO
|
|
IO_AFTER_GTIDS
|
|
IO_BEFORE_GTIDS
|
|
IS
|
|
ITERATE
|
|
JOIN
|
|
KEY
|
|
KEYS
|
|
KILL
|
|
LEADING
|
|
LEAVE
|
|
LEFT
|
|
LIMIT
|
|
LIKE
|
|
LINEAR
|
|
LINES
|
|
LOAD
|
|
LOCALTIME
|
|
LOCALTIMESTAMP
|
|
LOCK
|
|
LONG
|
|
LONGBLOB
|
|
LONGTEXT
|
|
LOOP
|
|
LOW_PRIORITY
|
|
MASTER_BIND
|
|
MASTER_SSL_VERIFY_SERVER_CERT
|
|
MATCH
|
|
MAXVALUE
|
|
MEDIUMBLOB
|
|
MEDIUMINT
|
|
MEDIUMTEXT
|
|
MIDDLEINT
|
|
MINUTE_MICROSECOND
|
|
MINUTE_SECOND
|
|
MOD
|
|
MODIFIES
|
|
NATURAL
|
|
NO_WRITE_TO_BINLOG
|
|
DIV
|
|
NOT
|
|
NUMERIC
|
|
ON
|
|
OPTION
|
|
OPTIMIZE
|
|
OPTIONALLY
|
|
OR
|
|
ORDER
|
|
OUT
|
|
OUTER
|
|
OUTFILE
|
|
PROCEDURE
|
|
PURGE
|
|
PARTITION
|
|
PRECISION
|
|
PRIMARY
|
|
RANGE
|
|
READ
|
|
READ_WRITE
|
|
READS
|
|
REAL
|
|
RELEASE
|
|
REFERENCES
|
|
REGEXP
|
|
RENAME
|
|
REPLACE
|
|
REPEAT
|
|
REQUIRE
|
|
RESIGNAL
|
|
RESTRICT
|
|
RETURN
|
|
REVOKE
|
|
RIGHT
|
|
RLIKE
|
|
SECOND_MICROSECOND
|
|
SELECT
|
|
SCHEMA
|
|
SCHEMAS
|
|
SEPARATOR
|
|
SET
|
|
SENSITIVE
|
|
SHOW
|
|
SIGNAL
|
|
SMALLINT
|
|
SPATIAL
|
|
SPECIFIC
|
|
SQL
|
|
SQLEXCEPTION
|
|
SQLSTATE
|
|
SQLWARNING
|
|
SQL_BIG_RESULT
|
|
SQL_CALC_FOUND_ROWS
|
|
SQL_SMALL_RESULT
|
|
SSL
|
|
STARTING
|
|
STRAIGHT_JOIN
|
|
TERMINATED
|
|
TINYBLOB
|
|
TINYINTTINYTEXT
|
|
TABLE
|
|
THEN
|
|
TO
|
|
TRAILING
|
|
TRIGGER
|
|
UNDO
|
|
UNION
|
|
UNIQUE
|
|
UNLOCK
|
|
UNSIGNED
|
|
UPDATE
|
|
USAGE
|
|
USE
|
|
USING
|
|
UTC_DATE
|
|
UTC_TIME
|
|
UTC_TIMESTAMPVALUE
|
|
VALUES
|
|
VARBINARY
|
|
VARCHAR
|
|
VARCHARACTER
|
|
VARYING
|
|
WHERE
|
|
WHEN
|
|
WHILE
|
|
WITH
|
|
WRITE
|
|
XOR
|
|
YEAR_MONTH
|
|
ZEROFILL
|
|
TRUE
|
|
FALSE
|
|
NULL
|
|
@@GLOABL
|
|
@@SESSION
|
|
_UTF8
|
|
_UTF8MB4
|
|
_BINARY
|
|
'''
|
|
ob_non_reserved_keywords = '''
|
|
ACCOUNT
|
|
ACTION
|
|
ACTIVE
|
|
ADDDATE
|
|
AFTER
|
|
AGAINST
|
|
AGGREGATE
|
|
ALGORITHM
|
|
ANALYSE
|
|
ANY
|
|
ASCII
|
|
AT
|
|
AUTHORS
|
|
AUTOEXTEND_SIZE
|
|
AUTO_INCREMENT
|
|
AVG
|
|
AVG_ROW_LENGTH
|
|
BACKUP
|
|
BEGIN
|
|
BINLOG
|
|
BIT
|
|
BLOCK
|
|
BLOCK_SIZE
|
|
BOOL
|
|
BOOLEAN
|
|
BOOTSTRAP
|
|
BTREE
|
|
BYTE
|
|
CACHE
|
|
CANCEL
|
|
CASCADED
|
|
CAST
|
|
CATALOG_NAME
|
|
CHAIN
|
|
CHANGED
|
|
CHARSET
|
|
CHECKSUM
|
|
CIPHER
|
|
CLASS_ORIGIN
|
|
CLEAN
|
|
CLEAR
|
|
CLIENT
|
|
CLOSE
|
|
CLUSTER_ID
|
|
COALESCE
|
|
CODE
|
|
COLLATION
|
|
COLUMN_FORMAT
|
|
COLUMN_NAME
|
|
COLUMNS
|
|
COMMENT
|
|
COMMIT
|
|
COMMITTED
|
|
COMPACT
|
|
COMPLETION
|
|
COMPRESSED
|
|
COMPRESSION
|
|
CONCURRENT
|
|
CONNECTION
|
|
CONSISTENT
|
|
CONSISTENT_MODE
|
|
CONSTRAINT_CATALOG
|
|
CONSTRAINT_NAME
|
|
CONSTRAINT_SCHEMA
|
|
CONTAINS
|
|
CONTEXT
|
|
CONTRIBUTORS
|
|
COPY
|
|
COUNT
|
|
CPU
|
|
CREATE_TIMESTAMP
|
|
CUBE
|
|
CURDATE
|
|
CURRENT
|
|
CURTIME
|
|
CURSOR_NAME
|
|
DATA
|
|
DATAFILE
|
|
DATE
|
|
DATE_ADD
|
|
DATE_SUB
|
|
DATETIME
|
|
DAY
|
|
DEALLOCATE
|
|
DEFAULT_AUTH
|
|
DEFINER
|
|
DELAY
|
|
DELAY_KEY_WRITE
|
|
DES_KEY_FILE
|
|
DESTINATION
|
|
DIAGNOSTICS
|
|
DIRECTORY
|
|
DISABLE
|
|
DISCARD
|
|
DISK
|
|
DO
|
|
DUMP
|
|
DUMPFILE
|
|
DUPLICATE
|
|
DYNAMIC
|
|
EFFECTIVE
|
|
ENABLE
|
|
END
|
|
ENDS
|
|
ENGINE_
|
|
ENGINES
|
|
ENUM
|
|
ERROR
|
|
ERROR_CODE
|
|
ERROR_P
|
|
ERRORS
|
|
ESCAPE
|
|
EVENT
|
|
EVENTS
|
|
EVERY
|
|
EXCEPT
|
|
EXCHANGE
|
|
EXECUTE
|
|
EXPANSION
|
|
EXPIRE
|
|
EXPIRE_INFO
|
|
EXPORT
|
|
EXTENDED
|
|
EXTENT_SIZE
|
|
EXTRACT
|
|
FAILED_LOGIN_ATTEMPTS
|
|
FAST
|
|
FAULTS
|
|
FIELDS
|
|
FILE
|
|
FILEX
|
|
FINAL_COUNT
|
|
FIRST
|
|
FIXED
|
|
FLUSH
|
|
FOLLOWER
|
|
FORMAT
|
|
FOUND
|
|
FRAGMENTATION
|
|
FREEZE
|
|
FUNCTION
|
|
GENERAL
|
|
GEOMETRY
|
|
GEOMETRYCOLLECTION
|
|
GET_FORMAT
|
|
GLOBAL
|
|
GLOBAL_NAME
|
|
GRANTS
|
|
HANDLER
|
|
HASH
|
|
HELP
|
|
HOST
|
|
HOSTS
|
|
HOUR
|
|
IDENTIFIED
|
|
IGNORE
|
|
IGNORE_SERVER_IDS
|
|
IMPORT
|
|
INDEXES
|
|
INITIAL_SIZE
|
|
INSERT_METHOD
|
|
INSTALL
|
|
INTERSECT
|
|
INVOKER
|
|
IO
|
|
IO_THREAD
|
|
IPC
|
|
ISOLATION
|
|
ISSUER
|
|
JSON
|
|
KEY_BLOCK_SIZE
|
|
KEY_VERSION
|
|
LANGUAGE
|
|
LAST
|
|
LAST_INSERT_ID
|
|
LEADER
|
|
LEAVES
|
|
LESS
|
|
LEVEL
|
|
LINESTRING
|
|
LIST_
|
|
LOCAL
|
|
LOCKED
|
|
LOCKS
|
|
LOGFILE
|
|
LOGS
|
|
MAJOR
|
|
MASTER
|
|
MASTER_AUTO_POSITION
|
|
MASTER_CONNECT_RETRY
|
|
MASTER_DELAY
|
|
MASTER_HEARTBEAT_PERIOD
|
|
MASTER_HOST
|
|
MASTER_LOG_FILE
|
|
MASTER_LOG_POS
|
|
MASTER_PASSWORD
|
|
MASTER_PORT
|
|
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_USER
|
|
MAX
|
|
MAX_CONNECTIONS_PER_HOUR
|
|
MAX_CPU
|
|
LOG_DISK_SIZE
|
|
MAX_IOPS
|
|
MEMORY_SIZE
|
|
MAX_QUERIES_PER_HOUR
|
|
MAX_ROWS
|
|
MAX_SIZE
|
|
MAX_UPDATES_PER_HOUR
|
|
MAX_USER_CONNECTIONS
|
|
MEDIUM
|
|
MEMORY
|
|
MEMTABLE
|
|
MERGE
|
|
MESSAGE_TEXT
|
|
META
|
|
MICROSECOND
|
|
MIGRATE
|
|
MIN
|
|
MIN_CPU
|
|
MIN_IOPS
|
|
MINOR
|
|
MIN_ROWS
|
|
MINUTE
|
|
MODE
|
|
MODIFY
|
|
MONTH
|
|
MOVE
|
|
MULTILINESTRING
|
|
MULTIPOINT
|
|
MULTIPOLYGON
|
|
MUTEX
|
|
MYSQL_ERRNO
|
|
NAME
|
|
NAMES
|
|
NATIONAL
|
|
NCHAR
|
|
NDB
|
|
NDBCLUSTER
|
|
NEW
|
|
NEXT
|
|
NEXTVAL
|
|
NO
|
|
NODEGROUP
|
|
NONE
|
|
NORMAL
|
|
NOW
|
|
NO_WAIT
|
|
NOWAIT
|
|
NUMBER
|
|
NVARCHAR
|
|
OFF
|
|
OFFSET
|
|
OLD_PASSWORD
|
|
ONE
|
|
ONE_SHOT
|
|
ONLY
|
|
OPEN
|
|
OPTIONS
|
|
OWNER
|
|
PACK_KEYS
|
|
PAGE
|
|
PARAMETERS
|
|
PARSER
|
|
PARTIAL
|
|
PARTITION_ID
|
|
PARTITIONING
|
|
PARTITIONS
|
|
PASSWORD
|
|
PASSWORD_LOCK_TIME
|
|
PAUSE
|
|
PHASE
|
|
PLUGIN
|
|
PLUGIN_DIR
|
|
PLUGINS
|
|
POINT
|
|
POLYGON
|
|
POOL
|
|
PORT
|
|
PREPARE
|
|
PRESERVE
|
|
PREV
|
|
PRIMARY_ZONE
|
|
PRIVILEGES
|
|
PROCESSLIST
|
|
PROFILE
|
|
PROFILES
|
|
PROXY
|
|
QUARTER
|
|
QUERY
|
|
QUICK
|
|
READ_ONLY
|
|
REBUILD
|
|
RECOVER
|
|
RECYCLE
|
|
REDO_BUFFER_SIZE
|
|
REDOFILE
|
|
REDUNDANT
|
|
REFRESH
|
|
REGION
|
|
RELAY
|
|
RELAYLOG
|
|
RELAY_LOG_FILE
|
|
RELAY_LOG_POS
|
|
RELAY_THREAD
|
|
RELOAD
|
|
REMOVE
|
|
REORGANIZE
|
|
REPAIR
|
|
REPEATABLE
|
|
REPLICA
|
|
REPLICA_NUM
|
|
REPLICATION
|
|
REPORT
|
|
RESET
|
|
RESOURCE
|
|
RESOURCE_POOL_LIST
|
|
RESTART
|
|
RESTORE
|
|
RESUME
|
|
RETURNED_SQLSTATE
|
|
RETURNS
|
|
REVERSE
|
|
ROLLBACK
|
|
ROLLUP
|
|
ROOT
|
|
ROOTTABLE
|
|
ROUTINE
|
|
ROW
|
|
ROW_COUNT
|
|
ROW_FORMAT
|
|
ROWS
|
|
RTREE
|
|
SAVEPOINT
|
|
SCHEDULE
|
|
SCHEMA_NAME
|
|
SCOPE
|
|
SECOND
|
|
SECURITY
|
|
SERIAL
|
|
SERIALIZABLE
|
|
SERVER
|
|
SERVER_IP
|
|
SERVER_PORT
|
|
SERVER_TYPE
|
|
SESSION
|
|
SESSION_USER
|
|
SET_MASTER_CLUSTER
|
|
SET_SLAVE_CLUSTER
|
|
SHARE
|
|
SHUTDOWN
|
|
SIGNED
|
|
SIMPLE
|
|
SLAVE
|
|
SLOW
|
|
SNAPSHOT
|
|
SOCKET
|
|
SOME
|
|
SONAME
|
|
SOUNDS
|
|
SOURCE
|
|
SPLIT
|
|
SPFILE
|
|
SQL_AFTER_GTIDS
|
|
SQL_AFTER_MTS_GAPS
|
|
SQL_BEFORE_GTIDS
|
|
SQL_BUFFER_RESULT
|
|
SQL_CACHE
|
|
SQL_NO_CACHE
|
|
SQL_THREAD
|
|
SQL_TSI_DAY
|
|
SQL_TSI_HOUR
|
|
SQL_TSI_MINUTE
|
|
SQL_TSI_MONTH
|
|
SQL_TSI_QUARTER
|
|
SQL_TSI_SECOND
|
|
SQL_TSI_WEEK
|
|
SQL_TSI_YEAR
|
|
START
|
|
STARTS
|
|
STATS_AUTO_RECALC
|
|
STATS_PERSISTENT
|
|
STATS_SAMPLE_PAGES
|
|
STATUS
|
|
STEP_MERGE_NUM
|
|
STOP
|
|
STORAGE
|
|
STORING
|
|
STRING
|
|
SUBCLASS_ORIGIN
|
|
SUBDATE
|
|
SUBJECT
|
|
SUBPARTITION
|
|
SUBPARTITIONS
|
|
SUBSTR
|
|
SUBSTRING
|
|
SUM
|
|
SUPER
|
|
SUSPEND
|
|
SWAPS
|
|
SWITCH
|
|
SWITCHES
|
|
SYSDATE
|
|
SYSTEM
|
|
SYSTEM_USER
|
|
TABLE_CHECKSUM
|
|
TABLEGROUP
|
|
TABLE_ID
|
|
TABLET_ID
|
|
TABLE_NAME
|
|
TABLES
|
|
TABLESPACE
|
|
TABLET
|
|
TABLET_MAX_SIZE
|
|
TEMPORARY
|
|
TEMPTABLE
|
|
TENANT
|
|
TEXT
|
|
THAN
|
|
TIME
|
|
TIMESTAMP
|
|
TIMESTAMPADD
|
|
TIMESTAMPDIFF
|
|
TINYINT
|
|
TP_NAME
|
|
TRADITIONAL
|
|
TRANSACTION
|
|
TRIGGER
|
|
TRIGGERS
|
|
TRIM
|
|
TRUNCATE
|
|
TYPE
|
|
TYPES
|
|
UNCOMMITTED
|
|
UNDEFINED
|
|
UNDO_BUFFER_SIZE
|
|
UNDOFILE
|
|
UNICODE
|
|
UNINSTALL
|
|
UNIT
|
|
UNIT_NUM
|
|
UNLOCKED
|
|
UNKNOWN
|
|
UNTIL
|
|
UNUSUAL
|
|
UPGRADE
|
|
USE_BLOOM_FILTER
|
|
USE_FRM
|
|
USER
|
|
USER_RESOURCES
|
|
VALUE
|
|
VARIABLES
|
|
VERBOSE
|
|
VIEW
|
|
WAIT
|
|
WARNINGS
|
|
WASH
|
|
WEEK
|
|
WEIGHT_STRING
|
|
WORK
|
|
WRAPPER
|
|
X509_
|
|
XA
|
|
XML
|
|
YEAR
|
|
ZONE
|
|
ZONE_LIST
|
|
LOCATION
|
|
'''
|
|
|
|
ob_keywords = '''
|
|
ADD
|
|
AND
|
|
ANY
|
|
ALL
|
|
AS
|
|
ASC
|
|
AUTO_INCREMENT
|
|
BETWEEN
|
|
BIGINT
|
|
BINARY
|
|
BOOLEAN
|
|
BY
|
|
CASE
|
|
CHARACTER
|
|
CNNOP
|
|
COLUMNS
|
|
COMPRESSION
|
|
CREATE
|
|
CREATETIME
|
|
DATE
|
|
DATETIME
|
|
DECIMAL
|
|
DEFAULT
|
|
DELETE
|
|
DESC
|
|
DESCRIBE
|
|
DISTINCT
|
|
DOUBLE
|
|
DROP
|
|
ELSE
|
|
END
|
|
END_P
|
|
ERROR
|
|
EXCEPT
|
|
EXISTS
|
|
JOIN_INFO
|
|
EXPIRE_INFO
|
|
EXPLAIN
|
|
FLOAT
|
|
FROM
|
|
FULL
|
|
GLOBAL
|
|
GROUP
|
|
HAVING
|
|
IF
|
|
IN
|
|
INNER
|
|
INTEGER
|
|
INTERSECT
|
|
INSERT
|
|
INTO
|
|
IS
|
|
JOIN
|
|
JOIN_INFO
|
|
KEY
|
|
LEFT
|
|
LIMIT
|
|
LIKE
|
|
MEDIUMINT
|
|
MOD
|
|
MODIFYTIME
|
|
NOT
|
|
NUMERIC
|
|
OFFSET
|
|
ON
|
|
OR
|
|
ORDER
|
|
OUTER
|
|
PRECISION
|
|
PRIMARY
|
|
PRIMARY_ZONE
|
|
REAL
|
|
REPLACE
|
|
REPLICA_NUM
|
|
RIGHT
|
|
SCHEMA
|
|
SELECT
|
|
SERVER
|
|
SESSION
|
|
SET
|
|
SHOW
|
|
SMALLINT
|
|
STATUS
|
|
TABLE
|
|
TABLES
|
|
TABLET_MAX_SIZE
|
|
THEN
|
|
TIME
|
|
TIMESTAMP
|
|
TINYINT
|
|
UNION
|
|
UPDATE
|
|
USE_BLOOM_FILTER
|
|
VALUES
|
|
VARCHAR
|
|
VARBINARY
|
|
VARIABLES
|
|
VERBOSE
|
|
WHERE
|
|
WHEN
|
|
USER
|
|
IDENTIFIED
|
|
PASSWORD
|
|
FOR
|
|
ALTER
|
|
RENAME
|
|
TO
|
|
LOCKED
|
|
UNLOCKED
|
|
GRANT
|
|
PRIVILEGES
|
|
OPTION
|
|
REVOKE
|
|
'''
|
|
|
|
def ob_r_info():
|
|
a = SqlKeywords()
|
|
for k in a.ob_reserved_keywords.split():
|
|
for c in [a.mysql_56_reserved_keywords]:
|
|
try:
|
|
i = c.split().index(k)
|
|
print("%s is r" %k)
|
|
except ValueError:
|
|
for d in [a.mysql_56_non_reserved_keywords]:
|
|
try:
|
|
i = d.split().index(k)
|
|
print("%s is u" %k)
|
|
except ValueError:
|
|
print("%s is y" %k)
|
|
def ob_non_r_info():
|
|
a = SqlKeywords()
|
|
for k in a.ob_non_reserved_keywords.split():
|
|
for c in [a.mysql_56_reserved_keywords]:
|
|
try:
|
|
i = c.split().index(k)
|
|
print("%s is r" %k)
|
|
except ValueError:
|
|
for d in [a.mysql_56_non_reserved_keywords]:
|
|
try:
|
|
i = d.split().index(k)
|
|
print("%s is u" %k)
|
|
except ValueError:
|
|
print("%s is y" %k)
|
|
|
|
def ob_mysql_r_info():
|
|
a = SqlKeywords()
|
|
for k in a.mysql_56_reserved_keywords.split():
|
|
for c in [a.ob_reserved_keywords]:
|
|
try:
|
|
i = c.split().index(k)
|
|
print("%s is r" %k)
|
|
except ValueError:
|
|
for d in [a.ob_non_reserved_keywords]:
|
|
try:
|
|
i = d.split().index(k)
|
|
print("%s is u" %k)
|
|
except ValueError:
|
|
print("%s is y" %k)
|
|
|
|
def ob_mysql_non_r_info():
|
|
a = SqlKeywords()
|
|
for k in a.mysql_56_non_reserved_keywords.split():
|
|
for c in [a.ob_reserved_keywords]:
|
|
try:
|
|
i = c.split().index(k)
|
|
print("%s is r" %k)
|
|
except ValueError:
|
|
for d in [a.ob_non_reserved_keywords]:
|
|
try:
|
|
i = d.split().index(k)
|
|
print("%s is u" %k)
|
|
except ValueError:
|
|
print("%s is y" %k)
|
|
def gen_non_reserved():
|
|
a = SqlKeywords()
|
|
for k in a.ob_non_reserved_keywords.split():
|
|
print ' {\"%s\", %s},' %(k.lower(), k)
|
|
def gen_reserved():
|
|
a = SqlKeywords()
|
|
for k in a.ob_reserved_keywords.split():
|
|
print '%-30s{ return %s; }' %(k, k)
|
|
|
|
|
|
if (__name__ == '__main__'):
|
|
##gen_non_reserved()
|
|
## gen_reserved()
|
|
## ob_non_r_info()
|
|
ob_r_info()
|
|
## ob_mysql_r_info()
|
|
## ob_mysql_non_r_info()
|
|
|
|
##if (__name__ == '__ma}in__'):
|
|
## a = SqlKeywords()
|
|
## for k in ob_keywords.split():
|
|
## print("%s " % k, end = "")
|
|
## for c in [a.reserved_92, a.reserved_99, a.reserved_03]:
|
|
## try:
|
|
## i = c.split().index(k)
|
|
## print("R ", end = "")
|
|
## except ValueError:
|
|
## print("U ", end = "")
|
|
## for n in [a.non_reserved_92, a.non_reserved_99, a.non_reserved_03]:
|
|
## try:
|
|
## i = n.split().index(k)
|
|
## print("N ", end = "")
|
|
## except ValueError:
|
|
## print("U ", end = "")
|
|
## print("")
|