IBM DB2 SQL Parser Support in GSP¶
Explore the IBM DB2 SQL Parser product page
This page documents the SQL syntax support for IBM DB2 in the General SQL Parser.
Syntax Coverage Corpus¶
GSP tests DB2 syntax against 174 documented constructs grouped into 47 categories, each cross-referenced to the documentation that defines it (152 distinct source pages).
Parse coverage¶
Measured against GSP Java 4.2.8 on 2026-08-31 (UTC) (artifact sha256 1117856ef134). Each construct below carries the complete set of examples from the DB2 documentation; a construct counts as fully covered only when every one of its examples parses. Percentages are pass rates over this documented-example corpus — not a percentage of the entire SQL dialect.
| Constructs fully parsed | Individual statements parsed | |
|---|---|---|
| All constructs | 174 of 174 (100%) | 524 of 524 (100%) |
| SELECT (queries) | 5 of 5 (100%) | 15 of 15 (100%) |
| DML (INSERT / UPDATE / DELETE / MERGE) | 9 of 9 (100%) | 44 of 44 (100%) |
| Stored procedures | 22 of 22 (100%) | 47 of 47 (100%) |
Statements are split using the parser's own statement splitter, so multi-statement examples and procedure bodies are counted correctly. The SELECT, DML and stored-procedure rows classify each statement by its parsed statement type: a construct is counted in a row when its examples contain at least one statement of that class, and is fully parsed when all of them parse. Stored procedures covers CREATE PROCEDURE / FUNCTION / PACKAGE / TRIGGER definitions and anonymous blocks.
Machine-readable: dialect data (JSON) · all-dialect matrix · coverage matrix overview
All 174 constructs¶
| Construct | Category | Parses | Specified in |
|---|---|---|---|
ALLOCATE CURSOR |
ALLOCATE CURSOR | all 2 | IBM docs |
ALTER DATABASE |
ALTER | all 1 | IBM docs |
ALTER FUNCTION (compiled SQL scalar) |
ALTER | all 6 | IBM docs |
ALTER FUNCTION (external) |
ALTER | all 3 | IBM docs |
ALTER FUNCTION (inlined SQL scalar) |
ALTER | all 1 | IBM docs |
ALTER FUNCTION (SQL table) |
ALTER | all 1 | IBM docs |
ALTER INDEX |
ALTER | all 4 | IBM docs |
ALTER MASK |
ALTER | all 2 | IBM docs |
ALTER PERMISSION |
ALTER | all 2 | IBM docs |
ALTER PROCEDURE (external) |
ALTER | all 1 | IBM docs |
ALTER PROCEDURE (SQL - external) (deprecated) |
ALTER | all 1 | IBM docs |
ALTER PROCEDURE (SQL - native) |
ALTER | all 5 | IBM docs |
ALTER SEQUENCE |
ALTER | all 1 | IBM docs |
ALTER STOGROUP |
ALTER | all 3 | IBM docs |
ALTER TABLE |
ALTER | all 1 | IBM docs |
ALTER TABLE |
ALTER | all 10 | IBM docs |
ALTER TABLESPACE |
ALTER | all 3 | IBM docs |
ALTER TRIGGER (advanced) |
ALTER | all 4 | IBM docs |
ALTER TRIGGER (basic) |
ALTER | all 1 | IBM docs |
ALTER TRUSTED CONTEXT |
ALTER | all 4 | IBM docs |
ALTER VIEW |
ALTER | all 1 | IBM docs |
ASSOCIATE LOCATORS |
ASSOCIATE LOCATORS | all 4 | IBM docs |
BEGIN DECLARE SECTION |
BEGIN DECLARE SECTION | all 1 | IBM docs |
CALL |
CALL | all 2 | IBM docs |
CLOSE |
CLOSE | all 1 | IBM docs |
COMMENT |
COMMENT | all 9 | IBM docs |
COMMENT on table column |
COMMENT | all 6 | IBM docs |
COMMIT |
COMMIT | all 1 | IBM docs |
CONNECT |
CONNECT | all 7 | IBM docs |
CREATE ALIAS |
CREATE | all 2 | IBM docs |
CREATE AUXILIARY TABLE |
CREATE | all 1 | IBM docs |
CREATE DATABASE |
CREATE | all 2 | IBM docs |
CREATE GLOBAL TEMPORARY TABLE |
CREATE | all 2 | IBM docs |
CREATE INDEX |
CREATE | all 1 | IBM docs |
CREATE INDEX |
CREATE | all 3 | IBM docs |
CREATE LOB TABLESPACE |
CREATE | all 1 | IBM docs |
CREATE MASK |
CREATE | all 9 | IBM docs |
CREATE PERMISSION |
CREATE | all 3 | IBM docs |
CREATE PROCEDURE (external) |
CREATE | all 2 | IBM docs |
CREATE PROCEDURE (external) |
CREATE | all 1 | IBM docs |
CREATE PROCEDURE (SQL - external) (deprecated) |
CREATE | all 2 | IBM docs |
CREATE PROCEDURE (SQL - native) |
CREATE | all 3 | IBM docs |
CREATE PROCEDURE (SQL - native) |
CREATE | all 1 | IBM docs |
CREATE ROLE |
CREATE | all 1 | IBM docs |
CREATE SEQUENCE |
CREATE | all 3 | IBM docs |
CREATE STOGROUP |
CREATE | all 2 | IBM docs |
CREATE SYNONYM (unsupported) |
CREATE | all 1 | IBM docs |
CREATE TABLE |
CREATE | all 4 | IBM docs |
CREATE TABLE |
CREATE | all 12 | IBM docs |
CREATE TABLESPACE |
CREATE | all 5 | IBM docs |
CREATE TRIGGER (advanced) |
CREATE | all 3 | IBM docs |
CREATE TRIGGER (advanced) |
CREATE | all 9 | IBM docs |
CREATE TRIGGER (basic) |
CREATE | all 3 | IBM docs |
CREATE TRIGGER (basic) |
CREATE | all 5 | IBM docs |
CREATE TRUSTED CONTEXT |
CREATE | all 2 | IBM docs |
CREATE VARIABLE |
CREATE | all 3 | IBM docs |
CREATE VIEW |
CREATE | all 3 | IBM docs |
CREATE FUNCTION (compiled SQL scalar) |
CREATE/ CREATE FUNCTION | all 1 | IBM docs |
CREATE FUNCTION (external scalar) |
CREATE/ CREATE FUNCTION | all 1 | IBM docs |
CREATE FUNCTION (external scalar) |
CREATE/ CREATE FUNCTION | all 1 | IBM docs |
CREATE FUNCTION (external scalar) |
CREATE/ CREATE FUNCTION | all 1 | IBM docs |
CREATE FUNCTION (external scalar) |
CREATE/ CREATE FUNCTION | all 1 | IBM docs |
CREATE FUNCTION (external scalar) |
CREATE/ CREATE FUNCTION | all 4 | IBM docs |
CREATE FUNCTION (external table) |
CREATE/ CREATE FUNCTION | all 1 | IBM docs |
CREATE FUNCTION (external table) |
CREATE/ CREATE FUNCTION | all 1 | IBM docs |
CREATE FUNCTION (external table) |
CREATE/ CREATE FUNCTION | all 2 | IBM docs |
CREATE FUNCTION (inlined SQL scalar) |
CREATE/ CREATE FUNCTION | all 1 | IBM docs |
CREATE FUNCTION (sourced) |
CREATE/ CREATE FUNCTION | all 2 | IBM docs |
CREATE FUNCTION (SQL table) |
CREATE/ CREATE FUNCTION | all 2 | IBM docs |
CREATE TYPE (array) |
CREATE/CREATE TYPE | all 5 | IBM docs |
CREATE TYPE (distinct) |
CREATE/CREATE TYPE | all 2 | IBM docs |
DECLARE CURSOR |
DECLARE | all 6 | IBM docs |
DECLARE CURSOR 1 |
DECLARE | all 5 | IBM docs |
DECLARE GLOBAL TEMPORARY TABLE |
DECLARE | all 2 | IBM docs |
DECLARE STATEMENT |
DECLARE | all 1 | IBM docs |
DECLARE STATEMENT |
DECLARE | all 1 | IBM docs |
DECLARE TABLE |
DECLARE | all 2 | IBM docs |
DECLARE VARIABLE |
DECLARE | all 7 | IBM docs |
DELETE |
DELETE | all 2 | IBM docs |
DELETE |
DELETE | all 5 | IBM docs |
DESCRIBE CURSOR |
DESCRIBE | all 2 | IBM docs |
DESCRIBE INPUT |
DESCRIBE | all 1 | IBM docs |
DESCRIBE OUTPUT |
DESCRIBE | all 2 | IBM docs |
DESCRIBE PROCEDURE |
DESCRIBE | all 2 | IBM docs |
DESCRIBE TABLE |
DESCRIBE | all 1 | IBM docs |
DROP |
DROP | all 14 | IBM docs |
END DECLARE SECTION |
END DECLARE SECTION | all 1 | IBM docs |
EXCHANGE |
EXCHANGE | all 1 | IBM docs |
EXECUTE |
EXECUTE | all 4 | IBM docs |
EXECUTE IMMEDIATE |
EXECUTE | all 1 | IBM docs |
EXPLAIN |
EXPLAIN | all 5 | IBM docs |
FETCH |
FETCH | all 5 | IBM docs |
FREE LOCATOR |
FREE LOCATOR | all 1 | IBM docs |
GET DIAGNOSTICS |
GET DIAGNOSTICS | all 7 | IBM docs |
GRANT (collection privileges) |
GRANT | all 2 | IBM docs |
GRANT (database privileges) |
GRANT | all 4 | IBM docs |
GRANT (function or procedure privileges) |
GRANT | all 5 | IBM docs |
GRANT (package privileges) |
GRANT | all 3 | IBM docs |
GRANT (plan privileges) |
GRANT | all 4 | IBM docs |
GRANT (schema privileges) |
GRANT | all 5 | IBM docs |
GRANT (sequence privileges) |
GRANT | all 2 | IBM docs |
GRANT (system privileges) |
GRANT | all 8 | IBM docs |
GRANT (table or view privileges) |
GRANT | all 5 | IBM docs |
GRANT (type or JAR file privileges) |
GRANT | all 4 | IBM docs |
GRANT (use privileges) |
GRANT | all 3 | IBM docs |
GRANT (variable privileges) |
GRANT | all 1 | IBM docs |
HOLD LOCATOR |
HOLD LOCATOR | all 1 | IBM docs |
INCLUDE |
INCLUDE | all 1 | IBM docs |
INSERT |
INSERT | all 5 | IBM docs |
INSERT 1 |
INSERT | all 6 | IBM docs |
LABEL |
LABEL | all 2 | IBM docs |
LOCK TABLE |
LOCK TABLE | all 1 | IBM docs |
MERGE |
MERGE | all 6 | IBM docs |
MERGE 1 |
MERGE | all 3 | IBM docs |
OPEN |
OPEN | all 1 | IBM docs |
PREPARE |
PREPARE | all 2 | IBM docs |
REFRESH TABLE |
REFRESH TABLE | all 1 | IBM docs |
RELEASE (connection) |
RELEASE (connection) | all 2 | IBM docs |
RELEASE SAVEPOINT |
RELEASE SAVEPOINT | all 1 | IBM docs |
RENAME |
RENAME | all 3 | IBM docs |
REVOKE (collection privileges) |
REVOKE | all 2 | IBM docs |
REVOKE (database privileges) |
REVOKE | all 4 | IBM docs |
REVOKE (function or procedure privileges) |
REVOKE | all 5 | IBM docs |
REVOKE (package privileges) |
REVOKE | all 2 | IBM docs |
REVOKE (plan privileges) |
REVOKE | all 4 | IBM docs |
REVOKE (schema privileges) |
REVOKE | all 5 | IBM docs |
REVOKE (sequence privileges) |
REVOKE | all 2 | IBM docs |
REVOKE (system privileges) |
REVOKE | all 7 | IBM docs |
REVOKE (table or view privileges) |
REVOKE | all 5 | IBM docs |
REVOKE (type or JAR file privileges) |
REVOKE | all 4 | IBM docs |
REVOKE (use privileges) |
REVOKE | all 3 | IBM docs |
REVOKE (variable privileges) |
REVOKE | all 1 | IBM docs |
ROLLBACK |
ROLLBACK | all 2 | IBM docs |
SAVEPOINT |
SAVEPOINT | all 3 | IBM docs |
SELECT |
SELECT | all 6 | IBM docs |
SELECT 1 |
SELECT | all 2 | IBM docs |
SELECT INTO |
SELECT | all 1 | IBM docs |
SELECT INTO 1 |
SELECT | all 3 | IBM docs |
SET assignment-statement |
SET | all 21 | IBM docs |
SET CONNECTION |
SET | all 1 | IBM docs |
SET CURRENT ACCELERATOR |
SET | all 2 | IBM docs |
SET CURRENT APPLICATION COMPATIBILITY |
SET | all 2 | IBM docs |
SET CURRENT APPLICATION ENCODING SCHEME |
SET | all 2 | IBM docs |
SET CURRENT DEBUG MODE |
SET | all 1 | IBM docs |
SET CURRENT DECFLOAT ROUNDING MODE |
SET | all 1 | IBM docs |
SET CURRENT DEGREE |
SET | all 2 | IBM docs |
SET CURRENT EXPLAIN MODE |
SET | all 1 | IBM docs |
SET CURRENT GET_ACCEL_ARCHIVE |
SET | all 1 | IBM docs |
SET CURRENT LOCALE LC_CTYPE |
SET | all 2 | IBM docs |
SET CURRENT MAINTAINED TABLE TYPES FOR OPTIMIZATION |
SET | all 2 | IBM docs |
SET CURRENT OPTIMIZATION HINT |
SET | all 2 | IBM docs |
SET CURRENT PACKAGE PATH |
SET | all 6 | IBM docs |
SET CURRENT PACKAGESET |
SET | all 2 | IBM docs |
SET CURRENT PRECISION |
SET | all 1 | IBM docs |
SET CURRENT QUERY ACCELERATION |
SET | all 1 | IBM docs |
SET CURRENT QUERY ACCELERATION WAITFORDATA |
SET | all 2 | IBM docs |
SET CURRENT REFRESH AGE |
SET | all 1 | IBM docs |
SET CURRENT ROUTINE VERSION |
SET | all 1 | IBM docs |
SET CURRENT RULES |
SET | all 1 | IBM docs |
SET CURRENT SQLID |
SET | all 1 | IBM docs |
SET CURRENT TEMPORAL BUSINESS_TIME |
SET | all 4 | IBM docs |
SET CURRENT TEMPORAL SYSTEM_TIME |
SET | all 3 | IBM docs |
SET ENCRYPTION PASSWORD |
SET | all 2 | IBM docs |
SET PATH |
SET | all 2 | IBM docs |
SET SCHEMA |
SET | all 3 | IBM docs |
SET SESSION TIME ZONE |
SET | all 1 | IBM docs |
SIGNAL |
SIGNAL | all 2 | IBM docs |
TRANSFER OWNERSHIP |
TRANSFER OWNERSHIP | all 5 | IBM docs |
TRUNCATE |
TRUNCATE | all 3 | IBM docs |
UPDATE |
UPDATE | all 12 | IBM docs |
UPDATE 1 |
UPDATE | all 4 | IBM docs |
VALUES |
VALUES | all 1 | IBM docs |
VALUES INTO |
VALUES | all 3 | IBM docs |
WHENEVER |
WHENEVER | all 1 | IBM docs |
Key Features Supported¶
- Standard SQL operations (SELECT, INSERT, UPDATE, DELETE)
- DB2-specific functions and data types
- Stored procedures and user-defined functions
- Window functions and analytical queries
- XML and JSON data handling
- Advanced indexing and partitioning