5454
5555RESERVED_WORDS = {
5656 'Error' , 'EOI' , 'Whitespace' , 'Comment' , 'CommentBlock' , 'Ident' , 'ColumnPosition' , 'LiteralString' ,
57- 'LiteralCodeString' , 'LiteralAtString' , 'PGLiteralHex' , 'MySQLLiteralHex' , 'LiteralInteger' , 'LiteralFloat' ,
58- 'HintPrefix' , 'HintSuffix' , 'DoubleEq' , 'Eq' , 'NotEq' , 'Lt' , 'Gt' , 'Lte' , 'Gte' , 'Spaceship' , 'Plus' ,
59- 'Minus' , 'Multiply' , 'Divide' , 'IntDiv' , 'Modulo' , 'StringConcat' , 'LParen' , 'RParen' , 'Comma' , 'Dot' ,
60- 'Colon' , 'DoubleColon' , 'ColonEqual' , 'SemiColon' , 'Backslash' , 'LBracket' , 'RBracket' , 'Caret' , 'LBrace' ,
61- 'RBrace' , 'RArrow' , 'LongRArrow' , 'FatRArrow' , 'HashRArrow' , 'HashLongRArrow' , 'TildeAsterisk' ,
62- 'ExclamationMarkTilde' , 'ExclamationMarkTildeAsterisk' , 'BitWiseAnd' , 'BitWiseOr' , 'BitWiseXor' ,
63- 'BitWiseNot' , 'ShiftLeft' , 'ShiftRight' , 'Factorial' , 'DoubleExclamationMark' , 'Abs' , 'SquareRoot' ,
64- 'CubeRoot' , 'Placeholder' , 'QuestionOr' , 'QuestionAnd' , 'ArrowAt' , 'AtArrow' , 'AtQuestion' , 'AtAt' ,
65- 'HashMinus' , 'ACCOUNT' , 'ALL' , 'ALLOWED_IP_LIST' , 'ADD' , 'AFTER' , 'AGGREGATING' , 'ANY' , 'APPEND_ONLY' ,
66- 'ARGS' , 'AUTO' , 'SOME' , 'ALTER' , 'ALWAYS' , 'ANALYZE' , 'AND' , 'ARRAY' , 'AS' , 'AST' , 'AT' , 'ASC' ,
67- 'ANTI' , 'ASYNC' , 'ATTACH' , 'BEFORE' , 'BETWEEN' , 'BIGINT' , 'BINARY' , 'BREAK' , 'LONGBLOB' , 'MEDIUMBLOB' ,
68- 'TINYBLOB' , 'BLOB' , 'BINARY_FORMAT' , 'BITMAP' , 'BLOCKED_IP_LIST' , 'BOOL' , 'BOOLEAN' , 'BOTH' , 'BY' ,
69- 'BROTLI' , 'BZ2' , 'CALL' , 'CASE' , 'CAST' , 'CATALOG' , 'CATALOGS' , 'CENTURY' , 'CHANGES' , 'CLUSTER' ,
70- 'COMMENT' , 'COMMENTS' , 'COMPACT' , 'CONNECTION' , 'CONNECTIONS' , 'CONSUME' , 'CONTENT_TYPE' , 'CONTINUE' ,
71- 'CHAR' , 'COLUMN' , 'COLUMNS' , 'CHARACTER' , 'CONFLICT' , 'COMPRESSION' , 'COPY_OPTIONS' , 'COPY' , 'COUNT' ,
72- 'CREDENTIAL' , 'CREATE' , 'CROSS' , 'CSV' , 'CURRENT' , 'CURRENT_TIMESTAMP' , 'DATABASE' , 'DATABASES' , 'DATA' ,
73- 'DATE' , 'DATE_ADD' , 'DATE_PART' , 'DATE_SUB' , 'DATE_TRUNC' , 'DATETIME' , 'DAY' , 'DECADE' , 'DECIMAL' ,
74- 'DECLARE' , 'DEFAULT' , 'DEFLATE' , 'DELETE' , 'DESC' , 'DETAILED_OUTPUT' , 'DESCRIBE' , 'DISABLE' ,
75- 'DISABLE_VARIANT_CHECK' , 'DISTINCT' , 'RESPECT' , 'IGNORE' , 'DIV' , 'DOUBLE_SHA1_PASSWORD' , 'DO' , 'DOUBLE' ,
76- 'DOW' , 'WEEK' , 'DELTA' , 'DOY' , 'DOWNLOAD' , 'DOWNSTREAM' , 'DROP' , 'DRY' , 'DYNAMIC' , 'EXCEPT' , 'EXCLUDE' ,
77- 'ELSE' , 'EMPTY_FIELD_AS' , 'ENABLE' , 'ENABLE_VIRTUAL_HOST_STYLE' , 'END' , 'ENDPOINT' , 'ENGINE' , 'ENGINES' ,
78- 'EPOCH' , 'ERROR_ON_COLUMN_COUNT_MISMATCH' , 'ESCAPE' , 'EXCEPTION_BACKTRACE' , 'EXISTS' , 'EXPLAIN' , 'EXPIRE' ,
79- 'EXTRACT' , 'ELSEIF' , 'FALSE' , 'FIELDS' , 'FIELD_DELIMITER' , 'NAN_DISPLAY' , 'NULL_DISPLAY' , 'NULL_IF' ,
80- 'FILE_FORMAT' , 'FILE' , 'FILES' , 'FINAL' , 'FLASHBACK' , 'FLOAT' , 'FLOAT32' , 'FLOAT64' , 'FOR' , 'FORCE' ,
81- 'FORMAT' , 'FOLLOWING' , 'FORMAT_NAME' , 'FORMATS' , 'FRAGMENTS' , 'FROM' , 'FULL' , 'FUNCTION' , 'FUNCTIONS' ,
82- 'TABLE_FUNCTIONS' , 'SET_VAR' , 'FUSE' , 'GET' , 'GENERATED' , 'GEOMETRY' , 'GLOBAL' , 'GRAPH' , 'GROUP' , 'GZIP' ,
83- 'HAVING' , 'HIGH' , 'HISTORY' , 'HIVE' , 'HOUR' , 'HOURS' , 'ICEBERG' , 'INTERSECT' , 'IDENTIFIED' , 'IDENTIFIER' ,
84- 'IF' , 'IN' , 'INCREMENTAL' , 'INDEX' , 'INFORMATION' , 'INITIALIZE' , 'INNER' , 'INSERT' , 'INT' , 'INT16' ,
85- 'INT32' , 'INT64' , 'INT8' , 'INTEGER' , 'INTERVAL' , 'INTO' , 'INVERTED' , 'IMMEDIATE' , 'IS' , 'ISODOW' ,
86- 'ISOYEAR' , 'JOIN' , 'JSON' , 'JULIAN' , 'JWT' , 'KEY' , 'KILL' , 'LATERAL' , 'LOCATION_PREFIX' , 'LOCKS' ,
87- 'LOGICAL' , 'LOOP' , 'SECONDARY' , 'ROLES' , 'L2DISTANCE' , 'LEADING' , 'LEFT' , 'LET' , 'LIKE' , 'LIMIT' ,
88- 'LIST' , 'LOW' , 'LZO' , 'MASKING' , 'MAP' , 'MAX_FILE_SIZE' , 'MASTER_KEY' , 'MEDIUM' , 'MEMO' , 'MEMORY' ,
89- 'METRICS' , 'MICROSECONDS' , 'MILLENNIUM' , 'MILLISECONDS' , 'MINUTE' , 'MONTH' , 'MODIFY' , 'MATERIALIZED' ,
90- 'MUST_CHANGE_PASSWORD' , 'NON_DISPLAY' , 'NATURAL' , 'NETWORK' , 'DISABLED' , 'NDJSON' , 'NO_PASSWORD' , 'NONE' ,
91- 'NOT' , 'NOTENANTSETTING' , 'DEFAULT_ROLE' , 'NULL' , 'NULLABLE' , 'OBJECT' , 'OF' , 'OFFSET' , 'ON' ,
92- 'ON_CREATE' , 'ON_SCHEDULE' , 'OPTIMIZE' , 'OPTIONS' , 'OR' , 'ORC' , 'ORDER' , 'OUTPUT_HEADER' , 'OUTER' ,
93- 'ON_ERROR' , 'OVER' , 'OVERWRITE' , 'PARTITION' , 'PARQUET' , 'PASSWORD' , 'PASSWORD_MIN_LENGTH' ,
94- 'PASSWORD_MAX_LENGTH' , 'PASSWORD_MIN_UPPER_CASE_CHARS' , 'PASSWORD_MIN_LOWER_CASE_CHARS' ,
95- 'PASSWORD_MIN_NUMERIC_CHARS' , 'PASSWORD_MIN_SPECIAL_CHARS' , 'PASSWORD_MIN_AGE_DAYS' , 'PASSWORD_MAX_AGE_DAYS' ,
96- 'PASSWORD_MAX_RETRIES' , 'PASSWORD_LOCKOUT_TIME_MINS' , 'PASSWORD_HISTORY' , 'PATTERN' , 'PIPELINE' ,
97- 'PLAINTEXT_PASSWORD' , 'POLICIES' , 'POLICY' , 'POSITION' , 'PROCESSLIST' , 'PRIORITY' , 'PURGE' , 'PUT' ,
98- 'QUARTER' , 'QUERY' , 'QUOTE' , 'RANGE' , 'RAWDEFLATE' , 'READ_ONLY' , 'RECLUSTER' , 'RECORD_DELIMITER' ,
99- 'REFERENCE_USAGE' , 'REFRESH' , 'REGEXP' , 'RENAME' , 'REPLACE' , 'RETURN_FAILED_ONLY' , 'REVERSE' , 'MERGE' ,
100- 'MATCHED' , 'MISSING_FIELD_AS' , 'NULL_FIELD_AS' , 'UNMATCHED' , 'ROW' , 'ROWS' , 'ROW_TAG' , 'GRANT' , 'REPEAT' ,
101- 'ROLE' , 'PRECEDING' , 'PRECISION' , 'PRESIGN' , 'PRIVILEGES' , 'QUALIFY' , 'REMOVE' , 'RETAIN' , 'REVOKE' ,
102- 'RECURSIVE' , 'RETURN' , 'RETURNS' , 'RESULTSET' , 'RUN' , 'GRANTS' , 'REFRESH_MODE' , 'RIGHT' , 'RLIKE' , 'RAW' ,
103- 'OPTIMIZED' , 'SCHEMA' , 'SCHEMAS' , 'SECOND' , 'MILLISECOND' , 'SELECT' , 'PIVOT' , 'UNPIVOT' , 'SEGMENT' ,
104- 'SET' , 'UNSET' , 'SESSION' , 'SETTINGS' , 'STAGES' , 'STATISTIC' , 'SUMMARY' , 'SHA256_PASSWORD' , 'SHOW' ,
105- 'SINCE' , 'SIGNED' , 'SINGLE' , 'SIZE_LIMIT' , 'MAX_FILES' , 'SKIP_HEADER' , 'SMALLINT' , 'SNAPPY' , 'SNAPSHOT' ,
106- 'SPLIT_SIZE' , 'STAGE' , 'SYNTAX' , 'USAGE' , 'UPDATE' , 'UPLOAD' , 'SEQUENCE' , 'SHARE' , 'SHARES' , 'SUPER' ,
107- 'STATUS' , 'STORED' , 'STREAM' , 'STREAMS' , 'STRING' , 'SUBSTRING' , 'SUBSTR' , 'SEMI' , 'SOUNDS' , 'SYNC' ,
108- 'SYSTEM' , 'STORAGE_TYPE' , 'TABLE' , 'TABLES' , 'TARGET_LAG' , 'TEXT' , 'LONGTEXT' , 'MEDIUMTEXT' , 'TINYTEXT' ,
109- 'TENANTSETTING' , 'TENANTS' , 'TENANT' , 'THEN' , 'TIMESTAMP' , 'TIMEZONE_HOUR' , 'TIMEZONE_MINUTE' , 'TIMEZONE' ,
110- 'TINYINT' , 'TO' , 'TOKEN' , 'TRAILING' , 'TRANSIENT' , 'TRIM' , 'TRUE' , 'TRUNCATE' , 'TRY_CAST' , 'TSV' ,
111- 'TUPLE' , 'TYPE' , 'UNBOUNDED' , 'UNION' , 'UINT16' , 'UINT32' , 'UINT64' , 'UINT8' , 'UNDROP' , 'UNSIGNED' ,
112- 'URL' , 'METHOD' , 'AUTHORIZATION_HEADER' , 'USE' , 'USER' , 'USERS' , 'USING' , 'VACUUM' , 'VALUES' ,
113- 'VALIDATION_MODE' , 'VARBINARY' , 'VARCHAR' , 'VARIANT' , 'VERBOSE' , 'VIEW' , 'VIEWS' , 'VIRTUAL' , 'WHEN' ,
114- 'WHERE' , 'WHILE' , 'WINDOW' , 'WITH' , 'XML' , 'XOR' , 'XZ' , 'YEAR' , 'ZSTD' , 'NULLIF' , 'COALESCE' , 'RANDOM' ,
115- 'IFNULL' , 'NULLS' , 'FIRST' , 'LAST' , 'IGNORE_RESULT' , 'GROUPING' , 'SETS' , 'CUBE' , 'ROLLUP' , 'INDEXES' ,
116- 'ADDRESS' , 'OWNERSHIP' , 'READ' , 'WRITE' , 'UDF' , 'HANDLER' , 'LANGUAGE' , 'TASK' , 'TASKS' , 'TOP' ,
117- 'WAREHOUSE' , 'SCHEDULE' , 'SUSPEND_TASK_AFTER_NUM_FAILURES' , 'CRON' , 'EXECUTE' , 'SUSPEND' , 'RESUME' , 'PIPE' ,
118- 'NOTIFICATION' , 'INTEGRATION' , 'ENABLED' , 'WEBHOOK' , 'ERROR_INTEGRATION' , 'AUTO_INGEST' ,
119- 'PIPE_EXECUTION_PAUSED' , 'PREFIX' , 'MODIFIED_AFTER' , 'UNTIL' , 'BEGIN' , 'TRANSACTION' , 'COMMIT' , 'ABORT' ,
120- 'ROLLBACK' , 'TEMPORARY' , 'SECONDS' , 'DAYS'
57+ 'LiteralCodeString' , 'LiteralAtString' , 'PGLiteralHex' , 'MySQLLiteralHex' , 'LiteralInteger' , 'LiteralFloat' ,
58+ 'HintPrefix' , 'HintSuffix' , 'DoubleEq' , 'Eq' , 'NotEq' , 'Lt' , 'Gt' , 'Lte' , 'Gte' , 'Spaceship' , 'Plus' ,
59+ 'Minus' , 'Multiply' , 'Divide' , 'IntDiv' , 'Modulo' , 'StringConcat' , 'LParen' , 'RParen' , 'Comma' , 'Dot' ,
60+ 'Colon' , 'DoubleColon' , 'ColonEqual' , 'SemiColon' , 'Backslash' , 'LBracket' , 'RBracket' , 'Caret' , 'LBrace' ,
61+ 'RBrace' , 'RArrow' , 'LongRArrow' , 'FatRArrow' , 'HashRArrow' , 'HashLongRArrow' , 'TildeAsterisk' ,
62+ 'ExclamationMarkTilde' , 'ExclamationMarkTildeAsterisk' , 'BitWiseAnd' , 'BitWiseOr' , 'BitWiseXor' ,
63+ 'BitWiseNot' , 'ShiftLeft' , 'ShiftRight' , 'Factorial' , 'DoubleExclamationMark' , 'Abs' , 'SquareRoot' ,
64+ 'CubeRoot' , 'Placeholder' , 'QuestionOr' , 'QuestionAnd' , 'ArrowAt' , 'AtArrow' , 'AtQuestion' , 'AtAt' ,
65+ 'HashMinus' , 'ACCOUNT' , 'ALL' , 'ALLOWED_IP_LIST' , 'ADD' , 'AFTER' , 'AGGREGATING' , 'ANY' , 'APPEND_ONLY' ,
66+ 'ARGS' , 'AUTO' , 'SOME' , 'ALTER' , 'ALWAYS' , 'ANALYZE' , 'AND' , 'ARRAY' , 'AS' , 'AST' , 'AT' , 'ASC' ,
67+ 'ANTI' , 'ASYNC' , 'ATTACH' , 'BEFORE' , 'BETWEEN' , 'BIGINT' , 'BINARY' , 'BREAK' , 'LONGBLOB' , 'MEDIUMBLOB' ,
68+ 'TINYBLOB' , 'BLOB' , 'BINARY_FORMAT' , 'BITMAP' , 'BLOCKED_IP_LIST' , 'BOOL' , 'BOOLEAN' , 'BOTH' , 'BY' ,
69+ 'BROTLI' , 'BZ2' , 'CALL' , 'CASE' , 'CAST' , 'CATALOG' , 'CATALOGS' , 'CENTURY' , 'CHANGES' , 'CLUSTER' ,
70+ 'COMMENT' , 'COMMENTS' , 'COMPACT' , 'CONNECTION' , 'CONNECTIONS' , 'CONSUME' , 'CONTENT_TYPE' , 'CONTINUE' ,
71+ 'CHAR' , 'COLUMN' , 'COLUMNS' , 'CHARACTER' , 'CONFLICT' , 'COMPRESSION' , 'COPY_OPTIONS' , 'COPY' , 'COUNT' ,
72+ 'CREDENTIAL' , 'CREATE' , 'CROSS' , 'CSV' , 'CURRENT' , 'CURRENT_TIMESTAMP' , 'DATABASE' , 'DATABASES' , 'DATA' ,
73+ 'DATE' , 'DATE_ADD' , 'DATE_PART' , 'DATE_SUB' , 'DATE_TRUNC' , 'DATETIME' , 'DAY' , 'DECADE' , 'DECIMAL' ,
74+ 'DECLARE' , 'DEFAULT' , 'DEFLATE' , 'DELETE' , 'DESC' , 'DETAILED_OUTPUT' , 'DESCRIBE' , 'DISABLE' ,
75+ 'DISABLE_VARIANT_CHECK' , 'DISTINCT' , 'RESPECT' , 'IGNORE' , 'DIV' , 'DOUBLE_SHA1_PASSWORD' , 'DO' , 'DOUBLE' ,
76+ 'DOW' , 'WEEK' , 'DELTA' , 'DOY' , 'DOWNLOAD' , 'DOWNSTREAM' , 'DROP' , 'DRY' , 'DYNAMIC' , 'EXCEPT' , 'EXCLUDE' ,
77+ 'ELSE' , 'EMPTY_FIELD_AS' , 'ENABLE' , 'ENABLE_VIRTUAL_HOST_STYLE' , 'END' , 'ENDPOINT' , 'ENGINE' , 'ENGINES' ,
78+ 'EPOCH' , 'ERROR_ON_COLUMN_COUNT_MISMATCH' , 'ESCAPE' , 'EXCEPTION_BACKTRACE' , 'EXISTS' , 'EXPLAIN' , 'EXPIRE' ,
79+ 'EXTRACT' , 'ELSEIF' , 'FALSE' , 'FIELDS' , 'FIELD_DELIMITER' , 'NAN_DISPLAY' , 'NULL_DISPLAY' , 'NULL_IF' ,
80+ 'FILE_FORMAT' , 'FILE' , 'FILES' , 'FINAL' , 'FLASHBACK' , 'FLOAT' , 'FLOAT32' , 'FLOAT64' , 'FOR' , 'FORCE' ,
81+ 'FORMAT' , 'FOLLOWING' , 'FORMAT_NAME' , 'FORMATS' , 'FRAGMENTS' , 'FROM' , 'FULL' , 'FUNCTION' , 'FUNCTIONS' ,
82+ 'TABLE_FUNCTIONS' , 'SET_VAR' , 'FUSE' , 'GET' , 'GENERATED' , 'GEOMETRY' , 'GLOBAL' , 'GRAPH' , 'GROUP' , 'GZIP' ,
83+ 'HAVING' , 'HIGH' , 'HISTORY' , 'HIVE' , 'HOUR' , 'HOURS' , 'ICEBERG' , 'INTERSECT' , 'IDENTIFIED' , 'IDENTIFIER' ,
84+ 'IF' , 'IN' , 'INCREMENTAL' , 'INDEX' , 'INFORMATION' , 'INITIALIZE' , 'INNER' , 'INSERT' , 'INT' , 'INT16' ,
85+ 'INT32' , 'INT64' , 'INT8' , 'INTEGER' , 'INTERVAL' , 'INTO' , 'INVERTED' , 'IMMEDIATE' , 'IS' , 'ISODOW' ,
86+ 'ISOYEAR' , 'JOIN' , 'JSON' , 'JULIAN' , 'JWT' , 'KEY' , 'KILL' , 'LATERAL' , 'LOCATION_PREFIX' , 'LOCKS' ,
87+ 'LOGICAL' , 'LOOP' , 'SECONDARY' , 'ROLES' , 'L2DISTANCE' , 'LEADING' , 'LEFT' , 'LET' , 'LIKE' , 'LIMIT' ,
88+ 'LIST' , 'LOW' , 'LZO' , 'MASKING' , 'MAP' , 'MAX_FILE_SIZE' , 'MASTER_KEY' , 'MEDIUM' , 'MEMO' , 'MEMORY' ,
89+ 'METRICS' , 'MICROSECONDS' , 'MILLENNIUM' , 'MILLISECONDS' , 'MINUTE' , 'MONTH' , 'MODIFY' , 'MATERIALIZED' ,
90+ 'MUST_CHANGE_PASSWORD' , 'NON_DISPLAY' , 'NATURAL' , 'NETWORK' , 'DISABLED' , 'NDJSON' , 'NO_PASSWORD' , 'NONE' ,
91+ 'NOT' , 'NOTENANTSETTING' , 'DEFAULT_ROLE' , 'NULL' , 'NULLABLE' , 'OBJECT' , 'OF' , 'OFFSET' , 'ON' ,
92+ 'ON_CREATE' , 'ON_SCHEDULE' , 'OPTIMIZE' , 'OPTIONS' , 'OR' , 'ORC' , 'ORDER' , 'OUTPUT_HEADER' , 'OUTER' ,
93+ 'ON_ERROR' , 'OVER' , 'OVERWRITE' , 'PARTITION' , 'PARQUET' , 'PASSWORD' , 'PASSWORD_MIN_LENGTH' ,
94+ 'PASSWORD_MAX_LENGTH' , 'PASSWORD_MIN_UPPER_CASE_CHARS' , 'PASSWORD_MIN_LOWER_CASE_CHARS' ,
95+ 'PASSWORD_MIN_NUMERIC_CHARS' , 'PASSWORD_MIN_SPECIAL_CHARS' , 'PASSWORD_MIN_AGE_DAYS' , 'PASSWORD_MAX_AGE_DAYS' ,
96+ 'PASSWORD_MAX_RETRIES' , 'PASSWORD_LOCKOUT_TIME_MINS' , 'PASSWORD_HISTORY' , 'PATTERN' , 'PIPELINE' ,
97+ 'PLAINTEXT_PASSWORD' , 'POLICIES' , 'POLICY' , 'POSITION' , 'PROCESSLIST' , 'PRIORITY' , 'PURGE' , 'PUT' ,
98+ 'QUARTER' , 'QUERY' , 'QUOTE' , 'RANGE' , 'RAWDEFLATE' , 'READ_ONLY' , 'RECLUSTER' , 'RECORD_DELIMITER' ,
99+ 'REFERENCE_USAGE' , 'REFRESH' , 'REGEXP' , 'RENAME' , 'REPLACE' , 'RETURN_FAILED_ONLY' , 'REVERSE' , 'MERGE' ,
100+ 'MATCHED' , 'MISSING_FIELD_AS' , 'NULL_FIELD_AS' , 'UNMATCHED' , 'ROW' , 'ROWS' , 'ROW_TAG' , 'GRANT' , 'REPEAT' ,
101+ 'ROLE' , 'PRECEDING' , 'PRECISION' , 'PRESIGN' , 'PRIVILEGES' , 'QUALIFY' , 'REMOVE' , 'RETAIN' , 'REVOKE' ,
102+ 'RECURSIVE' , 'RETURN' , 'RETURNS' , 'RESULTSET' , 'RUN' , 'GRANTS' , 'REFRESH_MODE' , 'RIGHT' , 'RLIKE' , 'RAW' ,
103+ 'OPTIMIZED' , 'SCHEMA' , 'SCHEMAS' , 'SECOND' , 'MILLISECOND' , 'SELECT' , 'PIVOT' , 'UNPIVOT' , 'SEGMENT' ,
104+ 'SET' , 'UNSET' , 'SESSION' , 'SETTINGS' , 'STAGES' , 'STATISTIC' , 'SUMMARY' , 'SHA256_PASSWORD' , 'SHOW' ,
105+ 'SINCE' , 'SIGNED' , 'SINGLE' , 'SIZE_LIMIT' , 'MAX_FILES' , 'SKIP_HEADER' , 'SMALLINT' , 'SNAPPY' , 'SNAPSHOT' ,
106+ 'SPLIT_SIZE' , 'STAGE' , 'SYNTAX' , 'USAGE' , 'UPDATE' , 'UPLOAD' , 'SEQUENCE' , 'SHARE' , 'SHARES' , 'SUPER' ,
107+ 'STATUS' , 'STORED' , 'STREAM' , 'STREAMS' , 'STRING' , 'SUBSTRING' , 'SUBSTR' , 'SEMI' , 'SOUNDS' , 'SYNC' ,
108+ 'SYSTEM' , 'STORAGE_TYPE' , 'TABLE' , 'TABLES' , 'TARGET_LAG' , 'TEXT' , 'LONGTEXT' , 'MEDIUMTEXT' , 'TINYTEXT' ,
109+ 'TENANTSETTING' , 'TENANTS' , 'TENANT' , 'THEN' , 'TIMESTAMP' , 'TIMEZONE_HOUR' , 'TIMEZONE_MINUTE' , 'TIMEZONE' ,
110+ 'TINYINT' , 'TO' , 'TOKEN' , 'TRAILING' , 'TRANSIENT' , 'TRIM' , 'TRUE' , 'TRUNCATE' , 'TRY_CAST' , 'TSV' ,
111+ 'TUPLE' , 'TYPE' , 'UNBOUNDED' , 'UNION' , 'UINT16' , 'UINT32' , 'UINT64' , 'UINT8' , 'UNDROP' , 'UNSIGNED' ,
112+ 'URL' , 'METHOD' , 'AUTHORIZATION_HEADER' , 'USE' , 'USER' , 'USERS' , 'USING' , 'VACUUM' , 'VALUES' ,
113+ 'VALIDATION_MODE' , 'VARBINARY' , 'VARCHAR' , 'VARIANT' , 'VERBOSE' , 'VIEW' , 'VIEWS' , 'VIRTUAL' , 'WHEN' ,
114+ 'WHERE' , 'WHILE' , 'WINDOW' , 'WITH' , 'XML' , 'XOR' , 'XZ' , 'YEAR' , 'ZSTD' , 'NULLIF' , 'COALESCE' , 'RANDOM' ,
115+ 'IFNULL' , 'NULLS' , 'FIRST' , 'LAST' , 'IGNORE_RESULT' , 'GROUPING' , 'SETS' , 'CUBE' , 'ROLLUP' , 'INDEXES' ,
116+ 'ADDRESS' , 'OWNERSHIP' , 'READ' , 'WRITE' , 'UDF' , 'HANDLER' , 'LANGUAGE' , 'TASK' , 'TASKS' , 'TOP' ,
117+ 'WAREHOUSE' , 'SCHEDULE' , 'SUSPEND_TASK_AFTER_NUM_FAILURES' , 'CRON' , 'EXECUTE' , 'SUSPEND' , 'RESUME' , 'PIPE' ,
118+ 'NOTIFICATION' , 'INTEGRATION' , 'ENABLED' , 'WEBHOOK' , 'ERROR_INTEGRATION' , 'AUTO_INGEST' ,
119+ 'PIPE_EXECUTION_PAUSED' , 'PREFIX' , 'MODIFIED_AFTER' , 'UNTIL' , 'BEGIN' , 'TRANSACTION' , 'COMMIT' , 'ABORT' ,
120+ 'ROLLBACK' , 'TEMPORARY' , 'SECONDS' , 'DAYS'
121121}
122122
123123
@@ -390,26 +390,25 @@ def visit_like_op_binary(self, binary, operator, **kw):
390390 return "%s LIKE %s" % (
391391 binary .left ._compiler_dispatch (self , ** kw ),
392392 binary .right ._compiler_dispatch (self , ** kw ),
393- # ToDo - escape not yet supported
394- # ) + (
395- # " ESCAPE " + self.render_literal_value(escape, sqltypes.STRINGTYPE)
396- # if escape
397- # else ""
393+ # ToDo - escape not yet supported
394+ # ) + (
395+ # " ESCAPE " + self.render_literal_value(escape, sqltypes.STRINGTYPE)
396+ # if escape
397+ # else ""
398398 )
399399
400400 def visit_not_like_op_binary (self , binary , operator , ** kw ):
401401 # escape = binary.modifiers.get("escape", None)
402402 return "%s NOT LIKE %s" % (
403403 binary .left ._compiler_dispatch (self , ** kw ),
404404 binary .right ._compiler_dispatch (self , ** kw ),
405- # ToDo - escape not yet supported
406- # ) + (
407- # " ESCAPE " + self.render_literal_value(escape, sqltypes.STRINGTYPE)
408- # if escape
409- # else ""
405+ # ToDo - escape not yet supported
406+ # ) + (
407+ # " ESCAPE " + self.render_literal_value(escape, sqltypes.STRINGTYPE)
408+ # if escape
409+ # else ""
410410 )
411411
412-
413412 def visit_merge (self , merge , ** kw ):
414413 clauses = "\n " .join (
415414 clause ._compiler_dispatch (self , ** kw )
@@ -419,7 +418,8 @@ def visit_merge(self, merge, **kw):
419418 if isinstance (merge .source , TableClause ):
420419 source = select (merge .source ).subquery ().alias (merge .source .name )._compiler_dispatch (self , ** source_kw )
421420 elif isinstance (merge .source , Select ):
422- source = merge .source .subquery ().alias (merge .source .get_final_froms ()[0 ].name )._compiler_dispatch (self , ** source_kw )
421+ source = merge .source .subquery ().alias (merge .source .get_final_froms ()[0 ].name )._compiler_dispatch (self ,
422+ ** source_kw )
423423 elif isinstance (merge .source , Subquery ):
424424 source = merge .source ._compiler_dispatch (self , ** source_kw )
425425
@@ -536,7 +536,7 @@ def visit_foreign_key_constraint(self, constraint, **kw):
536536 return ""
537537
538538 def create_table_constraints (
539- self , table , _include_foreign_key_constraints = None , ** kw
539+ self , table , _include_foreign_key_constraints = None , ** kw
540540 ):
541541 return ""
542542
@@ -586,7 +586,7 @@ def post_create_table(self, table):
586586 f"\n CLUSTER BY ( { cluster_by } )"
587587 )
588588
589- #ToDo - Engine options
589+ # ToDo - Engine options
590590
591591 return " " .join (table_opts )
592592
@@ -669,8 +669,13 @@ def create_connect_args(self, url):
669669 "dsn" : "databend://%s:%s@%s:%d/%s"
670670 % (url .username , url .password , url .host , url .port or 8000 , url .database ),
671671 }
672- for k , v in parameters .items ():
673- kwargs ["dsn" ] = kwargs ["dsn" ] + "?" + k + "=" + v
672+
673+ if parameters :
674+ kwargs ["dsn" ] += "?"
675+ param_strings = []
676+ for k , v in parameters .items ():
677+ param_strings .append (f"{ k } ={ v } " )
678+ kwargs ["dsn" ] += "&" .join (param_strings )
674679
675680 return ([], kwargs )
676681
@@ -751,7 +756,7 @@ def get_view_definition(self, connection, view_name, schema=None, **kw):
751756 view_def = connection .execute (text (query )).first ()
752757 return view_def [1 ]
753758 except DBAPIError as e :
754- if '1025' in e .orig .message : #ToDo: The errors need parsing properly
759+ if '1025' in e .orig .message : # ToDo: The errors need parsing properly
755760 raise NoSuchTableError (full_view_name ) from e
756761
757762 def _get_column_type (self , column_type ):
0 commit comments