{
  "$schema": "https://docs.sqlparser.com/capabilities/v1/schema/dialect.schema.json",
  "dialect": "doris",
  "display_name": "Apache Doris",
  "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": 46,
    "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": 38, "total": 46},
    "statements": {"passed": 123, "total": 134},
    "statement_classes": {
      "select": {"constructs": {"passed": 5, "total": 8}, "statements": {"passed": 17, "total": 21}},
      "dml": {"constructs": {"passed": 3, "total": 4}, "statements": {"passed": 16, "total": 17}},
      "stored_procedures": {"constructs": {"passed": 0, "total": 0}, "statements": {"passed": 0, "total": 0}}
    }
  },
  "keywords": {
    "kind": "measured",
    "measured_at": "2026-07-29T23:46:37Z",
    "total": 574,
    "allowed_as_identifier": 571,
    "context_specific": 2,
    "blocked": 1,
    "details_url": "https://docs.sqlparser.com/reference/sql-syntax/doris/keyword-compatibility/"
  },
  "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/doris/",
  "constructs": [
    {"name": "ALTER TABLE COLUMN", "category": "ALTER", "passed": 5, "total": 5, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-COLUMN/"},
    {"name": "ALTER TABLE PARTITION", "category": "ALTER", "passed": 4, "total": 4, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-PARTITION/"},
    {"name": "ALTER TABLE PROPERTY", "category": "ALTER", "passed": 6, "total": 6, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-PROPERTY/"},
    {"name": "ALTER TABLE RENAME", "category": "ALTER", "passed": 4, "total": 4, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-RENAME/"},
    {"name": "ALTER VIEW", "category": "ALTER", "passed": 1, "total": 1, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/table-and-view/view/ALTER-VIEW/"},
    {"name": "CREATE ASYNC MATERIALIZED VIEW", "category": "CREATE", "passed": 1, "total": 1, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/table-and-view/async-materialized-view/CREATE-ASYNC-MATERIALIZED-VIEW/"},
    {"name": "CREATE DATABASE", "category": "CREATE", "passed": 3, "total": 3, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/database/CREATE-DATABASE/"},
    {"name": "CREATE INDEX", "category": "CREATE", "passed": 2, "total": 2, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/table-and-view/index/CREATE-INDEX/"},
    {"name": "CREATE MATERIALIZED VIEW", "category": "CREATE", "passed": 1, "total": 1, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/table-and-view/sync-materialized-view/CREATE-MATERIALIZED-VIEW/"},
    {"name": "CREATE TABLE", "category": "CREATE", "passed": 6, "total": 6, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/table-and-view/table/CREATE-TABLE/"},
    {"name": "CREATE TABLE AGGREGATE KEY", "category": "CREATE", "passed": 2, "total": 2, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/table-and-view/table/CREATE-TABLE/"},
    {"name": "CREATE TABLE AS SELECT", "category": "CREATE", "passed": 1, "total": 1, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/table-and-view/table/CREATE-TABLE/"},
    {"name": "CREATE TABLE DYNAMIC PARTITION", "category": "CREATE", "passed": 1, "total": 1, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/table-and-view/table/CREATE-TABLE/"},
    {"name": "CREATE TABLE PARTITION BY LIST", "category": "CREATE", "passed": 2, "total": 2, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/table-and-view/table/CREATE-TABLE/"},
    {"name": "CREATE TABLE PARTITION BY RANGE", "category": "CREATE", "passed": 3, "total": 3, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/table-and-view/table/CREATE-TABLE/"},
    {"name": "CREATE USER", "category": "CREATE", "passed": 5, "total": 5, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/account-management/CREATE-USER/"},
    {"name": "CREATE VIEW", "category": "CREATE", "passed": 2, "total": 2, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/table-and-view/view/CREATE-VIEW/"},
    {"name": "DELETE", "category": "DELETE", "passed": 4, "total": 5, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/data-modification/DML/DELETE/"},
    {"name": "DESCRIBE", "category": "DESCRIBE", "passed": 1, "total": 3, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/table-and-view/table/DESC-TABLE/"},
    {"name": "DROP DATABASE", "category": "DROP", "passed": 2, "total": 2, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/database/DROP-DATABASE/"},
    {"name": "DROP MATERIALIZED VIEW", "category": "DROP", "passed": 0, "total": 2, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/table-and-view/sync-materialized-view/DROP-MATERIALIZED-VIEW/"},
    {"name": "DROP TABLE", "category": "DROP", "passed": 2, "total": 2, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/table-and-view/table/DROP-TABLE/"},
    {"name": "DROP VIEW", "category": "DROP", "passed": 1, "total": 1, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/table-and-view/view/DROP-VIEW/"},
    {"name": "EXPLAIN", "category": "EXPLAIN", "passed": 2, "total": 2, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/data-query/EXPLAIN/"},
    {"name": "EXPORT", "category": "EXPORT", "passed": 4, "total": 4, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/data-modification/load-and-export/EXPORT/"},
    {"name": "GRANT", "category": "GRANT", "passed": 6, "total": 6, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/account-management/GRANT-TO/"},
    {"name": "INSERT", "category": "INSERT", "passed": 6, "total": 6, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/data-modification/DML/INSERT/"},
    {"name": "INSERT OVERWRITE", "category": "INSERT", "passed": 3, "total": 3, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/data-modification/DML/INSERT-OVERWRITE/"},
    {"name": "BROKER LOAD", "category": "LOAD", "passed": 3, "total": 3, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/data-modification/load-and-export/BROKER-LOAD/"},
    {"name": "REVOKE", "category": "REVOKE", "passed": 4, "total": 4, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/account-management/REVOKE-FROM/"},
    {"name": "SELECT", "category": "SELECT", "passed": 5, "total": 6, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/data-query/SELECT/"},
    {"name": "SELECT CTE", "category": "SELECT", "passed": 2, "total": 2, "source": "https://doris.apache.org/docs/3.x/query-data/cte/"},
    {"name": "SELECT GROUPING SETS", "category": "SELECT", "passed": 2, "total": 3, "source": "https://doris.apache.org/docs/3.x/query-data/multi-dimensional-analytics/"},
    {"name": "SELECT INTO OUTFILE", "category": "SELECT", "passed": 0, "total": 2, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/data-modification/load-and-export/OUTFILE/"},
    {"name": "SELECT JOIN", "category": "SELECT", "passed": 4, "total": 4, "source": "https://doris.apache.org/docs/3.x/query-data/subquery/"},
    {"name": "SELECT LATERAL VIEW", "category": "SELECT", "passed": 1, "total": 1, "source": "https://doris.apache.org/docs/3.x/query-data/lateral-view/"},
    {"name": "SELECT UNION", "category": "SELECT", "passed": 2, "total": 2, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/data-query/SELECT/"},
    {"name": "SELECT WINDOW FUNCTION", "category": "SELECT", "passed": 1, "total": 1, "source": "https://doris.apache.org/docs/3.x/query-data/window-function/"},
    {"name": "SET VARIABLE", "category": "SET", "passed": 3, "total": 3, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/session/variable/SET-VARIABLE/"},
    {"name": "SHOW CREATE TABLE", "category": "SHOW", "passed": 1, "total": 2, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/table-and-view/table/SHOW-CREATE-TABLE/"},
    {"name": "SHOW DATABASES", "category": "SHOW", "passed": 2, "total": 2, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/database/SHOW-DATABASES/"},
    {"name": "SHOW PARTITIONS", "category": "SHOW", "passed": 3, "total": 4, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/table-and-view/table/SHOW-PARTITIONS/"},
    {"name": "SHOW TABLES", "category": "SHOW", "passed": 3, "total": 3, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/table-and-view/table/SHOW-TABLES/"},
    {"name": "TRUNCATE TABLE", "category": "TRUNCATE", "passed": 2, "total": 2, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/table-and-view/table/TRUNCATE-TABLE/"},
    {"name": "UPDATE", "category": "UPDATE", "passed": 3, "total": 3, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/data-modification/DML/UPDATE/"},
    {"name": "USE", "category": "USE", "passed": 2, "total": 2, "source": "https://doris.apache.org/docs/3.x/sql-manual/sql-statements/session/context/USE-DATABASE/"}
  ]
}
