sqlparser
Parses sqlite statements and performs static analysis on them
0.45.0
1.3M downloads/mo
#298 most downloaded on pub.dev
simolus3/drift
What this package is like to depend on
Last release 1 months ago
07 Jul 2026
Release timing varies
gaps range from 3 weeks to 6 months
Nearly every release is documented
notes for 80 of 81 stable releases
1 version withdrawn
withdrawn after publishing
7 years old
83 releases · first in 2019
13 releases in the last 12 months
see the full history below
Release timeline
83 releases · Jul 2019 to Jul 2026
2020
2021
2022
2023
2024
2025
2026
Releases
latest 60 of 83-
0.45.007 Jul 2026Release notes
Open source →- Re-release of version
0.44.6which contained breaking changes and should not have been released as a patch version. - Breaking: Refactor
DartPlaceholderto a sealed class.
- Re-release of version
-
0.44.606 Jul 2026 withdrawnRelease notes
Open source →- Fix join analysis to properly treat the left side of a
RIGHTorFULL
join as nullable (#3812). - Fix
CaseInsensitiveMap.containsKeyto be case-insensitive.
Release notes
Open source →- Fix join analysis to properly treat the left side of a
RIGHTorFULLjoin as nullable (#3812). - Fix
CaseInsensitiveMap.containsKeyto be case-insensitive.
- Fix join analysis to properly treat the left side of a
-
0.44.510 Jun 2026 -
0.44.403 May 2026 -
0.44.319 Mar 2026Release notes
Open source →- Add support for features added in SQLite 3.52.0.
- Add
supportPostgresCastsfield onEngineOptionsto parse::casts.
-
0.44.206 Mar 2026 -
0.44.101 Mar 2026 -
0.44.028 Feb 2026Release notes
Open source →- Refactor the different
parsemethods onSqlEngineinto a single one taking anParserEntrypointenum. - In drift files, allow reading imports and statement metadata from comments.
- Make
QueryableandTableOrSubquerysealed classes, removeQueryable.when. - Expose tokens making up
References andTableReferences. - Turn
ASclauses into an explicit AST node with better spans.
- Refactor the different
-
0.43.103 Feb 2026Release notes
Open source →- Make
NamedWindowDeclarationan AST node. - Support parsing
DROP,VACUUM,REINDEX,ATTACH,DETACH,SAVEPOINTRELEASE,ROLLBACK,ANALYZE,PRAGMAandALTER TABLEstatements. - Add
SchemaBufferclass to applyALTER TABLEandDROPstatements toCREATEstatements.
- Make
-
0.43.012 Jan 2026Release notes
Open source →- Allow parsing SQL from
FileSpans, which is convenient for SQL embedded as text in outer structures.
- Allow parsing SQL from
-
0.42.105 Dec 2025 -
0.42.018 Oct 2025Release notes
Open source →- Fix unresolved references in CTEs resolving against the scope of the main query.
- Static analysis support for the PowerSync SQLite extension.
-
0.41.205 Sep 2025Release notes
Open source →- Improve error message on unknown columns when it looks like the identifier should have been a string literal.
- Infer the output of
lag,leadandnth_valueto be nullable.
-
0.41.113 Jul 2025 -
0.41.021 Jan 2025Release notes
Open source →- Replace
ColonNamedVariablewithNamedVariablefor all named variables. - Analysis support for SQLite 3.48.
- Fix nullability analysis around fts5 tables (enabled when raising the version to 3.48 to preserve backwards-compatibility).
- Replace
-
0.40.028 Nov 2024Release notes
Open source →- Add support for the
dbstatmodule. - Prioritize null propagation in type resolver, leading to more accurate analysis on which columns are nullable.
- Add support for the
-
0.39.224 Oct 2024Release notes
Open source →- Fix false-positive lint for a parameter count mismatch on
bm25(). - Fix type interference around
fts5function calls.
- Fix false-positive lint for a parameter count mismatch on
-
0.39.114 Oct 2024 -
0.39.022 Sep 2024Release notes
Open source →- When using the
parsemethods onSqlEngine, tokenizer errors are now included in the result instead of throwing an exception.
- When using the
-
0.38.110 Sep 2024 -
0.38.008 Sep 2024Release notes
Open source →- Resolve
json_extractreturn types from context if possible. - Warn when
INSTEAD OFtriggers are not used on views. - Represent writes to views in
TableWrite.
- Resolve
-
0.37.119 Jul 2024Release notes
Open source →- Refine nullability analysis for subquery expressions: Queries with aggregate invocations are no longer considered nullable (the aggregate invocation had to be a top-level expression before).
-
0.37.011 Jul 2024Release notes
Open source →- Add support for sqlite 3.46.0.
- Make columns coming from subquery expressions nullable.
-
0.36.004 May 2024 -
0.35.124 Apr 2024Release notes
Open source →- Fix
INexpressions accepting aliases, causing some queries to get parsed incorrectly.
- Fix
-
0.35.020 Apr 2024Release notes
Open source →- Fix parsing binary literals.
- Expand support for
INexpressions, they now support tuples on the left-hand side and the shorthand syntax for table references and table-valued functions. - Drift extensions: Allow custom class names for
CREATE VIEWstatements. - Drift extensions: Support the
INT64hint forCREATE TABLEstatements.
-
0.34.124 Feb 2024Release notes
Open source →- Allow selecting from virtual tables using the table-valued function syntax.
-
0.34.017 Jan 2024Release notes
Open source →- Fix explicit
NULLcolumn constraints being dropped when converting nodes to SQL. - Add analysis errors for illegal unqualified references to
oldandnewin triggers. - Analysis support for sqlite 3.45 and jsonb functions.
- Fix explicit
-
0.33.004 Dec 2023 -
0.32.129 Oct 2023Release notes
Open source →- Treat the result of
sum()as nullable when inferring types. - Support features added in sqlite 3.44:
ORDER BYclauses as part of aggregate functions.- Support
concat,concat_wsandstring_agg.
- Treat the result of
-
0.32.020 Oct 2023 -
0.31.327 Sep 2023 -
0.31.224 Sep 2023 -
0.31.127 Aug 2023Release notes
Open source →- Add the
sqlite3_schematable to the builtin tables supported by everySqlEngineinstance. - Support the
timediffandoctet_lengthfunctions from sqlite 3.43.0.
- Add the
-
0.31.011 Aug 2023 -
0.30.320 Jun 2023 -
0.30.208 Jun 2023Release notes
Open source →- Fix false-positive "unknown table" errors when the same table is used in a join with and then without an alias.
-
0.30.101 Jun 2023 -
0.30.015 May 2023 -
0.29.010 May 2023Release notes
Open source →- Parser support for constructor names in
WITHdrift syntax. - Support resolving
IIFfunctions. - Fix a crash when a CTE is used on an insert, update or delete statement.
- Fix wrong column names being reported for references in subqueries and CTEs.
- Parser support for constructor names in
-
0.28.110 Apr 2023Release notes
Open source →- Fix false-positive warnings about
ASaliases in subqueries used in triggers.
- Fix false-positive warnings about
-
0.28.020 Mar 2023Release notes
Open source →- Support the
unhexfunction added in sqlite 3.41.0 - Support custom keyword sets when formatting SQL.
- Support the
-
0.27.029 Jan 2023 -
0.26.121 Jan 2023 -
0.26.003 Jan 2023Release notes
Open source →- Remove token parameter from constructor in
Literalsubclasses andNumberedVariable.
- Remove token parameter from constructor in
-
0.25.029 Dec 2022Release notes
Open source →- Better analysis support for
ANYcolumns inSTRICTtables. - Assign resolved schema columns to synctactical
ResultColumnin queries.
- Better analysis support for
-
0.24.027 Nov 2022 -
0.23.306 Oct 2022 -
0.23.229 Aug 2022 -
0.23.121 Aug 2022 -
0.23.014 Aug 2022 -
0.22.007 Jun 2022Release notes
Open source →- Refactor how tables and columns are resolved internally.
- Lint for
DISTINCTmisuse in aggregate function calls. - Support the
RIGHTandFULLjoin operators added in sqlite 3.39.0. - Support
IS DISTINCT FROMandIS NOT DISTINCT FROMsyntax added in sqlite 3.39.0. - Fix type inference for
SUM()calls around int "subtypes" (like booleans).
-
0.21.013 Mar 2022Release notes
Open source →- Analysis support for new features in sqlite version 3.38.
- Replace internal
moorreferences withdriftreferences.
-
0.20.121 Feb 2022 -
0.20.009 Feb 2022 -
0.19.225 Jan 2022 -
0.19.130 Dec 2021 -
0.19.011 Dec 2021Release notes
Open source →- Support generated columns.
- Support features introduced in sqlite version 3.37, most notably
STRICTtables.
-
0.18.102 Dec 2021 -
0.18.011 Oct 2021Release notes
Open source →- Fix unecessary errors around
fts5tables - Merge all moor-specific nodes into a single
visitMoorSpecificvisitor method - Parse
BEGINandCOMMITstatements - Improve type inference around
RETURNINGclauses.
- Fix unecessary errors around