from debug_toolbar.utils.sqlparse.tokens import * KEYWORDS = { 'ABORT': Keyword, 'ABS': Keyword, 'ABSOLUTE': Keyword, 'ACCESS': Keyword, 'ADA': Keyword, 'ADD': Keyword, 'ADMIN': Keyword, 'AFTER': Keyword, 'AGGREGATE': Keyword, 'ALIAS': Keyword, 'ALL': Keyword, 'ALLOCATE': Keyword, 'ANALYSE': Keyword, 'ANALYZE': Keyword, 'AND': Keyword, 'ANY': Keyword, 'ARE': Keyword, 'AS': Keyword, 'ASC': Keyword, 'ASENSITIVE': Keyword, 'ASSERTION': Keyword, 'ASSIGNMENT': Keyword, 'ASYMMETRIC': Keyword, 'AT': Keyword, 'ATOMIC': Keyword, 'AUTHORIZATION': Keyword, 'AVG': Keyword, 'BACKWARD': Keyword, 'BEFORE': Keyword, 'BEGIN': Keyword, 'BETWEEN': Keyword, 'BITVAR': Keyword, 'BIT_LENGTH': Keyword, 'BOTH': Keyword, 'BREADTH': Keyword, 'BY': Keyword, # 'C': Keyword, # most likely this is an alias 'CACHE': Keyword, 'CALL': Keyword, 'CALLED': Keyword, 'CARDINALITY': Keyword, 'CASCADE': Keyword, 'CASCADED': Keyword, 'CASE': Keyword, 'CAST': Keyword, 'CATALOG': Keyword, 'CATALOG_NAME': Keyword, 'CHAIN': Keyword, 'CHARACTERISTICS': Keyword, 'CHARACTER_LENGTH': Keyword, 'CHARACTER_SET_CATALOG': Keyword, 'CHARACTER_SET_NAME': Keyword, 'CHARACTER_SET_SCHEMA': Keyword, 'CHAR_LENGTH': Keyword, 'CHECK': Keyword, 'CHECKED': Keyword, 'CHECKPOINT': Keyword, 'CLASS': Keyword, 'CLASS_ORIGIN': Keyword, 'CLOB': Keyword, 'CLOSE': Keyword, 'CLUSTER': Keyword, 'COALSECE': Keyword, 'COBOL': Keyword, 'COLLATE': Keyword, 'COLLATION': Keyword, 'COLLATION_CATALOG': Keyword, 'COLLATION_NAME': Keyword, 'COLLATION_SCHEMA': Keyword, 'COLUMN': Keyword, 'COLUMN_NAME': Keyword, 'COMMAND_FUNCTION': Keyword, 'COMMAND_FUNCTION_CODE': Keyword, 'COMMENT': Keyword, 'COMMIT': Keyword, 'COMMITTED': Keyword, 'COMPLETION': Keyword, 'CONDITION_NUMBER': Keyword, 'CONNECT': Keyword, 'CONNECTION': Keyword, 'CONNECTION_NAME': Keyword, 'CONSTRAINT': Keyword, 'CONSTRAINTS': Keyword, 'CONSTRAINT_CATALOG': Keyword, 'CONSTRAINT_NAME': Keyword, 'CONSTRAINT_SCHEMA': Keyword, 'CONSTRUCTOR': Keyword, 'CONTAINS': Keyword, 'CONTINUE': Keyword, 'CONVERSION': Keyword, 'CONVERT': Keyword, 'COPY': Keyword, 'CORRESPONTING': Keyword, 'COUNT': Keyword, 'CREATEDB': Keyword, 'CREATEUSER': Keyword, 'CROSS': Keyword, 'CUBE': Keyword, 'CURRENT': Keyword, 'CURRENT_DATE': Keyword, 'CURRENT_PATH': Keyword, 'CURRENT_ROLE': Keyword, 'CURRENT_TIME': Keyword, 'CURRENT_TIMESTAMP': Keyword, 'CURRENT_USER': Keyword, 'CURSOR': Keyword, 'CURSOR_NAME': Keyword, 'CYCLE': Keyword, 'DATA': Keyword, 'DATABASE': Keyword, 'DATETIME_INTERVAL_CODE': Keyword, 'DATETIME_INTERVAL_PRECISION': Keyword, 'DAY': Keyword, 'DEALLOCATE': Keyword, 'DECLARE': Keyword, 'DEFAULT': Keyword, 'DEFAULTS': Keyword, 'DEFERRABLE': Keyword, 'DEFERRED': Keyword, 'DEFINED': Keyword, 'DEFINER': Keyword, 'DELIMITER': Keyword, 'DELIMITERS': Keyword, 'DEREF': Keyword, 'DESC': Keyword, 'DESCRIBE': Keyword, 'DESCRIPTOR': Keyword, 'DESTROY': Keyword, 'DESTRUCTOR': Keyword, 'DETERMINISTIC': Keyword, 'DIAGNOSTICS': Keyword, 'DICTIONARY': Keyword, 'DISCONNECT': Keyword, 'DISPATCH': Keyword, 'DISTINCT': Keyword, 'DO': Keyword, 'DOMAIN': Keyword, 'DYNAMIC': Keyword, 'DYNAMIC_FUNCTION': Keyword, 'DYNAMIC_FUNCTION_CODE': Keyword, 'EACH': Keyword, 'ELSE': Keyword, 'ENCODING': Keyword, 'ENCRYPTED': Keyword, 'END': Keyword, 'END-EXEC': Keyword, 'EQUALS': Keyword, 'ESCAPE': Keyword, 'EVERY': Keyword, 'EXCEPT': Keyword, 'ESCEPTION': Keyword, 'EXCLUDING': Keyword, 'EXCLUSIVE': Keyword, 'EXEC': Keyword, 'EXECUTE': Keyword, 'EXISTING': Keyword, 'EXISTS': Keyword, 'EXTERNAL': Keyword, 'EXTRACT': Keyword, 'FALSE': Keyword, 'FETCH': Keyword, 'FINAL': Keyword, 'FIRST': Keyword, 'FOR': Keyword, 'FORCE': Keyword, 'FOREIGN': Keyword, 'FORTRAN': Keyword, 'FORWARD': Keyword, 'FOUND': Keyword, 'FREE': Keyword, 'FREEZE': Keyword, 'FROM': Keyword, 'FULL': Keyword, 'FUNCTION': Keyword, 'G': Keyword, 'GENERAL': Keyword, 'GENERATED': Keyword, 'GET': Keyword, 'GLOBAL': Keyword, 'GO': Keyword, 'GOTO': Keyword, 'GRANT': Keyword, 'GRANTED': Keyword, 'GROUP': Keyword, 'GROUPING': Keyword, 'HANDLER': Keyword, 'HAVING': Keyword, 'HIERARCHY': Keyword, 'HOLD': Keyword, 'HOST': Keyword, 'IDENTITY': Keyword, 'IF': Keyword, 'IGNORE': Keyword, 'ILIKE': Keyword, 'IMMEDIATE': Keyword, 'IMMUTABLE': Keyword, 'IMPLEMENTATION': Keyword, 'IMPLICIT': Keyword, 'IN': Keyword, 'INCLUDING': Keyword, 'INCREMENT': Keyword, 'INDEX': Keyword, 'INDITCATOR': Keyword, 'INFIX': Keyword, 'INHERITS': Keyword, 'INITIALIZE': Keyword, 'INITIALLY': Keyword, 'INNER': Keyword, 'INOUT': Keyword, 'INPUT': Keyword, 'INSENSITIVE': Keyword, 'INSTANTIABLE': Keyword, 'INSTEAD': Keyword, 'INTERSECT': Keyword, 'INTO': Keyword, 'INVOKER': Keyword, 'IS': Keyword, 'ISNULL': Keyword, 'ISOLATION': Keyword, 'ITERATE': Keyword, 'JOIN': Keyword, 'K': Keyword, 'KEY': Keyword, 'KEY_MEMBER': Keyword, 'KEY_TYPE': Keyword, 'LANCOMPILER': Keyword, 'LANGUAGE': Keyword, 'LARGE': Keyword, 'LAST': Keyword, 'LATERAL': Keyword, 'LEADING': Keyword, 'LEFT': Keyword, 'LENGTH': Keyword, 'LESS': Keyword, 'LEVEL': Keyword, 'LIKE': Keyword, 'LIMIT': Keyword, 'LISTEN': Keyword, 'LOAD': Keyword, 'LOCAL': Keyword, 'LOCALTIME': Keyword, 'LOCALTIMESTAMP': Keyword, 'LOCATION': Keyword, 'LOCATOR': Keyword, 'LOCK': Keyword, 'LOWER': Keyword, 'M': Keyword, 'MAP': Keyword, 'MATCH': Keyword, 'MAX': Keyword, 'MAXVALUE': Keyword, 'MESSAGE_LENGTH': Keyword, 'MESSAGE_OCTET_LENGTH': Keyword, 'MESSAGE_TEXT': Keyword, 'METHOD': Keyword, 'MIN': Keyword, 'MINUTE': Keyword, 'MINVALUE': Keyword, 'MOD': Keyword, 'MODE': Keyword, 'MODIFIES': Keyword, 'MODIFY': Keyword, 'MONTH': Keyword, 'MORE': Keyword, 'MOVE': Keyword, 'MUMPS': Keyword, 'NAMES': Keyword, 'NATIONAL': Keyword, 'NATURAL': Keyword, 'NCHAR': Keyword, 'NCLOB': Keyword, 'NEW': Keyword, 'NEXT': Keyword, 'NO': Keyword, 'NOCREATEDB': Keyword, 'NOCREATEUSER': Keyword, 'NONE': Keyword, 'NOT': Keyword, 'NOTHING': Keyword, 'NOTIFY': Keyword, 'NOTNULL': Keyword, 'NULL': Keyword, 'NULLABLE': Keyword, 'NULLIF': Keyword, 'OBJECT': Keyword, 'OCTET_LENGTH': Keyword, 'OF': Keyword, 'OFF': Keyword, 'OFFSET': Keyword, 'OIDS': Keyword, 'OLD': Keyword, 'ON': Keyword, 'ONLY': Keyword, 'OPEN': Keyword, 'OPERATION': Keyword, 'OPERATOR': Keyword, 'OPTION': Keyword, 'OPTIONS': Keyword, 'OR': Keyword, 'ORDER': Keyword, 'ORDINALITY': Keyword, 'OUT': Keyword, 'OUTER': Keyword, 'OUTPUT': Keyword, 'OVERLAPS': Keyword, 'OVERLAY': Keyword, 'OVERRIDING': Keyword, 'OWNER': Keyword, 'PAD': Keyword, 'PARAMETER': Keyword, 'PARAMETERS': Keyword, 'PARAMETER_MODE': Keyword, 'PARAMATER_NAME': Keyword, 'PARAMATER_ORDINAL_POSITION': Keyword, 'PARAMETER_SPECIFIC_CATALOG': Keyword, 'PARAMETER_SPECIFIC_NAME': Keyword, 'PARAMATER_SPECIFIC_SCHEMA': Keyword, 'PARTIAL': Keyword, 'PASCAL': Keyword, 'PENDANT': Keyword, 'PLACING': Keyword, 'PLI': Keyword, 'POSITION': Keyword, 'POSTFIX': Keyword, 'PRECISION': Keyword, 'PREFIX': Keyword, 'PREORDER': Keyword, 'PREPARE': Keyword, 'PRESERVE': Keyword, 'PRIMARY': Keyword, 'PRIOR': Keyword, 'PRIVILEGES': Keyword, 'PROCEDURAL': Keyword, 'PROCEDURE': Keyword, 'PUBLIC': Keyword, 'RAISE': Keyword, 'READ': Keyword, 'READS': Keyword, 'RECHECK': Keyword, 'RECURSIVE': Keyword, 'REF': Keyword, 'REFERENCES': Keyword, 'REFERENCING': Keyword, 'REINDEX': Keyword, 'RELATIVE': Keyword, 'RENAME': Keyword, 'REPEATABLE': Keyword, 'REPLACE': Keyword, 'RESET': Keyword, 'RESTART': Keyword, 'RESTRICT': Keyword, 'RESULT': Keyword, 'RETURN': Keyword, 'RETURNED_LENGTH': Keyword, 'RETURNED_OCTET_LENGTH': Keyword, 'RETURNED_SQLSTATE': Keyword, 'RETURNS': Keyword, 'REVOKE': Keyword, 'RIGHT': Keyword, 'ROLE': Keyword, 'ROLLBACK': Keyword, 'ROLLUP': Keyword, 'ROUTINE': Keyword, 'ROUTINE_CATALOG': Keyword, 'ROUTINE_NAME': Keyword, 'ROUTINE_SCHEMA': Keyword, 'ROW': Keyword, 'ROWS': Keyword, 'ROW_COUNT': Keyword, 'RULE': Keyword, 'SAVE_POINT': Keyword, 'SCALE': Keyword, 'SCHEMA': Keyword, 'SCHEMA_NAME': Keyword, 'SCOPE': Keyword, 'SCROLL': Keyword, 'SEARCH': Keyword, 'SECOND': Keyword, 'SECURITY': Keyword, 'SELF': Keyword, 'SENSITIVE': Keyword, 'SERIALIZABLE': Keyword, 'SERVER_NAME': Keyword, 'SESSION': Keyword, 'SESSION_USER': Keyword, 'SETOF': Keyword, 'SETS': Keyword, 'SHARE': Keyword, 'SHOW': Keyword, 'SIMILAR': Keyword, 'SIMPLE': Keyword, 'SIZE': Keyword, 'SOME': Keyword, 'SOURCE': Keyword, 'SPACE': Keyword, 'SPECIFIC': Keyword, 'SPECIFICTYPE': Keyword, 'SPECIFIC_NAME': Keyword, 'SQL': Keyword, 'SQLCODE': Keyword, 'SQLERROR': Keyword, 'SQLEXCEPTION': Keyword, 'SQLSTATE': Keyword, 'SQLWARNINIG': Keyword, 'STABLE': Keyword, 'START': Keyword, 'STATE': Keyword, 'STATEMENT': Keyword, 'STATIC': Keyword, 'STATISTICS': Keyword, 'STDIN': Keyword, 'STDOUT': Keyword, 'STORAGE': Keyword, 'STRICT': Keyword, 'STRUCTURE': Keyword, 'STYPE': Keyword, 'SUBCLASS_ORIGIN': Keyword, 'SUBLIST': Keyword, 'SUBSTRING': Keyword, 'SUM': Keyword, 'SYMMETRIC': Keyword, 'SYSID': Keyword, 'SYSTEM': Keyword, 'SYSTEM_USER': Keyword, 'TABLE': Keyword, 'TABLE_NAME': Keyword, ' TEMP': Keyword, 'TEMPLATE': Keyword, 'TEMPORARY': Keyword, 'TERMINATE': Keyword, 'THAN': Keyword, 'THEN': Keyword, 'TIMESTAMP': Keyword, 'TIMEZONE_HOUR': Keyword, 'TIMEZONE_MINUTE': Keyword, 'TO': Keyword, 'TOAST': Keyword, 'TRAILING': Keyword, 'TRANSATION': Keyword, 'TRANSACTIONS_COMMITTED': Keyword, 'TRANSACTIONS_ROLLED_BACK': Keyword, 'TRANSATION_ACTIVE': Keyword, 'TRANSFORM': Keyword, 'TRANSFORMS': Keyword, 'TRANSLATE': Keyword, 'TRANSLATION': Keyword, 'TREAT': Keyword, 'TRIGGER': Keyword, 'TRIGGER_CATALOG': Keyword, 'TRIGGER_NAME': Keyword, 'TRIGGER_SCHEMA': Keyword, 'TRIM': Keyword, 'TRUE': Keyword, 'TRUNCATE': Keyword, 'TRUSTED': Keyword, 'TYPE': Keyword, 'UNCOMMITTED': Keyword, 'UNDER': Keyword, 'UNENCRYPTED': Keyword, 'UNION': Keyword, 'UNIQUE': Keyword, 'UNKNOWN': Keyword, 'UNLISTEN': Keyword, 'UNNAMED': Keyword, 'UNNEST': Keyword, 'UNTIL': Keyword, 'UPPER': Keyword, 'USAGE': Keyword, 'USER': Keyword, 'USER_DEFINED_TYPE_CATALOG': Keyword, 'USER_DEFINED_TYPE_NAME': Keyword, 'USER_DEFINED_TYPE_SCHEMA': Keyword, 'USING': Keyword, 'VACUUM': Keyword, 'VALID': Keyword, 'VALIDATOR': Keyword, 'VALUES': Keyword, 'VARIABLE': Keyword, 'VERBOSE': Keyword, 'VERSION': Keyword, 'VIEW': Keyword, 'VOLATILE': Keyword, 'WHEN': Keyword, 'WHENEVER': Keyword, 'WHERE': Keyword, 'WITH': Keyword, 'WITHOUT': Keyword, 'WORK': Keyword, 'WRITE': Keyword, 'YEAR': Keyword, 'ZONE': Keyword, 'ARRAY': Name.Builtin, 'BIGINT': Name.Builtin, 'BINARY': Name.Builtin, 'BIT': Name.Builtin, 'BLOB': Name.Builtin, 'BOOLEAN': Name.Builtin, 'CHAR': Name.Builtin, 'CHARACTER': Name.Builtin, 'DATE': Name.Builtin, 'DEC': Name.Builtin, 'DECIMAL': Name.Builtin, 'FLOAT': Name.Builtin, 'INT': Name.Builtin, 'INTEGER': Name.Builtin, 'INTERVAL': Name.Builtin, 'NUMBER': Name.Builtin, 'NUMERIC': Name.Builtin, 'REAL': Name.Builtin, 'SERIAL': Name.Builtin, 'SMALLINT': Name.Builtin, 'VARCHAR': Name.Builtin, 'VARYING': Name.Builtin, 'INT8': Name.Builtin, 'SERIAL8': Name.Builtin, 'TEXT': Name.Builtin, } KEYWORDS_COMMON = { 'SELECT': Keyword.DML, 'INSERT': Keyword.DML, 'DELETE': Keyword.DML, 'UPDATE': Keyword.DML, 'DROP': Keyword.DDL, 'CREATE': Keyword.DDL, 'ALTER': Keyword.DDL, 'WHERE': Keyword, 'FROM': Keyword, 'INNER': Keyword, 'JOIN': Keyword, 'AND': Keyword, 'OR': Keyword, 'LIKE': Keyword, 'ON': Keyword, 'IN': Keyword, 'SET': Keyword, 'BY': Keyword, 'GROUP': Keyword, 'ORDER': Keyword, 'LEFT': Keyword, 'OUTER': Keyword, 'IF': Keyword, 'END': Keyword, 'THEN': Keyword, 'LOOP': Keyword, 'AS': Keyword, 'ELSE': Keyword, 'FOR': Keyword, 'CASE': Keyword, 'WHEN': Keyword, 'MIN': Keyword, 'MAX': Keyword, 'DISTINCT': Keyword, }