OpenEdge SQL Parser Support in GSP¶
Explore the OpenEdge SQL Parser product page
This page documents the SQL syntax support for OpenEdge in the General SQL Parser.
Syntax Coverage Corpus¶
GSP tests OpenEdge syntax against 49 documented constructs grouped into 15 categories, each cross-referenced to the documentation that defines it (49 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 OpenEdge 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 | 49 of 49 (100%) | 169 of 169 (100%) |
| SELECT (queries) | 6 of 6 (100%) | 20 of 20 (100%) |
| DML (INSERT / UPDATE / DELETE / MERGE) | 2 of 2 (100%) | 14 of 14 (100%) |
| Stored procedures | 2 of 2 (100%) | 3 of 3 (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 49 constructs¶
| Construct | Category | Parses | Specified in |
|---|---|---|---|
ALTER DATABASE SET PRO_ENABLE_64BIT_SEQUENCES 'Y' |
ALTER | all 1 | Progress docs |
ALTER DATABASE SET PRO_ENABLE_LARGE_KEYS 'Y' |
ALTER | all 1 | Progress docs |
ALTER GROUP |
ALTER | all 3 | Progress docs |
ALTER SEQUENCE |
ALTER | all 6 | Progress docs |
ALTER TABLE |
ALTER | all 40 | Progress docs |
ALTER TENANT |
ALTER | all 1 | Progress docs |
ALTER USER |
ALTER | all 4 | Progress docs |
AUDIT INSERT |
AUDIT | all 1 | Progress docs |
AUDIT SET |
AUDIT | all 2 | Progress docs |
CALL |
CALL | all 1 | Progress docs |
COMMIT |
COMMIT | all 2 | Progress docs |
CONNECT AS CATALOG |
CONNECT AS CATALOG | all 1 | Progress docs |
CREATE DOMAIN |
CREATE | all 1 | Progress docs |
CREATE GROUP |
CREATE | all 1 | Progress docs |
CREATE INDEX |
CREATE | all 8 | Progress docs |
CREATE PROCEDURE |
CREATE | all 1 | Progress docs |
CREATE SEQUENCE |
CREATE | all 2 | Progress docs |
CREATE SUPER-TENANT |
CREATE | all 1 | Progress docs |
CREATE SYNONYM |
CREATE | all 2 | Progress docs |
CREATE TABLE |
CREATE | all 13 | Progress docs |
CREATE TENANT |
CREATE | all 3 | Progress docs |
CREATE TRIGGER |
CREATE | all 2 | Progress docs |
CREATE USER |
CREATE | all 2 | Progress docs |
CREATE VIEW |
CREATE | all 3 | Progress docs |
DELETE |
DELETE | all 2 | Progress docs |
DISCONNECT CATALOG |
DISCONNECT CATALOG | all 1 | Progress docs |
DROP DOMAIN |
DROP | all 1 | Progress docs |
DROP GROUP |
DROP | all 1 | Progress docs |
DROP INDEX |
DROP | all 3 | Progress docs |
DROP PROCEDURE |
DROP | all 1 | Progress docs |
DROP SEQUENCE |
DROP | all 1 | Progress docs |
DROP SYNONYM |
DROP | all 2 | Progress docs |
DROP TABLE |
DROP | all 1 | Progress docs |
DROP TENANT |
DROP | all 1 | Progress docs |
DROP TRIGGER |
DROP | all 1 | Progress docs |
DROP USER |
DROP | all 2 | Progress docs |
DROP VIEW |
DROP | all 1 | Progress docs |
GRANT |
GRANT | all 6 | Progress docs |
INSERT |
INSERT | all 12 | Progress docs |
LOCK TABLE |
LOCK TABLE | all 3 | Progress docs |
REVOKE |
REVOKE | all 5 | Progress docs |
ROLLBACK |
ROLLBACK | all 2 | Progress docs |
COLUMN_LIST clause |
SELECT | all 7 | Progress docs |
FOR UPDATE clause |
SELECT | all 1 | Progress docs |
FROM clause |
SELECT | all 1 | Progress docs |
GROUP BY clause |
SELECT | all 3 | Progress docs |
HAVING clause |
SELECT | all 1 | Progress docs |
OFFSET and FETCH clauses |
SELECT | all 4 | Progress docs |
ORDER BY clause |
SELECT | all 4 | Progress docs |
Key Features Supported¶
- Standard SQL operations (SELECT, INSERT, UPDATE, DELETE)
- OpenEdge-specific functions and data types
- Stored procedures and user-defined functions
- Transaction management features
- Multi-tenant database operations
- Progress 4GL integration