Skip to content

Grammar support

typed-sql classifies its application-query surface explicitly. exact means row types, ordered parameters, diagnostics, and relevant semantics are proven by executable tests. conservative means uncertain results remain unknown. unsupported and out-of-scope features fail closed instead of receiving optimistic inference.

The ranges below describe supported language lines. Exact server patches exercised by release CI are recorded separately from these ranges; an unrecognized future version remains conservative until its behavior is classified.

Version policy

GrammarStable range or linesCanary range or lines
MySQL8.4, 9.726.7
PostgreSQL14, 15, 16, 17, 1819
SQLite3.39.0–3.53.43.54.0

Feature classifications

FeatureCategoryMySQLPostgreSQLSQLite
expression.aggregate.filter — Aggregate FILTER clauseclauseunsupportedexactexact (from 3.30.0)
expression.aggregate.within-group — Ordered-set aggregate WITHIN GROUP syntaxclauseunsupportedexactunsupported
expression.array.constructor — Array constructor and expressionsexpressionunsupportedexactunsupported
expression.array.subscript — PostgreSQL array subscripts and slicesexpressionunsupportedexactunsupported
expression.at-local — PostgreSQL AT LOCAL conversionexpressionunsupportedexact (from 17)unsupported
expression.at-time-zone — PostgreSQL AT TIME ZONE conversionexpressionunsupportedexactunsupported
expression.cast — CAST expressions and type namesexpressionexactexactexact
expression.collate — Explicit expression collationexpressionconservativeconservativeunsupported
expression.composite-field — PostgreSQL composite field selectionexpressionunsupportedexactunsupported
expression.function.call — Catalog and application function callsfunction-familyconservativeconservativeconservative (from 3.39.0)
expression.function.date-time — SQLite date and time functions and modifiersfunction-familyout-of-scopeout-of-scopeexact (from 3.39.0)
expression.function.json — SQLite JSON and JSONB scalar, aggregate, operator, and table functionsfunction-familyout-of-scopeout-of-scopeexact (from 3.39.0)
expression.function.math-extensions — SQLite compile-option math and extension functionsfunction-familyout-of-scopeout-of-scopeexact (from 3.39.0)
expression.function.registry — SQLite application-defined scalar, aggregate, and window routine registryfunction-familyout-of-scopeout-of-scopeexact (from 3.39.0)
expression.interval-literal — PostgreSQL interval literals and field qualifiersexpressionunsupportedexactunsupported
expression.json-path — PostgreSQL JSON-path literals, operators, and core routinesexpressionunsupportedexactunsupported
expression.operator — Unary and binary operatorsoperatorconservativeconservativeconservative (from 3.39.0)
expression.quantified-comparison — ANY, SOME, and ALL comparisonsexpressionconservativeexactunsupported
expression.row-comparison — Row constructor comparisonsexpressionconservativeexactconservative
expression.scalar — Columns, stars, literals, and parametersexpressionexactexactexact
expression.sql-json-aggregates — PostgreSQL SQL/JSON object and array aggregatesexpressionunsupportedexact (from 16)unsupported
expression.sql-json-constructors — PostgreSQL SQL/JSON object and array constructorsexpressionunsupportedexact (from 16)unsupported
expression.sql-json-conversion — PostgreSQL SQL/JSON parsing, scalar conversion, and serializationexpressionunsupportedexact (from 17)unsupported
expression.sql-json-exists — PostgreSQL SQL/JSON JSON_EXISTS expressionexpressionunsupportedexact (from 17)unsupported
expression.sql-json-predicate — PostgreSQL SQL/JSON IS JSON predicateexpressionunsupportedexact (from 16)unsupported
expression.sql-json-query — PostgreSQL SQL/JSON JSON_QUERY expressionexpressionunsupportedexact (from 17)unsupported
expression.sql-json-value — PostgreSQL SQL/JSON JSON_VALUE expressionexpressionunsupportedexact (from 17)unsupported
expression.structured — Row, CASE, predicate, and subquery expressionsexpressionexactexactexact
lexical.structure — Identifiers, literals, comments, parameters, tokens, and source rangeslexicalexactexactconservative
query.cte — Ordinary common table expressionsclauseexact (from 8.0.1)exact (from 8.4)exact (from 3.8.3)
query.distinct — DISTINCT and ALL projection modifiersclauseexactexactexact
query.distinct-on — DISTINCT ONclauseunsupportedexactunsupported
query.grouping — GROUP BY, HAVING, and grammar-specific grouping formsclauseexactexactexact
query.join — Named, cross, inner, and outer joinsclauseexactexactexact
query.join.full — FULL OUTER JOINclauseunsupportedexactexact (from 3.39.0)
query.locking.read — Locking read clausesclauseexactexactunsupported
query.ordering-pagination — Ordering, limiting, and offsetting rowsclauseexactexactexact
query.projection — Projection items, aliases, and output namingclauseexactexactexact
query.relation — Named tables and derived table referencesclauseexactexactexact
query.relation.derived-alias-optional — PostgreSQL unaliased derived tablesclauseunsupportedexact (from 16)out-of-scope
query.relation.function — Function calls as table relationsclauseunsupportedexactexact
query.relation.json-table — PostgreSQL SQL/JSON JSON_TABLE row sourceclauseunsupportedexact (from 17)unsupported
query.relation.lateral — LATERAL derived tablesclauseexact (from 8.0.14)exact (from 9.3)unsupported
query.relation.rows-from — PostgreSQL ROWS FROM and WITH ORDINALITYclauseunsupportedexactunsupported
query.relation.table-sample — PostgreSQL TABLESAMPLE and REPEATABLEclauseunsupportedexactunsupported
query.set-operation — Set operationsclauseexact (from 8.0.31)exactexact
query.window — Named and inline window specificationsclauseexact (from 8.0)exact (from 8.4)exact (from 3.25.0)
query.with.recursive — Recursive common table expressionsclauseexact (from 8.0.1)exact (from 8.4)exact (from 3.8.3)
query.with.search-cycle — Recursive CTE SEARCH and CYCLE clausesclauseunsupportedexact (from 14)unsupported
resolver.catalog — Catalog name, type, coercion, and nullability resolutioncoercionconservativeconservativeconservative (from 3.39.0)
runtime.bulk-transfer — Native bulk import and export capabilitiesruntimeexactexactunsupported
runtime.codec-policy — Compile-time and runtime type codec policyruntimeexactexactexact
runtime.execution — Buffered, prepared, batched, and transactional executionruntimeexactexactexact
runtime.execution-control — Cancellation signals and absolute deadlinesruntimeexactexactunsupported
runtime.extension-manifest.postgres — Versioned PostgreSQL extension manifestsruntimeunsupportedexactunsupported
runtime.introspection — Schema and server-evidence introspectionschemaexactexactexact (from 3.39.0)
runtime.pipeline.postgres — PostgreSQL protocol pipeline executionruntimeout-of-scopeexactout-of-scope
runtime.streaming — Bounded asynchronous row streamingruntimeexactexactexact
runtime.verification-and-plans — Live metadata verification and query-plan inspectionruntimeexactexactunsupported
schema.column.generated-assignment — Generated-column insert and update restrictionsschemaconservativeconservativeexact
schema.sqlite.structural-evidence — SQLite rowid, generated, virtual, index, constraint, and attached-database evidenceschemaout-of-scopeout-of-scopeexact (from 3.39.0)
schema.table.strict — STRICT tablestype-familyout-of-scopeout-of-scopeexact (from 3.37.0)
semantic.query-evidence — Operation, dependency, cardinality, volatility, locking, and affinity evidencesemanticconservativeconservativeconservative
statement.cte.data-modifying — Data-modifying statements in common table expressionsstatementconservativeexactunsupported
statement.delete — DELETE statementsstatementexactexactexact
statement.dml.delete-using — DELETE USING source relationsclauseexactexactunsupported
statement.dml.modifiers — DML priority, IGNORE, QUICK, partition, ordering, and limit modifiersclauseexactout-of-scopeout-of-scope
statement.dml.multi-table — MySQL multi-table UPDATE and DELETEstatementexactout-of-scopeout-of-scope
statement.dml.positioned-update-delete — PostgreSQL positioned UPDATE and DELETEclauseunsupportedexactunsupported
statement.dml.returning — DML RETURNING clauseclauseunsupportedexactexact (from 3.35.0)
statement.dml.returning-old-new — PostgreSQL OLD and NEW RETURNING namespacesclauseunsupportedexact (from 18)unsupported
statement.dml.update-from — UPDATE FROM source relationsclauseunsupportedexactexact (from 3.33.0)
statement.insert — INSERT statements and multi-row VALUES sourcesstatementexactexactexact
statement.insert.conflict — INSERT conflict handling and UPSERT clausesclauseunsupportedexact (from 9.5)exact (from 3.24.0)
statement.insert.default-values — INSERT DEFAULT VALUESclauseunsupportedexactexact
statement.insert.duplicate-key — MySQL ON DUPLICATE KEY UPDATE and inserted-row aliasesclauseexactout-of-scopeout-of-scope
statement.insert.identity-overriding — INSERT identity OVERRIDING clausesclauseunsupportedexactunsupported
statement.merge — Versioned PostgreSQL MERGE statementsstatementunsupportedexact (from 15)unsupported
statement.out-of-scope.commands — Administrative, replication, maintenance, and procedural commandsstatementout-of-scopeout-of-scopeout-of-scope
statement.replace — MySQL REPLACE statementsstatementexactout-of-scopeout-of-scope
statement.select — SELECT statementsstatementexactexactexact
statement.update — UPDATE statements and assignmentsstatementexactexactexact
tooling.compiler.artifacts — Static extraction, generated declarations, and query manifeststoolingexactexactexact
tooling.diagnostics — Stable diagnostics, suggestions, and source spanstoolingexactexactexact
tooling.editor.integration — TypeScript preview bridge and language-server analysistoolingconservativeconservativeconservative
tooling.parser.resource-limits — Bounded SQL length, token count, and parse depthtoolingexactexactexact
tooling.structural-sql — Explicit structural SQL and parameter-safe compositiontoolingexactexactexact

Administrative, replication, maintenance, and procedural command languages are outside the application-query contract. They receive syntax, unsupported, or dynamic-query diagnostics when encountered through static analysis.

This page is generated from grammar/features/ledger.json. Update the ledger, its executable evidence, and this page together.

Released under the MIT License.