"""A list of all SQL keywords.

Based on query:
select *
from keywords
"""

# From reserved keywords were removed keywords that work correctly
# in create table(keyword some_datatype) without quotes.
# Put them in unreserved_keywords.

vertica_reserved_keywords = """ALL
AND
ANY
ARRAY
AS
ASC
AUTHORIZATION
BETWEEN
BINARY
BOTH
CASE
CAST
CHECK
COLLATE
COLUMN
CONSTRAINT
CORRELATION
CREATE
CURRENT_DATABASE
CURRENT_DATE
CURRENT_SCHEMA
CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_USER
DEFAULT
DEFERRABLE
DESC
DISTINCT
ELSE
END
EXCEPT
FALSE
FOR
FOREIGN
FROM
GRANT
HAVING
IN
INITIALLY
INTERSECT
INTERVAL
INTERVALYM
INTO
IS
LATERAL
LEADING
LIKE
LIMIT
LOCALTIME
LOCALTIMESTAMP
MATCH
NEW
NOT
NOTNULL
NULL
NULLSEQUAL
OFFSET
OLD
ON
ONLY
OR
ORDER
OVER
OVERLAPS
PRIMARY
REFERENCES
SELECT
SESSION_USER
SIMILAR
SOME
SYSDATE
TABLE
THEN
TIMESERIES
TO
TRAILING
TRUE
UNBOUNDED
UNION
UNIQUE
USER
USING
WHEN
WHERE
WINDOW
WITH
WITHIN
"""

