{
  "$schema": "https://docs.sqlparser.com/capabilities/v1/schema/dialect.schema.json",
  "dialect": "openedge",
  "display_name": "OpenEdge",
  "aliases": [],
  "product": "General SQL Parser",
  "edition": "java",
  "version": "4.1.9",
  "measured_at": "2026-08-03T03:25:59.446114891Z",
  "provenance": {
    "kind": "measured",
    "artifact_sha256": "9bf7ca575030",
    "corpus_commit": "8bce26814",
    "corpus_files": 49,
    "methodology_url": "https://docs.sqlparser.com/reference/sql-syntax/#methodology"
  },
  "parse_coverage": {
    "kind": "measured",
    "note": "Pass rates are over GSP's documented-example corpus for this dialect, not a percentage of the entire SQL dialect.",
    "constructs": {"passed": 25, "total": 49},
    "statements": {"passed": 93, "total": 179},
    "statement_classes": {
      "select": {"constructs": {"passed": 5, "total": 6}, "statements": {"passed": 17, "total": 20}},
      "dml": {"constructs": {"passed": 1, "total": 2}, "statements": {"passed": 11, "total": 14}},
      "stored_procedures": {"constructs": {"passed": 0, "total": 2}, "statements": {"passed": 0, "total": 3}}
    }
  },
  "keywords": {
    "kind": "measured",
    "measured_at": "2026-07-29T23:46:37Z",
    "total": 469,
    "allowed_as_identifier": 427,
    "context_specific": 2,
    "blocked": 40,
    "details_url": "https://docs.sqlparser.com/reference/sql-syntax/openedge/keyword-compatibility/"
  },
  "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/openedge/",
  "constructs": [
    {"name": "ALTER DATABASE SET PRO_ENABLE_64BIT_SEQUENCES 'Y'", "category": "ALTER", "passed": 1, "total": 1, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/ALTER-DATABASE-SET-PRO_ENABLE_64BIT_SEQUENCES-Y.html"},
    {"name": "ALTER DATABASE SET PRO_ENABLE_LARGE_KEYS 'Y'", "category": "ALTER", "passed": 1, "total": 1, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/ALTER-DATABASE-SET-PRO_ENABLE_LARGE_KEYS-Y.html"},
    {"name": "ALTER GROUP", "category": "ALTER", "passed": 0, "total": 2, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/ALTER-GROUP.html"},
    {"name": "ALTER SEQUENCE", "category": "ALTER", "passed": 6, "total": 6, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/ALTER-SEQUENCE.html"},
    {"name": "ALTER TABLE", "category": "ALTER", "passed": 1, "total": 41, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/ALTER-TABLE.html"},
    {"name": "ALTER TENANT", "category": "ALTER", "passed": 0, "total": 1, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/ALTER-TENANT.html"},
    {"name": "ALTER USER", "category": "ALTER", "passed": 4, "total": 4, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/ALTER-USER_2.html"},
    {"name": "AUDIT INSERT", "category": "AUDIT", "passed": 1, "total": 1, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/AUDIT-INSERT.html"},
    {"name": "AUDIT SET", "category": "AUDIT", "passed": 2, "total": 4, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/AUDIT-SET.html"},
    {"name": "CALL", "category": "CALL", "passed": 0, "total": 6, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/CALL_2.html"},
    {"name": "COMMIT", "category": "COMMIT", "passed": 2, "total": 2, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/COMMIT_2.html"},
    {"name": "CONNECT AS CATALOG", "category": "CONNECT AS CATALOG", "passed": 0, "total": 1, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/CONNECT-AS-CATALOG.html"},
    {"name": "CREATE DOMAIN", "category": "CREATE", "passed": 0, "total": 1, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/CREATE-DOMAIN.html"},
    {"name": "CREATE GROUP", "category": "CREATE", "passed": 0, "total": 1, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/CREATE-GROUP.html"},
    {"name": "CREATE INDEX", "category": "CREATE", "passed": 4, "total": 8, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/CREATE-INDEX_2.html"},
    {"name": "CREATE PROCEDURE", "category": "CREATE", "passed": 0, "total": 1, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/CREATE-PROCEDURE.html"},
    {"name": "CREATE SEQUENCE", "category": "CREATE", "passed": 0, "total": 2, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/CREATE-SEQUENCE.html"},
    {"name": "CREATE SUPER-TENANT", "category": "CREATE", "passed": 0, "total": 1, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/CREATE-SUPER-TENANT.html"},
    {"name": "CREATE SYNONYM", "category": "CREATE", "passed": 1, "total": 2, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/CREATE-SYNONYM.html"},
    {"name": "CREATE TABLE", "category": "CREATE", "passed": 12, "total": 14, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/CREATE-TABLE.html"},
    {"name": "CREATE TENANT", "category": "CREATE", "passed": 0, "total": 3, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/CREATE-TENANT.html"},
    {"name": "CREATE TRIGGER", "category": "CREATE", "passed": 0, "total": 2, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/CREATE-TRIGGER.html"},
    {"name": "CREATE USER", "category": "CREATE", "passed": 2, "total": 2, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/CREATE-USER.html"},
    {"name": "CREATE VIEW", "category": "CREATE", "passed": 3, "total": 3, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/CREATE-VIEW_2.html"},
    {"name": "DELETE", "category": "DELETE", "passed": 2, "total": 2, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/DELETE_2.html"},
    {"name": "DISCONNECT CATALOG", "category": "DISCONNECT CATALOG", "passed": 0, "total": 1, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/DISCONNECT-CATALOG.html"},
    {"name": "DROP DOMAIN", "category": "DROP", "passed": 0, "total": 1, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/DROP-DOMAIN.html"},
    {"name": "DROP GROUP", "category": "DROP", "passed": 0, "total": 1, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/DROP-GROUP.html"},
    {"name": "DROP INDEX", "category": "DROP", "passed": 3, "total": 3, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/DROP-INDEX_2.html"},
    {"name": "DROP PROCEDURE", "category": "DROP", "passed": 1, "total": 1, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/DROP-PROCEDURE_2.html"},
    {"name": "DROP SEQUENCE", "category": "DROP", "passed": 1, "total": 1, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/DROP-SEQUENCE.html"},
    {"name": "DROP SYNONYM", "category": "DROP", "passed": 0, "total": 1, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/DROP-SYNONYM.html"},
    {"name": "DROP TABLE", "category": "DROP", "passed": 1, "total": 1, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/DROP-TABLE.html"},
    {"name": "DROP TENANT", "category": "DROP", "passed": 0, "total": 1, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/DROP-TENANT.html"},
    {"name": "DROP TRIGGER", "category": "DROP", "passed": 1, "total": 1, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/DROP-TRIGGER.html"},
    {"name": "DROP USER", "category": "DROP", "passed": 2, "total": 2, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/DROP-USER_2.html"},
    {"name": "DROP VIEW", "category": "DROP", "passed": 1, "total": 1, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/DROP-VIEW_2.html"},
    {"name": "GRANT", "category": "GRANT", "passed": 4, "total": 6, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/GRANT.html"},
    {"name": "INSERT", "category": "INSERT", "passed": 9, "total": 12, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/INSERT_2.html"},
    {"name": "LOCK TABLE", "category": "LOCK TABLE", "passed": 3, "total": 3, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/LOCK-TABLE_2.html"},
    {"name": "REVOKE", "category": "REVOKE", "passed": 5, "total": 5, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/REVOKE.html"},
    {"name": "ROLLBACK", "category": "ROLLBACK", "passed": 2, "total": 2, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/ROLLBACK_2.html"},
    {"name": "COLUMN_LIST clause", "category": "SELECT", "passed": 7, "total": 7, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/COLUMN_LIST-clause.html"},
    {"name": "FOR UPDATE clause", "category": "SELECT", "passed": 1, "total": 1, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/FOR-UPDATE-clause.html"},
    {"name": "FROM clause", "category": "SELECT", "passed": 1, "total": 1, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/FROM-clause.html"},
    {"name": "GROUP BY clause", "category": "SELECT", "passed": 3, "total": 3, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/GROUP-BY-clause.html"},
    {"name": "HAVING clause", "category": "SELECT", "passed": 1, "total": 1, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/HAVING-clause.html"},
    {"name": "OFFSET and FETCH clauses", "category": "SELECT", "passed": 1, "total": 7, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/OFFSET-and-FETCH-clauses.html"},
    {"name": "ORDER BY clause", "category": "SELECT", "passed": 4, "total": 4, "source": "https://docs.progress.com/zh-CN/bundle/openedge-sql-reference-117/page/ORDER-BY-clause.html"}
  ]
}
