Skip to content

Commit

Permalink
XML data host and file reference variables
Browse files Browse the repository at this point in the history
  • Loading branch information
ilidio-lopes committed Jul 18, 2024
1 parent 4980657 commit f4023f1
Show file tree
Hide file tree
Showing 6 changed files with 92 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
],
"repository": {
"db2-sql-keywords": {
"match": "(?<![\\-\\w])(?i:ABSOLUTE|ACCELERATION|ACCELERATOR|ACCESS|ACCESSCTRL|ACCTNG|ACTION|ACTIVATE|ACTIVE|ADD|ADDRESS|AFTER|AGE|ALGORITHM|ALIAS|ALL|ALLOCATE|ALLOW|ALTER|ALTERIN|ALWAYS|AND|ANY|APPEND|APPLCOMPAT|APPLICATION|APPLNAME|ARCHIVE|ARRAY|ARRAY_EXISTS|AS|ASC|ASCII|ASENSITIVE|ASSEMBLE|ASSOCIATE|ASUTIME|AT|ATOMIC|ATTRIBUTES|AUDIT|AUTHENTICATION|AUTHID|AUTONOMOUS|AUX|AUXILIARY|AVG|BASED|BEFORE|BEGIN|BETWEEN|BIGINT|BINARY|BIND|BINDADD|BINDAGENT|BIT|BLOB|BOTH|BSDS|BUFFERPOOL|BUFFERPOOLS|BUSINESS_TIME|BY|CACHE|CALL|CALLED|CALLER|CAPTURE|CARDINALITY|CASCADE|CASCADED|CASE|CAST|CATALOG_NAME|CCSID|CHANGE|CHANGED|CHANGES|CHAR|CHARACTER|CHARACTER_LENGTH|CHAR_LENGTH|CHECK|CLAUSE|CLIENT|CLIENT_ACCTNG|CLIENT_APPLNAME|CLIENT_CORR_TOKEN|CLIENT_USERID|CLIENT_WRKSTNNAME|CLOB|CLONE|CLOSE|CLUSTER|COALESCE|COBOL|COLLECTION|COLLID|COLUMN|COLUMNS|COMMENT|COMMIT|COMMITTED|COMPATIBILITY|COMPRESS|CONCAT|CONCENTRATE|CONCURRENT|CONDITION|CONDITION_NUMBER|CONNECT|CONNECTION|CONSTANT|CONSTRAINT|CONTAINS|CONTEXT|CONTINUE|CONTROL|COPY|CORR|CORRELATION|COUNT|COUNT_BIG|COVARIANCE|CREATE|CREATEALIAS|CREATEDBA|CREATESG|CREATEIN|CREATESG|CREATETAB|CREATETMTAB|CREATETS|CREATE_SECURE_OBJECT|CROSS|CS|CUBE|CUME_DIST|CURRENT|CURRENTLY|CURRENT_DATE|CURRENT_LC_CTYPE|CURRENT_PATH|CURRENT_SCHEMA|CURRENT_SERVER|CURRENT_TIME|CURRENT_TIMESTAMP|CURRENT_TIMEZONE|CURSOR|CURSORS|CURSOR_NAME|CYCLE|DATA|DATAACCESS|DATABASE|DATACLAS|DATE|DAY|DAYOFMONTH|DAYOFWEEK|DAYOFYEAR|DAYS|DB2SQL|DB2_AUTHENTICATION_TYPE|DB2_AUTHORIZATION_ID|DB2_CONNECTION_STATE|DB2_CONNECTION_STATUS|DB2_ENCRYPTION_TYPE|DB2_ERROR_CODE1|DB2_ERROR_CODE2|DB2_ERROR_CODE3|DB2_ERROR_CODE4|DB2_GET_DIAGNOSTICS_DIAGNOSTICS|DB2_INTERNAL_ERROR_POINTER|DB2_LAST_ROW|DB2_LINE_NUMBER|DB2_MESSAGE_ID|DB2_MODULE_DETECTING_ERROR|DB2_NUMBER_PARAMETER_MARKERS|DB2_NUMBER_RESULT_SETS|DB2_NUMBER_ROWS|DB2_ORDINAL_TOKEN1|DB2_ORDINAL_TOKEN2|DB2_ORDINAL_TOKEN3|DB2_ORDINAL_TOKEN4|DB2_PRODUCT_ID|DB2_REASON_CODE|DB2_RETURNED_SQLCODE|DB2_RETURN_STATUS|DB2_ROW_NUMBER|DB2_SERVER_CLASS_NAME|DB2_SQLERRD1|DB2_SQLERRD2|DB2_SQLERRD3|DB2_SQLERRD4|DB2_SQLERRD5|DB2_SQLERRD6|DB2_SQLERRD_SET|DB2_SQL_ATTR_CURSOR_HOLD|DB2_SQL_ATTRCURSOR_ROWSET|DB2_SQL_ATTR_CURSOR_SCROLLABLE|DB2_SQL_ATTR_CURSOR_SENSITIVITY|DB2_SQL_ATTR_CURSOR_TYPE|DB2_SQL_NESTING_LEVEL|DB2_TOKEN_COUNT|DBADM|DBCLOB|DBCTRL|DBINFO|DBMAINT|DEACTIVATE|DEALLOCATE|DEBUG|DEBUGSESSION|DEC|DECFLOAT|DECIMAL|DECLARE|DEC_ROUND_CEILING|DEC_ROUND_DOWN|DEC_ROUND_FLOOR|DEC_ROUND_HALF_DOWN|DEC_ROUND_HALF_EVEN|DEC_ROUND_HALF_UP|DEC_ROUND_UP|DEFAULT|DEFAULTS|DEFER|DEFERRED|DEFINE|DEFINEBIND|DEFINER|DEFINERUN|DEGREE|DELETE|DENSE_RANK|DEPENDENT|DESC|DESCRIBE|DESCRIPTOR|DETERMINISTIC|DIAGNOSTICS|DISABLE|DISALLOW|DISPATCH|DISPLAY|DISPLAYDB|DISTINCT|DO|DOUBLE|DROP|DROPIN|DSNDB04|DSSIZE|DYNAMIC|DYNAMICRULES|EACH|EBCDIC|EDITPROC|ELEMENT|ELIGIBLE|ELSE|ELSEIF|EMPTY|ENABLE|ENCODING|ENCRYPTION|END|ENDING|ENFORCED|ENVIRONMENT|ERASE|ESCAPE|EUR|EVERY|EXCEPT|EXCHANGE|EXCLUDE|EXCLUDING|EXCLUSIVE|EXECUTE|EXISTS|EXIT|EXPLAIN|EXTERNAL|EXTRA|EXTRACT|FAILBACK|FAILURE|FAILURES|FENCED|FETCH|FIELDPROC|FINAL|FIRST|FIRST_VALUE|FLOAT|FOLLOWING|FOR|FOREIGN|FORMAT|FOUND|FREE|FREEPAGE|FROM|FULL|FUNCTION|V10R1|V11R1|GBPCACHE|GENERAL|GENERATE|GENERATED|GENERIC|GET|GET_ACCEL_ARCHIVE|GLOBAL|GO|GOTO|GRANT|GRAPHIC|GROUP|GROUPING|HANDLER|HASH|HAVING|HEX|HIDDEN|HINT|HISTORY|HOLD|HOUR|HOURS|ID|IDENTITY|IF|IGNORE|IMAGCOPY|IMMEDIATE|IMPLICITLY|IN|INCLUDE|INCLUDING|INCLUSIVE|INCREMENT|INDEX|INDEXBP|INDICATOR|INHERIT|INITIALLY|INLINE|INNER|INOUT|INPUT|INSENSITIVE|INSERT|INSTEAD|INT|INTEGER|INTERSECT|INTO|INVALID|INVOKEBIND|INVOKERUN|IS|ISO|ISOLATION|ITERATE|JAR|JAVA|JIS|JOBNAME|JOIN|KEEP|KEY|KEYS|LABEL|LABELS|LAG|LANGUAGE|LARGE|LAST|LAST_VALUE|LC_CTYPE|LEAD|LEAVE|LEFT|LENGTH|LEVEL|LIKE|LIMIT|LITERALS|LOAD|LOB|LOCAL|LOCALE|LOCATION|LOCATOR|LOCATORS|LOCK|LOCKED|LOCKMAX|LOCKS|LOCKSIZE|LOGGED|LOOP|LOWER|MAIN|MAINTAINED|MASK|MATCHED|MATERIALIZED|MAX|MAXPARTITIONS|MAXROWS|MAXVALUE|MEMBER|MERGE|MESSAGE_TEXT|MGMTCLAS|MICROSECOND|MICROSECONDS|MIN|MINUTE|MINUTES|MINVALUE|MIXED|MODE|MODIFIERS|MODIFIES|MONITOR1|MONITOR2|MONTH|MONTHS|MORE|MOVE|MULTIPLIER|NAME|NAMES|NAMESPACE|NATIONAL|NCNAME|NEW|NEW_TABLE|NEXT|NO|NODEFER|NONE|NOT|NTH_VALUE|NTILE|NULL|NULLS|NULTERM|NUMBER|NUMERIC|NUMPARTS|OBID|OBJECT|OF|OFF|OFFSET|OLD|OLD_TABLE|ON|ONCE|ONLY|OPEN|OPERATION|OPTHINT|OPTIMIZATION|OPTION|OPTIONAL|OPTIONS|OR|ORDER|ORDINALITY|ORGANIZE|ORIGINAL|OUT|OUTCOME|OUTER|OUTPUT|OVER|OVERLAPS|OVERRIDING|OWNER|OWNERSHIP|PACKADM|PACKAGE|PACKAGESET|PACKAGE_NAME|PACKAGE_SCHEMA|PACKAGE_VERSION|PADDED|PAGE|PAGENUM|PARALLEL|PARAMETER|PART|PARTITION|PARTITIONED|PASSING|PASSWORD|PATH|PCTFREE|PENDING|PERCENT_RANK|PERIOD|PERMISSION|PIECESIZE|PLAN|PLI|PORTION|POSITION|POSITIONING|PRECEDING|PRECISION|PREPARE|PRESERVE|PREVIOUS|PRIMARY|PRIOR|PRIQTY|PRIVILEGES|PROCEDURE|PROFILE|PROGRAM|PUBLIC|QUALIFIER|QUERY|QUERYNO|RANDOM|RANGE|RANK|RATIO_TO_REPORT|READ|READS|REAL|RECORDS|RECOVER|RECOVERDB|REF|REFERENCES|REFERENCING|REFRESH|REGENERATE|REGISTERS|RELATIVE|RELEASE|REMOVE|RENAME|REOPT|REORG|REPAIR|REPEAT|REPLACE|REQUIRED|RESET|RESIDENT|RESIGNAL|RESOLUTION|RESPECT|RESTART|RESTRICT|RESULT|RESULT-SET-LOCATOR|RETAIN|RETURN|RETURNED_SQLSTATE|RETURNING|RETURNS|REUSE|REVOKE|REXX|RIGHT|ROLE|ROLLBACK|ROLLUP|ROTATE|ROUNDING|ROUND_CEILING|ROUND_DOWN|ROUND_FLOOR|ROUND_HALF_DOWN|ROUND_HALF_EVEN|ROUND_HALF_UP|ROUND_UP|ROUTINE|ROW|ROWID|ROWS|ROWSET|ROW_COUNT|ROW_NUMBER|RR|RS|RULES|RUN|SAVEPOINT|SBCS|SCHEMA|SCHEME|SCRATCHPAD|SCROLL|SECOND|SECONDS|SECQTY|SECTION|SECURED|SECURITY|SEGSIZE|SELECT|SELECTIVITY|SENSITIVE|SEQUENCE|SERVAUTH|SERVER|SERVER_NAME|SESSION|SESSION_USER|SET|SETS|SHARE|SIGNAL|SIZE|SKIP|SMALLINT|SOME|SOURCE|SPACE|SPECIAL|SPECIFIC|SQL|SQLADM|SQLCA|SQLCADE|SQLCODE|SQLD|SQLDA|SQLDABC|SQLERROR|SQLEXCEPTION|SQLID|SQLN|SQLSTAT|SQLSTATE|SQLVAR|SQLWARNING|STABILIZED|STACKED|START|STARTDB|STARTING|STATEMENT|STATEMENTS|STATIC|STATS|STAY|STDDEV|STMTCACHE|STMTID|STMTTOKEN|STOGROUP|STOP|STOPALL|STOPDB|STORAGE|STORCLAS|STORES|STOSPACE|STRUCTURE|STYLE|SUB|SUBSTR|SUBSTRING|SUM|SYNONYM|SYSADM|SYSCTRL|SYSDEFLT|SYSIBM|SYSOPR|SYSTEM|SYSTEM_TIME|TABLE|TABLESPACE|TEMPORAL|TEMPORARY|THEN|TIME|TIMESTAMP|TIMEZONE|TO|TOKEN|TRACE|TRACKMOD|TRANSACTION|TRANSFER|TRANSLATE|TRANSLATION|TRIGGER|TRIGGERS|TRIM|TRUNCATE|TRUSTED|TYPE|TYPES|UNBOUNDED|UNICODE|UNION|UNIQUE|UNNEST|UNPACK|UNTIL|UPDATE|UPON|UPPER|UR|URL|USA|USAGE|USE|USER|USERID|USING|V1|VALIDATE|VALIDPROC|VALUE|VALUES|VARBINARY|VARCHAR|VARGRAPHIC|VARIABLE|VARIANCE|VARYING|VCAT|VERSION|VERSIONING|VERSIONS|VIEW|VOLATILE|VOLUMES|WAIT|WAITFORDATA|WHEN|WHENEVER|WHERE|WHILE|WITH|WITHOUT|WLM|WORK|WORKFILE|WRAPPED|WRITE|WRKSTNNAME|XML|XMLCAST|XMLNAMESPACES|XMLPATTERN|XMLQUERY|XMLSCHEMA|XMLTABLE|YEAR|YEARS|YES|ZONE)(?![\\-\\w])",
"match": "(?<![\\-\\w])(?i:ABSOLUTE|ACCELERATION|ACCELERATOR|ACCESS|ACCESSCTRL|ACCTNG|ACTION|ACTIVATE|ACTIVE|ADD|ADDRESS|AFTER|AGE|ALGORITHM|ALIAS|ALL|ALLOCATE|ALLOW|ALTER|ALTERIN|ALWAYS|AND|ANY|APPEND|APPLCOMPAT|APPLICATION|APPLNAME|ARCHIVE|ARRAY|ARRAY_EXISTS|AS|ASC|ASCII|ASENSITIVE|ASSEMBLE|ASSOCIATE|ASUTIME|AT|ATOMIC|ATTRIBUTES|AUDIT|AUTHENTICATION|AUTHID|AUTONOMOUS|AUX|AUXILIARY|AVG|BASED|BEFORE|BEGIN|BETWEEN|BIGINT|BINARY|BIND|BINDADD|BINDAGENT|BIT|BLOB|BLOB-FILE|BLOB-LOCATOR|BOTH|BSDS|BUFFERPOOL|BUFFERPOOLS|BUSINESS_TIME|BY|CACHE|CALL|CALLED|CALLER|CAPTURE|CARDINALITY|CASCADE|CASCADED|CASE|CAST|CATALOG_NAME|CCSID|CHANGE|CHANGED|CHANGES|CHAR|CHARACTER|CHARACTER_LENGTH|CHAR_LENGTH|CHECK|CLAUSE|CLIENT|CLIENT_ACCTNG|CLIENT_APPLNAME|CLIENT_CORR_TOKEN|CLIENT_USERID|CLIENT_WRKSTNNAME|CLOB|CLOB-FILE|CLOB-LOCATOR|CLONE|CLOSE|CLUSTER|COALESCE|COBOL|COLLECTION|COLLID|COLUMN|COLUMNS|COMMENT|COMMIT|COMMITTED|COMPATIBILITY|COMPRESS|CONCAT|CONCENTRATE|CONCURRENT|CONDITION|CONDITION_NUMBER|CONNECT|CONNECTION|CONSTANT|CONSTRAINT|CONTAINS|CONTEXT|CONTINUE|CONTROL|COPY|CORR|CORRELATION|COUNT|COUNT_BIG|COVARIANCE|CREATE|CREATEALIAS|CREATEDBA|CREATESG|CREATEIN|CREATESG|CREATETAB|CREATETMTAB|CREATETS|CREATE_SECURE_OBJECT|CROSS|CS|CUBE|CUME_DIST|CURRENT|CURRENTLY|CURRENT_DATE|CURRENT_LC_CTYPE|CURRENT_PATH|CURRENT_SCHEMA|CURRENT_SERVER|CURRENT_TIME|CURRENT_TIMESTAMP|CURRENT_TIMEZONE|CURSOR|CURSORS|CURSOR_NAME|CYCLE|DATA|DATAACCESS|DATABASE|DATACLAS|DATE|DAY|DAYOFMONTH|DAYOFWEEK|DAYOFYEAR|DAYS|DB2SQL|DB2_AUTHENTICATION_TYPE|DB2_AUTHORIZATION_ID|DB2_CONNECTION_STATE|DB2_CONNECTION_STATUS|DB2_ENCRYPTION_TYPE|DB2_ERROR_CODE1|DB2_ERROR_CODE2|DB2_ERROR_CODE3|DB2_ERROR_CODE4|DB2_GET_DIAGNOSTICS_DIAGNOSTICS|DB2_INTERNAL_ERROR_POINTER|DB2_LAST_ROW|DB2_LINE_NUMBER|DB2_MESSAGE_ID|DB2_MODULE_DETECTING_ERROR|DB2_NUMBER_PARAMETER_MARKERS|DB2_NUMBER_RESULT_SETS|DB2_NUMBER_ROWS|DB2_ORDINAL_TOKEN1|DB2_ORDINAL_TOKEN2|DB2_ORDINAL_TOKEN3|DB2_ORDINAL_TOKEN4|DB2_PRODUCT_ID|DB2_REASON_CODE|DB2_RETURNED_SQLCODE|DB2_RETURN_STATUS|DB2_ROW_NUMBER|DB2_SERVER_CLASS_NAME|DB2_SQLERRD1|DB2_SQLERRD2|DB2_SQLERRD3|DB2_SQLERRD4|DB2_SQLERRD5|DB2_SQLERRD6|DB2_SQLERRD_SET|DB2_SQL_ATTR_CURSOR_HOLD|DB2_SQL_ATTRCURSOR_ROWSET|DB2_SQL_ATTR_CURSOR_SCROLLABLE|DB2_SQL_ATTR_CURSOR_SENSITIVITY|DB2_SQL_ATTR_CURSOR_TYPE|DB2_SQL_NESTING_LEVEL|DB2_TOKEN_COUNT|DBADM|DBCLOB|DBCLOB-FILE|DBCLOB-LOCATOR|DBCTRL|DBINFO|DBMAINT|DEACTIVATE|DEALLOCATE|DEBUG|DEBUGSESSION|DEC|DECFLOAT|DECIMAL|DECLARE|DEC_ROUND_CEILING|DEC_ROUND_DOWN|DEC_ROUND_FLOOR|DEC_ROUND_HALF_DOWN|DEC_ROUND_HALF_EVEN|DEC_ROUND_HALF_UP|DEC_ROUND_UP|DEFAULT|DEFAULTS|DEFER|DEFERRED|DEFINE|DEFINEBIND|DEFINER|DEFINERUN|DEGREE|DELETE|DENSE_RANK|DEPENDENT|DESC|DESCRIBE|DESCRIPTOR|DETERMINISTIC|DIAGNOSTICS|DISABLE|DISALLOW|DISPATCH|DISPLAY|DISPLAYDB|DISTINCT|DO|DOUBLE|DROP|DROPIN|DSNDB04|DSSIZE|DYNAMIC|DYNAMICRULES|EACH|EBCDIC|EDITPROC|ELEMENT|ELIGIBLE|ELSE|ELSEIF|EMPTY|ENABLE|ENCODING|ENCRYPTION|END|ENDING|ENFORCED|ENVIRONMENT|ERASE|ESCAPE|EUR|EVERY|EXCEPT|EXCHANGE|EXCLUDE|EXCLUDING|EXCLUSIVE|EXECUTE|EXISTS|EXIT|EXPLAIN|EXTERNAL|EXTRA|EXTRACT|FAILBACK|FAILURE|FAILURES|FENCED|FETCH|FIELDPROC|FINAL|FIRST|FIRST_VALUE|FLOAT|FOLLOWING|FOR|FOREIGN|FORMAT|FOUND|FREE|FREEPAGE|FROM|FULL|FUNCTION|V10R1|V11R1|GBPCACHE|GENERAL|GENERATE|GENERATED|GENERIC|GET|GET_ACCEL_ARCHIVE|GLOBAL|GO|GOTO|GRANT|GRAPHIC|GROUP|GROUPING|HANDLER|HASH|HAVING|HEX|HIDDEN|HINT|HISTORY|HOLD|HOUR|HOURS|ID|IDENTITY|IF|IGNORE|IMAGCOPY|IMMEDIATE|IMPLICITLY|IN|INCLUDE|INCLUDING|INCLUSIVE|INCREMENT|INDEX|INDEXBP|INDICATOR|INHERIT|INITIALLY|INLINE|INNER|INOUT|INPUT|INSENSITIVE|INSERT|INSTEAD|INT|INTEGER|INTERSECT|INTO|INVALID|INVOKEBIND|INVOKERUN|IS|ISO|ISOLATION|ITERATE|JAR|JAVA|JIS|JOBNAME|JOIN|KEEP|KEY|KEYS|LABEL|LABELS|LAG|LANGUAGE|LARGE|LAST|LAST_VALUE|LC_CTYPE|LEAD|LEAVE|LEFT|LENGTH|LEVEL|LIKE|LIMIT|LITERALS|LOAD|LOB|LOCAL|LOCALE|LOCATION|LOCATOR|LOCATORS|LOCK|LOCKED|LOCKMAX|LOCKS|LOCKSIZE|LOGGED|LOOP|LOWER|MAIN|MAINTAINED|MASK|MATCHED|MATERIALIZED|MAX|MAXPARTITIONS|MAXROWS|MAXVALUE|MEMBER|MERGE|MESSAGE_TEXT|MGMTCLAS|MICROSECOND|MICROSECONDS|MIN|MINUTE|MINUTES|MINVALUE|MIXED|MODE|MODIFIERS|MODIFIES|MONITOR1|MONITOR2|MONTH|MONTHS|MORE|MOVE|MULTIPLIER|NAME|NAMES|NAMESPACE|NATIONAL|NCNAME|NEW|NEW_TABLE|NEXT|NO|NODEFER|NONE|NOT|NTH_VALUE|NTILE|NULL|NULLS|NULTERM|NUMBER|NUMERIC|NUMPARTS|OBID|OBJECT|OF|OFF|OFFSET|OLD|OLD_TABLE|ON|ONCE|ONLY|OPEN|OPERATION|OPTHINT|OPTIMIZATION|OPTION|OPTIONAL|OPTIONS|OR|ORDER|ORDINALITY|ORGANIZE|ORIGINAL|OUT|OUTCOME|OUTER|OUTPUT|OVER|OVERLAPS|OVERRIDING|OWNER|OWNERSHIP|PACKADM|PACKAGE|PACKAGESET|PACKAGE_NAME|PACKAGE_SCHEMA|PACKAGE_VERSION|PADDED|PAGE|PAGENUM|PARALLEL|PARAMETER|PART|PARTITION|PARTITIONED|PASSING|PASSWORD|PATH|PCTFREE|PENDING|PERCENT_RANK|PERIOD|PERMISSION|PIECESIZE|PLAN|PLI|PORTION|POSITION|POSITIONING|PRECEDING|PRECISION|PREPARE|PRESERVE|PREVIOUS|PRIMARY|PRIOR|PRIQTY|PRIVILEGES|PROCEDURE|PROFILE|PROGRAM|PUBLIC|QUALIFIER|QUERY|QUERYNO|RANDOM|RANGE|RANK|RATIO_TO_REPORT|READ|READS|REAL|RECORDS|RECOVER|RECOVERDB|REF|REFERENCES|REFERENCING|REFRESH|REGENERATE|REGISTERS|RELATIVE|RELEASE|REMOVE|RENAME|REOPT|REORG|REPAIR|REPEAT|REPLACE|REQUIRED|RESET|RESIDENT|RESIGNAL|RESOLUTION|RESPECT|RESTART|RESTRICT|RESULT|RESULT-SET-LOCATOR|RETAIN|RETURN|RETURNED_SQLSTATE|RETURNING|RETURNS|REUSE|REVOKE|REXX|RIGHT|ROLE|ROLLBACK|ROLLUP|ROTATE|ROUNDING|ROUND_CEILING|ROUND_DOWN|ROUND_FLOOR|ROUND_HALF_DOWN|ROUND_HALF_EVEN|ROUND_HALF_UP|ROUND_UP|ROUTINE|ROW|ROWID|ROWS|ROWSET|ROW_COUNT|ROW_NUMBER|RR|RS|RULES|RUN|SAVEPOINT|SBCS|SCHEMA|SCHEME|SCRATCHPAD|SCROLL|SECOND|SECONDS|SECQTY|SECTION|SECURED|SECURITY|SEGSIZE|SELECT|SELECTIVITY|SENSITIVE|SEQUENCE|SERVAUTH|SERVER|SERVER_NAME|SESSION|SESSION_USER|SET|SETS|SHARE|SIGNAL|SIZE|SKIP|SMALLINT|SOME|SOURCE|SPACE|SPECIAL|SPECIFIC|SQL|SQLADM|SQLCA|SQLCADE|SQLCODE|SQLD|SQLDA|SQLDABC|SQLERROR|SQLEXCEPTION|SQLID|SQLN|SQLSTAT|SQLSTATE|SQLVAR|SQLWARNING|STABILIZED|STACKED|START|STARTDB|STARTING|STATEMENT|STATEMENTS|STATIC|STATS|STAY|STDDEV|STMTCACHE|STMTID|STMTTOKEN|STOGROUP|STOP|STOPALL|STOPDB|STORAGE|STORCLAS|STORES|STOSPACE|STRUCTURE|STYLE|SUB|SUBSTR|SUBSTRING|SUM|SYNONYM|SYSADM|SYSCTRL|SYSDEFLT|SYSIBM|SYSOPR|SYSTEM|SYSTEM_TIME|TABLE|TABLESPACE|TEMPORAL|TEMPORARY|THEN|TIME|TIMESTAMP|TIMEZONE|TO|TOKEN|TRACE|TRACKMOD|TRANSACTION|TRANSFER|TRANSLATE|TRANSLATION|TRIGGER|TRIGGERS|TRIM|TRUNCATE|TRUSTED|TYPE|TYPES|UNBOUNDED|UNICODE|UNION|UNIQUE|UNNEST|UNPACK|UNTIL|UPDATE|UPON|UPPER|UR|URL|USA|USAGE|USE|USER|USERID|USING|V1|VALIDATE|VALIDPROC|VALUE|VALUES|VARBINARY|VARCHAR|VARGRAPHIC|VARIABLE|VARIANCE|VARYING|VCAT|VERSION|VERSIONING|VERSIONS|VIEW|VOLATILE|VOLUMES|WAIT|WAITFORDATA|WHEN|WHENEVER|WHERE|WHILE|WITH|WITHOUT|WLM|WORK|WORKFILE|WRAPPED|WRITE|WRKSTNNAME|XML|XMLCAST|XMLNAMESPACES|XMLPATTERN|XMLQUERY|XMLSCHEMA|XMLTABLE|YEAR|YEARS|YES|ZONE)(?![\\-\\w])",
"name": "keyword.verb.sql"
},
"comment-sql-source": {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@ BINDADD : B I N D A D D;
BINDAGENT : B I N D A G E N T;
BIT : B I T;
BLOB : B L O B;
BLOB_FILE : B L O B MINUSCHAR F I L E;
BLOB_LOCATOR : B L O B MINUSCHAR L O C A T O R;
BOTH : B O T H;
BSDS : B S D S;
BUFFERPOOL : B U F F E R P O O L;
Expand Down Expand Up @@ -109,6 +111,8 @@ CLIENT_CORR_TOKEN: CLIENT UNDERSCORECHAR CORR UNDERSCORECHAR TOKEN;
CLIENT_USERID: CLIENT UNDERSCORECHAR USERID;
CLIENT_WRKSTNNAME: CLIENT UNDERSCORECHAR WRKSTNNAME;
CLOB : C L O B;
CLOB_FILE : C L O B MINUSCHAR F I L E;
CLOB_LOCATOR : C L O B MINUSCHAR L O C A T O R;
CLONE : C L O N E;
CLOSE : C L O S E;
CLUSTER : C L U S T E R;
Expand Down Expand Up @@ -226,6 +230,8 @@ DB2_SQL_NESTING_LEVEL : D B '2' UNDERSCORECHAR S Q L UNDERSCORECHAR N E S T I N
DB2_TOKEN_COUNT : D B '2' UNDERSCORECHAR T O K E N UNDERSCORECHAR C O U N T;
DBADM : D B A D M;
DBCLOB : D B C L O B;
DBCLOB_FILE : D B C L O B MINUSCHAR F I L E;
DBCLOB_LOCATOR : D B C L O B MINUSCHAR L O C A T O R;
DBCTRL : D B C T R L;
DBINFO : D B I N F O;
DBMAINT : D B M A I N T;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,19 +36,29 @@ binary_host_variable_varbinary_size: T=dbs_integerliteral_expanded {validateInte

host_variable_usage: (USAGE IS?)? SQL TYPE IS;

sql_host_variables: result_set_locator_variable
sql_host_variables: result_set_locator_variable | lob_xml_host_variables
| tableLocators_variable ;

result_set_locator_variable: dbs_level_01 entry_name host_variable_usage result_set_locator;

tableLocators_variable: dbs_host_var_levels entry_name host_variable_usage tableLocators;

lob_xml_host_variables: dbs_host_var_levels entry_name host_variable_usage (xml_as lobWithSize | xml_as lobNoSize);

dbs_host_var_levels: dbs_level_01 | T=dbs_integer {validateIntegerRange($T.text, 2, 48);};

result_set_locator: RESULT_SET_LOCATOR VARYING;

tableLocators: TABLE LIKE entry_name AS LOCATOR;

lobWithSize
: (BINARY LARGE OBJECT | BLOB | CHARACTER LARGE OBJECT | CHAR LARGE OBJECT | CLOB | DBCLOB) LPARENCHAR dbs_integer k_m_g? RPARENCHAR
;
lobNoSize
: BLOB_LOCATOR | CLOB_LOCATOR | DBCLOB_LOCATOR | BLOB_FILE | CLOB_FILE | DBCLOB_FILE
;
xml_as: XML AS;

entry_name : (FILLER |dbs_host_names);
sqlCode
: ~END_EXEC*?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,10 @@ public List<Node> visitTableLocators_variable(Db2SqlParser.TableLocators_variabl
return createHostVariableDefinitionNode(ctx, ctx.dbs_host_var_levels(), ctx.entry_name());
}

@Override
public List<Node> visitLob_xml_host_variables(Db2SqlParser.Lob_xml_host_variablesContext ctx) {
return createHostVariableDefinitionNode(ctx, ctx.dbs_host_var_levels(), ctx.entry_name());
}
private List<Node> createHostVariableDefinitionNode(ParserRuleContext ctx, ParserRuleContext levelCtx, ParserRuleContext nameCtx) {
addReplacementContext(ctx);
Locality statementLocality = getLocality(this.context.getExtendedDocument().mapLocation(constructRange(ctx)));
Expand Down
8 changes: 7 additions & 1 deletion server/engine/src/main/resources/LanguageKeywords_sql.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,10 @@
# SPDX-License-Identifier: EPL-2.0
# Contributors:
# Broadcom, Inc. - initial API and implementation
RESULT-SET-LOCATOR=
RESULT-SET-LOCATOR=
BLOB-LOCATOR=
CLOB-LOCATOR=
DBCLOB-LOCATOR=
BLOB-FILE=
CLOB-FILE=
DBCLOB-FILE=
Loading

0 comments on commit f4023f1

Please sign in to comment.