// SQL keywords
static const TCHAR * s_apszSqlKeywordList[] =
{
- _T ("all"),
- _T ("alter"),
- _T ("and"),
- _T ("as"),
- _T ("begin"),
- _T ("by"),
- _T ("case"),
- _T ("create"),
- _T ("distinct"),
- _T ("end"),
- _T ("from"),
- _T ("full"),
- _T ("group"),
- _T ("in"),
- _T ("index"),
- _T ("inner"),
- _T ("insert"),
- _T ("into"),
- _T ("join"),
- _T ("left"),
- _T ("not"),
- _T ("or"),
- _T ("order"),
- _T ("outer"),
- _T ("right"),
- _T ("select"),
- _T ("table"),
- _T ("trigger"),
- _T ("union"),
- _T ("update"),
- _T ("view"),
- _T ("when"),
- _T ("where"),
+ _T("ABS"),
+ _T("ABSENT"),
+ _T("ACOS"),
+ _T("ALL"),
+ _T("ALLOCATE"),
+ _T("ALTER"),
+ _T("AND"),
+ _T("ANY"),
+ _T("ARE"),
+ _T("ARRAY"),
+ _T("ARRAY_AGG"),
+ _T("ARRAY_MAX_CARDINALITY"),
+ _T("AS"),
+ _T("ASC"),
+ _T("ASENSITIVE"),
+ _T("ASIN"),
+ _T("ASSERTION"),
+ _T("ASYMMETRIC"),
+ _T("AT"),
+ _T("ATAN"),
+ _T("ATOMIC"),
+ _T("AUTHORIZATION"),
+ _T("AVG"),
+
+ _T("BEGIN"),
+ _T("BEGIN_FRAME"),
+ _T("BEGIN_PARTITION"),
+ _T("BETWEEN"),
+ _T("BOTH"),
+ _T("BY"),
+
+ _T("CALL"),
+ _T("CALLED"),
+ _T("CARDINALITY"),
+ _T("CASCADED"),
+ _T("CASE"),
+ _T("CAST"),
+ _T("CATALOG"),
+ _T("CEIL"),
+ _T("CEILING"),
+ _T("CHARACTER"),
+ _T("CHARACTER_LENGTH"),
+ _T("CHAR_LENGTH"),
+ _T("CHECK"),
+ _T("CLASSIFIER"),
+ _T("CLOSE"),
+ _T("COALESCE"),
+ _T("COLLATE"),
+ _T("COLLECT"),
+ _T("COLUMN"),
+ _T("COMMIT"),
+ _T("CONDITION"),
+ _T("CONNECT"),
+ _T("CONNECTION"),
+ _T("CONSTRAINT"),
+ _T("CONTAINS"),
+ _T("CONVERT"),
+ _T("COPY"),
+ _T("CORR"),
+ _T("CORRESPONDING"),
+ _T("COS"),
+ _T("COSH"),
+ _T("COUNT"),
+ _T("COVAR_POP"),
+ _T("COVAR_SAMP"),
+ _T("CREATE"),
+ _T("CROSS"),
+ _T("CUBE"),
+ _T("CUME_DIST"),
+ _T("CURRENT"),
+ _T("CURRENT_CATALOG"),
+ _T("CURRENT_DATE"),
+ _T("CURRENT_DEFAULT_TRANSFORM_GROUP"),
+ _T("CURRENT_PATH"),
+ _T("CURRENT_ROLE"),
+ _T("CURRENT_ROW"),
+ _T("CURRENT_SCHEMA"),
+ _T("CURRENT_TIME"),
+ _T("CURRENT_TIMESTAMP"),
+ _T("CURRENT_TRANSFORM_GROUP_FOR_TYPE"),
+ _T("CURRENT_USER"),
+ _T("CURSOR"),
+ _T("CYCLE"),
+
+ _T("DAY"),
+ _T("DEALLOCATE"),
+ _T("DECFLOAT"),
+ _T("DECLARE"),
+ _T("DEFAULT"),
+ _T("DEFINE"),
+ _T("DELETE"),
+ _T("DENSE_RANK"),
+ _T("DEPTH"),
+ _T("DEREF"),
+ _T("DESC"),
+ _T("DESCRIBE"),
+ _T("DETERMINISTIC"),
+ _T("DISCONNECT"),
+ _T("DISTINCT"),
+ _T("DROP"),
+ _T("DYNAMIC"),
+
+ _T("EACH"),
+ _T("ELEMENT"),
+ _T("ELSE"),
+ _T("EMPTY"),
+ _T("END"),
+ _T("END-EXEC"),
+ _T("END_FRAME"),
+ _T("END_PARTITION"),
+ _T("EQUALS"),
+ _T("ESCAPE"),
+ _T("EVERY"),
+ _T("EXCEPT"),
+ _T("EXEC"),
+ _T("EXECUTE"),
+ _T("EXISTS"),
+ _T("EXIT"),
+ _T("EXP"),
+ _T("EXTERNAL"),
+ _T("EXTRACT"),
+
+ _T("FALSE"),
+ _T("FETCH"),
+ _T("FILTER"),
+ _T("FIRST_VALUE"),
+ _T("FLOOR"),
+ _T("FOR"),
+ _T("FOREIGN"),
+ _T("FOUND"),
+ _T("FRAME_ROW"),
+ _T("FREE"),
+ _T("FROM"),
+ _T("FULL"),
+ _T("FUNCTION"),
+ _T("FUSION"),
+
+ _T("GET"),
+ _T("GLOBAL"),
+ _T("GRANT"),
+ _T("GROUP"),
+ _T("GROUPING"),
+ _T("GROUPS"),
+
+ _T("HAVING"),
+ _T("HOLD"),
+ _T("HOUR"),
+
+ _T("IDENTITY"),
+ _T("IN"),
+ _T("INDEX"),
+ _T("INDICATOR"),
+ _T("INITIAL"),
+ _T("INNER"),
+ _T("INOUT"),
+ _T("INSENSITIVE"),
+ _T("INSERT"),
+ _T("INTERSECT"),
+ _T("INTERSECTION"),
+ _T("INTERVAL"),
+ _T("INTO"),
+ _T("IS"),
+
+ _T("JOIN"),
+ _T("JSON"),
+ _T("JSON_ARRAY"),
+ _T("JSON_ARRAYAGG"),
+ _T("JSON_EXISTS"),
+ _T("JSON_OBJECT"),
+ _T("JSON_OBJECTAGG"),
+ _T("JSON_QUERY"),
+ _T("JSON_TABLE"),
+ _T("JSON_TABLE_PRIMITIVE"),
+ _T("JSON_VALUE"),
+
+ _T("LAG"),
+ _T("LANGUAGE"),
+ _T("LARGE"),
+ _T("LAST_VALUE"),
+ _T("LATERAL"),
+ _T("LEAD"),
+ _T("LEADING"),
+ _T("LEFT"),
+ _T("LIKE"),
+ _T("LIKE_REGEX"),
+ _T("LISTAGG"),
+ _T("LN"),
+ _T("LOCAL"),
+ _T("LOCALTIME"),
+ _T("LOCALTIMESTAMP"),
+ _T("LOG"),
+ _T("LOG10"),
+ _T("LOWER"),
+
+ _T("MATCH"),
+ _T("MATCHES"),
+ _T("MATCH_NUMBER"),
+ _T("MATCH_RECOGNIZE"),
+ _T("MAX"),
+ _T("MEMBER"),
+ _T("MERGE"),
+ _T("METHOD"),
+ _T("MIN"),
+ _T("MINUTE"),
+ _T("MOD"),
+ _T("MODIFIES"),
+ _T("MODULE"),
+ _T("MONTH"),
+ _T("MULTISET"),
+
+ _T("NATIONAL"),
+ _T("NATURAL"),
+ _T("NEW"),
+ _T("NO"),
+ _T("NONE"),
+ _T("NORMALIZE"),
+ _T("NOT"),
+ _T("NTH_VALUE"),
+ _T("NTILE"),
+ _T("NULL"),
+ _T("NULLIF"),
+
+ _T("OCCURRENCES_REGEX"),
+ _T("OCTET_LENGTH"),
+ _T("OF"),
+ _T("OFFSET"),
+ _T("OLD"),
+ _T("OMIT"),
+ _T("ON"),
+ _T("ONE"),
+ _T("ONLY"),
+ _T("OPEN"),
+ _T("OR"),
+ _T("ORDER"),
+ _T("OUT"),
+ _T("OUTER"),
+ _T("OVER"),
+ _T("OVERLAPS"),
+ _T("OVERLAY"),
+
+ _T("PARAMETER"),
+ _T("PARTITION"),
+ _T("PATTERN"),
+ _T("PER"),
+ _T("PERCENT"),
+ _T("PERCENTILE_CONT"),
+ _T("PERCENTILE_DISC"),
+ _T("PERCENT_RANK"),
+ _T("PERIOD"),
+ _T("PORTION"),
+ _T("POSITION"),
+ _T("POSITION_REGEX"),
+ _T("POWER"),
+ _T("PRECEDES"),
+ _T("PRECISION"),
+ _T("PREPARE"),
+ _T("PRIMARY"),
+ _T("PROCEDURE"),
+ _T("PTF"),
+
+ _T("RANGE"),
+ _T("RANK"),
+ _T("READS"),
+ _T("RECURSIVE"),
+ _T("REF"),
+ _T("REFERENCES"),
+ _T("REFERENCING"),
+ _T("REGR_AVGX"),
+ _T("REGR_AVGY"),
+ _T("REGR_COUNT"),
+ _T("REGR_INTERCEPT"),
+ _T("REGR_R2"),
+ _T("REGR_SLOPE"),
+ _T("REGR_SXX"),
+ _T("REGR_SXY"),
+ _T("REGR_SYY"),
+ _T("RELEASE"),
+ _T("RESULT"),
+ _T("RETURN"),
+ _T("RETURNS"),
+ _T("REVOKE"),
+ _T("RIGHT"),
+ _T("ROLLBACK"),
+ _T("ROLLUP"),
+ _T("ROW"),
+ _T("ROWS"),
+ _T("ROW_NUMBER"),
+ _T("RUNNING"),
+
+ _T("SAVEPOINT"),
+ _T("SCOPE"),
+ _T("SCROLL"),
+ _T("SEARCH"),
+ _T("SECOND"),
+ _T("SEEK"),
+ _T("SELECT"),
+ _T("SENSITIVE"),
+ _T("SESSION_USER"),
+ _T("SET"),
+ _T("SHOW"),
+ _T("SIMILAR"),
+ _T("SIN"),
+ _T("SINH"),
+ _T("SIZE"),
+ _T("SKIP"),
+ _T("SOME"),
+ _T("SPECIFIC"),
+ _T("SPECIFICTYPE"),
+ _T("SQL"),
+ _T("SQLEXCEPTION"),
+ _T("SQLSTATE"),
+ _T("SQLWARNING"),
+ _T("SQRT"),
+ _T("START"),
+ _T("STATIC"),
+ _T("STDDEV_POP"),
+ _T("STDDEV_SAMP"),
+ _T("SUBMULTISET"),
+ _T("SUBSET"),
+ _T("SUBSTRING"),
+ _T("SUBSTRING_REGEX"),
+ _T("SUCCEEDS"),
+ _T("SUM"),
+ _T("SYMMETRIC"),
+ _T("SYSTEM"),
+ _T("SYSTEM_TIME"),
+ _T("SYSTEM_USER"),
+
+ _T("TABLE"),
+ _T("TABLESAMPLE"),
+ _T("TAN"),
+ _T("TANH"),
+ _T("THEN"),
+ _T("TIMEZONE_HOUR"),
+ _T("TIMEZONE_MINUTE"),
+ _T("TO"),
+ _T("TRAILING"),
+ _T("TRANSLATE"),
+ _T("TRANSLATE_REGEX"),
+ _T("TRANSLATION"),
+ _T("TREAT"),
+ _T("TRIGGER"),
+ _T("TRIM"),
+ _T("TRIM_ARRAY"),
+ _T("TRUE"),
+ _T("TRUNCATE"),
+
+ _T("UESCAPE"),
+ _T("UNION"),
+ _T("UNIQUE"),
+ _T("UNKNOWN"),
+ _T("UNNEST"),
+ _T("UPDATE"),
+ _T("UPPER"),
+ _T("USER"),
+ _T("USING"),
+
+ _T("VALUE"),
+ _T("VALUES"),
+ _T("VALUE_OF"),
+ _T("VARYING"),
+ _T("VAR_POP"),
+ _T("VAR_SAMP"),
+ _T("VIEW"),
+ _T("VERSIONING"),
+
+ _T("WHEN"),
+ _T("WHENEVER"),
+ _T("WHERE"),
+ _T("WIDTH_BUCKET"),
+ _T("WINDOW"),
+ _T("WITH"),
+ _T("WITHIN"),
+ _T("WITHOUT"),
+
+ _T("YEAR"),
};
// SQL data type keywords
static const TCHAR * s_apszUser1KeywordList[] =
{
- _T ("BIGINT"),
- _T ("BINARY"),
- _T ("BIT"),
- _T ("BLOB"),
- _T ("BOOLEAN"),
- _T ("BYTE"),
- _T ("CHAR"),
- _T ("CLOB"),
- _T ("DATE"),
- _T ("DATETIME"),
- _T ("DECIMAL"),
- _T ("DOUBLE"),
- _T ("FLOAT"),
- _T ("IMAGE"),
- _T ("INT"),
- _T ("INTEGER"),
- _T ("MEMO"),
- _T ("MONEY"),
- _T ("NCHAR"),
- _T ("NUMERIC"),
- _T ("NVARCHAR"),
- _T ("REAL"),
- _T ("SMALLDATETIME"),
- _T ("SMALLINT"),
- _T ("SMALLMONEY"),
- _T ("TEXT"),
- _T ("TIME"),
- _T ("TIMESTAMP"),
- _T ("VARBINARY"),
- _T ("VARCHAR"),
- _T ("WORD"),
- _T ("XML"),
+ _T("BIGINT"),
+ _T("BINARY"),
+ _T("BIT"),
+ _T("BLOB"),
+ _T("BOOLEAN"),
+ _T("BYTE"),
+ _T("CHAR"),
+ _T("CLOB"),
+ _T("DATE"),
+ _T("DATETIME"),
+ _T("DECIMAL"),
+ _T("DOUBLE"),
+ _T("FLOAT"),
+ _T("IMAGE"),
+ _T("INT"),
+ _T("INTEGER"),
+ _T("MEMO"),
+ _T("MONEY"),
+ _T("NCHAR"),
+ _T("NUMERIC"),
+ _T("NVARCHAR"),
+ _T("REAL"),
+ _T("SMALLDATETIME"),
+ _T("SMALLINT"),
+ _T("SMALLMONEY"),
+ _T("TEXT"),
+ _T("TIME"),
+ _T("TIMESTAMP"),
+ _T("VARBINARY"),
+ _T("VARCHAR"),
+ _T("WORD"),
+ _T("XML"),
};
static bool