{
  "$schema": "https://docs.sqlparser.com/capabilities/v1/schema/matrix.schema.json",
  "product": "General SQL Parser",
  "edition": "java",
  "version": "4.2.6",
  "generated_at": "2026-08-18T13:45:23.850240175Z",
  "provenance": {
    "artifact_sha256": "44c4c247d5ee",
    "corpus_commit": "9f9f18045",
    "methodology_url": "https://docs.sqlparser.com/reference/sql-syntax/#methodology"
  },
  "note": "Pass rates are over GSP's documented-example corpus for each dialect, not a percentage of the entire SQL dialect. Corpora differ in size and exhaustiveness across dialects; do not rank dialects by percentage alone.",
  "totals": {
    "constructs": {"passed": 3480, "total": 3646},
    "statements": {"passed": 10607, "total": 10996}
  },
  "dialects": [
    {"dialect": "athena", "display_name": "Athena", "constructs": {"passed": 32, "total": 32}, "statements": {"passed": 72, "total": 72}, "statement_classes": {"select": {"passed": 8, "total": 8}, "dml": {"passed": 6, "total": 6}, "stored_procedures": {"passed": 0, "total": 0}}, "keywords": {"total": 529, "allowed_as_identifier": 526}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/athena.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/athena/"},
    {"dialect": "bigquery", "display_name": "BigQuery", "constructs": {"passed": 69, "total": 71}, "statements": {"passed": 221, "total": 223}, "statement_classes": {"select": {"passed": 98, "total": 98}, "dml": {"passed": 31, "total": 31}, "stored_procedures": {"passed": 7, "total": 7}}, "keywords": {"total": 271, "allowed_as_identifier": 269}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/bigquery.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/bigquery/"},
    {"dialect": "clickhouse", "display_name": "ClickHouse", "constructs": {"passed": 156, "total": 156}, "statements": {"passed": 717, "total": 717}, "statement_classes": {"select": {"passed": 258, "total": 258}, "dml": {"passed": 47, "total": 47}, "stored_procedures": {"passed": 4, "total": 4}}, "keywords": {"total": 554, "allowed_as_identifier": 551}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/clickhouse.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/clickhouse/"},
    {"dialect": "couchbase", "display_name": "Couchbase", "constructs": {"passed": 30, "total": 38}, "statements": {"passed": 208, "total": 233}, "statement_classes": {"select": {"passed": 97, "total": 108}, "dml": {"passed": 39, "total": 39}, "stored_procedures": {"passed": 0, "total": 0}}, "keywords": {"total": 172, "allowed_as_identifier": 168}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/couchbase.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/couchbase/"},
    {"dialect": "databricks", "display_name": "Databricks", "constructs": {"passed": 34, "total": 38}, "statements": {"passed": 86, "total": 91}, "statement_classes": {"select": {"passed": 11, "total": 11}, "dml": {"passed": 12, "total": 12}, "stored_procedures": {"passed": 2, "total": 3}}, "keywords": {"total": 585, "allowed_as_identifier": 582}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/databricks.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/databricks/"},
    {"dialect": "db2", "display_name": "DB2", "constructs": {"passed": 174, "total": 174}, "statements": {"passed": 524, "total": 524}, "statement_classes": {"select": {"passed": 15, "total": 15}, "dml": {"passed": 44, "total": 44}, "stored_procedures": {"passed": 47, "total": 47}}, "keywords": {"total": 573, "allowed_as_identifier": 570}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/db2.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/db2/"},
    {"dialect": "doris", "display_name": "Apache Doris", "constructs": {"passed": 38, "total": 46}, "statements": {"passed": 123, "total": 134}, "statement_classes": {"select": {"passed": 17, "total": 21}, "dml": {"passed": 16, "total": 17}, "stored_procedures": {"passed": 0, "total": 0}}, "keywords": {"total": 574, "allowed_as_identifier": 571}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/doris.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/doris/"},
    {"dialect": "exasol", "display_name": "Exasol", "constructs": {"passed": 54, "total": 56}, "statements": {"passed": 194, "total": 199}, "statement_classes": {"select": {"passed": 28, "total": 29}, "dml": {"passed": 14, "total": 14}, "stored_procedures": {"passed": 0, "total": 2}}, "keywords": null, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/exasol.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/exasol/"},
    {"dialect": "flink", "display_name": "Flink SQL", "constructs": {"passed": 38, "total": 39}, "statements": {"passed": 127, "total": 129}, "statement_classes": {"select": {"passed": 42, "total": 44}, "dml": {"passed": 6, "total": 6}, "stored_procedures": {"passed": 5, "total": 5}}, "keywords": {"total": 312, "allowed_as_identifier": 309}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/flink.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/flink/"},
    {"dialect": "gaussdb", "display_name": "GaussDB", "constructs": {"passed": 26, "total": 27}, "statements": {"passed": 59, "total": 60}, "statement_classes": {"select": {"passed": 2, "total": 2}, "dml": {"passed": 9, "total": 9}, "stored_procedures": {"passed": 3, "total": 3}}, "keywords": {"total": 584, "allowed_as_identifier": 581}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/gaussdb.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/gaussdb/"},
    {"dialect": "greenplum", "display_name": "Greenplum", "constructs": {"passed": 148, "total": 154}, "statements": {"passed": 460, "total": 487}, "statement_classes": {"select": {"passed": 22, "total": 22}, "dml": {"passed": 35, "total": 35}, "stored_procedures": {"passed": 15, "total": 18}}, "keywords": {"total": 519, "allowed_as_identifier": 466}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/greenplum.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/greenplum/"},
    {"dialect": "hana", "display_name": "SAP HANA", "constructs": {"passed": 122, "total": 126}, "statements": {"passed": 214, "total": 219}, "statement_classes": {"select": {"passed": 26, "total": 26}, "dml": {"passed": 8, "total": 8}, "stored_procedures": {"passed": 4, "total": 6}}, "keywords": {"total": 655, "allowed_as_identifier": 643}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/hana.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/hana/"},
    {"dialect": "hive", "display_name": "Hive", "constructs": {"passed": 75, "total": 89}, "statements": {"passed": 405, "total": 431}, "statement_classes": {"select": {"passed": 145, "total": 147}, "dml": {"passed": 23, "total": 23}, "stored_procedures": {"passed": 0, "total": 1}}, "keywords": {"total": 335, "allowed_as_identifier": 334}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/hive.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/hive/"},
    {"dialect": "impala", "display_name": "Impala", "constructs": {"passed": 46, "total": 47}, "statements": {"passed": 288, "total": 290}, "statement_classes": {"select": {"passed": 75, "total": 75}, "dml": {"passed": 43, "total": 43}, "stored_procedures": {"passed": 1, "total": 1}}, "keywords": {"total": 264, "allowed_as_identifier": 262}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/impala.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/impala/"},
    {"dialect": "informix", "display_name": "Informix", "constructs": {"passed": 134, "total": 164}, "statements": {"passed": 1089, "total": 1153}, "statement_classes": {"select": {"passed": 177, "total": 187}, "dml": {"passed": 65, "total": 71}, "stored_procedures": {"passed": 5, "total": 16}}, "keywords": {"total": 703, "allowed_as_identifier": 674}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/informix.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/informix/"},
    {"dialect": "mysql", "display_name": "MySQL", "constructs": {"passed": 135, "total": 135}, "statements": {"passed": 242, "total": 242}, "statement_classes": {"select": {"passed": 90, "total": 90}, "dml": {"passed": 16, "total": 16}, "stored_procedures": {"passed": 22, "total": 22}}, "keywords": {"total": 538, "allowed_as_identifier": 534}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/mysql.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/mysql/"},
    {"dialect": "netezza", "display_name": "Netezza", "constructs": {"passed": 65, "total": 73}, "statements": {"passed": 149, "total": 169}, "statement_classes": {"select": {"passed": 13, "total": 13}, "dml": {"passed": 14, "total": 16}, "stored_procedures": {"passed": 0, "total": 0}}, "keywords": {"total": 435, "allowed_as_identifier": 432}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/netezza.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/netezza/"},
    {"dialect": "odbc", "display_name": "ODBC", "constructs": {"passed": 19, "total": 22}, "statements": {"passed": 61, "total": 68}, "statement_classes": {"select": {"passed": 41, "total": 42}, "dml": {"passed": 15, "total": 16}, "stored_procedures": {"passed": 0, "total": 0}}, "keywords": {"total": 469, "allowed_as_identifier": 429}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/odbc.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/odbc/"},
    {"dialect": "openedge", "display_name": "OpenEdge", "constructs": {"passed": 49, "total": 49}, "statements": {"passed": 169, "total": 169}, "statement_classes": {"select": {"passed": 20, "total": 20}, "dml": {"passed": 14, "total": 14}, "stored_procedures": {"passed": 3, "total": 3}}, "keywords": {"total": 469, "allowed_as_identifier": 425}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/openedge.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/openedge/"},
    {"dialect": "oracle", "display_name": "Oracle", "constructs": {"passed": 182, "total": 182}, "statements": {"passed": 319, "total": 319}, "statement_classes": {"select": {"passed": 19, "total": 19}, "dml": {"passed": 21, "total": 21}, "stored_procedures": {"passed": 6, "total": 6}}, "keywords": {"total": 690, "allowed_as_identifier": 659}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/oracle.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/oracle/"},
    {"dialect": "postgresql", "display_name": "PostgreSQL", "constructs": {"passed": 127, "total": 132}, "statements": {"passed": 467, "total": 481}, "statement_classes": {"select": {"passed": 45, "total": 46}, "dml": {"passed": 45, "total": 45}, "stored_procedures": {"passed": 14, "total": 16}}, "keywords": {"total": 613, "allowed_as_identifier": 582}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/postgresql.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/postgresql/"},
    {"dialect": "presto", "display_name": "Presto", "constructs": {"passed": 66, "total": 66}, "statements": {"passed": 157, "total": 157}, "statement_classes": {"select": {"passed": 41, "total": 41}, "dml": {"passed": 8, "total": 8}, "stored_procedures": {"passed": 3, "total": 3}}, "keywords": {"total": 519, "allowed_as_identifier": 516}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/presto.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/presto/"},
    {"dialect": "redshift", "display_name": "Redshift", "constructs": {"passed": 88, "total": 90}, "statements": {"passed": 148, "total": 150}, "statement_classes": {"select": {"passed": 22, "total": 22}, "dml": {"passed": 6, "total": 6}, "stored_procedures": {"passed": 3, "total": 3}}, "keywords": {"total": 488, "allowed_as_identifier": 463}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/redshift.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/redshift/"},
    {"dialect": "snowflake", "display_name": "Snowflake", "constructs": {"passed": 455, "total": 455}, "statements": {"passed": 757, "total": 757}, "statement_classes": {"select": {"passed": 94, "total": 94}, "dml": {"passed": 66, "total": 66}, "stored_procedures": {"passed": 38, "total": 38}}, "keywords": {"total": 730, "allowed_as_identifier": 689}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/snowflake.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/snowflake/"},
    {"dialect": "soql", "display_name": "Salesforce SOQL", "constructs": {"passed": 28, "total": 30}, "statements": {"passed": 101, "total": 106}, "statement_classes": {"select": {"passed": 101, "total": 106}, "dml": {"passed": 0, "total": 0}, "stored_procedures": {"passed": 0, "total": 0}}, "keywords": {"total": 541, "allowed_as_identifier": 500}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/soql.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/soql/"},
    {"dialect": "spark", "display_name": "Spark SQL", "constructs": {"passed": 69, "total": 70}, "statements": {"passed": 241, "total": 243}, "statement_classes": {"select": {"passed": 93, "total": 93}, "dml": {"passed": 17, "total": 17}, "stored_procedures": {"passed": 3, "total": 3}}, "keywords": {"total": 330, "allowed_as_identifier": 327}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/spark.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/spark/"},
    {"dialect": "sqlserver", "display_name": "SQL Server", "constructs": {"passed": 290, "total": 290}, "statements": {"passed": 1082, "total": 1082}, "statement_classes": {"select": {"passed": 58, "total": 58}, "dml": {"passed": 58, "total": 58}, "stored_procedures": {"passed": 7, "total": 7}}, "keywords": {"total": 586, "allowed_as_identifier": 541}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/sqlserver.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/sqlserver/"},
    {"dialect": "starrocks", "display_name": "StarRocks", "constructs": {"passed": 34, "total": 40}, "statements": {"passed": 99, "total": 109}, "statement_classes": {"select": {"passed": 20, "total": 21}, "dml": {"passed": 6, "total": 13}, "stored_procedures": {"passed": 0, "total": 0}}, "keywords": {"total": 610, "allowed_as_identifier": 607}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/starrocks.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/starrocks/"},
    {"dialect": "sybase", "display_name": "Sybase", "constructs": {"passed": 111, "total": 123}, "statements": {"passed": 296, "total": 335}, "statement_classes": {"select": {"passed": 15, "total": 15}, "dml": {"passed": 16, "total": 16}, "stored_procedures": {"passed": 4, "total": 9}}, "keywords": {"total": 456, "allowed_as_identifier": 413}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/sybase.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/sybase/"},
    {"dialect": "sybasease", "display_name": "Sybase ASE", "constructs": {"passed": 58, "total": 69}, "statements": {"passed": 232, "total": 245}, "statement_classes": {"select": {"passed": 39, "total": 39}, "dml": {"passed": 12, "total": 14}, "stored_procedures": {"passed": 19, "total": 19}}, "keywords": null, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/sybasease.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/sybasease/"},
    {"dialect": "sqlanywhere", "display_name": "SAP SQL Anywhere", "constructs": {"passed": 108, "total": 119}, "statements": {"passed": 291, "total": 328}, "statement_classes": {"select": {"passed": 15, "total": 15}, "dml": {"passed": 16, "total": 16}, "stored_procedures": {"passed": 4, "total": 8}}, "keywords": null, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/sqlanywhere.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/sqlanywhere/"},
    {"dialect": "sybaseiq", "display_name": "Sybase IQ", "constructs": {"passed": 111, "total": 123}, "statements": {"passed": 296, "total": 335}, "statement_classes": {"select": {"passed": 15, "total": 15}, "dml": {"passed": 16, "total": 16}, "stored_procedures": {"passed": 4, "total": 9}}, "keywords": null, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/sybaseiq.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/sybaseiq/"},
    {"dialect": "teradata", "display_name": "Teradata", "constructs": {"passed": 45, "total": 47}, "statements": {"passed": 116, "total": 118}, "statement_classes": {"select": {"passed": 40, "total": 40}, "dml": {"passed": 8, "total": 8}, "stored_procedures": {"passed": 5, "total": 5}}, "keywords": {"total": 702, "allowed_as_identifier": 698}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/teradata.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/teradata/"},
    {"dialect": "trino", "display_name": "Trino", "constructs": {"passed": 68, "total": 78}, "statements": {"passed": 151, "total": 175}, "statement_classes": {"select": {"passed": 45, "total": 46}, "dml": {"passed": 9, "total": 9}, "stored_procedures": {"passed": 2, "total": 2}}, "keywords": null, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/trino.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/trino/"},
    {"dialect": "vertica", "display_name": "Vertica", "constructs": {"passed": 196, "total": 196}, "statements": {"passed": 446, "total": 446}, "statement_classes": {"select": {"passed": 64, "total": 64}, "dml": {"passed": 14, "total": 14}, "stored_procedures": {"passed": 10, "total": 10}}, "keywords": {"total": 576, "allowed_as_identifier": 573}, "details_url": "https://docs.sqlparser.com/capabilities/v1/dialects/vertica.json", "docs_url": "https://docs.sqlparser.com/reference/sql-syntax/vertica/"}
  ],
  "not_measured": ["ansi", "sqlite"]
}