vertica_unreserved_keywords = """ABORT
ABSOLUTE
ACCESS
ACCESSRANK
ACCOUNT
ACTION
ACTIVATE
ACTIVEPARTITIONCOUNT
ADD
ADDRESS
ADMIN
AFTER
AGGREGATE
ALSO
ALTER
ANALYSE
ANALYTIC
ANALYZE
ANNOTATED
ANTI
ARCHIVE
ASSERTION
ASSIGNMENT
AT
AUTHENTICATION
AUTO
AUTOCOMMIT
AUTO_INCREMENT
AVAILABLE
BACKWARD
BALANCE
BASENAME
BATCH
BEFORE
BEGIN
BEST
BIGINT
BIT
BLOCK
BLOCKDICT_COMP
BLOCK_DICT
BOOLEAN
BROADCAST
BUNDLE
BY
BYTEA
BYTES
BZIP
BZIP_COMP
CA
CACHE
CALL
CALLED
CASCADE
CATALOGPATH
CERTIFICATE
CERTIFICATES
CHAIN
CHAR
CHARACTER
CHARACTERISTICS
CHARACTERS
CHARACTER_LENGTH
CHAR_LENGTH
CHECKPOINT
CIPHER
CLASS
CLEAR
CLOSE
CLUSTER
COLLECTIONCLOSE
COLLECTIONDELIMITER
COLLECTIONENCLOSE
COLLECTIONNULLELEMENT
COLLECTIONOPEN
COLSIZES
COLUMNS
COLUMNS_COUNT
COMMENT
COMMIT
COMMITTED
COMMONDELTA_COMP
COMMUNAL
COMPLEX
CONFIGURATION
CONNECT
CONSTRAINTS
CONTROL
COPY
COUNT
CPUAFFINITYMODE
CPUAFFINITYSET
CREATEDB
CREATEUSER
CRON
CROSS
CSV
CUBE
CURRENT
CURSOR
CUSTOM
CUSTOM_PARTITIONS
CYCLE
DATA
DATABASE
DATAPATH
DATEDIFF
DATESTYLE
DATETIME
DATETIMES
DAY
DEACTIVATE
DEALLOCATE
DEBUG
DEC
DECIMAL
DECLARE
DECODE
DEFAULTS
DEFERRED
DEFINE
DEFINER
DELETE
DELIMITED
DELIMITER
DELIMITERS
DELTARANGE_COMP
DELTARANGE_COMP_SP
DELTAVAL
DEPENDS
DETERMINES
DIRECT
DIRECTCOLS
DIRECTED
DIRECTGROUPED
DIRECTPROJ
DISABLE
DISABLED
DISCONNECT
DISK_QUOTA
DISTVALINDEX
DO
DOMAIN
DOUBLE
DROP
DRYRUN
DURABLE
EACH
ENABLE
ENABLED
ENCLOSED
ENCODED
ENCODING
ENCRYPTED
ENFORCELENGTH
EPHEMERAL
EPOCH
ERROR
ESCAPE
ESCAPE_STRING_WARNING
EVENT
EVENTS
EXCEPTION
EXCEPTIONS
EXCLUDE
EXCLUDING
EXCLUSIVE
EXECUTE
EXECUTIONPARALLELISM
EXISTS
EXPIRE
EXPLAIN
EXPORT
EXTEND
EXTENSIONS
EXTERNAL
EXTRACT
FAILED_LOGIN_ATTEMPTS
FALLTHROUGH
FAULT
FENCED
FETCH
FILESYSTEM
FILLER
FILTER
FIRST
FIXEDWIDTH
FLEX
FLEXIBLE
FLOAT
FOLLOWING
FORCE
FORMAT
FORWARD
FREEZE
FULL
FUNCTION
FUNCTIONS
GCDDELTA
GEOMETRY
GEOGRAPHY
GET
GLOB
GLOBAL
GRACEPERIOD
GROUP
GROUPED
GROUPING
GZIP
GZIP_COMP
HANDLER
HCATALOG
HCATALOG_CONNECTION_TIMEOUT
HCATALOG_DB
HCATALOG_SCHEMA
HCATALOG_SLOW_TRANSFER_LIMIT
HCATALOG_SLOW_TRANSFER_TIME
HCATALOG_USER
HIGH
HIVESERVER2_HOSTNAME
HOLD
HOST
HOSTNAME
HOUR
HOURS
ICEBERG
ID
IDENTIFIED
IDENTITY
IDLESESSIONTIMEOUT
IF
IGNORE
ILIKE
ILIKEB
IMMEDIATE
IMMUTABLE
IMPLICIT
INCLUDE
INCLUDING
INCREMENT
INDEX
INHERITS
INNER
INOUT
INPUT
INSENSITIVE
INSERT
INSTEAD
INT
INTEGER
INTERFACE
INTERPOLATE
INTERVALSTYLE
INVOKER
ISNULL
ISOLATION
JOIN
JSON
KEY
KEYMANAGER
KSAFE
LABEL
LANCOMPILER
LANGUAGE
LARGE
LAST
LATEST
LEFT
LENGTH
LESS
LEVEL
LIBRARY
LIKEB
LISTEN
LOAD
LOADER
LOCAL
LOCALE
LOCATION
LOCK
LONG
LOW
LZO
MANAGED
MAP
MASK
MATCHED
MATERIALIZE
MAXCONCURRENCY
MAXCONCURRENCYGRACE
MAXCONNECTIONS
MAXMEMORYSIZE
MAXPAYLOAD
MAXQUERYMEMORYSIZE
MAXVALUE
MEDIUM
MEMORYCAP
MEMORYSIZE
MERGE
MERGEOUT
METHOD
MICROSECONDS
MILLISECONDS
MINUS
MINUTE
MINUTES
MINVALUE
MODE
MODEL
MONEY
MONTH
MOVE
MOVEOUT
MULTIPLEACTIVERESULTSETS
NAME
NAMESPACE
NATIONAL
NATIVE
NATURAL
NCHAR
NETWORK
NEXT
NO
NOCREATEDB
NOCREATEUSER
NODE
NODES
NOGLOB
NONE
NOTHING
NOTIFIER
NOTIFY
NOWAIT
NULLAWARE
NULLCOLS
NULLS
NUMBER
NUMERIC
OBJECT
OBJECTS
OCTETS
OF
OFF
OIDS
OPERATOR
OPT
OPTIMIZER
OPTION
OPTVER
ORC
OTHERS
OUT
OUTER
OVERLAY
OWNER
PARAMETER
PARAMETERS
PARQUET
PARSER
PARTIAL
PARTITION
PARTITIONING
PASSWORD
PASSWORD_GRACE_TIME
PASSWORD_LIFE_TIME
PASSWORD_LOCK_TIME
PASSWORD_MAX_LENGTH
PASSWORD_MIN_CHAR_CHANGE
PASSWORD_MIN_DIGITS
PASSWORD_MIN_LENGTH
PASSWORD_MIN_LETTERS
PASSWORD_MIN_LIFE_TIME
PASSWORD_MIN_LOWERCASE_LETTERS
PASSWORD_MIN_SYMBOLS
PASSWORD_MIN_UPPERCASE_LETTERS
PASSWORD_REUSE_MAX
PASSWORD_REUSE_TIME
PATTERN
PERCENT
PERMANENT
PINNED
PLACING
PLANNEDCONCURRENCY
POINT
POLICY
POOL
PORT
POSITION
PRECEDING
PRECISION
PREFER
PREFIX
PREPARE
PREPASS
PRESERVE
PREVIOUS
PRIOR
PRIORITY
PRIVILEGES
PROCEDURAL
PROCEDURE
PROFILE
PROJECTION
PROJECTIONS
PSDATE
QUERY
QUEUETIMEOUT
QUOTE
RANDOM
RANGE
RAW
READ
REAL
RECHECK
RECORD
RECOVER
RECURSIVE
REFRESH
REINDEX
REJECTED
REJECTMAX
RELATIVE
RELEASE
REMOVE
RENAME
REORGANIZE
REPEATABLE
REPLACE
REPLICATE
RESET
RESOURCE
RESOURCE_POOL
RESTART
RESTORE
RESTRICT
RESULTS
RETENTION
RETRY
RETURN
RETURNREJECTED
REVOKE
RIGHT
RLE
ROLE
ROLES
ROLLBACK
ROLLUP
ROUTE
ROUTING
ROW
ROWS
RULE
RUNTIMECAP
RUNTIMEPRIORITY
RUNTIMEPRIORITYTHRESHOLD
RWITH
SALT
SAVE
SAVEPOINT
SCHEDULE
SCHEMA
SCHEMATA
SCROLL
SEARCH_PATH
SECOND
SECONDARY
SECONDS
SECURITY
SECURITY_ALGORITHM
SEGMENTED
SEMI
SEMIALL
SEQUENCE
SEQUENCES
SERIAL
SERIALIZABLE
SESSION
SET
SETOF
SETS
SHARD
SHARE
SHARED
SHOW
SIGNED
SIMPLE
SINGLEINITIATOR
SITE
SITES
SKIP
SMALLDATETIME
SMALLINT
SOURCE
SPLIT
SSL_CONFIG
STABLE
STANDARD_CONFORMING_STRINGS
STANDBY
START
STATEMENT
STATISTICS
STDIN
STDOUT
STEMMER
STORAGE
STORED
STREAM
STRENGTH
STRICT
SUBCLUSTER
SUBJECT
SUBNET
SUBSTRING
SUITES
SYSID
SYSTEM
TABLES
TABLESAMPLE
TABLESPACE
TEMP
TEMPLATE
TEMPORARY
TEMPSPACECAP
TERMINATOR
TEXT
THAN
TIES
TIME
TIMESTAMP
TIMESTAMPADD
TIMESTAMPDIFF
TIMESTAMPTZ
TIMETZ
TIMEZONE
TINYINT
TLS
TLSMODE
TOAST
TOKENIZER
TOLERANCE
TRANSACTION
TRANSFORM
TREAT
TRICKLE
TRIGGER
TRIM
TRUNCATE
TRUSTED
TUNING
TYPE
TYPES
UDPARAMETER
UNCOMMITTED
UNCOMPRESSED
UNI
UNINDEXED
UNKNOWN
UNLIMITED
UNLISTEN
UNLOCK
UNSEGMENTED
UPDATE
USAGE
UUID
VACUUM
VALID
VALIDATE
VALIDATOR
VALINDEX
VALUE
VALUES
VARBINARY
VARCHAR
VARCHAR2
VARYING
VERBOSE
VERTICA
VIEW
VOLATILE
WAIT
WEBHDFS_ADDRESS
WEBSERVICE_HOSTNAME
WEBSERVICE_PORT
WITHOUT
WORK
WORKLOAD
WRITE
YEAR
ZONE
ZSTD
ZSTD_COMP
ZSTD_FAST_COMP
ZSTD_HIGH_COMP
"""
