diff --git a/apache2/libinjection/libinjection.h b/apache2/libinjection/libinjection.h index 21059604..52e06793 100644 --- a/apache2/libinjection/libinjection.h +++ b/apache2/libinjection/libinjection.h @@ -19,7 +19,7 @@ extern "C" { * See python's normalized version * http://www.python.org/dev/peps/pep-0386/#normalizedversion */ -#define LIBINJECTION_VERSION "3.5.3" +#define LIBINJECTION_VERSION "3.6.0" /** * Libinjection's sqli module makes a "normalized" @@ -59,7 +59,7 @@ enum lookup_type { LOOKUP_FINGERPRINT }; -typedef struct { +struct libinjection_sqli_token { #ifdef SWIG %immutable; #endif @@ -81,8 +81,9 @@ typedef struct { int count; char val[LIBINJECTION_SQLI_TOKEN_SIZE]; -} stoken_t; +}; +typedef struct libinjection_sqli_token stoken_t; /** * Pointer to function, takes cstr input, @@ -91,7 +92,7 @@ typedef struct { struct libinjection_sqli_state; typedef char (*ptr_lookup_fn)(struct libinjection_sqli_state*, int lookuptype, const char* word, size_t len); -typedef struct libinjection_sqli_state { +struct libinjection_sqli_state { #ifdef SWIG %immutable; #endif @@ -123,15 +124,19 @@ typedef struct libinjection_sqli_state { */ size_t pos; +#ifndef SWIG + /* for SWIG.. don't use this.. use functional API instead */ + /* MAX TOKENS + 1 since we use one extra token * to determine the type of the previous token */ - stoken_t tokenvec[LIBINJECTION_SQLI_BUFFER_SZ]; + struct libinjection_sqli_token tokenvec[LIBINJECTION_SQLI_BUFFER_SZ]; +#endif /* * Pointer to token position in tokenvec, above */ - stoken_t *current; + struct libinjection_sqli_token *current; /* * fingerprint pattern c-string @@ -189,12 +194,18 @@ typedef struct libinjection_sqli_state { */ int stats_tokens; -} sfilter; +}; + +struct libinjection_sqli_token* libinjection_sqli_get_token( + struct libinjection_sqli_state* sqlistate, int i); + + +typedef struct libinjection_sqli_state sfilter; /** * */ -void libinjection_sqli_init(sfilter* sql_state, +void libinjection_sqli_init(struct libinjection_sqli_state* sql_state, const char* s, size_t slen, int flags); @@ -212,18 +223,21 @@ void libinjection_sqli_init(sfilter* sql_state, * * \return 1 (true) if SQLi, 0 (false) if benign */ -int libinjection_is_sqli(sfilter * sql_state); +int libinjection_is_sqli(struct libinjection_sqli_state* sql_state); /* FOR H@CKERS ONLY * */ -void libinjection_sqli_callback(sfilter* sql_state, ptr_lookup_fn fn, void* userdata); +void libinjection_sqli_callback(struct libinjection_sqli_state* sql_state, + ptr_lookup_fn fn, + void* userdata); /* * Resets state, but keeps initial string and callbacks */ -void libinjection_sqli_reset(sfilter* sql_state, int flags); +void libinjection_sqli_reset(struct libinjection_sqli_state* sql_state, + int flags); /** * @@ -239,14 +253,17 @@ void libinjection_sqli_reset(sfilter* sql_state, int flags); * do not free! * */ -const char* libinjection_sqli_fingerprint(sfilter * sql_state, int flags); +const char* libinjection_sqli_fingerprint(struct libinjection_sqli_state* sql_state, + int flags); /** * The default "word" to token-type or fingerprint function. This * uses a ASCII case-insensitive binary tree. */ -char libinjection_sqli_lookup_word(sfilter *sql_state, int lookup_type, - const char* s, size_t slen); +char libinjection_sqli_lookup_word(struct libinjection_sqli_state* sql_state, + int lookup_type, + const char* s, + size_t slen); /* Streaming tokenization interface. * @@ -255,13 +272,13 @@ char libinjection_sqli_lookup_word(sfilter *sql_state, int lookup_type, * \returns 1, has a token, keep going, or 0 no tokens * */ -int libinjection_sqli_tokenize(sfilter * sql_state); +int libinjection_sqli_tokenize(struct libinjection_sqli_state * sql_state); /** * parses and folds input, up to 5 tokens * */ -int libinjection_sqli_fold(sfilter * sql_state); +int libinjection_sqli_fold(struct libinjection_sqli_state * sql_state); /** The built-in default function to match fingerprints * and do false negative/positive analysis. This calls the following @@ -272,20 +289,20 @@ int libinjection_sqli_fold(sfilter * sql_state); * * \param sql_state should be filled out after libinjection_sqli_fingerprint is called */ -int libinjection_sqli_check_fingerprint(sfilter *sql_state); +int libinjection_sqli_check_fingerprint(struct libinjection_sqli_state * sql_state); /* Given a pattern determine if it's a SQLi pattern. * * \return TRUE if sqli, false otherwise */ -int libinjection_sqli_blacklist(sfilter* sql_state); +int libinjection_sqli_blacklist(struct libinjection_sqli_state* sql_state); /* Given a positive match for a pattern (i.e. pattern is SQLi), this function * does additional analysis to reduce false positives. * * \return TRUE if sqli, false otherwise */ -int libinjection_sqli_not_whitelist(sfilter* sql_state); +int libinjection_sqli_not_whitelist(struct libinjection_sqli_state * sql_state); #ifdef __cplusplus } diff --git a/apache2/libinjection/libinjection_sqli.c b/apache2/libinjection/libinjection_sqli.c index 91e34a65..3eb8d002 100644 --- a/apache2/libinjection/libinjection_sqli.c +++ b/apache2/libinjection/libinjection_sqli.c @@ -342,12 +342,12 @@ static int st_is_unary_op(const stoken_t * st) * */ -static size_t parse_white(sfilter * sf) +static size_t parse_white(struct libinjection_sqli_state * sf) { return sf->pos + 1; } -static size_t parse_operator1(sfilter * sf) +static size_t parse_operator1(struct libinjection_sqli_state * sf) { const char *cs = sf->s; size_t pos = sf->pos; @@ -356,7 +356,7 @@ static size_t parse_operator1(sfilter * sf) return pos + 1; } -static size_t parse_other(sfilter * sf) +static size_t parse_other(struct libinjection_sqli_state * sf) { const char *cs = sf->s; size_t pos = sf->pos; @@ -365,7 +365,7 @@ static size_t parse_other(sfilter * sf) return pos + 1; } -static size_t parse_char(sfilter * sf) +static size_t parse_char(struct libinjection_sqli_state * sf) { const char *cs = sf->s; size_t pos = sf->pos; @@ -374,7 +374,7 @@ static size_t parse_char(sfilter * sf) return pos + 1; } -static size_t parse_eol_comment(sfilter * sf) +static size_t parse_eol_comment(struct libinjection_sqli_state * sf) { const char *cs = sf->s; const size_t slen = sf->slen; @@ -394,7 +394,7 @@ static size_t parse_eol_comment(sfilter * sf) /** In Ansi mode, hash is an operator * In MYSQL mode, it's a EOL comment like '--' */ -static size_t parse_hash(sfilter * sf) +static size_t parse_hash(struct libinjection_sqli_state * sf) { sf->stats_comment_hash += 1; if (sf->flags & FLAG_SQL_MYSQL) { @@ -406,7 +406,7 @@ static size_t parse_hash(sfilter * sf) } } -static size_t parse_dash(sfilter * sf) +static size_t parse_dash(struct libinjection_sqli_state * sf) { const char *cs = sf->s; const size_t slen = sf->slen; @@ -478,7 +478,7 @@ static size_t is_mysql_comment(const char *cs, const size_t len, size_t pos) return 1; } -static size_t parse_slash(sfilter * sf) +static size_t parse_slash(struct libinjection_sqli_state * sf) { size_t clen; const char *cs = sf->s; @@ -528,7 +528,7 @@ static size_t parse_slash(sfilter * sf) } -static size_t parse_backslash(sfilter * sf) +static size_t parse_backslash(struct libinjection_sqli_state * sf) { const char *cs = sf->s; const size_t slen = sf->slen; @@ -546,7 +546,7 @@ static size_t parse_backslash(sfilter * sf) } } -static size_t parse_operator2(sfilter * sf) +static size_t parse_operator2(struct libinjection_sqli_state * sf) { char ch; const char *cs = sf->s; @@ -681,7 +681,7 @@ static size_t parse_string_core(const char *cs, const size_t len, size_t pos, /** * Used when first char is a ' or " */ -static size_t parse_string(sfilter * sf) +static size_t parse_string(struct libinjection_sqli_state * sf) { const char *cs = sf->s; const size_t slen = sf->slen; @@ -698,7 +698,7 @@ static size_t parse_string(sfilter * sf) * N or n: mysql "National Character set" * E : psql "Escaped String" */ -static size_t parse_estring(sfilter * sf) +static size_t parse_estring(struct libinjection_sqli_state * sf) { const char *cs = sf->s; const size_t slen = sf->slen; @@ -710,7 +710,7 @@ static size_t parse_estring(sfilter * sf) return parse_string_core(cs, slen, pos, sf->current, CHAR_SINGLE, 2); } -static size_t parse_ustring(sfilter * sf) +static size_t parse_ustring(struct libinjection_sqli_state * sf) { const char *cs = sf->s; size_t slen = sf->slen; @@ -729,7 +729,7 @@ static size_t parse_ustring(sfilter * sf) } } -static size_t parse_qstring_core(sfilter * sf, int offset) +static size_t parse_qstring_core(struct libinjection_sqli_state * sf, int offset) { char ch; const char *strend; @@ -782,7 +782,7 @@ static size_t parse_qstring_core(sfilter * sf, int offset) /* * Oracle's q string */ -static size_t parse_qstring(sfilter * sf) +static size_t parse_qstring(struct libinjection_sqli_state * sf) { return parse_qstring_core(sf, 0); } @@ -791,7 +791,7 @@ static size_t parse_qstring(sfilter * sf) * mysql's N'STRING' or * ... Oracle's nq string */ -static size_t parse_nqstring(sfilter * sf) +static size_t parse_nqstring(struct libinjection_sqli_state * sf) { size_t slen = sf->slen; size_t pos = sf->pos; @@ -805,7 +805,7 @@ static size_t parse_nqstring(sfilter * sf) * binary literal string * re: [bB]'[01]*' */ -static size_t parse_bstring(sfilter *sf) +static size_t parse_bstring(struct libinjection_sqli_state *sf) { size_t wlen; const char *cs = sf->s; @@ -834,7 +834,7 @@ static size_t parse_bstring(sfilter *sf) * mysql has requirement of having EVEN number of chars, * but pgsql does not */ -static size_t parse_xstring(sfilter *sf) +static size_t parse_xstring(struct libinjection_sqli_state *sf) { size_t wlen; const char *cs = sf->s; @@ -857,7 +857,7 @@ static size_t parse_xstring(sfilter *sf) return pos + 2 + wlen + 1; } -static size_t parse_word(sfilter * sf) +static size_t parse_word(struct libinjection_sqli_state * sf) { char ch; char delim; @@ -907,7 +907,7 @@ static size_t parse_word(sfilter * sf) * and a bare word. * */ -static size_t parse_tick(sfilter* sf) +static size_t parse_tick(struct libinjection_sqli_state* sf) { size_t pos = parse_string_core(sf->s, sf->slen, sf->pos, sf->current, CHAR_TICK, 1); @@ -933,7 +933,7 @@ static size_t parse_tick(sfilter* sf) return pos; } -static size_t parse_var(sfilter * sf) +static size_t parse_var(struct libinjection_sqli_state * sf) { size_t xlen; const char *cs = sf->s; @@ -985,7 +985,7 @@ static size_t parse_var(sfilter * sf) } } -static size_t parse_money(sfilter *sf) +static size_t parse_money(struct libinjection_sqli_state *sf) { size_t xlen; const char* strend; @@ -1063,7 +1063,7 @@ static size_t parse_money(sfilter *sf) } } -static size_t parse_number(sfilter * sf) +static size_t parse_number(struct libinjection_sqli_state * sf) { size_t xlen; size_t start; @@ -1165,7 +1165,7 @@ static size_t parse_number(sfilter * sf) return pos; } -int libinjection_sqli_tokenize(sfilter * sf) +int libinjection_sqli_tokenize(struct libinjection_sqli_state * sf) { pt2Function fnptr; size_t *pos = &sf->pos; @@ -1228,13 +1228,13 @@ int libinjection_sqli_tokenize(sfilter * sf) return FALSE; } -void libinjection_sqli_init(sfilter * sf, const char *s, size_t len, int flags) +void libinjection_sqli_init(struct libinjection_sqli_state * sf, const char *s, size_t len, int flags) { if (flags == 0) { flags = FLAG_QUOTE_NONE | FLAG_SQL_ANSI; } - memset(sf, 0, sizeof(sfilter)); + memset(sf, 0, sizeof(struct libinjection_sqli_state)); sf->s = s; sf->slen = len; sf->lookup = libinjection_sqli_lookup_word; @@ -1243,7 +1243,7 @@ void libinjection_sqli_init(sfilter * sf, const char *s, size_t len, int flags) sf->current = &(sf->tokenvec[0]); } -void libinjection_sqli_reset(sfilter * sf, int flags) +void libinjection_sqli_reset(struct libinjection_sqli_state * sf, int flags) { ptr_lookup_fn lookup = sf->lookup;; void *userdata = sf->userdata; @@ -1256,7 +1256,7 @@ void libinjection_sqli_reset(sfilter * sf, int flags) sf->userdata = userdata; } -void libinjection_sqli_callback(sfilter * sf, ptr_lookup_fn fn, void* userdata) +void libinjection_sqli_callback(struct libinjection_sqli_state * sf, ptr_lookup_fn fn, void* userdata) { if (fn == NULL) { sf->lookup = libinjection_sqli_lookup_word; @@ -1283,7 +1283,7 @@ void libinjection_sqli_callback(sfilter * sf, ptr_lookup_fn fn, void* userdata) * This is just: multikeywords[token.value + ' ' + token2.value] * */ -static int syntax_merge_words(sfilter * sf,stoken_t * a, stoken_t * b) +static int syntax_merge_words(struct libinjection_sqli_state * sf,stoken_t * a, stoken_t * b) { size_t sz1; size_t sz2; @@ -1335,7 +1335,7 @@ static int syntax_merge_words(sfilter * sf,stoken_t * a, stoken_t * b) } } -int libinjection_sqli_fold(sfilter * sf) +int libinjection_sqli_fold(struct libinjection_sqli_state * sf) { stoken_t last_comment; @@ -1547,6 +1547,7 @@ int libinjection_sqli_fold(sfilter * sf) } else if (sf->tokenvec[left].type == TYPE_SQLTYPE && (sf->tokenvec[left+1].type == TYPE_BAREWORD || sf->tokenvec[left+1].type == TYPE_NUMBER || + sf->tokenvec[left+1].type == TYPE_FUNCTION || sf->tokenvec[left+1].type == TYPE_VARIABLE || sf->tokenvec[left+1].type == TYPE_STRING)) { st_copy(&sf->tokenvec[left], &sf->tokenvec[left+1]); @@ -1585,6 +1586,11 @@ int libinjection_sqli_fold(sfilter * sf) pos -= 1; sf->stats_folds += 1; continue; + } else if (sf->tokenvec[left].type == TYPE_SQLTYPE && + sf->tokenvec[left+1].type == TYPE_SQLTYPE) { + pos -= 1; + sf->stats_folds += 1; + continue; } else if (sf->tokenvec[left].type == TYPE_LEFTBRACE && sf->tokenvec[left+1].type == TYPE_BAREWORD) { /* weird ODBC / MYSQL {foo expr} --> expr @@ -1786,7 +1792,7 @@ int libinjection_sqli_fold(sfilter * sf) * double quote. * */ -const char* libinjection_sqli_fingerprint(sfilter * sql_state, int flags) +const char* libinjection_sqli_fingerprint(struct libinjection_sqli_state * sql_state, int flags) { int i; int tlen = 0; @@ -1851,13 +1857,13 @@ const char* libinjection_sqli_fingerprint(sfilter * sql_state, int flags) */ #define UNUSED(x) (void)(x) -int libinjection_sqli_check_fingerprint(sfilter* sql_state) +int libinjection_sqli_check_fingerprint(struct libinjection_sqli_state* sql_state) { return libinjection_sqli_blacklist(sql_state) && libinjection_sqli_not_whitelist(sql_state); } -char libinjection_sqli_lookup_word(sfilter *sql_state, int lookup_type, +char libinjection_sqli_lookup_word(struct libinjection_sqli_state *sql_state, int lookup_type, const char* str, size_t len) { if (lookup_type == LOOKUP_FINGERPRINT) { @@ -1867,7 +1873,7 @@ char libinjection_sqli_lookup_word(sfilter *sql_state, int lookup_type, } } -int libinjection_sqli_blacklist(sfilter* sql_state) +int libinjection_sqli_blacklist(struct libinjection_sqli_state* sql_state) { /* * use minimum of 8 bytes to make sure gcc -fstack-protector @@ -1919,7 +1925,7 @@ int libinjection_sqli_blacklist(sfilter* sql_state) /* * return TRUE if sqli, false is benign */ -int libinjection_sqli_not_whitelist(sfilter* sql_state) +int libinjection_sqli_not_whitelist(struct libinjection_sqli_state* sql_state) { /* * We assume we got a SQLi match @@ -2117,13 +2123,25 @@ int libinjection_sqli_not_whitelist(sfilter* sql_state) * * */ -static int reparse_as_mysql(sfilter * sql_state) +static int reparse_as_mysql(struct libinjection_sqli_state * sql_state) { return sql_state->stats_comment_ddx || sql_state->stats_comment_hash; } -int libinjection_is_sqli(sfilter * sql_state) +/* + * This function is mostly use with SWIG + */ +struct libinjection_sqli_token* libinjection_sqli_get_token(struct libinjection_sqli_state * sql_state, + int i) +{ + if (i < 0 || i > (int) strlen(sql_state->fingerprint)) { + return NULL; + } + return &(sql_state->tokenvec[i]); +} + +int libinjection_is_sqli(struct libinjection_sqli_state * sql_state) { const char *s = sql_state->s; size_t slen = sql_state->slen; diff --git a/apache2/libinjection/libinjection_sqli_data.h b/apache2/libinjection/libinjection_sqli_data.h index 20e1a5f6..a6bce734 100644 --- a/apache2/libinjection/libinjection_sqli_data.h +++ b/apache2/libinjection/libinjection_sqli_data.h @@ -176,28 +176,12 @@ static const keyword_t sql_keywords[] = { {"+=", 'o'}, {"-=", 'o'}, {"/=", 'o'}, - {"0&((((", 'F'}, - {"0&(((1", 'F'}, - {"0&(((F", 'F'}, - {"0&(((N", 'F'}, - {"0&(((S", 'F'}, - {"0&(((V", 'F'}, - {"0&((1)", 'F'}, - {"0&((1O", 'F'}, - {"0&((F(", 'F'}, - {"0&((N)", 'F'}, - {"0&((NO", 'F'}, - {"0&((S)", 'F'}, - {"0&((SO", 'F'}, - {"0&((V)", 'F'}, - {"0&((VO", 'F'}, {"0&(1)O", 'F'}, {"0&(1)U", 'F'}, {"0&(1O(", 'F'}, {"0&(1OF", 'F'}, {"0&(1OS", 'F'}, {"0&(1OV", 'F'}, - {"0&(F((", 'F'}, {"0&(F()", 'F'}, {"0&(F(1", 'F'}, {"0&(F(F", 'F'}, @@ -223,7 +207,6 @@ static const keyword_t sql_keywords[] = { {"0&(VO(", 'F'}, {"0&(VOF", 'F'}, {"0&(VOS", 'F'}, - {"0&1O((", 'F'}, {"0&1O(1", 'F'}, {"0&1O(F", 'F'}, {"0&1O(N", 'F'}, @@ -248,13 +231,6 @@ static const keyword_t sql_keywords[] = { {"0&1UEN", 'F'}, {"0&1UES", 'F'}, {"0&1UEV", 'F'}, - {"0&F(((", 'F'}, - {"0&F(()", 'F'}, - {"0&F((1", 'F'}, - {"0&F((F", 'F'}, - {"0&F((N", 'F'}, - {"0&F((S", 'F'}, - {"0&F((V", 'F'}, {"0&F()O", 'F'}, {"0&F()U", 'F'}, {"0&F(1)", 'F'}, @@ -266,7 +242,6 @@ static const keyword_t sql_keywords[] = { {"0&F(SO", 'F'}, {"0&F(V)", 'F'}, {"0&F(VO", 'F'}, - {"0&NO((", 'F'}, {"0&NO(1", 'F'}, {"0&NO(F", 'F'}, {"0&NO(N", 'F'}, @@ -291,7 +266,6 @@ static const keyword_t sql_keywords[] = { {"0&NUEN", 'F'}, {"0&NUES", 'F'}, {"0&NUEV", 'F'}, - {"0&SO((", 'F'}, {"0&SO(1", 'F'}, {"0&SO(F", 'F'}, {"0&SO(N", 'F'}, @@ -328,7 +302,6 @@ static const keyword_t sql_keywords[] = { {"0&SUEN", 'F'}, {"0&SUES", 'F'}, {"0&SUEV", 'F'}, - {"0&VO((", 'F'}, {"0&VO(1", 'F'}, {"0&VO(F", 'F'}, {"0&VO(N", 'F'}, @@ -348,7 +321,6 @@ static const keyword_t sql_keywords[] = { {"0&VUEN", 'F'}, {"0&VUES", 'F'}, {"0&VUEV", 'F'}, - {"0)UE((", 'F'}, {"0)UE(1", 'F'}, {"0)UE(F", 'F'}, {"0)UE(N", 'F'}, @@ -369,13 +341,6 @@ static const keyword_t sql_keywords[] = { {"0)UESO", 'F'}, {"0)UEVK", 'F'}, {"0)UEVO", 'F'}, - {"01&(((", 'F'}, - {"01&((1", 'F'}, - {"01&((E", 'F'}, - {"01&((F", 'F'}, - {"01&((N", 'F'}, - {"01&((S", 'F'}, - {"01&((V", 'F'}, {"01&(1&", 'F'}, {"01&(1)", 'F'}, {"01&(1,", 'F'}, @@ -387,6 +352,7 @@ static const keyword_t sql_keywords[] = { {"01&(EN", 'F'}, {"01&(EO", 'F'}, {"01&(ES", 'F'}, + {"01&(ET", 'F'}, {"01&(EV", 'F'}, {"01&(F(", 'F'}, {"01&(N&", 'F'}, @@ -397,6 +363,7 @@ static const keyword_t sql_keywords[] = { {"01&(S)", 'F'}, {"01&(S,", 'F'}, {"01&(SO", 'F'}, + {"01&(T(", 'F'}, {"01&(V&", 'F'}, {"01&(V)", 'F'}, {"01&(V,", 'F'}, @@ -409,6 +376,7 @@ static const keyword_t sql_keywords[] = { {"01&1&S", 'F'}, {"01&1&V", 'F'}, {"01&1)&", 'F'}, + {"01&1)C", 'F'}, {"01&1)O", 'F'}, {"01&1)U", 'F'}, {"01&1;", 'F'}, @@ -442,7 +410,6 @@ static const keyword_t sql_keywords[] = { {"01&1U;", 'F'}, {"01&1UC", 'F'}, {"01&1UE", 'F'}, - {"01&E((", 'F'}, {"01&E(1", 'F'}, {"01&E(F", 'F'}, {"01&E(N", 'F'}, @@ -478,13 +445,13 @@ static const keyword_t sql_keywords[] = { {"01&EVC", 'F'}, {"01&EVK", 'F'}, {"01&EVO", 'F'}, - {"01&F((", 'F'}, {"01&F()", 'F'}, {"01&F(1", 'F'}, {"01&F(E", 'F'}, {"01&F(F", 'F'}, {"01&F(N", 'F'}, {"01&F(S", 'F'}, + {"01&F(T", 'F'}, {"01&F(V", 'F'}, {"01&K&(", 'F'}, {"01&K&1", 'F'}, @@ -492,7 +459,6 @@ static const keyword_t sql_keywords[] = { {"01&K&N", 'F'}, {"01&K&S", 'F'}, {"01&K&V", 'F'}, - {"01&K((", 'F'}, {"01&K(1", 'F'}, {"01&K(F", 'F'}, {"01&K(N", 'F'}, @@ -517,6 +483,7 @@ static const keyword_t sql_keywords[] = { {"01&N&S", 'F'}, {"01&N&V", 'F'}, {"01&N)&", 'F'}, + {"01&N)C", 'F'}, {"01&N)O", 'F'}, {"01&N)U", 'F'}, {"01&N;", 'F'}, @@ -556,6 +523,7 @@ static const keyword_t sql_keywords[] = { {"01&S&S", 'F'}, {"01&S&V", 'F'}, {"01&S)&", 'F'}, + {"01&S)C", 'F'}, {"01&S)O", 'F'}, {"01&S)U", 'F'}, {"01&S1", 'F'}, @@ -599,8 +567,8 @@ static const keyword_t sql_keywords[] = { {"01&SV;", 'F'}, {"01&SVC", 'F'}, {"01&SVO", 'F'}, - {"01&T((", 'F'}, {"01&T(1", 'F'}, + {"01&T(E", 'F'}, {"01&T(F", 'F'}, {"01&T(N", 'F'}, {"01&T(S", 'F'}, @@ -613,6 +581,7 @@ static const keyword_t sql_keywords[] = { {"01&V&S", 'F'}, {"01&V&V", 'F'}, {"01&V)&", 'F'}, + {"01&V)C", 'F'}, {"01&V)O", 'F'}, {"01&V)U", 'F'}, {"01&V;", 'F'}, @@ -649,17 +618,9 @@ static const keyword_t sql_keywords[] = { {"01&VU;", 'F'}, {"01&VUC", 'F'}, {"01&VUE", 'F'}, - {"01((((", 'F'}, - {"01(((E", 'F'}, - {"01(((U", 'F'}, - {"01((EK", 'F'}, - {"01((EN", 'F'}, - {"01((U(", 'F'}, {"01(EKN", 'F'}, {"01(ENK", 'F'}, - {"01(U((", 'F'}, {"01(U(E", 'F'}, - {"01)&((", 'F'}, {"01)&(1", 'F'}, {"01)&(E", 'F'}, {"01)&(F", 'F'}, @@ -703,7 +664,6 @@ static const keyword_t sql_keywords[] = { {"01)&VF", 'F'}, {"01)&VO", 'F'}, {"01)&VU", 'F'}, - {"01),((", 'F'}, {"01),(1", 'F'}, {"01),(F", 'F'}, {"01),(N", 'F'}, @@ -725,7 +685,6 @@ static const keyword_t sql_keywords[] = { {"01);TO", 'F'}, {"01);TS", 'F'}, {"01);TV", 'F'}, - {"01)B((", 'F'}, {"01)B(1", 'F'}, {"01)B(F", 'F'}, {"01)B(N", 'F'}, @@ -761,7 +720,7 @@ static const keyword_t sql_keywords[] = { {"01)BVK", 'F'}, {"01)BVO", 'F'}, {"01)BVU", 'F'}, - {"01)E((", 'F'}, + {"01)C", 'F'}, {"01)E(1", 'F'}, {"01)E(F", 'F'}, {"01)E(N", 'F'}, @@ -782,7 +741,6 @@ static const keyword_t sql_keywords[] = { {"01)ESO", 'F'}, {"01)EVC", 'F'}, {"01)EVO", 'F'}, - {"01)K((", 'F'}, {"01)K(1", 'F'}, {"01)K(F", 'F'}, {"01)K(N", 'F'}, @@ -820,12 +778,12 @@ static const keyword_t sql_keywords[] = { {"01)KVE", 'F'}, {"01)KVO", 'F'}, {"01)KVU", 'F'}, - {"01)O((", 'F'}, {"01)O(1", 'F'}, {"01)O(E", 'F'}, {"01)O(F", 'F'}, {"01)O(N", 'F'}, {"01)O(S", 'F'}, + {"01)O(T", 'F'}, {"01)O(V", 'F'}, {"01)O1", 'F'}, {"01)O1&", 'F'}, @@ -863,7 +821,6 @@ static const keyword_t sql_keywords[] = { {"01)OVK", 'F'}, {"01)OVO", 'F'}, {"01)OVU", 'F'}, - {"01)U((", 'F'}, {"01)U(E", 'F'}, {"01)UE(", 'F'}, {"01)UE1", 'F'}, @@ -872,13 +829,6 @@ static const keyword_t sql_keywords[] = { {"01)UEN", 'F'}, {"01)UES", 'F'}, {"01)UEV", 'F'}, - {"01,(((", 'F'}, - {"01,((1", 'F'}, - {"01,((E", 'F'}, - {"01,((F", 'F'}, - {"01,((N", 'F'}, - {"01,((S", 'F'}, - {"01,((V", 'F'}, {"01,(1)", 'F'}, {"01,(1O", 'F'}, {"01,(E(", 'F'}, @@ -895,7 +845,6 @@ static const keyword_t sql_keywords[] = { {"01,(SO", 'F'}, {"01,(V)", 'F'}, {"01,(VO", 'F'}, - {"01,F((", 'F'}, {"01,F()", 'F'}, {"01,F(1", 'F'}, {"01,F(F", 'F'}, @@ -915,7 +864,6 @@ static const keyword_t sql_keywords[] = { {"01,VOF", 'F'}, {"01,VOS", 'F'}, {"01,VUE", 'F'}, - {"01;E((", 'F'}, {"01;E(1", 'F'}, {"01;E(E", 'F'}, {"01;E(F", 'F'}, @@ -939,6 +887,7 @@ static const keyword_t sql_keywords[] = { {"01;EN,", 'F'}, {"01;EN;", 'F'}, {"01;ENC", 'F'}, + {"01;ENE", 'F'}, {"01;ENK", 'F'}, {"01;ENO", 'F'}, {"01;ENT", 'F'}, @@ -956,7 +905,6 @@ static const keyword_t sql_keywords[] = { {"01;EVO", 'F'}, {"01;EVT", 'F'}, {"01;N:T", 'F'}, - {"01;T((", 'F'}, {"01;T(1", 'F'}, {"01;T(E", 'F'}, {"01;T(F", 'F'}, @@ -1014,12 +962,6 @@ static const keyword_t sql_keywords[] = { {"01;TVK", 'F'}, {"01;TVO", 'F'}, {"01;TVT", 'F'}, - {"01A(((", 'F'}, - {"01A((1", 'F'}, - {"01A((F", 'F'}, - {"01A((N", 'F'}, - {"01A((S", 'F'}, - {"01A((V", 'F'}, {"01A(F(", 'F'}, {"01A(N)", 'F'}, {"01A(NO", 'F'}, @@ -1027,7 +969,6 @@ static const keyword_t sql_keywords[] = { {"01A(SO", 'F'}, {"01A(V)", 'F'}, {"01A(VO", 'F'}, - {"01AF((", 'F'}, {"01AF()", 'F'}, {"01AF(1", 'F'}, {"01AF(F", 'F'}, @@ -1052,12 +993,6 @@ static const keyword_t sql_keywords[] = { {"01AVOF", 'F'}, {"01AVOS", 'F'}, {"01AVUE", 'F'}, - {"01B(((", 'F'}, - {"01B((1", 'F'}, - {"01B((F", 'F'}, - {"01B((N", 'F'}, - {"01B((S", 'F'}, - {"01B((V", 'F'}, {"01B(1)", 'F'}, {"01B(1O", 'F'}, {"01B(F(", 'F'}, @@ -1098,14 +1033,12 @@ static const keyword_t sql_keywords[] = { {"01B1OV", 'F'}, {"01B1U(", 'F'}, {"01B1UE", 'F'}, - {"01BE((", 'F'}, {"01BE(1", 'F'}, {"01BE(F", 'F'}, {"01BE(N", 'F'}, {"01BE(S", 'F'}, {"01BE(V", 'F'}, {"01BEK(", 'F'}, - {"01BF((", 'F'}, {"01BF()", 'F'}, {"01BF(1", 'F'}, {"01BF(F", 'F'}, @@ -1210,12 +1143,6 @@ static const keyword_t sql_keywords[] = { {"01BVU(", 'F'}, {"01BVUE", 'F'}, {"01C", 'F'}, - {"01E(((", 'F'}, - {"01E((1", 'F'}, - {"01E((F", 'F'}, - {"01E((N", 'F'}, - {"01E((S", 'F'}, - {"01E((V", 'F'}, {"01E(1)", 'F'}, {"01E(1O", 'F'}, {"01E(F(", 'F'}, @@ -1231,14 +1158,12 @@ static const keyword_t sql_keywords[] = { {"01E1OS", 'F'}, {"01E1OV", 'F'}, {"01E1UE", 'F'}, - {"01EF((", 'F'}, {"01EF()", 'F'}, {"01EF(1", 'F'}, {"01EF(F", 'F'}, {"01EF(N", 'F'}, {"01EF(S", 'F'}, {"01EF(V", 'F'}, - {"01EK((", 'F'}, {"01EK(1", 'F'}, {"01EK(E", 'F'}, {"01EK(F", 'F'}, @@ -1282,7 +1207,6 @@ static const keyword_t sql_keywords[] = { {"01ESOS", 'F'}, {"01ESOV", 'F'}, {"01ESUE", 'F'}, - {"01EU((", 'F'}, {"01EU(1", 'F'}, {"01EU(F", 'F'}, {"01EU(N", 'F'}, @@ -1308,14 +1232,6 @@ static const keyword_t sql_keywords[] = { {"01EVOF", 'F'}, {"01EVOS", 'F'}, {"01EVUE", 'F'}, - {"01F(((", 'F'}, - {"01F(()", 'F'}, - {"01F((1", 'F'}, - {"01F((E", 'F'}, - {"01F((F", 'F'}, - {"01F((N", 'F'}, - {"01F((S", 'F'}, - {"01F((V", 'F'}, {"01F()1", 'F'}, {"01F()F", 'F'}, {"01F()K", 'F'}, @@ -1342,12 +1258,6 @@ static const keyword_t sql_keywords[] = { {"01F(SO", 'F'}, {"01F(V)", 'F'}, {"01F(VO", 'F'}, - {"01K(((", 'F'}, - {"01K((1", 'F'}, - {"01K((F", 'F'}, - {"01K((N", 'F'}, - {"01K((S", 'F'}, - {"01K((V", 'F'}, {"01K(1O", 'F'}, {"01K(F(", 'F'}, {"01K(N)", 'F'}, @@ -1410,7 +1320,6 @@ static const keyword_t sql_keywords[] = { {"01K1OV", 'F'}, {"01K1U(", 'F'}, {"01K1UE", 'F'}, - {"01KF((", 'F'}, {"01KF()", 'F'}, {"01KF(1", 'F'}, {"01KF(F", 'F'}, @@ -1514,12 +1423,6 @@ static const keyword_t sql_keywords[] = { {"01KVU(", 'F'}, {"01KVUE", 'F'}, {"01N&F(", 'F'}, - {"01N(((", 'F'}, - {"01N((1", 'F'}, - {"01N((F", 'F'}, - {"01N((N", 'F'}, - {"01N((S", 'F'}, - {"01N((V", 'F'}, {"01N(1)", 'F'}, {"01N(1O", 'F'}, {"01N(F(", 'F'}, @@ -1529,7 +1432,6 @@ static const keyword_t sql_keywords[] = { {"01N(VO", 'F'}, {"01N)UE", 'F'}, {"01N,F(", 'F'}, - {"01NE((", 'F'}, {"01NE(1", 'F'}, {"01NE(F", 'F'}, {"01NE(N", 'F'}, @@ -1544,14 +1446,12 @@ static const keyword_t sql_keywords[] = { {"01NESO", 'F'}, {"01NEVC", 'F'}, {"01NEVO", 'F'}, - {"01NF((", 'F'}, {"01NF()", 'F'}, {"01NF(1", 'F'}, {"01NF(F", 'F'}, {"01NF(N", 'F'}, {"01NF(S", 'F'}, {"01NF(V", 'F'}, - {"01NU((", 'F'}, {"01NU(E", 'F'}, {"01NUE", 'F'}, {"01NUE(", 'F'}, @@ -1563,15 +1463,6 @@ static const keyword_t sql_keywords[] = { {"01NUEN", 'F'}, {"01NUES", 'F'}, {"01NUEV", 'F'}, - {"01O(((", 'F'}, - {"01O((1", 'F'}, - {"01O((E", 'F'}, - {"01O((F", 'F'}, - {"01O((N", 'F'}, - {"01O((O", 'F'}, - {"01O((S", 'F'}, - {"01O((T", 'F'}, - {"01O((V", 'F'}, {"01O(1&", 'F'}, {"01O(1)", 'F'}, {"01O(1,", 'F'}, @@ -1583,6 +1474,7 @@ static const keyword_t sql_keywords[] = { {"01O(EK", 'F'}, {"01O(EN", 'F'}, {"01O(ES", 'F'}, + {"01O(ET", 'F'}, {"01O(EV", 'F'}, {"01O(F(", 'F'}, {"01O(N&", 'F'}, @@ -1604,13 +1496,13 @@ static const keyword_t sql_keywords[] = { {"01O(V)", 'F'}, {"01O(V,", 'F'}, {"01O(VO", 'F'}, - {"01OF((", 'F'}, {"01OF()", 'F'}, {"01OF(1", 'F'}, {"01OF(E", 'F'}, {"01OF(F", 'F'}, {"01OF(N", 'F'}, {"01OF(S", 'F'}, + {"01OF(T", 'F'}, {"01OF(V", 'F'}, {"01OK&(", 'F'}, {"01OK&1", 'F'}, @@ -1618,7 +1510,6 @@ static const keyword_t sql_keywords[] = { {"01OK&N", 'F'}, {"01OK&S", 'F'}, {"01OK&V", 'F'}, - {"01OK((", 'F'}, {"01OK(1", 'F'}, {"01OK(F", 'F'}, {"01OK(N", 'F'}, @@ -1649,13 +1540,13 @@ static const keyword_t sql_keywords[] = { {"01OS&T", 'F'}, {"01OS&U", 'F'}, {"01OS&V", 'F'}, - {"01OS((", 'F'}, {"01OS(E", 'F'}, {"01OS(U", 'F'}, {"01OS)&", 'F'}, {"01OS),", 'F'}, {"01OS);", 'F'}, {"01OS)B", 'F'}, + {"01OS)C", 'F'}, {"01OS)E", 'F'}, {"01OS)K", 'F'}, {"01OS)O", 'F'}, @@ -1733,14 +1624,13 @@ static const keyword_t sql_keywords[] = { {"01OSVO", 'F'}, {"01OSVS", 'F'}, {"01OSVU", 'F'}, - {"01OT((", 'F'}, {"01OT(1", 'F'}, + {"01OT(E", 'F'}, {"01OT(F", 'F'}, {"01OT(N", 'F'}, {"01OT(S", 'F'}, {"01OT(T", 'F'}, {"01OT(V", 'F'}, - {"01OU((", 'F'}, {"01OU(E", 'F'}, {"01OUEK", 'F'}, {"01OUEN", 'F'}, @@ -1755,13 +1645,13 @@ static const keyword_t sql_keywords[] = { {"01OV&T", 'F'}, {"01OV&U", 'F'}, {"01OV&V", 'F'}, - {"01OV((", 'F'}, {"01OV(E", 'F'}, {"01OV(U", 'F'}, {"01OV)&", 'F'}, {"01OV),", 'F'}, {"01OV);", 'F'}, {"01OV)B", 'F'}, + {"01OV)C", 'F'}, {"01OV)E", 'F'}, {"01OV)K", 'F'}, {"01OV)O", 'F'}, @@ -1834,7 +1724,6 @@ static const keyword_t sql_keywords[] = { {"01OVUS", 'F'}, {"01OVUT", 'F'}, {"01OVUV", 'F'}, - {"01SF((", 'F'}, {"01SF()", 'F'}, {"01SF(1", 'F'}, {"01SF(F", 'F'}, @@ -1853,13 +1742,6 @@ static const keyword_t sql_keywords[] = { {"01SVOF", 'F'}, {"01SVOS", 'F'}, {"01U", 'F'}, - {"01U(((", 'F'}, - {"01U((1", 'F'}, - {"01U((E", 'F'}, - {"01U((F", 'F'}, - {"01U((N", 'F'}, - {"01U((S", 'F'}, - {"01U((V", 'F'}, {"01U(1)", 'F'}, {"01U(1O", 'F'}, {"01U(E(", 'F'}, @@ -1888,7 +1770,6 @@ static const keyword_t sql_keywords[] = { {"01U;C", 'F'}, {"01UC", 'F'}, {"01UE", 'F'}, - {"01UE((", 'F'}, {"01UE(1", 'F'}, {"01UE(E", 'F'}, {"01UE(F", 'F'}, @@ -1975,16 +1856,13 @@ static const keyword_t sql_keywords[] = { {"01UEVO", 'F'}, {"01UEVS", 'F'}, {"01UEVU", 'F'}, - {"01UF((", 'F'}, {"01UF()", 'F'}, {"01UF(1", 'F'}, {"01UF(F", 'F'}, {"01UF(N", 'F'}, {"01UF(S", 'F'}, {"01UF(V", 'F'}, - {"01UK((", 'F'}, {"01UK(E", 'F'}, - {"01UN((", 'F'}, {"01UN(1", 'F'}, {"01UN(F", 'F'}, {"01UN(S", 'F'}, @@ -2010,7 +1888,6 @@ static const keyword_t sql_keywords[] = { {"01UNS(", 'F'}, {"01UNS,", 'F'}, {"01UNSO", 'F'}, - {"01UO((", 'F'}, {"01UO(E", 'F'}, {"01UON(", 'F'}, {"01UON1", 'F'}, @@ -2040,14 +1917,12 @@ static const keyword_t sql_keywords[] = { {"01UVO(", 'F'}, {"01UVOF", 'F'}, {"01UVOS", 'F'}, - {"01VF((", 'F'}, {"01VF()", 'F'}, {"01VF(1", 'F'}, {"01VF(F", 'F'}, {"01VF(N", 'F'}, {"01VF(S", 'F'}, {"01VF(V", 'F'}, - {"01VO((", 'F'}, {"01VO(1", 'F'}, {"01VO(F", 'F'}, {"01VO(N", 'F'}, @@ -2075,51 +1950,18 @@ static const keyword_t sql_keywords[] = { {"01VUEC", 'F'}, {"01VUEK", 'F'}, {"0;TKNC", 'F'}, - {"0E((((", 'F'}, - {"0E(((1", 'F'}, - {"0E(((E", 'F'}, - {"0E(((F", 'F'}, - {"0E(((N", 'F'}, - {"0E(((S", 'F'}, - {"0E(((V", 'F'}, - {"0E((1(", 'F'}, - {"0E((1)", 'F'}, - {"0E((1,", 'F'}, - {"0E((1F", 'F'}, - {"0E((1N", 'F'}, - {"0E((1O", 'F'}, - {"0E((1S", 'F'}, - {"0E((1V", 'F'}, - {"0E((E(", 'F'}, - {"0E((E1", 'F'}, - {"0E((EF", 'F'}, - {"0E((EK", 'F'}, - {"0E((EN", 'F'}, - {"0E((ES", 'F'}, - {"0E((EV", 'F'}, - {"0E((F(", 'F'}, - {"0E((N(", 'F'}, - {"0E((N)", 'F'}, - {"0E((N,", 'F'}, - {"0E((N1", 'F'}, - {"0E((NF", 'F'}, - {"0E((NO", 'F'}, - {"0E((S(", 'F'}, - {"0E((S)", 'F'}, - {"0E((S,", 'F'}, - {"0E((S1", 'F'}, - {"0E((SF", 'F'}, - {"0E((SO", 'F'}, - {"0E((SV", 'F'}, - {"0E((V(", 'F'}, - {"0E((V)", 'F'}, - {"0E((V,", 'F'}, - {"0E((VF", 'F'}, - {"0E((VO", 'F'}, - {"0E((VS", 'F'}, + {"0E(1&(", 'F'}, + {"0E(1&1", 'F'}, + {"0E(1&F", 'F'}, + {"0E(1&N", 'F'}, + {"0E(1&S", 'F'}, + {"0E(1&V", 'F'}, {"0E(1)&", 'F'}, {"0E(1),", 'F'}, {"0E(1)1", 'F'}, + {"0E(1);", 'F'}, + {"0E(1)B", 'F'}, + {"0E(1)C", 'F'}, {"0E(1)F", 'F'}, {"0E(1)K", 'F'}, {"0E(1)N", 'F'}, @@ -2137,13 +1979,14 @@ static const keyword_t sql_keywords[] = { {"0E(1S)", 'F'}, {"0E(1V)", 'F'}, {"0E(1VO", 'F'}, - {"0E(E((", 'F'}, {"0E(E(1", 'F'}, {"0E(E(E", 'F'}, {"0E(E(F", 'F'}, {"0E(E(N", 'F'}, {"0E(E(S", 'F'}, {"0E(E(V", 'F'}, + {"0E(E1&", 'F'}, + {"0E(E1)", 'F'}, {"0E(E1O", 'F'}, {"0E(EF(", 'F'}, {"0E(EK(", 'F'}, @@ -2151,18 +1994,32 @@ static const keyword_t sql_keywords[] = { {"0E(EKF", 'F'}, {"0E(EKN", 'F'}, {"0E(EKS", 'F'}, + {"0E(EKT", 'F'}, {"0E(EKV", 'F'}, + {"0E(EN&", 'F'}, + {"0E(EN)", 'F'}, {"0E(ENO", 'F'}, + {"0E(ES&", 'F'}, + {"0E(ES)", 'F'}, {"0E(ESO", 'F'}, + {"0E(ET(", 'F'}, + {"0E(EV&", 'F'}, + {"0E(EV)", 'F'}, {"0E(EVO", 'F'}, - {"0E(F((", 'F'}, {"0E(F()", 'F'}, {"0E(F(1", 'F'}, + {"0E(F(E", 'F'}, {"0E(F(F", 'F'}, {"0E(F(N", 'F'}, {"0E(F(S", 'F'}, + {"0E(F(T", 'F'}, {"0E(F(V", 'F'}, - {"0E(N((", 'F'}, + {"0E(N&(", 'F'}, + {"0E(N&1", 'F'}, + {"0E(N&F", 'F'}, + {"0E(N&N", 'F'}, + {"0E(N&S", 'F'}, + {"0E(N&V", 'F'}, {"0E(N(1", 'F'}, {"0E(N(F", 'F'}, {"0E(N(S", 'F'}, @@ -2170,6 +2027,9 @@ static const keyword_t sql_keywords[] = { {"0E(N)&", 'F'}, {"0E(N),", 'F'}, {"0E(N)1", 'F'}, + {"0E(N);", 'F'}, + {"0E(N)B", 'F'}, + {"0E(N)C", 'F'}, {"0E(N)F", 'F'}, {"0E(N)K", 'F'}, {"0E(N)N", 'F'}, @@ -2185,9 +2045,18 @@ static const keyword_t sql_keywords[] = { {"0E(NOF", 'F'}, {"0E(NOS", 'F'}, {"0E(NOV", 'F'}, + {"0E(S&(", 'F'}, + {"0E(S&1", 'F'}, + {"0E(S&F", 'F'}, + {"0E(S&N", 'F'}, + {"0E(S&S", 'F'}, + {"0E(S&V", 'F'}, {"0E(S)&", 'F'}, {"0E(S),", 'F'}, {"0E(S)1", 'F'}, + {"0E(S);", 'F'}, + {"0E(S)B", 'F'}, + {"0E(S)C", 'F'}, {"0E(S)F", 'F'}, {"0E(S)K", 'F'}, {"0E(S)N", 'F'}, @@ -2207,9 +2076,24 @@ static const keyword_t sql_keywords[] = { {"0E(SOV", 'F'}, {"0E(SV)", 'F'}, {"0E(SVO", 'F'}, + {"0E(T(1", 'F'}, + {"0E(T(E", 'F'}, + {"0E(T(F", 'F'}, + {"0E(T(N", 'F'}, + {"0E(T(S", 'F'}, + {"0E(T(V", 'F'}, + {"0E(V&(", 'F'}, + {"0E(V&1", 'F'}, + {"0E(V&F", 'F'}, + {"0E(V&N", 'F'}, + {"0E(V&S", 'F'}, + {"0E(V&V", 'F'}, {"0E(V)&", 'F'}, {"0E(V),", 'F'}, {"0E(V)1", 'F'}, + {"0E(V);", 'F'}, + {"0E(V)B", 'F'}, + {"0E(V)C", 'F'}, {"0E(V)F", 'F'}, {"0E(V)K", 'F'}, {"0E(V)N", 'F'}, @@ -2224,11 +2108,33 @@ static const keyword_t sql_keywords[] = { {"0E(VOS", 'F'}, {"0E(VS)", 'F'}, {"0E(VSO", 'F'}, - {"0E1&((", 'F'}, + {"0E1&(1", 'F'}, {"0E1&(E", 'F'}, + {"0E1&(F", 'F'}, + {"0E1&(N", 'F'}, + {"0E1&(S", 'F'}, + {"0E1&(V", 'F'}, + {"0E1&1)", 'F'}, + {"0E1&1O", 'F'}, + {"0E1&F(", 'F'}, + {"0E1&N)", 'F'}, + {"0E1&NO", 'F'}, + {"0E1&S)", 'F'}, + {"0E1&SO", 'F'}, + {"0E1&V)", 'F'}, + {"0E1&VO", 'F'}, {"0E1)", 'F'}, + {"0E1)&(", 'F'}, + {"0E1)&1", 'F'}, + {"0E1)&F", 'F'}, + {"0E1)&N", 'F'}, + {"0E1)&S", 'F'}, + {"0E1)&V", 'F'}, {"0E1);", 'F'}, + {"0E1);(", 'F'}, {"0E1);C", 'F'}, + {"0E1);E", 'F'}, + {"0E1);T", 'F'}, {"0E1)C", 'F'}, {"0E1)KN", 'F'}, {"0E1)O(", 'F'}, @@ -2238,7 +2144,6 @@ static const keyword_t sql_keywords[] = { {"0E1)OS", 'F'}, {"0E1)OV", 'F'}, {"0E1)UE", 'F'}, - {"0E1,((", 'F'}, {"0E1,(1", 'F'}, {"0E1,(F", 'F'}, {"0E1,(N", 'F'}, @@ -2248,14 +2153,27 @@ static const keyword_t sql_keywords[] = { {"0E1,V,", 'F'}, {"0E1,VK", 'F'}, {"0E1,VO", 'F'}, - {"0E1F((", 'F'}, + {"0E1;(E", 'F'}, + {"0E1B(1", 'F'}, + {"0E1B(F", 'F'}, + {"0E1B(N", 'F'}, + {"0E1B(S", 'F'}, + {"0E1B(V", 'F'}, + {"0E1B1)", 'F'}, + {"0E1B1O", 'F'}, + {"0E1BF(", 'F'}, + {"0E1BN)", 'F'}, + {"0E1BNO", 'F'}, + {"0E1BS)", 'F'}, + {"0E1BSO", 'F'}, + {"0E1BV)", 'F'}, + {"0E1BVO", 'F'}, {"0E1F()", 'F'}, {"0E1F(1", 'F'}, {"0E1F(F", 'F'}, {"0E1F(N", 'F'}, {"0E1F(S", 'F'}, {"0E1F(V", 'F'}, - {"0E1K((", 'F'}, {"0E1K(1", 'F'}, {"0E1K(E", 'F'}, {"0E1K(F", 'F'}, @@ -2271,6 +2189,7 @@ static const keyword_t sql_keywords[] = { {"0E1KN;", 'F'}, {"0E1KNC", 'F'}, {"0E1KNK", 'F'}, + {"0E1KNU", 'F'}, {"0E1KS)", 'F'}, {"0E1KSK", 'F'}, {"0E1KSO", 'F'}, @@ -2282,12 +2201,12 @@ static const keyword_t sql_keywords[] = { {"0E1N;C", 'F'}, {"0E1NC", 'F'}, {"0E1NKN", 'F'}, - {"0E1O((", 'F'}, {"0E1O(1", 'F'}, {"0E1O(E", 'F'}, {"0E1O(F", 'F'}, {"0E1O(N", 'F'}, {"0E1O(S", 'F'}, + {"0E1O(T", 'F'}, {"0E1O(V", 'F'}, {"0E1OF(", 'F'}, {"0E1OS&", 'F'}, @@ -2295,6 +2214,8 @@ static const keyword_t sql_keywords[] = { {"0E1OS)", 'F'}, {"0E1OS,", 'F'}, {"0E1OS1", 'F'}, + {"0E1OS;", 'F'}, + {"0E1OSB", 'F'}, {"0E1OSF", 'F'}, {"0E1OSK", 'F'}, {"0E1OSO", 'F'}, @@ -2304,6 +2225,8 @@ static const keyword_t sql_keywords[] = { {"0E1OV(", 'F'}, {"0E1OV)", 'F'}, {"0E1OV,", 'F'}, + {"0E1OV;", 'F'}, + {"0E1OVB", 'F'}, {"0E1OVF", 'F'}, {"0E1OVK", 'F'}, {"0E1OVO", 'F'}, @@ -2312,6 +2235,7 @@ static const keyword_t sql_keywords[] = { {"0E1S;", 'F'}, {"0E1S;C", 'F'}, {"0E1SC", 'F'}, + {"0E1U(E", 'F'}, {"0E1UE(", 'F'}, {"0E1UE1", 'F'}, {"0E1UEF", 'F'}, @@ -2329,22 +2253,13 @@ static const keyword_t sql_keywords[] = { {"0ECHO", 'F'}, {"0ECHO;", 'F'}, {"0ECHOC", 'F'}, - {"0EE(((", 'F'}, - {"0EE((F", 'F'}, {"0EE(F(", 'F'}, - {"0EEK((", 'F'}, {"0EEK(F", 'F'}, - {"0EF(((", 'F'}, - {"0EF(()", 'F'}, - {"0EF((1", 'F'}, - {"0EF((F", 'F'}, - {"0EF((N", 'F'}, - {"0EF((O", 'F'}, - {"0EF((S", 'F'}, - {"0EF((V", 'F'}, {"0EF()&", 'F'}, {"0EF(),", 'F'}, {"0EF()1", 'F'}, + {"0EF();", 'F'}, + {"0EF()B", 'F'}, {"0EF()F", 'F'}, {"0EF()K", 'F'}, {"0EF()N", 'F'}, @@ -2352,27 +2267,33 @@ static const keyword_t sql_keywords[] = { {"0EF()S", 'F'}, {"0EF()U", 'F'}, {"0EF()V", 'F'}, + {"0EF(1&", 'F'}, {"0EF(1)", 'F'}, {"0EF(1,", 'F'}, {"0EF(1O", 'F'}, + {"0EF(E(", 'F'}, + {"0EF(E1", 'F'}, + {"0EF(EF", 'F'}, + {"0EF(EK", 'F'}, + {"0EF(EN", 'F'}, + {"0EF(ES", 'F'}, + {"0EF(EV", 'F'}, {"0EF(F(", 'F'}, + {"0EF(N&", 'F'}, {"0EF(N)", 'F'}, {"0EF(N,", 'F'}, {"0EF(NO", 'F'}, {"0EF(O)", 'F'}, + {"0EF(S&", 'F'}, {"0EF(S)", 'F'}, {"0EF(S,", 'F'}, {"0EF(SO", 'F'}, + {"0EF(T(", 'F'}, + {"0EF(V&", 'F'}, {"0EF(V)", 'F'}, {"0EF(V,", 'F'}, {"0EF(VO", 'F'}, - {"0EK(((", 'F'}, - {"0EK((1", 'F'}, - {"0EK((E", 'F'}, - {"0EK((F", 'F'}, - {"0EK((N", 'F'}, - {"0EK((S", 'F'}, - {"0EK((V", 'F'}, + {"0EK(1&", 'F'}, {"0EK(1(", 'F'}, {"0EK(1)", 'F'}, {"0EK(1,", 'F'}, @@ -2387,14 +2308,17 @@ static const keyword_t sql_keywords[] = { {"0EK(EK", 'F'}, {"0EK(EN", 'F'}, {"0EK(ES", 'F'}, + {"0EK(ET", 'F'}, {"0EK(EV", 'F'}, {"0EK(F(", 'F'}, + {"0EK(N&", 'F'}, {"0EK(N(", 'F'}, {"0EK(N)", 'F'}, {"0EK(N,", 'F'}, {"0EK(N1", 'F'}, {"0EK(NF", 'F'}, {"0EK(NO", 'F'}, + {"0EK(S&", 'F'}, {"0EK(S(", 'F'}, {"0EK(S)", 'F'}, {"0EK(S,", 'F'}, @@ -2402,6 +2326,8 @@ static const keyword_t sql_keywords[] = { {"0EK(SF", 'F'}, {"0EK(SO", 'F'}, {"0EK(SV", 'F'}, + {"0EK(T(", 'F'}, + {"0EK(V&", 'F'}, {"0EK(V(", 'F'}, {"0EK(V)", 'F'}, {"0EK(V,", 'F'}, @@ -2409,7 +2335,13 @@ static const keyword_t sql_keywords[] = { {"0EK(VO", 'F'}, {"0EK(VS", 'F'}, {"0EK1&(", 'F'}, + {"0EK1&1", 'F'}, + {"0EK1&F", 'F'}, + {"0EK1&N", 'F'}, + {"0EK1&S", 'F'}, + {"0EK1&V", 'F'}, {"0EK1)", 'F'}, + {"0EK1)&", 'F'}, {"0EK1);", 'F'}, {"0EK1)C", 'F'}, {"0EK1)K", 'F'}, @@ -2418,6 +2350,13 @@ static const keyword_t sql_keywords[] = { {"0EK1,(", 'F'}, {"0EK1,F", 'F'}, {"0EK1,V", 'F'}, + {"0EK1;(", 'F'}, + {"0EK1B(", 'F'}, + {"0EK1B1", 'F'}, + {"0EK1BF", 'F'}, + {"0EK1BN", 'F'}, + {"0EK1BS", 'F'}, + {"0EK1BV", 'F'}, {"0EK1F(", 'F'}, {"0EK1K(", 'F'}, {"0EK1K1", 'F'}, @@ -2440,6 +2379,7 @@ static const keyword_t sql_keywords[] = { {"0EK1SC", 'F'}, {"0EK1SF", 'F'}, {"0EK1SK", 'F'}, + {"0EK1U(", 'F'}, {"0EK1UE", 'F'}, {"0EK1V", 'F'}, {"0EK1V;", 'F'}, @@ -2447,24 +2387,29 @@ static const keyword_t sql_keywords[] = { {"0EK1VF", 'F'}, {"0EK1VK", 'F'}, {"0EK1VO", 'F'}, - {"0EKE((", 'F'}, {"0EKE(F", 'F'}, {"0EKEK(", 'F'}, - {"0EKF((", 'F'}, {"0EKF()", 'F'}, {"0EKF(1", 'F'}, + {"0EKF(E", 'F'}, {"0EKF(F", 'F'}, {"0EKF(N", 'F'}, {"0EKF(O", 'F'}, {"0EKF(S", 'F'}, + {"0EKF(T", 'F'}, {"0EKF(V", 'F'}, {"0EKN&(", 'F'}, - {"0EKN((", 'F'}, + {"0EKN&1", 'F'}, + {"0EKN&F", 'F'}, + {"0EKN&N", 'F'}, + {"0EKN&S", 'F'}, + {"0EKN&V", 'F'}, {"0EKN(1", 'F'}, {"0EKN(F", 'F'}, {"0EKN(S", 'F'}, {"0EKN(V", 'F'}, {"0EKN)", 'F'}, + {"0EKN)&", 'F'}, {"0EKN);", 'F'}, {"0EKN)C", 'F'}, {"0EKN)K", 'F'}, @@ -2479,6 +2424,13 @@ static const keyword_t sql_keywords[] = { {"0EKN1F", 'F'}, {"0EKN1K", 'F'}, {"0EKN1O", 'F'}, + {"0EKN;(", 'F'}, + {"0EKNB(", 'F'}, + {"0EKNB1", 'F'}, + {"0EKNBF", 'F'}, + {"0EKNBN", 'F'}, + {"0EKNBS", 'F'}, + {"0EKNBV", 'F'}, {"0EKNF(", 'F'}, {"0EKNK(", 'F'}, {"0EKNK1", 'F'}, @@ -2486,16 +2438,23 @@ static const keyword_t sql_keywords[] = { {"0EKNKN", 'F'}, {"0EKNKS", 'F'}, {"0EKNKV", 'F'}, + {"0EKNU(", 'F'}, {"0EKNUE", 'F'}, - {"0EKO((", 'F'}, {"0EKO(1", 'F'}, {"0EKO(F", 'F'}, {"0EKO(N", 'F'}, {"0EKO(S", 'F'}, {"0EKO(V", 'F'}, {"0EKOK(", 'F'}, + {"0EKOKN", 'F'}, {"0EKS&(", 'F'}, + {"0EKS&1", 'F'}, + {"0EKS&F", 'F'}, + {"0EKS&N", 'F'}, + {"0EKS&S", 'F'}, + {"0EKS&V", 'F'}, {"0EKS)", 'F'}, + {"0EKS)&", 'F'}, {"0EKS);", 'F'}, {"0EKS)C", 'F'}, {"0EKS)K", 'F'}, @@ -2510,6 +2469,13 @@ static const keyword_t sql_keywords[] = { {"0EKS1F", 'F'}, {"0EKS1K", 'F'}, {"0EKS1O", 'F'}, + {"0EKS;(", 'F'}, + {"0EKSB(", 'F'}, + {"0EKSB1", 'F'}, + {"0EKSBF", 'F'}, + {"0EKSBN", 'F'}, + {"0EKSBS", 'F'}, + {"0EKSBV", 'F'}, {"0EKSF(", 'F'}, {"0EKSK(", 'F'}, {"0EKSK1", 'F'}, @@ -2523,6 +2489,7 @@ static const keyword_t sql_keywords[] = { {"0EKSON", 'F'}, {"0EKSOS", 'F'}, {"0EKSOV", 'F'}, + {"0EKSU(", 'F'}, {"0EKSUE", 'F'}, {"0EKSV", 'F'}, {"0EKSV;", 'F'}, @@ -2530,8 +2497,21 @@ static const keyword_t sql_keywords[] = { {"0EKSVF", 'F'}, {"0EKSVK", 'F'}, {"0EKSVO", 'F'}, + {"0EKT(1", 'F'}, + {"0EKT(E", 'F'}, + {"0EKT(F", 'F'}, + {"0EKT(N", 'F'}, + {"0EKT(S", 'F'}, + {"0EKT(T", 'F'}, + {"0EKT(V", 'F'}, {"0EKV&(", 'F'}, + {"0EKV&1", 'F'}, + {"0EKV&F", 'F'}, + {"0EKV&N", 'F'}, + {"0EKV&S", 'F'}, + {"0EKV&V", 'F'}, {"0EKV)", 'F'}, + {"0EKV)&", 'F'}, {"0EKV);", 'F'}, {"0EKV)C", 'F'}, {"0EKV)K", 'F'}, @@ -2543,6 +2523,13 @@ static const keyword_t sql_keywords[] = { {"0EKV,N", 'F'}, {"0EKV,S", 'F'}, {"0EKV,V", 'F'}, + {"0EKV;(", 'F'}, + {"0EKVB(", 'F'}, + {"0EKVB1", 'F'}, + {"0EKVBF", 'F'}, + {"0EKVBN", 'F'}, + {"0EKVBS", 'F'}, + {"0EKVBV", 'F'}, {"0EKVF(", 'F'}, {"0EKVK(", 'F'}, {"0EKVK1", 'F'}, @@ -2559,15 +2546,23 @@ static const keyword_t sql_keywords[] = { {"0EKVSF", 'F'}, {"0EKVSK", 'F'}, {"0EKVSO", 'F'}, + {"0EKVU(", 'F'}, {"0EKVUE", 'F'}, - {"0EN&((", 'F'}, + {"0EN&(1", 'F'}, {"0EN&(E", 'F'}, - {"0EN(((", 'F'}, - {"0EN((1", 'F'}, - {"0EN((F", 'F'}, - {"0EN((N", 'F'}, - {"0EN((S", 'F'}, - {"0EN((V", 'F'}, + {"0EN&(F", 'F'}, + {"0EN&(N", 'F'}, + {"0EN&(S", 'F'}, + {"0EN&(V", 'F'}, + {"0EN&1)", 'F'}, + {"0EN&1O", 'F'}, + {"0EN&F(", 'F'}, + {"0EN&N)", 'F'}, + {"0EN&NO", 'F'}, + {"0EN&S)", 'F'}, + {"0EN&SO", 'F'}, + {"0EN&V)", 'F'}, + {"0EN&VO", 'F'}, {"0EN(1O", 'F'}, {"0EN(F(", 'F'}, {"0EN(S)", 'F'}, @@ -2575,8 +2570,17 @@ static const keyword_t sql_keywords[] = { {"0EN(V)", 'F'}, {"0EN(VO", 'F'}, {"0EN)", 'F'}, + {"0EN)&(", 'F'}, + {"0EN)&1", 'F'}, + {"0EN)&F", 'F'}, + {"0EN)&N", 'F'}, + {"0EN)&S", 'F'}, + {"0EN)&V", 'F'}, {"0EN);", 'F'}, + {"0EN);(", 'F'}, {"0EN);C", 'F'}, + {"0EN);E", 'F'}, + {"0EN);T", 'F'}, {"0EN)C", 'F'}, {"0EN)KN", 'F'}, {"0EN)O(", 'F'}, @@ -2586,7 +2590,6 @@ static const keyword_t sql_keywords[] = { {"0EN)OS", 'F'}, {"0EN)OV", 'F'}, {"0EN)UE", 'F'}, - {"0EN,((", 'F'}, {"0EN,(1", 'F'}, {"0EN,(F", 'F'}, {"0EN,(N", 'F'}, @@ -2603,14 +2606,27 @@ static const keyword_t sql_keywords[] = { {"0EN1OF", 'F'}, {"0EN1OS", 'F'}, {"0EN1OV", 'F'}, - {"0ENF((", 'F'}, + {"0EN;(E", 'F'}, + {"0ENB(1", 'F'}, + {"0ENB(F", 'F'}, + {"0ENB(N", 'F'}, + {"0ENB(S", 'F'}, + {"0ENB(V", 'F'}, + {"0ENB1)", 'F'}, + {"0ENB1O", 'F'}, + {"0ENBF(", 'F'}, + {"0ENBN)", 'F'}, + {"0ENBNO", 'F'}, + {"0ENBS)", 'F'}, + {"0ENBSO", 'F'}, + {"0ENBV)", 'F'}, + {"0ENBVO", 'F'}, {"0ENF()", 'F'}, {"0ENF(1", 'F'}, {"0ENF(F", 'F'}, {"0ENF(N", 'F'}, {"0ENF(S", 'F'}, {"0ENF(V", 'F'}, - {"0ENK((", 'F'}, {"0ENK(1", 'F'}, {"0ENK(E", 'F'}, {"0ENK(F", 'F'}, @@ -2627,18 +2643,19 @@ static const keyword_t sql_keywords[] = { {"0ENKNB", 'F'}, {"0ENKNC", 'F'}, {"0ENKNK", 'F'}, + {"0ENKNU", 'F'}, {"0ENKS)", 'F'}, {"0ENKSK", 'F'}, {"0ENKSO", 'F'}, {"0ENKV)", 'F'}, {"0ENKVK", 'F'}, {"0ENKVO", 'F'}, - {"0ENO((", 'F'}, {"0ENO(1", 'F'}, {"0ENO(E", 'F'}, {"0ENO(F", 'F'}, {"0ENO(N", 'F'}, {"0ENO(S", 'F'}, + {"0ENO(T", 'F'}, {"0ENO(V", 'F'}, {"0ENOF(", 'F'}, {"0ENOS&", 'F'}, @@ -2646,6 +2663,8 @@ static const keyword_t sql_keywords[] = { {"0ENOS)", 'F'}, {"0ENOS,", 'F'}, {"0ENOS1", 'F'}, + {"0ENOS;", 'F'}, + {"0ENOSB", 'F'}, {"0ENOSF", 'F'}, {"0ENOSK", 'F'}, {"0ENOSO", 'F'}, @@ -2655,11 +2674,14 @@ static const keyword_t sql_keywords[] = { {"0ENOV(", 'F'}, {"0ENOV)", 'F'}, {"0ENOV,", 'F'}, + {"0ENOV;", 'F'}, + {"0ENOVB", 'F'}, {"0ENOVF", 'F'}, {"0ENOVK", 'F'}, {"0ENOVO", 'F'}, {"0ENOVS", 'F'}, {"0ENOVU", 'F'}, + {"0ENU(E", 'F'}, {"0ENUE(", 'F'}, {"0ENUE1", 'F'}, {"0ENUEF", 'F'}, @@ -2667,12 +2689,6 @@ static const keyword_t sql_keywords[] = { {"0ENUEN", 'F'}, {"0ENUES", 'F'}, {"0ENUEV", 'F'}, - {"0EO(((", 'F'}, - {"0EO((1", 'F'}, - {"0EO((F", 'F'}, - {"0EO((N", 'F'}, - {"0EO((S", 'F'}, - {"0EO((V", 'F'}, {"0EO(1,", 'F'}, {"0EO(1O", 'F'}, {"0EO(F(", 'F'}, @@ -2682,13 +2698,35 @@ static const keyword_t sql_keywords[] = { {"0EO(SO", 'F'}, {"0EO(V,", 'F'}, {"0EO(VO", 'F'}, - {"0EOK((", 'F'}, {"0EOK(E", 'F'}, - {"0ES&((", 'F'}, + {"0EOKNK", 'F'}, + {"0ES&(1", 'F'}, {"0ES&(E", 'F'}, + {"0ES&(F", 'F'}, + {"0ES&(N", 'F'}, + {"0ES&(S", 'F'}, + {"0ES&(V", 'F'}, + {"0ES&1)", 'F'}, + {"0ES&1O", 'F'}, + {"0ES&F(", 'F'}, + {"0ES&N)", 'F'}, + {"0ES&NO", 'F'}, + {"0ES&S)", 'F'}, + {"0ES&SO", 'F'}, + {"0ES&V)", 'F'}, + {"0ES&VO", 'F'}, {"0ES)", 'F'}, + {"0ES)&(", 'F'}, + {"0ES)&1", 'F'}, + {"0ES)&F", 'F'}, + {"0ES)&N", 'F'}, + {"0ES)&S", 'F'}, + {"0ES)&V", 'F'}, {"0ES);", 'F'}, + {"0ES);(", 'F'}, {"0ES);C", 'F'}, + {"0ES);E", 'F'}, + {"0ES);T", 'F'}, {"0ES)C", 'F'}, {"0ES)KN", 'F'}, {"0ES)O(", 'F'}, @@ -2698,7 +2736,6 @@ static const keyword_t sql_keywords[] = { {"0ES)OS", 'F'}, {"0ES)OV", 'F'}, {"0ES)UE", 'F'}, - {"0ES,((", 'F'}, {"0ES,(1", 'F'}, {"0ES,(F", 'F'}, {"0ES,(N", 'F'}, @@ -2716,14 +2753,27 @@ static const keyword_t sql_keywords[] = { {"0ES1OF", 'F'}, {"0ES1OS", 'F'}, {"0ES1OV", 'F'}, - {"0ESF((", 'F'}, + {"0ES;(E", 'F'}, + {"0ESB(1", 'F'}, + {"0ESB(F", 'F'}, + {"0ESB(N", 'F'}, + {"0ESB(S", 'F'}, + {"0ESB(V", 'F'}, + {"0ESB1)", 'F'}, + {"0ESB1O", 'F'}, + {"0ESBF(", 'F'}, + {"0ESBN)", 'F'}, + {"0ESBNO", 'F'}, + {"0ESBS)", 'F'}, + {"0ESBSO", 'F'}, + {"0ESBV)", 'F'}, + {"0ESBVO", 'F'}, {"0ESF()", 'F'}, {"0ESF(1", 'F'}, {"0ESF(F", 'F'}, {"0ESF(N", 'F'}, {"0ESF(S", 'F'}, {"0ESF(V", 'F'}, - {"0ESK((", 'F'}, {"0ESK(1", 'F'}, {"0ESK(E", 'F'}, {"0ESK(F", 'F'}, @@ -2739,23 +2789,26 @@ static const keyword_t sql_keywords[] = { {"0ESKN;", 'F'}, {"0ESKNC", 'F'}, {"0ESKNK", 'F'}, + {"0ESKNU", 'F'}, {"0ESKS)", 'F'}, {"0ESKSK", 'F'}, {"0ESKSO", 'F'}, {"0ESKV)", 'F'}, {"0ESKVK", 'F'}, {"0ESKVO", 'F'}, - {"0ESO((", 'F'}, {"0ESO(1", 'F'}, {"0ESO(E", 'F'}, {"0ESO(F", 'F'}, {"0ESO(N", 'F'}, {"0ESO(S", 'F'}, + {"0ESO(T", 'F'}, {"0ESO(V", 'F'}, {"0ESO1&", 'F'}, {"0ESO1(", 'F'}, {"0ESO1)", 'F'}, {"0ESO1,", 'F'}, + {"0ESO1;", 'F'}, + {"0ESO1B", 'F'}, {"0ESO1F", 'F'}, {"0ESO1K", 'F'}, {"0ESO1N", 'F'}, @@ -2769,6 +2822,8 @@ static const keyword_t sql_keywords[] = { {"0ESON)", 'F'}, {"0ESON,", 'F'}, {"0ESON1", 'F'}, + {"0ESON;", 'F'}, + {"0ESONB", 'F'}, {"0ESONF", 'F'}, {"0ESONK", 'F'}, {"0ESONO", 'F'}, @@ -2778,6 +2833,8 @@ static const keyword_t sql_keywords[] = { {"0ESOS)", 'F'}, {"0ESOS,", 'F'}, {"0ESOS1", 'F'}, + {"0ESOS;", 'F'}, + {"0ESOSB", 'F'}, {"0ESOSF", 'F'}, {"0ESOSK", 'F'}, {"0ESOSO", 'F'}, @@ -2787,11 +2844,14 @@ static const keyword_t sql_keywords[] = { {"0ESOV(", 'F'}, {"0ESOV)", 'F'}, {"0ESOV,", 'F'}, + {"0ESOV;", 'F'}, + {"0ESOVB", 'F'}, {"0ESOVF", 'F'}, {"0ESOVK", 'F'}, {"0ESOVO", 'F'}, {"0ESOVS", 'F'}, {"0ESOVU", 'F'}, + {"0ESU(E", 'F'}, {"0ESUE(", 'F'}, {"0ESUE1", 'F'}, {"0ESUEF", 'F'}, @@ -2806,11 +2866,54 @@ static const keyword_t sql_keywords[] = { {"0ESVO(", 'F'}, {"0ESVOF", 'F'}, {"0ESVOS", 'F'}, - {"0EV&((", 'F'}, + {"0ET(1&", 'F'}, + {"0ET(1)", 'F'}, + {"0ET(1O", 'F'}, + {"0ET(E(", 'F'}, + {"0ET(E1", 'F'}, + {"0ET(EF", 'F'}, + {"0ET(EK", 'F'}, + {"0ET(EN", 'F'}, + {"0ET(ES", 'F'}, + {"0ET(EV", 'F'}, + {"0ET(F(", 'F'}, + {"0ET(N&", 'F'}, + {"0ET(N)", 'F'}, + {"0ET(NO", 'F'}, + {"0ET(S&", 'F'}, + {"0ET(S)", 'F'}, + {"0ET(SO", 'F'}, + {"0ET(T(", 'F'}, + {"0ET(V&", 'F'}, + {"0ET(V)", 'F'}, + {"0ET(VO", 'F'}, + {"0EV&(1", 'F'}, {"0EV&(E", 'F'}, + {"0EV&(F", 'F'}, + {"0EV&(N", 'F'}, + {"0EV&(S", 'F'}, + {"0EV&(V", 'F'}, + {"0EV&1)", 'F'}, + {"0EV&1O", 'F'}, + {"0EV&F(", 'F'}, + {"0EV&N)", 'F'}, + {"0EV&NO", 'F'}, + {"0EV&S)", 'F'}, + {"0EV&SO", 'F'}, + {"0EV&V)", 'F'}, + {"0EV&VO", 'F'}, {"0EV)", 'F'}, + {"0EV)&(", 'F'}, + {"0EV)&1", 'F'}, + {"0EV)&F", 'F'}, + {"0EV)&N", 'F'}, + {"0EV)&S", 'F'}, + {"0EV)&V", 'F'}, {"0EV);", 'F'}, + {"0EV);(", 'F'}, {"0EV);C", 'F'}, + {"0EV);E", 'F'}, + {"0EV);T", 'F'}, {"0EV)C", 'F'}, {"0EV)KN", 'F'}, {"0EV)O(", 'F'}, @@ -2820,7 +2923,6 @@ static const keyword_t sql_keywords[] = { {"0EV)OS", 'F'}, {"0EV)OV", 'F'}, {"0EV)UE", 'F'}, - {"0EV,((", 'F'}, {"0EV,(1", 'F'}, {"0EV,(F", 'F'}, {"0EV,(N", 'F'}, @@ -2839,14 +2941,27 @@ static const keyword_t sql_keywords[] = { {"0EV,V,", 'F'}, {"0EV,VK", 'F'}, {"0EV,VO", 'F'}, - {"0EVF((", 'F'}, + {"0EV;(E", 'F'}, + {"0EVB(1", 'F'}, + {"0EVB(F", 'F'}, + {"0EVB(N", 'F'}, + {"0EVB(S", 'F'}, + {"0EVB(V", 'F'}, + {"0EVB1)", 'F'}, + {"0EVB1O", 'F'}, + {"0EVBF(", 'F'}, + {"0EVBN)", 'F'}, + {"0EVBNO", 'F'}, + {"0EVBS)", 'F'}, + {"0EVBSO", 'F'}, + {"0EVBV)", 'F'}, + {"0EVBVO", 'F'}, {"0EVF()", 'F'}, {"0EVF(1", 'F'}, {"0EVF(F", 'F'}, {"0EVF(N", 'F'}, {"0EVF(S", 'F'}, {"0EVF(V", 'F'}, - {"0EVK((", 'F'}, {"0EVK(1", 'F'}, {"0EVK(E", 'F'}, {"0EVK(F", 'F'}, @@ -2862,6 +2977,7 @@ static const keyword_t sql_keywords[] = { {"0EVKN;", 'F'}, {"0EVKNC", 'F'}, {"0EVKNK", 'F'}, + {"0EVKNU", 'F'}, {"0EVKS)", 'F'}, {"0EVKSK", 'F'}, {"0EVKSO", 'F'}, @@ -2878,12 +2994,12 @@ static const keyword_t sql_keywords[] = { {"0EVNOF", 'F'}, {"0EVNOS", 'F'}, {"0EVNOV", 'F'}, - {"0EVO((", 'F'}, {"0EVO(1", 'F'}, {"0EVO(E", 'F'}, {"0EVO(F", 'F'}, {"0EVO(N", 'F'}, {"0EVO(S", 'F'}, + {"0EVO(T", 'F'}, {"0EVO(V", 'F'}, {"0EVOF(", 'F'}, {"0EVOS&", 'F'}, @@ -2891,6 +3007,8 @@ static const keyword_t sql_keywords[] = { {"0EVOS)", 'F'}, {"0EVOS,", 'F'}, {"0EVOS1", 'F'}, + {"0EVOS;", 'F'}, + {"0EVOSB", 'F'}, {"0EVOSF", 'F'}, {"0EVOSK", 'F'}, {"0EVOSO", 'F'}, @@ -2906,6 +3024,7 @@ static const keyword_t sql_keywords[] = { {"0EVSON", 'F'}, {"0EVSOS", 'F'}, {"0EVSOV", 'F'}, + {"0EVU(E", 'F'}, {"0EVUE(", 'F'}, {"0EVUE1", 'F'}, {"0EVUEF", 'F'}, @@ -2913,55 +3032,6 @@ static const keyword_t sql_keywords[] = { {"0EVUEN", 'F'}, {"0EVUES", 'F'}, {"0EVUEV", 'F'}, - {"0F((((", 'F'}, - {"0F((()", 'F'}, - {"0F(((1", 'F'}, - {"0F(((E", 'F'}, - {"0F(((F", 'F'}, - {"0F(((K", 'F'}, - {"0F(((N", 'F'}, - {"0F(((S", 'F'}, - {"0F(((T", 'F'}, - {"0F(((V", 'F'}, - {"0F(()&", 'F'}, - {"0F((),", 'F'}, - {"0F(()1", 'F'}, - {"0F(();", 'F'}, - {"0F(()A", 'F'}, - {"0F(()B", 'F'}, - {"0F(()C", 'F'}, - {"0F(()E", 'F'}, - {"0F(()F", 'F'}, - {"0F(()K", 'F'}, - {"0F(()N", 'F'}, - {"0F(()O", 'F'}, - {"0F(()S", 'F'}, - {"0F(()U", 'F'}, - {"0F(()V", 'F'}, - {"0F((1)", 'F'}, - {"0F((1,", 'F'}, - {"0F((1O", 'F'}, - {"0F((E(", 'F'}, - {"0F((E1", 'F'}, - {"0F((EF", 'F'}, - {"0F((EK", 'F'}, - {"0F((EN", 'F'}, - {"0F((ES", 'F'}, - {"0F((EV", 'F'}, - {"0F((F(", 'F'}, - {"0F((K(", 'F'}, - {"0F((K,", 'F'}, - {"0F((N)", 'F'}, - {"0F((N,", 'F'}, - {"0F((NO", 'F'}, - {"0F((S)", 'F'}, - {"0F((S,", 'F'}, - {"0F((SO", 'F'}, - {"0F((T)", 'F'}, - {"0F((T,", 'F'}, - {"0F((V)", 'F'}, - {"0F((V,", 'F'}, - {"0F((VO", 'F'}, {"0F()&(", 'F'}, {"0F()&1", 'F'}, {"0F()&E", 'F'}, @@ -3060,6 +3130,12 @@ static const keyword_t sql_keywords[] = { {"0F()VO", 'F'}, {"0F()VS", 'F'}, {"0F()VU", 'F'}, + {"0F(1&(", 'F'}, + {"0F(1&1", 'F'}, + {"0F(1&F", 'F'}, + {"0F(1&N", 'F'}, + {"0F(1&S", 'F'}, + {"0F(1&V", 'F'}, {"0F(1)", 'F'}, {"0F(1)&", 'F'}, {"0F(1),", 'F'}, @@ -3083,12 +3159,13 @@ static const keyword_t sql_keywords[] = { {"0F(1OF", 'F'}, {"0F(1OS", 'F'}, {"0F(1OV", 'F'}, - {"0F(E((", 'F'}, {"0F(E(1", 'F'}, + {"0F(E(E", 'F'}, {"0F(E(F", 'F'}, {"0F(E(N", 'F'}, {"0F(E(S", 'F'}, {"0F(E(V", 'F'}, + {"0F(E1&", 'F'}, {"0F(E1)", 'F'}, {"0F(E1K", 'F'}, {"0F(E1O", 'F'}, @@ -3098,27 +3175,38 @@ static const keyword_t sql_keywords[] = { {"0F(EKF", 'F'}, {"0F(EKN", 'F'}, {"0F(EKS", 'F'}, + {"0F(EKT", 'F'}, {"0F(EKV", 'F'}, + {"0F(EN&", 'F'}, {"0F(EN)", 'F'}, {"0F(ENK", 'F'}, {"0F(ENO", 'F'}, + {"0F(ES&", 'F'}, {"0F(ES)", 'F'}, {"0F(ESK", 'F'}, {"0F(ESO", 'F'}, + {"0F(ET(", 'F'}, + {"0F(EV&", 'F'}, {"0F(EV)", 'F'}, {"0F(EVK", 'F'}, {"0F(EVO", 'F'}, - {"0F(F((", 'F'}, {"0F(F()", 'F'}, {"0F(F(1", 'F'}, + {"0F(F(E", 'F'}, {"0F(F(F", 'F'}, {"0F(F(N", 'F'}, {"0F(F(S", 'F'}, + {"0F(F(T", 'F'}, {"0F(F(V", 'F'}, - {"0F(K((", 'F'}, {"0F(K()", 'F'}, {"0F(K,(", 'F'}, {"0F(K,F", 'F'}, + {"0F(N&(", 'F'}, + {"0F(N&1", 'F'}, + {"0F(N&F", 'F'}, + {"0F(N&N", 'F'}, + {"0F(N&S", 'F'}, + {"0F(N&V", 'F'}, {"0F(N)", 'F'}, {"0F(N)&", 'F'}, {"0F(N),", 'F'}, @@ -3142,6 +3230,12 @@ static const keyword_t sql_keywords[] = { {"0F(NOF", 'F'}, {"0F(NOS", 'F'}, {"0F(NOV", 'F'}, + {"0F(S&(", 'F'}, + {"0F(S&1", 'F'}, + {"0F(S&F", 'F'}, + {"0F(S&N", 'F'}, + {"0F(S&S", 'F'}, + {"0F(S&V", 'F'}, {"0F(S)", 'F'}, {"0F(S)&", 'F'}, {"0F(S),", 'F'}, @@ -3167,6 +3261,13 @@ static const keyword_t sql_keywords[] = { {"0F(SON", 'F'}, {"0F(SOS", 'F'}, {"0F(SOV", 'F'}, + {"0F(T(1", 'F'}, + {"0F(T(E", 'F'}, + {"0F(T(F", 'F'}, + {"0F(T(N", 'F'}, + {"0F(T(S", 'F'}, + {"0F(T(T", 'F'}, + {"0F(T(V", 'F'}, {"0F(T),", 'F'}, {"0F(T,(", 'F'}, {"0F(T,1", 'F'}, @@ -3174,6 +3275,12 @@ static const keyword_t sql_keywords[] = { {"0F(T,N", 'F'}, {"0F(T,S", 'F'}, {"0F(T,V", 'F'}, + {"0F(V&(", 'F'}, + {"0F(V&1", 'F'}, + {"0F(V&F", 'F'}, + {"0F(V&N", 'F'}, + {"0F(V&S", 'F'}, + {"0F(V&V", 'F'}, {"0F(V)", 'F'}, {"0F(V)&", 'F'}, {"0F(V),", 'F'}, @@ -3199,21 +3306,6 @@ static const keyword_t sql_keywords[] = { {"0F(VO(", 'F'}, {"0F(VOF", 'F'}, {"0F(VOS", 'F'}, - {"0K((((", 'F'}, - {"0K(((1", 'F'}, - {"0K(((F", 'F'}, - {"0K(((N", 'F'}, - {"0K(((S", 'F'}, - {"0K(((V", 'F'}, - {"0K((1)", 'F'}, - {"0K((1O", 'F'}, - {"0K((F(", 'F'}, - {"0K((N)", 'F'}, - {"0K((NO", 'F'}, - {"0K((S)", 'F'}, - {"0K((SO", 'F'}, - {"0K((V)", 'F'}, - {"0K((VO", 'F'}, {"0K(1),", 'F'}, {"0K(1)A", 'F'}, {"0K(1)K", 'F'}, @@ -3222,7 +3314,6 @@ static const keyword_t sql_keywords[] = { {"0K(1OF", 'F'}, {"0K(1OS", 'F'}, {"0K(1OV", 'F'}, - {"0K(F((", 'F'}, {"0K(F()", 'F'}, {"0K(F(1", 'F'}, {"0K(F(F", 'F'}, @@ -3254,7 +3345,6 @@ static const keyword_t sql_keywords[] = { {"0K(VO(", 'F'}, {"0K(VOF", 'F'}, {"0K(VOS", 'F'}, - {"0K1,((", 'F'}, {"0K1,(1", 'F'}, {"0K1,(F", 'F'}, {"0K1,(N", 'F'}, @@ -3263,7 +3353,6 @@ static const keyword_t sql_keywords[] = { {"0K1,F(", 'F'}, {"0K1,VC", 'F'}, {"0K1,VO", 'F'}, - {"0K1A((", 'F'}, {"0K1A(F", 'F'}, {"0K1A(N", 'F'}, {"0K1A(S", 'F'}, @@ -3272,7 +3361,6 @@ static const keyword_t sql_keywords[] = { {"0K1ASO", 'F'}, {"0K1ATO", 'F'}, {"0K1AVO", 'F'}, - {"0K1K((", 'F'}, {"0K1K(1", 'F'}, {"0K1K(F", 'F'}, {"0K1K(N", 'F'}, @@ -3286,7 +3374,6 @@ static const keyword_t sql_keywords[] = { {"0K1KSU", 'F'}, {"0K1KVO", 'F'}, {"0K1KVU", 'F'}, - {"0K1O((", 'F'}, {"0K1O(1", 'F'}, {"0K1O(F", 'F'}, {"0K1O(N", 'F'}, @@ -3308,13 +3395,6 @@ static const keyword_t sql_keywords[] = { {"0K1OVK", 'F'}, {"0K1OVO", 'F'}, {"0K1OVS", 'F'}, - {"0KF(((", 'F'}, - {"0KF(()", 'F'}, - {"0KF((1", 'F'}, - {"0KF((F", 'F'}, - {"0KF((N", 'F'}, - {"0KF((S", 'F'}, - {"0KF((V", 'F'}, {"0KF(),", 'F'}, {"0KF()A", 'F'}, {"0KF()K", 'F'}, @@ -3328,7 +3408,6 @@ static const keyword_t sql_keywords[] = { {"0KF(SO", 'F'}, {"0KF(V)", 'F'}, {"0KF(VO", 'F'}, - {"0KN,((", 'F'}, {"0KN,(1", 'F'}, {"0KN,(F", 'F'}, {"0KN,(N", 'F'}, @@ -3337,7 +3416,6 @@ static const keyword_t sql_keywords[] = { {"0KN,F(", 'F'}, {"0KN,VC", 'F'}, {"0KN,VO", 'F'}, - {"0KNA((", 'F'}, {"0KNA(F", 'F'}, {"0KNA(N", 'F'}, {"0KNA(S", 'F'}, @@ -3346,7 +3424,6 @@ static const keyword_t sql_keywords[] = { {"0KNASO", 'F'}, {"0KNATO", 'F'}, {"0KNAVO", 'F'}, - {"0KNK((", 'F'}, {"0KNK(1", 'F'}, {"0KNK(F", 'F'}, {"0KNK(N", 'F'}, @@ -3360,7 +3437,6 @@ static const keyword_t sql_keywords[] = { {"0KNKSU", 'F'}, {"0KNKVO", 'F'}, {"0KNKVU", 'F'}, - {"0KS,((", 'F'}, {"0KS,(1", 'F'}, {"0KS,(F", 'F'}, {"0KS,(N", 'F'}, @@ -3369,7 +3445,6 @@ static const keyword_t sql_keywords[] = { {"0KS,F(", 'F'}, {"0KS,VC", 'F'}, {"0KS,VO", 'F'}, - {"0KSA((", 'F'}, {"0KSA(F", 'F'}, {"0KSA(N", 'F'}, {"0KSA(S", 'F'}, @@ -3378,7 +3453,6 @@ static const keyword_t sql_keywords[] = { {"0KSASO", 'F'}, {"0KSATO", 'F'}, {"0KSAVO", 'F'}, - {"0KSK((", 'F'}, {"0KSK(1", 'F'}, {"0KSK(F", 'F'}, {"0KSK(N", 'F'}, @@ -3392,7 +3466,6 @@ static const keyword_t sql_keywords[] = { {"0KSKSU", 'F'}, {"0KSKVO", 'F'}, {"0KSKVU", 'F'}, - {"0KSO((", 'F'}, {"0KSO(1", 'F'}, {"0KSO(F", 'F'}, {"0KSO(N", 'F'}, @@ -3430,7 +3503,6 @@ static const keyword_t sql_keywords[] = { {"0KSOVK", 'F'}, {"0KSOVO", 'F'}, {"0KSOVS", 'F'}, - {"0KV,((", 'F'}, {"0KV,(1", 'F'}, {"0KV,(F", 'F'}, {"0KV,(N", 'F'}, @@ -3445,7 +3517,6 @@ static const keyword_t sql_keywords[] = { {"0KV,SO", 'F'}, {"0KV,VC", 'F'}, {"0KV,VO", 'F'}, - {"0KVA((", 'F'}, {"0KVA(F", 'F'}, {"0KVA(N", 'F'}, {"0KVA(S", 'F'}, @@ -3454,7 +3525,6 @@ static const keyword_t sql_keywords[] = { {"0KVASO", 'F'}, {"0KVATO", 'F'}, {"0KVAVO", 'F'}, - {"0KVK((", 'F'}, {"0KVK(1", 'F'}, {"0KVK(F", 'F'}, {"0KVK(N", 'F'}, @@ -3468,7 +3538,6 @@ static const keyword_t sql_keywords[] = { {"0KVKSU", 'F'}, {"0KVKVO", 'F'}, {"0KVKVU", 'F'}, - {"0KVO((", 'F'}, {"0KVO(1", 'F'}, {"0KVO(F", 'F'}, {"0KVO(N", 'F'}, @@ -3483,14 +3552,6 @@ static const keyword_t sql_keywords[] = { {"0KVOSK", 'F'}, {"0KVOSO", 'F'}, {"0KVOSV", 'F'}, - {"0N&(((", 'F'}, - {"0N&((1", 'F'}, - {"0N&((E", 'F'}, - {"0N&((F", 'F'}, - {"0N&((N", 'F'}, - {"0N&((O", 'F'}, - {"0N&((S", 'F'}, - {"0N&((V", 'F'}, {"0N&(1&", 'F'}, {"0N&(1)", 'F'}, {"0N&(1,", 'F'}, @@ -3502,6 +3563,7 @@ static const keyword_t sql_keywords[] = { {"0N&(EN", 'F'}, {"0N&(EO", 'F'}, {"0N&(ES", 'F'}, + {"0N&(ET", 'F'}, {"0N&(EV", 'F'}, {"0N&(F(", 'F'}, {"0N&(N&", 'F'}, @@ -3518,6 +3580,7 @@ static const keyword_t sql_keywords[] = { {"0N&(S)", 'F'}, {"0N&(S,", 'F'}, {"0N&(SO", 'F'}, + {"0N&(T(", 'F'}, {"0N&(V&", 'F'}, {"0N&(V)", 'F'}, {"0N&(V,", 'F'}, @@ -3530,6 +3593,7 @@ static const keyword_t sql_keywords[] = { {"0N&1&S", 'F'}, {"0N&1&V", 'F'}, {"0N&1)&", 'F'}, + {"0N&1)C", 'F'}, {"0N&1)O", 'F'}, {"0N&1)U", 'F'}, {"0N&1;", 'F'}, @@ -3563,7 +3627,6 @@ static const keyword_t sql_keywords[] = { {"0N&1U;", 'F'}, {"0N&1UC", 'F'}, {"0N&1UE", 'F'}, - {"0N&E((", 'F'}, {"0N&E(1", 'F'}, {"0N&E(F", 'F'}, {"0N&E(N", 'F'}, @@ -3596,13 +3659,13 @@ static const keyword_t sql_keywords[] = { {"0N&EVC", 'F'}, {"0N&EVK", 'F'}, {"0N&EVO", 'F'}, - {"0N&F((", 'F'}, {"0N&F()", 'F'}, {"0N&F(1", 'F'}, {"0N&F(E", 'F'}, {"0N&F(F", 'F'}, {"0N&F(N", 'F'}, {"0N&F(S", 'F'}, + {"0N&F(T", 'F'}, {"0N&F(V", 'F'}, {"0N&K&(", 'F'}, {"0N&K&1", 'F'}, @@ -3610,7 +3673,6 @@ static const keyword_t sql_keywords[] = { {"0N&K&N", 'F'}, {"0N&K&S", 'F'}, {"0N&K&V", 'F'}, - {"0N&K((", 'F'}, {"0N&K(1", 'F'}, {"0N&K(F", 'F'}, {"0N&K(N", 'F'}, @@ -3634,6 +3696,7 @@ static const keyword_t sql_keywords[] = { {"0N&N&S", 'F'}, {"0N&N&V", 'F'}, {"0N&N)&", 'F'}, + {"0N&N)C", 'F'}, {"0N&N)O", 'F'}, {"0N&N)U", 'F'}, {"0N&N;C", 'F'}, @@ -3667,6 +3730,7 @@ static const keyword_t sql_keywords[] = { {"0N&S&S", 'F'}, {"0N&S&V", 'F'}, {"0N&S)&", 'F'}, + {"0N&S)C", 'F'}, {"0N&S)O", 'F'}, {"0N&S)U", 'F'}, {"0N&S1", 'F'}, @@ -3710,8 +3774,8 @@ static const keyword_t sql_keywords[] = { {"0N&SV;", 'F'}, {"0N&SVC", 'F'}, {"0N&SVO", 'F'}, - {"0N&T((", 'F'}, {"0N&T(1", 'F'}, + {"0N&T(E", 'F'}, {"0N&T(F", 'F'}, {"0N&T(N", 'F'}, {"0N&T(S", 'F'}, @@ -3724,6 +3788,7 @@ static const keyword_t sql_keywords[] = { {"0N&V&S", 'F'}, {"0N&V&V", 'F'}, {"0N&V)&", 'F'}, + {"0N&V)C", 'F'}, {"0N&V)O", 'F'}, {"0N&V)U", 'F'}, {"0N&V;", 'F'}, @@ -3760,26 +3825,6 @@ static const keyword_t sql_keywords[] = { {"0N&VU;", 'F'}, {"0N&VUC", 'F'}, {"0N&VUE", 'F'}, - {"0N((((", 'F'}, - {"0N(((1", 'F'}, - {"0N(((E", 'F'}, - {"0N(((F", 'F'}, - {"0N(((N", 'F'}, - {"0N(((S", 'F'}, - {"0N(((U", 'F'}, - {"0N(((V", 'F'}, - {"0N((1)", 'F'}, - {"0N((1O", 'F'}, - {"0N((EK", 'F'}, - {"0N((EN", 'F'}, - {"0N((F(", 'F'}, - {"0N((N)", 'F'}, - {"0N((NO", 'F'}, - {"0N((S)", 'F'}, - {"0N((SO", 'F'}, - {"0N((U(", 'F'}, - {"0N((V)", 'F'}, - {"0N((VO", 'F'}, {"0N(1)F", 'F'}, {"0N(1)O", 'F'}, {"0N(1)U", 'F'}, @@ -3790,7 +3835,6 @@ static const keyword_t sql_keywords[] = { {"0N(1OV", 'F'}, {"0N(EKN", 'F'}, {"0N(ENK", 'F'}, - {"0N(F((", 'F'}, {"0N(F()", 'F'}, {"0N(F(1", 'F'}, {"0N(F(F", 'F'}, @@ -3810,7 +3854,6 @@ static const keyword_t sql_keywords[] = { {"0N(SON", 'F'}, {"0N(SOS", 'F'}, {"0N(SOV", 'F'}, - {"0N(U((", 'F'}, {"0N(U(E", 'F'}, {"0N(V)1", 'F'}, {"0N(V)F", 'F'}, @@ -3822,7 +3865,6 @@ static const keyword_t sql_keywords[] = { {"0N(VO(", 'F'}, {"0N(VOF", 'F'}, {"0N(VOS", 'F'}, - {"0N)&((", 'F'}, {"0N)&(1", 'F'}, {"0N)&(E", 'F'}, {"0N)&(F", 'F'}, @@ -3866,7 +3908,6 @@ static const keyword_t sql_keywords[] = { {"0N)&VF", 'F'}, {"0N)&VO", 'F'}, {"0N)&VU", 'F'}, - {"0N),((", 'F'}, {"0N),(1", 'F'}, {"0N),(F", 'F'}, {"0N),(N", 'F'}, @@ -3888,7 +3929,6 @@ static const keyword_t sql_keywords[] = { {"0N);TO", 'F'}, {"0N);TS", 'F'}, {"0N);TV", 'F'}, - {"0N)B((", 'F'}, {"0N)B(1", 'F'}, {"0N)B(F", 'F'}, {"0N)B(N", 'F'}, @@ -3924,7 +3964,6 @@ static const keyword_t sql_keywords[] = { {"0N)BVK", 'F'}, {"0N)BVO", 'F'}, {"0N)BVU", 'F'}, - {"0N)E((", 'F'}, {"0N)E(1", 'F'}, {"0N)E(F", 'F'}, {"0N)E(N", 'F'}, @@ -3945,7 +3984,6 @@ static const keyword_t sql_keywords[] = { {"0N)ESO", 'F'}, {"0N)EVC", 'F'}, {"0N)EVO", 'F'}, - {"0N)K((", 'F'}, {"0N)K(1", 'F'}, {"0N)K(F", 'F'}, {"0N)K(N", 'F'}, @@ -3983,12 +4021,12 @@ static const keyword_t sql_keywords[] = { {"0N)KVE", 'F'}, {"0N)KVO", 'F'}, {"0N)KVU", 'F'}, - {"0N)O((", 'F'}, {"0N)O(1", 'F'}, {"0N)O(E", 'F'}, {"0N)O(F", 'F'}, {"0N)O(N", 'F'}, {"0N)O(S", 'F'}, + {"0N)O(T", 'F'}, {"0N)O(V", 'F'}, {"0N)O1&", 'F'}, {"0N)O1)", 'F'}, @@ -4026,7 +4064,6 @@ static const keyword_t sql_keywords[] = { {"0N)OVK", 'F'}, {"0N)OVO", 'F'}, {"0N)OVU", 'F'}, - {"0N)U((", 'F'}, {"0N)U(E", 'F'}, {"0N)UE(", 'F'}, {"0N)UE1", 'F'}, @@ -4035,13 +4072,6 @@ static const keyword_t sql_keywords[] = { {"0N)UEN", 'F'}, {"0N)UES", 'F'}, {"0N)UEV", 'F'}, - {"0N,(((", 'F'}, - {"0N,((1", 'F'}, - {"0N,((E", 'F'}, - {"0N,((F", 'F'}, - {"0N,((N", 'F'}, - {"0N,((S", 'F'}, - {"0N,((V", 'F'}, {"0N,(1)", 'F'}, {"0N,(1O", 'F'}, {"0N,(E(", 'F'}, @@ -4057,7 +4087,6 @@ static const keyword_t sql_keywords[] = { {"0N,(SO", 'F'}, {"0N,(V)", 'F'}, {"0N,(VO", 'F'}, - {"0N,F((", 'F'}, {"0N,F()", 'F'}, {"0N,F(1", 'F'}, {"0N,F(F", 'F'}, @@ -4083,14 +4112,12 @@ static const keyword_t sql_keywords[] = { {"0N,VOF", 'F'}, {"0N,VOS", 'F'}, {"0N,VUE", 'F'}, - {"0N1F((", 'F'}, {"0N1F()", 'F'}, {"0N1F(1", 'F'}, {"0N1F(F", 'F'}, {"0N1F(N", 'F'}, {"0N1F(S", 'F'}, {"0N1F(V", 'F'}, - {"0N1O((", 'F'}, {"0N1O(1", 'F'}, {"0N1O(F", 'F'}, {"0N1O(N", 'F'}, @@ -4121,7 +4148,6 @@ static const keyword_t sql_keywords[] = { {"0N1VO(", 'F'}, {"0N1VOF", 'F'}, {"0N1VOS", 'F'}, - {"0N;E((", 'F'}, {"0N;E(1", 'F'}, {"0N;E(E", 'F'}, {"0N;E(F", 'F'}, @@ -4145,6 +4171,7 @@ static const keyword_t sql_keywords[] = { {"0N;EN,", 'F'}, {"0N;EN;", 'F'}, {"0N;ENC", 'F'}, + {"0N;ENE", 'F'}, {"0N;ENK", 'F'}, {"0N;ENO", 'F'}, {"0N;ENT", 'F'}, @@ -4162,7 +4189,6 @@ static const keyword_t sql_keywords[] = { {"0N;EVO", 'F'}, {"0N;EVT", 'F'}, {"0N;N:T", 'F'}, - {"0N;T((", 'F'}, {"0N;T(1", 'F'}, {"0N;T(E", 'F'}, {"0N;T(F", 'F'}, @@ -4221,12 +4247,6 @@ static const keyword_t sql_keywords[] = { {"0N;TVK", 'F'}, {"0N;TVO", 'F'}, {"0N;TVT", 'F'}, - {"0NA(((", 'F'}, - {"0NA((1", 'F'}, - {"0NA((F", 'F'}, - {"0NA((N", 'F'}, - {"0NA((S", 'F'}, - {"0NA((V", 'F'}, {"0NA(F(", 'F'}, {"0NA(N)", 'F'}, {"0NA(NO", 'F'}, @@ -4234,7 +4254,6 @@ static const keyword_t sql_keywords[] = { {"0NA(SO", 'F'}, {"0NA(V)", 'F'}, {"0NA(VO", 'F'}, - {"0NAF((", 'F'}, {"0NAF()", 'F'}, {"0NAF(1", 'F'}, {"0NAF(F", 'F'}, @@ -4259,12 +4278,6 @@ static const keyword_t sql_keywords[] = { {"0NAVOF", 'F'}, {"0NAVOS", 'F'}, {"0NAVUE", 'F'}, - {"0NB(((", 'F'}, - {"0NB((1", 'F'}, - {"0NB((F", 'F'}, - {"0NB((N", 'F'}, - {"0NB((S", 'F'}, - {"0NB((V", 'F'}, {"0NB(1)", 'F'}, {"0NB(1O", 'F'}, {"0NB(F(", 'F'}, @@ -4305,14 +4318,12 @@ static const keyword_t sql_keywords[] = { {"0NB1OV", 'F'}, {"0NB1U(", 'F'}, {"0NB1UE", 'F'}, - {"0NBE((", 'F'}, {"0NBE(1", 'F'}, {"0NBE(F", 'F'}, {"0NBE(N", 'F'}, {"0NBE(S", 'F'}, {"0NBE(V", 'F'}, {"0NBEK(", 'F'}, - {"0NBF((", 'F'}, {"0NBF()", 'F'}, {"0NBF(1", 'F'}, {"0NBF(F", 'F'}, @@ -4416,12 +4427,6 @@ static const keyword_t sql_keywords[] = { {"0NBVU(", 'F'}, {"0NBVUE", 'F'}, {"0NC", 'F'}, - {"0NE(((", 'F'}, - {"0NE((1", 'F'}, - {"0NE((F", 'F'}, - {"0NE((N", 'F'}, - {"0NE((S", 'F'}, - {"0NE((V", 'F'}, {"0NE(1)", 'F'}, {"0NE(1O", 'F'}, {"0NE(F(", 'F'}, @@ -4437,7 +4442,6 @@ static const keyword_t sql_keywords[] = { {"0NE1OS", 'F'}, {"0NE1OV", 'F'}, {"0NE1UE", 'F'}, - {"0NEF((", 'F'}, {"0NEF()", 'F'}, {"0NEF(1", 'F'}, {"0NEF(F", 'F'}, @@ -4459,7 +4463,6 @@ static const keyword_t sql_keywords[] = { {"0NESOS", 'F'}, {"0NESOV", 'F'}, {"0NESUE", 'F'}, - {"0NEU((", 'F'}, {"0NEU(1", 'F'}, {"0NEU(F", 'F'}, {"0NEU(N", 'F'}, @@ -4485,13 +4488,6 @@ static const keyword_t sql_keywords[] = { {"0NEVOF", 'F'}, {"0NEVOS", 'F'}, {"0NEVUE", 'F'}, - {"0NF(((", 'F'}, - {"0NF(()", 'F'}, - {"0NF((1", 'F'}, - {"0NF((F", 'F'}, - {"0NF((N", 'F'}, - {"0NF((S", 'F'}, - {"0NF((V", 'F'}, {"0NF()1", 'F'}, {"0NF()F", 'F'}, {"0NF()K", 'F'}, @@ -4503,7 +4499,13 @@ static const keyword_t sql_keywords[] = { {"0NF(1)", 'F'}, {"0NF(1N", 'F'}, {"0NF(1O", 'F'}, + {"0NF(E(", 'F'}, {"0NF(E1", 'F'}, + {"0NF(EF", 'F'}, + {"0NF(EK", 'F'}, + {"0NF(EN", 'F'}, + {"0NF(ES", 'F'}, + {"0NF(EV", 'F'}, {"0NF(F(", 'F'}, {"0NF(N)", 'F'}, {"0NF(N,", 'F'}, @@ -4512,12 +4514,6 @@ static const keyword_t sql_keywords[] = { {"0NF(SO", 'F'}, {"0NF(V)", 'F'}, {"0NF(VO", 'F'}, - {"0NK(((", 'F'}, - {"0NK((1", 'F'}, - {"0NK((F", 'F'}, - {"0NK((N", 'F'}, - {"0NK((S", 'F'}, - {"0NK((V", 'F'}, {"0NK(1)", 'F'}, {"0NK(1O", 'F'}, {"0NK(F(", 'F'}, @@ -4580,7 +4576,6 @@ static const keyword_t sql_keywords[] = { {"0NK1OV", 'F'}, {"0NK1U(", 'F'}, {"0NK1UE", 'F'}, - {"0NKF((", 'F'}, {"0NKF()", 'F'}, {"0NKF(1", 'F'}, {"0NKF(F", 'F'}, @@ -4680,15 +4675,6 @@ static const keyword_t sql_keywords[] = { {"0NKVOS", 'F'}, {"0NKVU(", 'F'}, {"0NKVUE", 'F'}, - {"0NO(((", 'F'}, - {"0NO((1", 'F'}, - {"0NO((E", 'F'}, - {"0NO((F", 'F'}, - {"0NO((N", 'F'}, - {"0NO((O", 'F'}, - {"0NO((S", 'F'}, - {"0NO((T", 'F'}, - {"0NO((V", 'F'}, {"0NO(1&", 'F'}, {"0NO(1)", 'F'}, {"0NO(1,", 'F'}, @@ -4700,6 +4686,7 @@ static const keyword_t sql_keywords[] = { {"0NO(EK", 'F'}, {"0NO(EN", 'F'}, {"0NO(ES", 'F'}, + {"0NO(ET", 'F'}, {"0NO(EV", 'F'}, {"0NO(F(", 'F'}, {"0NO(N&", 'F'}, @@ -4721,13 +4708,13 @@ static const keyword_t sql_keywords[] = { {"0NO(V)", 'F'}, {"0NO(V,", 'F'}, {"0NO(VO", 'F'}, - {"0NOF((", 'F'}, {"0NOF()", 'F'}, {"0NOF(1", 'F'}, {"0NOF(E", 'F'}, {"0NOF(F", 'F'}, {"0NOF(N", 'F'}, {"0NOF(S", 'F'}, + {"0NOF(T", 'F'}, {"0NOF(V", 'F'}, {"0NOK&(", 'F'}, {"0NOK&1", 'F'}, @@ -4735,7 +4722,6 @@ static const keyword_t sql_keywords[] = { {"0NOK&N", 'F'}, {"0NOK&S", 'F'}, {"0NOK&V", 'F'}, - {"0NOK((", 'F'}, {"0NOK(1", 'F'}, {"0NOK(F", 'F'}, {"0NOK(N", 'F'}, @@ -4766,13 +4752,13 @@ static const keyword_t sql_keywords[] = { {"0NOS&T", 'F'}, {"0NOS&U", 'F'}, {"0NOS&V", 'F'}, - {"0NOS((", 'F'}, {"0NOS(E", 'F'}, {"0NOS(U", 'F'}, {"0NOS)&", 'F'}, {"0NOS),", 'F'}, {"0NOS);", 'F'}, {"0NOS)B", 'F'}, + {"0NOS)C", 'F'}, {"0NOS)E", 'F'}, {"0NOS)K", 'F'}, {"0NOS)O", 'F'}, @@ -4850,14 +4836,13 @@ static const keyword_t sql_keywords[] = { {"0NOSVO", 'F'}, {"0NOSVS", 'F'}, {"0NOSVU", 'F'}, - {"0NOT((", 'F'}, {"0NOT(1", 'F'}, + {"0NOT(E", 'F'}, {"0NOT(F", 'F'}, {"0NOT(N", 'F'}, {"0NOT(S", 'F'}, {"0NOT(T", 'F'}, {"0NOT(V", 'F'}, - {"0NOU((", 'F'}, {"0NOU(E", 'F'}, {"0NOUEK", 'F'}, {"0NOUEN", 'F'}, @@ -4871,13 +4856,13 @@ static const keyword_t sql_keywords[] = { {"0NOV&T", 'F'}, {"0NOV&U", 'F'}, {"0NOV&V", 'F'}, - {"0NOV((", 'F'}, {"0NOV(E", 'F'}, {"0NOV(U", 'F'}, {"0NOV)&", 'F'}, {"0NOV),", 'F'}, {"0NOV);", 'F'}, {"0NOV)B", 'F'}, + {"0NOV)C", 'F'}, {"0NOV)E", 'F'}, {"0NOV)K", 'F'}, {"0NOV)O", 'F'}, @@ -4958,13 +4943,6 @@ static const keyword_t sql_keywords[] = { {"0NSUE;", 'F'}, {"0NSUEC", 'F'}, {"0NSUEK", 'F'}, - {"0NU(((", 'F'}, - {"0NU((1", 'F'}, - {"0NU((E", 'F'}, - {"0NU((F", 'F'}, - {"0NU((N", 'F'}, - {"0NU((S", 'F'}, - {"0NU((V", 'F'}, {"0NU(1)", 'F'}, {"0NU(1O", 'F'}, {"0NU(E(", 'F'}, @@ -4993,7 +4971,6 @@ static const keyword_t sql_keywords[] = { {"0NU;C", 'F'}, {"0NUC", 'F'}, {"0NUE", 'F'}, - {"0NUE((", 'F'}, {"0NUE(1", 'F'}, {"0NUE(E", 'F'}, {"0NUE(F", 'F'}, @@ -5079,16 +5056,13 @@ static const keyword_t sql_keywords[] = { {"0NUEVO", 'F'}, {"0NUEVS", 'F'}, {"0NUEVU", 'F'}, - {"0NUF((", 'F'}, {"0NUF()", 'F'}, {"0NUF(1", 'F'}, {"0NUF(F", 'F'}, {"0NUF(N", 'F'}, {"0NUF(S", 'F'}, {"0NUF(V", 'F'}, - {"0NUK((", 'F'}, {"0NUK(E", 'F'}, - {"0NUN((", 'F'}, {"0NUN(1", 'F'}, {"0NUN(F", 'F'}, {"0NUN(S", 'F'}, @@ -5114,7 +5088,6 @@ static const keyword_t sql_keywords[] = { {"0NUNS(", 'F'}, {"0NUNS,", 'F'}, {"0NUNSO", 'F'}, - {"0NUO((", 'F'}, {"0NUO(E", 'F'}, {"0NUON(", 'F'}, {"0NUON1", 'F'}, @@ -5144,28 +5117,12 @@ static const keyword_t sql_keywords[] = { {"0NUVO(", 'F'}, {"0NUVOF", 'F'}, {"0NUVOS", 'F'}, - {"0O((((", 'F'}, - {"0O(((1", 'F'}, - {"0O(((F", 'F'}, - {"0O(((N", 'F'}, - {"0O(((S", 'F'}, - {"0O(((V", 'F'}, - {"0O((1)", 'F'}, - {"0O((1O", 'F'}, - {"0O((F(", 'F'}, - {"0O((N)", 'F'}, - {"0O((NO", 'F'}, - {"0O((S)", 'F'}, - {"0O((SO", 'F'}, - {"0O((V)", 'F'}, - {"0O((VO", 'F'}, {"0O(1)O", 'F'}, {"0O(1)U", 'F'}, {"0O(1O(", 'F'}, {"0O(1OF", 'F'}, {"0O(1OS", 'F'}, {"0O(1OV", 'F'}, - {"0O(F((", 'F'}, {"0O(F()", 'F'}, {"0O(F(1", 'F'}, {"0O(F(F", 'F'}, @@ -5191,7 +5148,6 @@ static const keyword_t sql_keywords[] = { {"0O(VO(", 'F'}, {"0O(VOF", 'F'}, {"0O(VOS", 'F'}, - {"0O1O((", 'F'}, {"0O1O(1", 'F'}, {"0O1O(F", 'F'}, {"0O1O(N", 'F'}, @@ -5209,13 +5165,6 @@ static const keyword_t sql_keywords[] = { {"0O1UEN", 'F'}, {"0O1UES", 'F'}, {"0O1UEV", 'F'}, - {"0OF(((", 'F'}, - {"0OF(()", 'F'}, - {"0OF((1", 'F'}, - {"0OF((F", 'F'}, - {"0OF((N", 'F'}, - {"0OF((S", 'F'}, - {"0OF((V", 'F'}, {"0OF()O", 'F'}, {"0OF()U", 'F'}, {"0OF(1)", 'F'}, @@ -5227,7 +5176,6 @@ static const keyword_t sql_keywords[] = { {"0OF(SO", 'F'}, {"0OF(V)", 'F'}, {"0OF(VO", 'F'}, - {"0ONO((", 'F'}, {"0ONO(1", 'F'}, {"0ONO(F", 'F'}, {"0ONO(N", 'F'}, @@ -5245,7 +5193,6 @@ static const keyword_t sql_keywords[] = { {"0ONUEN", 'F'}, {"0ONUES", 'F'}, {"0ONUEV", 'F'}, - {"0OSO((", 'F'}, {"0OSO(1", 'F'}, {"0OSO(F", 'F'}, {"0OSO(N", 'F'}, @@ -5267,7 +5214,6 @@ static const keyword_t sql_keywords[] = { {"0OSUEN", 'F'}, {"0OSUES", 'F'}, {"0OSUEV", 'F'}, - {"0OUE((", 'F'}, {"0OUE(1", 'F'}, {"0OUE(F", 'F'}, {"0OUE(N", 'F'}, @@ -5288,7 +5234,6 @@ static const keyword_t sql_keywords[] = { {"0OUESO", 'F'}, {"0OUEV,", 'F'}, {"0OUEVO", 'F'}, - {"0OVO((", 'F'}, {"0OVO(1", 'F'}, {"0OVO(F", 'F'}, {"0OVO(N", 'F'}, @@ -5304,13 +5249,6 @@ static const keyword_t sql_keywords[] = { {"0OVUEN", 'F'}, {"0OVUES", 'F'}, {"0OVUEV", 'F'}, - {"0S&(((", 'F'}, - {"0S&((1", 'F'}, - {"0S&((E", 'F'}, - {"0S&((F", 'F'}, - {"0S&((N", 'F'}, - {"0S&((S", 'F'}, - {"0S&((V", 'F'}, {"0S&(1&", 'F'}, {"0S&(1)", 'F'}, {"0S&(1,", 'F'}, @@ -5322,6 +5260,7 @@ static const keyword_t sql_keywords[] = { {"0S&(EN", 'F'}, {"0S&(EO", 'F'}, {"0S&(ES", 'F'}, + {"0S&(ET", 'F'}, {"0S&(EV", 'F'}, {"0S&(F(", 'F'}, {"0S&(N&", 'F'}, @@ -5332,6 +5271,7 @@ static const keyword_t sql_keywords[] = { {"0S&(S)", 'F'}, {"0S&(S,", 'F'}, {"0S&(SO", 'F'}, + {"0S&(T(", 'F'}, {"0S&(V&", 'F'}, {"0S&(V)", 'F'}, {"0S&(V,", 'F'}, @@ -5344,6 +5284,7 @@ static const keyword_t sql_keywords[] = { {"0S&1&S", 'F'}, {"0S&1&V", 'F'}, {"0S&1)&", 'F'}, + {"0S&1)C", 'F'}, {"0S&1)O", 'F'}, {"0S&1)U", 'F'}, {"0S&1;", 'F'}, @@ -5377,7 +5318,6 @@ static const keyword_t sql_keywords[] = { {"0S&1U;", 'F'}, {"0S&1UC", 'F'}, {"0S&1UE", 'F'}, - {"0S&E((", 'F'}, {"0S&E(1", 'F'}, {"0S&E(F", 'F'}, {"0S&E(N", 'F'}, @@ -5411,13 +5351,13 @@ static const keyword_t sql_keywords[] = { {"0S&EVC", 'F'}, {"0S&EVK", 'F'}, {"0S&EVO", 'F'}, - {"0S&F((", 'F'}, {"0S&F()", 'F'}, {"0S&F(1", 'F'}, {"0S&F(E", 'F'}, {"0S&F(F", 'F'}, {"0S&F(N", 'F'}, {"0S&F(S", 'F'}, + {"0S&F(T", 'F'}, {"0S&F(V", 'F'}, {"0S&K&(", 'F'}, {"0S&K&1", 'F'}, @@ -5425,7 +5365,6 @@ static const keyword_t sql_keywords[] = { {"0S&K&N", 'F'}, {"0S&K&S", 'F'}, {"0S&K&V", 'F'}, - {"0S&K((", 'F'}, {"0S&K(1", 'F'}, {"0S&K(F", 'F'}, {"0S&K(N", 'F'}, @@ -5451,6 +5390,7 @@ static const keyword_t sql_keywords[] = { {"0S&N&S", 'F'}, {"0S&N&V", 'F'}, {"0S&N)&", 'F'}, + {"0S&N)C", 'F'}, {"0S&N)O", 'F'}, {"0S&N)U", 'F'}, {"0S&N;", 'F'}, @@ -5490,6 +5430,7 @@ static const keyword_t sql_keywords[] = { {"0S&S&S", 'F'}, {"0S&S&V", 'F'}, {"0S&S)&", 'F'}, + {"0S&S)C", 'F'}, {"0S&S)O", 'F'}, {"0S&S)U", 'F'}, {"0S&S1", 'F'}, @@ -5533,8 +5474,8 @@ static const keyword_t sql_keywords[] = { {"0S&SV;", 'F'}, {"0S&SVC", 'F'}, {"0S&SVO", 'F'}, - {"0S&T((", 'F'}, {"0S&T(1", 'F'}, + {"0S&T(E", 'F'}, {"0S&T(F", 'F'}, {"0S&T(N", 'F'}, {"0S&T(S", 'F'}, @@ -5547,6 +5488,7 @@ static const keyword_t sql_keywords[] = { {"0S&V&S", 'F'}, {"0S&V&V", 'F'}, {"0S&V)&", 'F'}, + {"0S&V)C", 'F'}, {"0S&V)O", 'F'}, {"0S&V)U", 'F'}, {"0S&V;", 'F'}, @@ -5583,17 +5525,9 @@ static const keyword_t sql_keywords[] = { {"0S&VU;", 'F'}, {"0S&VUC", 'F'}, {"0S&VUE", 'F'}, - {"0S((((", 'F'}, - {"0S(((E", 'F'}, - {"0S(((U", 'F'}, - {"0S((EK", 'F'}, - {"0S((EN", 'F'}, - {"0S((U(", 'F'}, {"0S(EKN", 'F'}, {"0S(ENK", 'F'}, - {"0S(U((", 'F'}, {"0S(U(E", 'F'}, - {"0S)&((", 'F'}, {"0S)&(1", 'F'}, {"0S)&(E", 'F'}, {"0S)&(F", 'F'}, @@ -5637,7 +5571,6 @@ static const keyword_t sql_keywords[] = { {"0S)&VF", 'F'}, {"0S)&VO", 'F'}, {"0S)&VU", 'F'}, - {"0S),((", 'F'}, {"0S),(1", 'F'}, {"0S),(F", 'F'}, {"0S),(N", 'F'}, @@ -5659,7 +5592,6 @@ static const keyword_t sql_keywords[] = { {"0S);TO", 'F'}, {"0S);TS", 'F'}, {"0S);TV", 'F'}, - {"0S)B((", 'F'}, {"0S)B(1", 'F'}, {"0S)B(F", 'F'}, {"0S)B(N", 'F'}, @@ -5695,7 +5627,7 @@ static const keyword_t sql_keywords[] = { {"0S)BVK", 'F'}, {"0S)BVO", 'F'}, {"0S)BVU", 'F'}, - {"0S)E((", 'F'}, + {"0S)C", 'F'}, {"0S)E(1", 'F'}, {"0S)E(F", 'F'}, {"0S)E(N", 'F'}, @@ -5716,7 +5648,6 @@ static const keyword_t sql_keywords[] = { {"0S)ESO", 'F'}, {"0S)EVC", 'F'}, {"0S)EVO", 'F'}, - {"0S)K((", 'F'}, {"0S)K(1", 'F'}, {"0S)K(F", 'F'}, {"0S)K(N", 'F'}, @@ -5754,12 +5685,12 @@ static const keyword_t sql_keywords[] = { {"0S)KVE", 'F'}, {"0S)KVO", 'F'}, {"0S)KVU", 'F'}, - {"0S)O((", 'F'}, {"0S)O(1", 'F'}, {"0S)O(E", 'F'}, {"0S)O(F", 'F'}, {"0S)O(N", 'F'}, {"0S)O(S", 'F'}, + {"0S)O(T", 'F'}, {"0S)O(V", 'F'}, {"0S)O1", 'F'}, {"0S)O1&", 'F'}, @@ -5797,7 +5728,6 @@ static const keyword_t sql_keywords[] = { {"0S)OVK", 'F'}, {"0S)OVO", 'F'}, {"0S)OVU", 'F'}, - {"0S)U((", 'F'}, {"0S)U(E", 'F'}, {"0S)UE(", 'F'}, {"0S)UE1", 'F'}, @@ -5806,13 +5736,6 @@ static const keyword_t sql_keywords[] = { {"0S)UEN", 'F'}, {"0S)UES", 'F'}, {"0S)UEV", 'F'}, - {"0S,(((", 'F'}, - {"0S,((1", 'F'}, - {"0S,((E", 'F'}, - {"0S,((F", 'F'}, - {"0S,((N", 'F'}, - {"0S,((S", 'F'}, - {"0S,((V", 'F'}, {"0S,(1)", 'F'}, {"0S,(1O", 'F'}, {"0S,(E(", 'F'}, @@ -5829,7 +5752,6 @@ static const keyword_t sql_keywords[] = { {"0S,(SO", 'F'}, {"0S,(V)", 'F'}, {"0S,(VO", 'F'}, - {"0S,F((", 'F'}, {"0S,F()", 'F'}, {"0S,F(1", 'F'}, {"0S,F(F", 'F'}, @@ -5849,7 +5771,6 @@ static const keyword_t sql_keywords[] = { {"0S,VOF", 'F'}, {"0S,VOS", 'F'}, {"0S,VUE", 'F'}, - {"0S1F((", 'F'}, {"0S1F()", 'F'}, {"0S1F(1", 'F'}, {"0S1F(F", 'F'}, @@ -5857,7 +5778,6 @@ static const keyword_t sql_keywords[] = { {"0S1F(S", 'F'}, {"0S1F(V", 'F'}, {"0S1NC", 'F'}, - {"0S1O((", 'F'}, {"0S1O(1", 'F'}, {"0S1O(F", 'F'}, {"0S1O(N", 'F'}, @@ -5889,7 +5809,6 @@ static const keyword_t sql_keywords[] = { {"0S1VO(", 'F'}, {"0S1VOF", 'F'}, {"0S1VOS", 'F'}, - {"0S;E((", 'F'}, {"0S;E(1", 'F'}, {"0S;E(E", 'F'}, {"0S;E(F", 'F'}, @@ -5913,6 +5832,7 @@ static const keyword_t sql_keywords[] = { {"0S;EN,", 'F'}, {"0S;EN;", 'F'}, {"0S;ENC", 'F'}, + {"0S;ENE", 'F'}, {"0S;ENK", 'F'}, {"0S;ENO", 'F'}, {"0S;ENT", 'F'}, @@ -5930,7 +5850,6 @@ static const keyword_t sql_keywords[] = { {"0S;EVO", 'F'}, {"0S;EVT", 'F'}, {"0S;N:T", 'F'}, - {"0S;T((", 'F'}, {"0S;T(1", 'F'}, {"0S;T(E", 'F'}, {"0S;T(F", 'F'}, @@ -5989,12 +5908,6 @@ static const keyword_t sql_keywords[] = { {"0S;TVK", 'F'}, {"0S;TVO", 'F'}, {"0S;TVT", 'F'}, - {"0SA(((", 'F'}, - {"0SA((1", 'F'}, - {"0SA((F", 'F'}, - {"0SA((N", 'F'}, - {"0SA((S", 'F'}, - {"0SA((V", 'F'}, {"0SA(F(", 'F'}, {"0SA(N)", 'F'}, {"0SA(NO", 'F'}, @@ -6002,7 +5915,6 @@ static const keyword_t sql_keywords[] = { {"0SA(SO", 'F'}, {"0SA(V)", 'F'}, {"0SA(VO", 'F'}, - {"0SAF((", 'F'}, {"0SAF()", 'F'}, {"0SAF(1", 'F'}, {"0SAF(F", 'F'}, @@ -6027,12 +5939,6 @@ static const keyword_t sql_keywords[] = { {"0SAVOF", 'F'}, {"0SAVOS", 'F'}, {"0SAVUE", 'F'}, - {"0SB(((", 'F'}, - {"0SB((1", 'F'}, - {"0SB((F", 'F'}, - {"0SB((N", 'F'}, - {"0SB((S", 'F'}, - {"0SB((V", 'F'}, {"0SB(1)", 'F'}, {"0SB(1O", 'F'}, {"0SB(F(", 'F'}, @@ -6073,14 +5979,12 @@ static const keyword_t sql_keywords[] = { {"0SB1OV", 'F'}, {"0SB1U(", 'F'}, {"0SB1UE", 'F'}, - {"0SBE((", 'F'}, {"0SBE(1", 'F'}, {"0SBE(F", 'F'}, {"0SBE(N", 'F'}, {"0SBE(S", 'F'}, {"0SBE(V", 'F'}, {"0SBEK(", 'F'}, - {"0SBF((", 'F'}, {"0SBF()", 'F'}, {"0SBF(1", 'F'}, {"0SBF(F", 'F'}, @@ -6185,12 +6089,6 @@ static const keyword_t sql_keywords[] = { {"0SBVU(", 'F'}, {"0SBVUE", 'F'}, {"0SC", 'F'}, - {"0SE(((", 'F'}, - {"0SE((1", 'F'}, - {"0SE((F", 'F'}, - {"0SE((N", 'F'}, - {"0SE((S", 'F'}, - {"0SE((V", 'F'}, {"0SE(1)", 'F'}, {"0SE(1O", 'F'}, {"0SE(F(", 'F'}, @@ -6206,14 +6104,12 @@ static const keyword_t sql_keywords[] = { {"0SE1OS", 'F'}, {"0SE1OV", 'F'}, {"0SE1UE", 'F'}, - {"0SEF((", 'F'}, {"0SEF()", 'F'}, {"0SEF(1", 'F'}, {"0SEF(F", 'F'}, {"0SEF(N", 'F'}, {"0SEF(S", 'F'}, {"0SEF(V", 'F'}, - {"0SEK((", 'F'}, {"0SEK(1", 'F'}, {"0SEK(E", 'F'}, {"0SEK(F", 'F'}, @@ -6257,7 +6153,6 @@ static const keyword_t sql_keywords[] = { {"0SESOS", 'F'}, {"0SESOV", 'F'}, {"0SESUE", 'F'}, - {"0SEU((", 'F'}, {"0SEU(1", 'F'}, {"0SEU(F", 'F'}, {"0SEU(N", 'F'}, @@ -6283,14 +6178,6 @@ static const keyword_t sql_keywords[] = { {"0SEVOF", 'F'}, {"0SEVOS", 'F'}, {"0SEVUE", 'F'}, - {"0SF(((", 'F'}, - {"0SF(()", 'F'}, - {"0SF((1", 'F'}, - {"0SF((E", 'F'}, - {"0SF((F", 'F'}, - {"0SF((N", 'F'}, - {"0SF((S", 'F'}, - {"0SF((V", 'F'}, {"0SF()1", 'F'}, {"0SF()F", 'F'}, {"0SF()K", 'F'}, @@ -6317,12 +6204,6 @@ static const keyword_t sql_keywords[] = { {"0SF(SO", 'F'}, {"0SF(V)", 'F'}, {"0SF(VO", 'F'}, - {"0SK(((", 'F'}, - {"0SK((1", 'F'}, - {"0SK((F", 'F'}, - {"0SK((N", 'F'}, - {"0SK((S", 'F'}, - {"0SK((V", 'F'}, {"0SK(1)", 'F'}, {"0SK(1O", 'F'}, {"0SK(F(", 'F'}, @@ -6386,7 +6267,6 @@ static const keyword_t sql_keywords[] = { {"0SK1OV", 'F'}, {"0SK1U(", 'F'}, {"0SK1UE", 'F'}, - {"0SKF((", 'F'}, {"0SKF()", 'F'}, {"0SKF(1", 'F'}, {"0SKF(F", 'F'}, @@ -6489,15 +6369,6 @@ static const keyword_t sql_keywords[] = { {"0SKVOS", 'F'}, {"0SKVU(", 'F'}, {"0SKVUE", 'F'}, - {"0SO(((", 'F'}, - {"0SO((1", 'F'}, - {"0SO((E", 'F'}, - {"0SO((F", 'F'}, - {"0SO((N", 'F'}, - {"0SO((O", 'F'}, - {"0SO((S", 'F'}, - {"0SO((T", 'F'}, - {"0SO((V", 'F'}, {"0SO(1&", 'F'}, {"0SO(1)", 'F'}, {"0SO(1,", 'F'}, @@ -6509,6 +6380,7 @@ static const keyword_t sql_keywords[] = { {"0SO(EK", 'F'}, {"0SO(EN", 'F'}, {"0SO(ES", 'F'}, + {"0SO(ET", 'F'}, {"0SO(EV", 'F'}, {"0SO(F(", 'F'}, {"0SO(N&", 'F'}, @@ -6540,13 +6412,13 @@ static const keyword_t sql_keywords[] = { {"0SO1&T", 'F'}, {"0SO1&U", 'F'}, {"0SO1&V", 'F'}, - {"0SO1((", 'F'}, {"0SO1(E", 'F'}, {"0SO1(U", 'F'}, {"0SO1)&", 'F'}, {"0SO1),", 'F'}, {"0SO1);", 'F'}, {"0SO1)B", 'F'}, + {"0SO1)C", 'F'}, {"0SO1)E", 'F'}, {"0SO1)K", 'F'}, {"0SO1)O", 'F'}, @@ -6626,13 +6498,13 @@ static const keyword_t sql_keywords[] = { {"0SO1VO", 'F'}, {"0SO1VS", 'F'}, {"0SO1VU", 'F'}, - {"0SOF((", 'F'}, {"0SOF()", 'F'}, {"0SOF(1", 'F'}, {"0SOF(E", 'F'}, {"0SOF(F", 'F'}, {"0SOF(N", 'F'}, {"0SOF(S", 'F'}, + {"0SOF(T", 'F'}, {"0SOF(V", 'F'}, {"0SOK&(", 'F'}, {"0SOK&1", 'F'}, @@ -6640,7 +6512,6 @@ static const keyword_t sql_keywords[] = { {"0SOK&N", 'F'}, {"0SOK&S", 'F'}, {"0SOK&V", 'F'}, - {"0SOK((", 'F'}, {"0SOK(1", 'F'}, {"0SOK(F", 'F'}, {"0SOK(N", 'F'}, @@ -6670,7 +6541,6 @@ static const keyword_t sql_keywords[] = { {"0SON&T", 'F'}, {"0SON&U", 'F'}, {"0SON&V", 'F'}, - {"0SON((", 'F'}, {"0SON(1", 'F'}, {"0SON(E", 'F'}, {"0SON(F", 'F'}, @@ -6681,6 +6551,7 @@ static const keyword_t sql_keywords[] = { {"0SON),", 'F'}, {"0SON);", 'F'}, {"0SON)B", 'F'}, + {"0SON)C", 'F'}, {"0SON)E", 'F'}, {"0SON)K", 'F'}, {"0SON)O", 'F'}, @@ -6761,13 +6632,13 @@ static const keyword_t sql_keywords[] = { {"0SOS&T", 'F'}, {"0SOS&U", 'F'}, {"0SOS&V", 'F'}, - {"0SOS((", 'F'}, {"0SOS(E", 'F'}, {"0SOS(U", 'F'}, {"0SOS)&", 'F'}, {"0SOS),", 'F'}, {"0SOS);", 'F'}, {"0SOS)B", 'F'}, + {"0SOS)C", 'F'}, {"0SOS)E", 'F'}, {"0SOS)K", 'F'}, {"0SOS)O", 'F'}, @@ -6846,14 +6717,13 @@ static const keyword_t sql_keywords[] = { {"0SOSVO", 'F'}, {"0SOSVS", 'F'}, {"0SOSVU", 'F'}, - {"0SOT((", 'F'}, {"0SOT(1", 'F'}, + {"0SOT(E", 'F'}, {"0SOT(F", 'F'}, {"0SOT(N", 'F'}, {"0SOT(S", 'F'}, {"0SOT(T", 'F'}, {"0SOT(V", 'F'}, - {"0SOU((", 'F'}, {"0SOU(E", 'F'}, {"0SOUEK", 'F'}, {"0SOUEN", 'F'}, @@ -6868,13 +6738,13 @@ static const keyword_t sql_keywords[] = { {"0SOV&T", 'F'}, {"0SOV&U", 'F'}, {"0SOV&V", 'F'}, - {"0SOV((", 'F'}, {"0SOV(E", 'F'}, {"0SOV(U", 'F'}, {"0SOV)&", 'F'}, {"0SOV),", 'F'}, {"0SOV);", 'F'}, {"0SOV)B", 'F'}, + {"0SOV)C", 'F'}, {"0SOV)E", 'F'}, {"0SOV)K", 'F'}, {"0SOV)O", 'F'}, @@ -6947,13 +6817,6 @@ static const keyword_t sql_keywords[] = { {"0SOVUS", 'F'}, {"0SOVUT", 'F'}, {"0SOVUV", 'F'}, - {"0SU(((", 'F'}, - {"0SU((1", 'F'}, - {"0SU((E", 'F'}, - {"0SU((F", 'F'}, - {"0SU((N", 'F'}, - {"0SU((S", 'F'}, - {"0SU((V", 'F'}, {"0SU(1)", 'F'}, {"0SU(1O", 'F'}, {"0SU(E(", 'F'}, @@ -6982,7 +6845,6 @@ static const keyword_t sql_keywords[] = { {"0SU;C", 'F'}, {"0SUC", 'F'}, {"0SUE", 'F'}, - {"0SUE((", 'F'}, {"0SUE(1", 'F'}, {"0SUE(E", 'F'}, {"0SUE(F", 'F'}, @@ -7068,16 +6930,13 @@ static const keyword_t sql_keywords[] = { {"0SUEVO", 'F'}, {"0SUEVS", 'F'}, {"0SUEVU", 'F'}, - {"0SUF((", 'F'}, {"0SUF()", 'F'}, {"0SUF(1", 'F'}, {"0SUF(F", 'F'}, {"0SUF(N", 'F'}, {"0SUF(S", 'F'}, {"0SUF(V", 'F'}, - {"0SUK((", 'F'}, {"0SUK(E", 'F'}, - {"0SUN((", 'F'}, {"0SUN(1", 'F'}, {"0SUN(F", 'F'}, {"0SUN(S", 'F'}, @@ -7103,7 +6962,6 @@ static const keyword_t sql_keywords[] = { {"0SUNS(", 'F'}, {"0SUNS,", 'F'}, {"0SUNSO", 'F'}, - {"0SUO((", 'F'}, {"0SUO(E", 'F'}, {"0SUON(", 'F'}, {"0SUON1", 'F'}, @@ -7133,14 +6991,12 @@ static const keyword_t sql_keywords[] = { {"0SUVO(", 'F'}, {"0SUVOF", 'F'}, {"0SUVOS", 'F'}, - {"0SVF((", 'F'}, {"0SVF()", 'F'}, {"0SVF(1", 'F'}, {"0SVF(F", 'F'}, {"0SVF(N", 'F'}, {"0SVF(S", 'F'}, {"0SVF(V", 'F'}, - {"0SVO((", 'F'}, {"0SVO(1", 'F'}, {"0SVO(F", 'F'}, {"0SVO(N", 'F'}, @@ -7167,40 +7023,14 @@ static const keyword_t sql_keywords[] = { {"0SVUE;", 'F'}, {"0SVUEC", 'F'}, {"0SVUEK", 'F'}, - {"0T((((", 'F'}, - {"0T(((1", 'F'}, - {"0T(((F", 'F'}, - {"0T(((N", 'F'}, - {"0T(((S", 'F'}, - {"0T(((T", 'F'}, - {"0T(((V", 'F'}, - {"0T((1(", 'F'}, - {"0T((1)", 'F'}, - {"0T((1F", 'F'}, - {"0T((1N", 'F'}, - {"0T((1O", 'F'}, - {"0T((1S", 'F'}, - {"0T((1V", 'F'}, - {"0T((F(", 'F'}, - {"0T((N(", 'F'}, - {"0T((N)", 'F'}, - {"0T((N1", 'F'}, - {"0T((NF", 'F'}, - {"0T((NO", 'F'}, - {"0T((NS", 'F'}, - {"0T((S(", 'F'}, - {"0T((S)", 'F'}, - {"0T((S1", 'F'}, - {"0T((SF", 'F'}, - {"0T((SN", 'F'}, - {"0T((SO", 'F'}, - {"0T((SV", 'F'}, - {"0T((T(", 'F'}, - {"0T((V(", 'F'}, - {"0T((V)", 'F'}, - {"0T((VF", 'F'}, - {"0T((VO", 'F'}, - {"0T((VS", 'F'}, + {"0T(1&(", 'F'}, + {"0T(1&1", 'F'}, + {"0T(1&F", 'F'}, + {"0T(1&N", 'F'}, + {"0T(1&S", 'F'}, + {"0T(1&V", 'F'}, + {"0T(1)&", 'F'}, + {"0T(1)C", 'F'}, {"0T(1)F", 'F'}, {"0T(1)O", 'F'}, {"0T(1)U", 'F'}, @@ -7214,18 +7044,53 @@ static const keyword_t sql_keywords[] = { {"0T(1S)", 'F'}, {"0T(1V)", 'F'}, {"0T(1VO", 'F'}, - {"0T(F((", 'F'}, + {"0T(E(1", 'F'}, + {"0T(E(E", 'F'}, + {"0T(E(F", 'F'}, + {"0T(E(N", 'F'}, + {"0T(E(S", 'F'}, + {"0T(E(V", 'F'}, + {"0T(E1&", 'F'}, + {"0T(E1)", 'F'}, + {"0T(E1O", 'F'}, + {"0T(EF(", 'F'}, + {"0T(EK(", 'F'}, + {"0T(EK1", 'F'}, + {"0T(EKF", 'F'}, + {"0T(EKN", 'F'}, + {"0T(EKS", 'F'}, + {"0T(EKT", 'F'}, + {"0T(EKV", 'F'}, + {"0T(EN&", 'F'}, + {"0T(EN)", 'F'}, + {"0T(ENO", 'F'}, + {"0T(ES&", 'F'}, + {"0T(ES)", 'F'}, + {"0T(ESO", 'F'}, + {"0T(ET(", 'F'}, + {"0T(EV&", 'F'}, + {"0T(EV)", 'F'}, + {"0T(EVO", 'F'}, {"0T(F()", 'F'}, {"0T(F(1", 'F'}, + {"0T(F(E", 'F'}, {"0T(F(F", 'F'}, {"0T(F(N", 'F'}, {"0T(F(S", 'F'}, + {"0T(F(T", 'F'}, {"0T(F(V", 'F'}, - {"0T(N((", 'F'}, + {"0T(N&(", 'F'}, + {"0T(N&1", 'F'}, + {"0T(N&F", 'F'}, + {"0T(N&N", 'F'}, + {"0T(N&S", 'F'}, + {"0T(N&V", 'F'}, {"0T(N(1", 'F'}, {"0T(N(F", 'F'}, {"0T(N(S", 'F'}, {"0T(N(V", 'F'}, + {"0T(N)&", 'F'}, + {"0T(N)C", 'F'}, {"0T(N)F", 'F'}, {"0T(N)O", 'F'}, {"0T(N)U", 'F'}, @@ -7239,6 +7104,14 @@ static const keyword_t sql_keywords[] = { {"0T(NOV", 'F'}, {"0T(NS)", 'F'}, {"0T(NSO", 'F'}, + {"0T(S&(", 'F'}, + {"0T(S&1", 'F'}, + {"0T(S&F", 'F'}, + {"0T(S&N", 'F'}, + {"0T(S&S", 'F'}, + {"0T(S&V", 'F'}, + {"0T(S)&", 'F'}, + {"0T(S)C", 'F'}, {"0T(S)F", 'F'}, {"0T(S)O", 'F'}, {"0T(S)U", 'F'}, @@ -7256,12 +7129,20 @@ static const keyword_t sql_keywords[] = { {"0T(SOV", 'F'}, {"0T(SV)", 'F'}, {"0T(SVO", 'F'}, - {"0T(T((", 'F'}, {"0T(T(1", 'F'}, + {"0T(T(E", 'F'}, {"0T(T(F", 'F'}, {"0T(T(N", 'F'}, {"0T(T(S", 'F'}, {"0T(T(V", 'F'}, + {"0T(V&(", 'F'}, + {"0T(V&1", 'F'}, + {"0T(V&F", 'F'}, + {"0T(V&N", 'F'}, + {"0T(V&S", 'F'}, + {"0T(V&V", 'F'}, + {"0T(V)&", 'F'}, + {"0T(V)C", 'F'}, {"0T(V)F", 'F'}, {"0T(V)O", 'F'}, {"0T(V)U", 'F'}, @@ -7273,13 +7154,11 @@ static const keyword_t sql_keywords[] = { {"0T(VS)", 'F'}, {"0T(VSO", 'F'}, {"0T(VV)", 'F'}, - {"0T1F((", 'F'}, {"0T1F(1", 'F'}, {"0T1F(F", 'F'}, {"0T1F(N", 'F'}, {"0T1F(S", 'F'}, {"0T1F(V", 'F'}, - {"0T1O((", 'F'}, {"0T1O(1", 'F'}, {"0T1O(F", 'F'}, {"0T1O(N", 'F'}, @@ -7290,13 +7169,6 @@ static const keyword_t sql_keywords[] = { {"0T1OSO", 'F'}, {"0T1OVF", 'F'}, {"0T1OVO", 'F'}, - {"0TF(((", 'F'}, - {"0TF(()", 'F'}, - {"0TF((1", 'F'}, - {"0TF((F", 'F'}, - {"0TF((N", 'F'}, - {"0TF((S", 'F'}, - {"0TF((V", 'F'}, {"0TF()F", 'F'}, {"0TF()O", 'F'}, {"0TF(1)", 'F'}, @@ -7308,12 +7180,6 @@ static const keyword_t sql_keywords[] = { {"0TF(SO", 'F'}, {"0TF(V)", 'F'}, {"0TF(VO", 'F'}, - {"0TN(((", 'F'}, - {"0TN((1", 'F'}, - {"0TN((F", 'F'}, - {"0TN((N", 'F'}, - {"0TN((S", 'F'}, - {"0TN((V", 'F'}, {"0TN(1)", 'F'}, {"0TN(1O", 'F'}, {"0TN(F(", 'F'}, @@ -7327,14 +7193,12 @@ static const keyword_t sql_keywords[] = { {"0TN1OF", 'F'}, {"0TN1OS", 'F'}, {"0TN1OV", 'F'}, - {"0TNF((", 'F'}, {"0TNF()", 'F'}, {"0TNF(1", 'F'}, {"0TNF(F", 'F'}, {"0TNF(N", 'F'}, {"0TNF(S", 'F'}, {"0TNF(V", 'F'}, - {"0TNO((", 'F'}, {"0TNO(1", 'F'}, {"0TNO(F", 'F'}, {"0TNO(N", 'F'}, @@ -7355,12 +7219,6 @@ static const keyword_t sql_keywords[] = { {"0TNSOV", 'F'}, {"0TNV;", 'F'}, {"0TNVOS", 'F'}, - {"0TO(((", 'F'}, - {"0TO((1", 'F'}, - {"0TO((F", 'F'}, - {"0TO((N", 'F'}, - {"0TO((S", 'F'}, - {"0TO((V", 'F'}, {"0TO(1)", 'F'}, {"0TO(1O", 'F'}, {"0TO(F(", 'F'}, @@ -7375,7 +7233,6 @@ static const keyword_t sql_keywords[] = { {"0TO1OS", 'F'}, {"0TO1OV", 'F'}, {"0TO1UE", 'F'}, - {"0TOF((", 'F'}, {"0TOF()", 'F'}, {"0TOF(1", 'F'}, {"0TOF(F", 'F'}, @@ -7398,13 +7255,11 @@ static const keyword_t sql_keywords[] = { {"0TOVOF", 'F'}, {"0TOVOS", 'F'}, {"0TOVUE", 'F'}, - {"0TSF((", 'F'}, {"0TSF(1", 'F'}, {"0TSF(F", 'F'}, {"0TSF(N", 'F'}, {"0TSF(S", 'F'}, {"0TSF(V", 'F'}, - {"0TSO((", 'F'}, {"0TSO(1", 'F'}, {"0TSO(F", 'F'}, {"0TSO(N", 'F'}, @@ -7419,13 +7274,11 @@ static const keyword_t sql_keywords[] = { {"0TSOSO", 'F'}, {"0TSOVF", 'F'}, {"0TSOVO", 'F'}, - {"0TVF((", 'F'}, {"0TVF(1", 'F'}, {"0TVF(F", 'F'}, {"0TVF(N", 'F'}, {"0TVF(S", 'F'}, {"0TVF(V", 'F'}, - {"0TVO((", 'F'}, {"0TVO(1", 'F'}, {"0TVO(F", 'F'}, {"0TVO(N", 'F'}, @@ -7434,17 +7287,6 @@ static const keyword_t sql_keywords[] = { {"0TVOF(", 'F'}, {"0TVOSF", 'F'}, {"0TVOSO", 'F'}, - {"0U((((", 'F'}, - {"0U(((E", 'F'}, - {"0U((E(", 'F'}, - {"0U((E1", 'F'}, - {"0U((EF", 'F'}, - {"0U((EK", 'F'}, - {"0U((EN", 'F'}, - {"0U((EO", 'F'}, - {"0U((ES", 'F'}, - {"0U((EV", 'F'}, - {"0U(E((", 'F'}, {"0U(E(1", 'F'}, {"0U(E(F", 'F'}, {"0U(E(K", 'F'}, @@ -7469,12 +7311,6 @@ static const keyword_t sql_keywords[] = { {"0U(ESO", 'F'}, {"0U(EV)", 'F'}, {"0U(EVO", 'F'}, - {"0UE(((", 'F'}, - {"0UE((1", 'F'}, - {"0UE((F", 'F'}, - {"0UE((N", 'F'}, - {"0UE((S", 'F'}, - {"0UE((V", 'F'}, {"0UE(1)", 'F'}, {"0UE(1,", 'F'}, {"0UE(1O", 'F'}, @@ -7505,14 +7341,12 @@ static const keyword_t sql_keywords[] = { {"0UE1OF", 'F'}, {"0UE1OS", 'F'}, {"0UE1OV", 'F'}, - {"0UEF((", 'F'}, {"0UEF()", 'F'}, {"0UEF(1", 'F'}, {"0UEF(F", 'F'}, {"0UEF(N", 'F'}, {"0UEF(S", 'F'}, {"0UEF(V", 'F'}, - {"0UEK((", 'F'}, {"0UEK(1", 'F'}, {"0UEK(F", 'F'}, {"0UEK(N", 'F'}, @@ -7543,7 +7377,6 @@ static const keyword_t sql_keywords[] = { {"0UEKVC", 'F'}, {"0UEKVK", 'F'}, {"0UEKVO", 'F'}, - {"0UEN((", 'F'}, {"0UEN()", 'F'}, {"0UEN,(", 'F'}, {"0UEN,F", 'F'}, @@ -7599,24 +7432,11 @@ static const keyword_t sql_keywords[] = { {"0UEVO(", 'F'}, {"0UEVOF", 'F'}, {"0UEVOS", 'F'}, - {"0UF(((", 'F'}, - {"0UF((1", 'F'}, - {"0UF((F", 'F'}, - {"0UF((N", 'F'}, - {"0UF((S", 'F'}, - {"0UF((V", 'F'}, {"0UF(1O", 'F'}, {"0UF(F(", 'F'}, {"0UF(NO", 'F'}, {"0UF(SO", 'F'}, {"0UF(VO", 'F'}, - {"0V&(((", 'F'}, - {"0V&((1", 'F'}, - {"0V&((E", 'F'}, - {"0V&((F", 'F'}, - {"0V&((N", 'F'}, - {"0V&((S", 'F'}, - {"0V&((V", 'F'}, {"0V&(1&", 'F'}, {"0V&(1)", 'F'}, {"0V&(1,", 'F'}, @@ -7628,6 +7448,7 @@ static const keyword_t sql_keywords[] = { {"0V&(EN", 'F'}, {"0V&(EO", 'F'}, {"0V&(ES", 'F'}, + {"0V&(ET", 'F'}, {"0V&(EV", 'F'}, {"0V&(F(", 'F'}, {"0V&(N&", 'F'}, @@ -7638,6 +7459,7 @@ static const keyword_t sql_keywords[] = { {"0V&(S)", 'F'}, {"0V&(S,", 'F'}, {"0V&(SO", 'F'}, + {"0V&(T(", 'F'}, {"0V&(V&", 'F'}, {"0V&(V)", 'F'}, {"0V&(V,", 'F'}, @@ -7650,6 +7472,7 @@ static const keyword_t sql_keywords[] = { {"0V&1&S", 'F'}, {"0V&1&V", 'F'}, {"0V&1)&", 'F'}, + {"0V&1)C", 'F'}, {"0V&1)O", 'F'}, {"0V&1)U", 'F'}, {"0V&1;", 'F'}, @@ -7683,7 +7506,6 @@ static const keyword_t sql_keywords[] = { {"0V&1U;", 'F'}, {"0V&1UC", 'F'}, {"0V&1UE", 'F'}, - {"0V&E((", 'F'}, {"0V&E(1", 'F'}, {"0V&E(F", 'F'}, {"0V&E(N", 'F'}, @@ -7717,13 +7539,13 @@ static const keyword_t sql_keywords[] = { {"0V&EVC", 'F'}, {"0V&EVK", 'F'}, {"0V&EVO", 'F'}, - {"0V&F((", 'F'}, {"0V&F()", 'F'}, {"0V&F(1", 'F'}, {"0V&F(E", 'F'}, {"0V&F(F", 'F'}, {"0V&F(N", 'F'}, {"0V&F(S", 'F'}, + {"0V&F(T", 'F'}, {"0V&F(V", 'F'}, {"0V&K&(", 'F'}, {"0V&K&1", 'F'}, @@ -7731,7 +7553,6 @@ static const keyword_t sql_keywords[] = { {"0V&K&N", 'F'}, {"0V&K&S", 'F'}, {"0V&K&V", 'F'}, - {"0V&K((", 'F'}, {"0V&K(1", 'F'}, {"0V&K(F", 'F'}, {"0V&K(N", 'F'}, @@ -7757,6 +7578,7 @@ static const keyword_t sql_keywords[] = { {"0V&N&S", 'F'}, {"0V&N&V", 'F'}, {"0V&N)&", 'F'}, + {"0V&N)C", 'F'}, {"0V&N)O", 'F'}, {"0V&N)U", 'F'}, {"0V&N;", 'F'}, @@ -7796,6 +7618,7 @@ static const keyword_t sql_keywords[] = { {"0V&S&S", 'F'}, {"0V&S&V", 'F'}, {"0V&S)&", 'F'}, + {"0V&S)C", 'F'}, {"0V&S)O", 'F'}, {"0V&S)U", 'F'}, {"0V&S1", 'F'}, @@ -7839,8 +7662,8 @@ static const keyword_t sql_keywords[] = { {"0V&SV;", 'F'}, {"0V&SVC", 'F'}, {"0V&SVO", 'F'}, - {"0V&T((", 'F'}, {"0V&T(1", 'F'}, + {"0V&T(E", 'F'}, {"0V&T(F", 'F'}, {"0V&T(N", 'F'}, {"0V&T(S", 'F'}, @@ -7853,6 +7676,7 @@ static const keyword_t sql_keywords[] = { {"0V&V&S", 'F'}, {"0V&V&V", 'F'}, {"0V&V)&", 'F'}, + {"0V&V)C", 'F'}, {"0V&V)O", 'F'}, {"0V&V)U", 'F'}, {"0V&V;", 'F'}, @@ -7889,17 +7713,9 @@ static const keyword_t sql_keywords[] = { {"0V&VU;", 'F'}, {"0V&VUC", 'F'}, {"0V&VUE", 'F'}, - {"0V((((", 'F'}, - {"0V(((E", 'F'}, - {"0V(((U", 'F'}, - {"0V((EK", 'F'}, - {"0V((EN", 'F'}, - {"0V((U(", 'F'}, {"0V(EKN", 'F'}, {"0V(ENK", 'F'}, - {"0V(U((", 'F'}, {"0V(U(E", 'F'}, - {"0V)&((", 'F'}, {"0V)&(1", 'F'}, {"0V)&(E", 'F'}, {"0V)&(F", 'F'}, @@ -7943,7 +7759,6 @@ static const keyword_t sql_keywords[] = { {"0V)&VF", 'F'}, {"0V)&VO", 'F'}, {"0V)&VU", 'F'}, - {"0V),((", 'F'}, {"0V),(1", 'F'}, {"0V),(F", 'F'}, {"0V),(N", 'F'}, @@ -7965,7 +7780,6 @@ static const keyword_t sql_keywords[] = { {"0V);TO", 'F'}, {"0V);TS", 'F'}, {"0V);TV", 'F'}, - {"0V)B((", 'F'}, {"0V)B(1", 'F'}, {"0V)B(F", 'F'}, {"0V)B(N", 'F'}, @@ -8001,7 +7815,7 @@ static const keyword_t sql_keywords[] = { {"0V)BVK", 'F'}, {"0V)BVO", 'F'}, {"0V)BVU", 'F'}, - {"0V)E((", 'F'}, + {"0V)C", 'F'}, {"0V)E(1", 'F'}, {"0V)E(F", 'F'}, {"0V)E(N", 'F'}, @@ -8022,7 +7836,6 @@ static const keyword_t sql_keywords[] = { {"0V)ESO", 'F'}, {"0V)EVC", 'F'}, {"0V)EVO", 'F'}, - {"0V)K((", 'F'}, {"0V)K(1", 'F'}, {"0V)K(F", 'F'}, {"0V)K(N", 'F'}, @@ -8060,12 +7873,12 @@ static const keyword_t sql_keywords[] = { {"0V)KVE", 'F'}, {"0V)KVO", 'F'}, {"0V)KVU", 'F'}, - {"0V)O((", 'F'}, {"0V)O(1", 'F'}, {"0V)O(E", 'F'}, {"0V)O(F", 'F'}, {"0V)O(N", 'F'}, {"0V)O(S", 'F'}, + {"0V)O(T", 'F'}, {"0V)O(V", 'F'}, {"0V)O1", 'F'}, {"0V)O1&", 'F'}, @@ -8104,7 +7917,6 @@ static const keyword_t sql_keywords[] = { {"0V)OVK", 'F'}, {"0V)OVO", 'F'}, {"0V)OVU", 'F'}, - {"0V)U((", 'F'}, {"0V)U(E", 'F'}, {"0V)UE(", 'F'}, {"0V)UE1", 'F'}, @@ -8113,13 +7925,6 @@ static const keyword_t sql_keywords[] = { {"0V)UEN", 'F'}, {"0V)UES", 'F'}, {"0V)UEV", 'F'}, - {"0V,(((", 'F'}, - {"0V,((1", 'F'}, - {"0V,((E", 'F'}, - {"0V,((F", 'F'}, - {"0V,((N", 'F'}, - {"0V,((S", 'F'}, - {"0V,((V", 'F'}, {"0V,(1)", 'F'}, {"0V,(1O", 'F'}, {"0V,(E(", 'F'}, @@ -8149,7 +7954,6 @@ static const keyword_t sql_keywords[] = { {"0V,1OS", 'F'}, {"0V,1OV", 'F'}, {"0V,1UE", 'F'}, - {"0V,F((", 'F'}, {"0V,F()", 'F'}, {"0V,F(1", 'F'}, {"0V,F(F", 'F'}, @@ -8197,7 +8001,6 @@ static const keyword_t sql_keywords[] = { {"0V,VOF", 'F'}, {"0V,VOS", 'F'}, {"0V,VUE", 'F'}, - {"0V;E((", 'F'}, {"0V;E(1", 'F'}, {"0V;E(E", 'F'}, {"0V;E(F", 'F'}, @@ -8221,6 +8024,7 @@ static const keyword_t sql_keywords[] = { {"0V;EN,", 'F'}, {"0V;EN;", 'F'}, {"0V;ENC", 'F'}, + {"0V;ENE", 'F'}, {"0V;ENK", 'F'}, {"0V;ENO", 'F'}, {"0V;ENT", 'F'}, @@ -8238,7 +8042,6 @@ static const keyword_t sql_keywords[] = { {"0V;EVO", 'F'}, {"0V;EVT", 'F'}, {"0V;N:T", 'F'}, - {"0V;T((", 'F'}, {"0V;T(1", 'F'}, {"0V;T(E", 'F'}, {"0V;T(F", 'F'}, @@ -8297,12 +8100,6 @@ static const keyword_t sql_keywords[] = { {"0V;TVK", 'F'}, {"0V;TVO", 'F'}, {"0V;TVT", 'F'}, - {"0VA(((", 'F'}, - {"0VA((1", 'F'}, - {"0VA((F", 'F'}, - {"0VA((N", 'F'}, - {"0VA((S", 'F'}, - {"0VA((V", 'F'}, {"0VA(F(", 'F'}, {"0VA(N)", 'F'}, {"0VA(NO", 'F'}, @@ -8310,7 +8107,6 @@ static const keyword_t sql_keywords[] = { {"0VA(SO", 'F'}, {"0VA(V)", 'F'}, {"0VA(VO", 'F'}, - {"0VAF((", 'F'}, {"0VAF()", 'F'}, {"0VAF(1", 'F'}, {"0VAF(F", 'F'}, @@ -8335,12 +8131,6 @@ static const keyword_t sql_keywords[] = { {"0VAVOF", 'F'}, {"0VAVOS", 'F'}, {"0VAVUE", 'F'}, - {"0VB(((", 'F'}, - {"0VB((1", 'F'}, - {"0VB((F", 'F'}, - {"0VB((N", 'F'}, - {"0VB((S", 'F'}, - {"0VB((V", 'F'}, {"0VB(1)", 'F'}, {"0VB(1O", 'F'}, {"0VB(F(", 'F'}, @@ -8381,14 +8171,12 @@ static const keyword_t sql_keywords[] = { {"0VB1OV", 'F'}, {"0VB1U(", 'F'}, {"0VB1UE", 'F'}, - {"0VBE((", 'F'}, {"0VBE(1", 'F'}, {"0VBE(F", 'F'}, {"0VBE(N", 'F'}, {"0VBE(S", 'F'}, {"0VBE(V", 'F'}, {"0VBEK(", 'F'}, - {"0VBF((", 'F'}, {"0VBF()", 'F'}, {"0VBF(1", 'F'}, {"0VBF(F", 'F'}, @@ -8493,12 +8281,6 @@ static const keyword_t sql_keywords[] = { {"0VBVU(", 'F'}, {"0VBVUE", 'F'}, {"0VC", 'F'}, - {"0VE(((", 'F'}, - {"0VE((1", 'F'}, - {"0VE((F", 'F'}, - {"0VE((N", 'F'}, - {"0VE((S", 'F'}, - {"0VE((V", 'F'}, {"0VE(1)", 'F'}, {"0VE(1O", 'F'}, {"0VE(F(", 'F'}, @@ -8514,14 +8296,12 @@ static const keyword_t sql_keywords[] = { {"0VE1OS", 'F'}, {"0VE1OV", 'F'}, {"0VE1UE", 'F'}, - {"0VEF((", 'F'}, {"0VEF()", 'F'}, {"0VEF(1", 'F'}, {"0VEF(F", 'F'}, {"0VEF(N", 'F'}, {"0VEF(S", 'F'}, {"0VEF(V", 'F'}, - {"0VEK((", 'F'}, {"0VEK(1", 'F'}, {"0VEK(E", 'F'}, {"0VEK(F", 'F'}, @@ -8565,7 +8345,6 @@ static const keyword_t sql_keywords[] = { {"0VESOS", 'F'}, {"0VESOV", 'F'}, {"0VESUE", 'F'}, - {"0VEU((", 'F'}, {"0VEU(1", 'F'}, {"0VEU(F", 'F'}, {"0VEU(N", 'F'}, @@ -8591,14 +8370,6 @@ static const keyword_t sql_keywords[] = { {"0VEVOF", 'F'}, {"0VEVOS", 'F'}, {"0VEVUE", 'F'}, - {"0VF(((", 'F'}, - {"0VF(()", 'F'}, - {"0VF((1", 'F'}, - {"0VF((E", 'F'}, - {"0VF((F", 'F'}, - {"0VF((N", 'F'}, - {"0VF((S", 'F'}, - {"0VF((V", 'F'}, {"0VF()1", 'F'}, {"0VF()F", 'F'}, {"0VF()K", 'F'}, @@ -8625,12 +8396,6 @@ static const keyword_t sql_keywords[] = { {"0VF(SO", 'F'}, {"0VF(V)", 'F'}, {"0VF(VO", 'F'}, - {"0VK(((", 'F'}, - {"0VK((1", 'F'}, - {"0VK((F", 'F'}, - {"0VK((N", 'F'}, - {"0VK((S", 'F'}, - {"0VK((V", 'F'}, {"0VK(1)", 'F'}, {"0VK(1O", 'F'}, {"0VK(F(", 'F'}, @@ -8694,7 +8459,6 @@ static const keyword_t sql_keywords[] = { {"0VK1OV", 'F'}, {"0VK1U(", 'F'}, {"0VK1UE", 'F'}, - {"0VKF((", 'F'}, {"0VKF()", 'F'}, {"0VKF(1", 'F'}, {"0VKF(F", 'F'}, @@ -8797,15 +8561,6 @@ static const keyword_t sql_keywords[] = { {"0VKVOS", 'F'}, {"0VKVU(", 'F'}, {"0VKVUE", 'F'}, - {"0VO(((", 'F'}, - {"0VO((1", 'F'}, - {"0VO((E", 'F'}, - {"0VO((F", 'F'}, - {"0VO((N", 'F'}, - {"0VO((O", 'F'}, - {"0VO((S", 'F'}, - {"0VO((T", 'F'}, - {"0VO((V", 'F'}, {"0VO(1&", 'F'}, {"0VO(1)", 'F'}, {"0VO(1,", 'F'}, @@ -8817,6 +8572,7 @@ static const keyword_t sql_keywords[] = { {"0VO(EK", 'F'}, {"0VO(EN", 'F'}, {"0VO(ES", 'F'}, + {"0VO(ET", 'F'}, {"0VO(EV", 'F'}, {"0VO(F(", 'F'}, {"0VO(N&", 'F'}, @@ -8838,13 +8594,13 @@ static const keyword_t sql_keywords[] = { {"0VO(V)", 'F'}, {"0VO(V,", 'F'}, {"0VO(VO", 'F'}, - {"0VOF((", 'F'}, {"0VOF()", 'F'}, {"0VOF(1", 'F'}, {"0VOF(E", 'F'}, {"0VOF(F", 'F'}, {"0VOF(N", 'F'}, {"0VOF(S", 'F'}, + {"0VOF(T", 'F'}, {"0VOF(V", 'F'}, {"0VOK&(", 'F'}, {"0VOK&1", 'F'}, @@ -8852,7 +8608,6 @@ static const keyword_t sql_keywords[] = { {"0VOK&N", 'F'}, {"0VOK&S", 'F'}, {"0VOK&V", 'F'}, - {"0VOK((", 'F'}, {"0VOK(1", 'F'}, {"0VOK(F", 'F'}, {"0VOK(N", 'F'}, @@ -8883,13 +8638,13 @@ static const keyword_t sql_keywords[] = { {"0VOS&T", 'F'}, {"0VOS&U", 'F'}, {"0VOS&V", 'F'}, - {"0VOS((", 'F'}, {"0VOS(E", 'F'}, {"0VOS(U", 'F'}, {"0VOS)&", 'F'}, {"0VOS),", 'F'}, {"0VOS);", 'F'}, {"0VOS)B", 'F'}, + {"0VOS)C", 'F'}, {"0VOS)E", 'F'}, {"0VOS)K", 'F'}, {"0VOS)O", 'F'}, @@ -8968,25 +8723,17 @@ static const keyword_t sql_keywords[] = { {"0VOSVO", 'F'}, {"0VOSVS", 'F'}, {"0VOSVU", 'F'}, - {"0VOT((", 'F'}, {"0VOT(1", 'F'}, + {"0VOT(E", 'F'}, {"0VOT(F", 'F'}, {"0VOT(N", 'F'}, {"0VOT(S", 'F'}, {"0VOT(T", 'F'}, {"0VOT(V", 'F'}, - {"0VOU((", 'F'}, {"0VOU(E", 'F'}, {"0VOUEK", 'F'}, {"0VOUEN", 'F'}, {"0VU", 'F'}, - {"0VU(((", 'F'}, - {"0VU((1", 'F'}, - {"0VU((E", 'F'}, - {"0VU((F", 'F'}, - {"0VU((N", 'F'}, - {"0VU((S", 'F'}, - {"0VU((V", 'F'}, {"0VU(1)", 'F'}, {"0VU(1O", 'F'}, {"0VU(E(", 'F'}, @@ -9015,7 +8762,6 @@ static const keyword_t sql_keywords[] = { {"0VU;C", 'F'}, {"0VUC", 'F'}, {"0VUE", 'F'}, - {"0VUE((", 'F'}, {"0VUE(1", 'F'}, {"0VUE(E", 'F'}, {"0VUE(F", 'F'}, @@ -9101,16 +8847,13 @@ static const keyword_t sql_keywords[] = { {"0VUEVO", 'F'}, {"0VUEVS", 'F'}, {"0VUEVU", 'F'}, - {"0VUF((", 'F'}, {"0VUF()", 'F'}, {"0VUF(1", 'F'}, {"0VUF(F", 'F'}, {"0VUF(N", 'F'}, {"0VUF(S", 'F'}, {"0VUF(V", 'F'}, - {"0VUK((", 'F'}, {"0VUK(E", 'F'}, - {"0VUN((", 'F'}, {"0VUN(1", 'F'}, {"0VUN(F", 'F'}, {"0VUN(S", 'F'}, @@ -9136,7 +8879,6 @@ static const keyword_t sql_keywords[] = { {"0VUNS(", 'F'}, {"0VUNS,", 'F'}, {"0VUNSO", 'F'}, - {"0VUO((", 'F'}, {"0VUO(E", 'F'}, {"0VUON(", 'F'}, {"0VUON1", 'F'}, @@ -10129,5 +9871,5 @@ static const keyword_t sql_keywords[] = { {"||", '&'}, {"~*", 'o'}, }; -static const size_t sql_keywords_sz = 9963; +static const size_t sql_keywords_sz = 9705; #endif