2023-10-03 11:54:28 -07:00
|
|
|
## 0.32.0-dev
|
|
|
|
|
|
|
|
- Turn `ResolvedType.hints` into a list, supporting multiple type hints.
|
|
|
|
|
2023-09-27 05:48:03 -07:00
|
|
|
## 0.31.3
|
2023-09-26 14:15:29 -07:00
|
|
|
|
|
|
|
- Fix star columns expanding to more columns than they should.
|
|
|
|
|
2023-09-24 07:17:07 -07:00
|
|
|
## 0.31.2
|
|
|
|
|
|
|
|
- Add `CaseInsensitiveMap.of` to wrap existing maps.
|
|
|
|
|
2023-08-27 08:11:04 -07:00
|
|
|
## 0.31.1
|
2023-08-16 15:15:36 -07:00
|
|
|
|
|
|
|
- Add the `sqlite3_schema` table to the builtin tables supported by every
|
|
|
|
`SqlEngine` instance.
|
2023-08-27 08:11:04 -07:00
|
|
|
- Support the `timediff` and `octet_length` functions from sqlite 3.43.0.
|
2023-08-16 15:15:36 -07:00
|
|
|
|
2023-08-11 06:20:22 -07:00
|
|
|
## 0.31.0
|
2023-07-15 15:29:29 -07:00
|
|
|
|
|
|
|
- Add `SqlEngine.parseMultiple` to parse multiple statements into one AST.
|
|
|
|
|
2023-06-20 05:17:53 -07:00
|
|
|
## 0.30.3
|
|
|
|
|
|
|
|
- Fix `WITH` clauses not being resolved for compound select statements.
|
|
|
|
|
2023-06-03 14:10:54 -07:00
|
|
|
## 0.30.2
|
|
|
|
|
|
|
|
- Fix false-positive "unknown table" errors when the same table is used in a
|
|
|
|
join with and then without an alias.
|
|
|
|
|
2023-05-31 15:08:41 -07:00
|
|
|
## 0.30.1
|
|
|
|
|
|
|
|
- Report syntax error for `WITH` clauses in triggers.
|
|
|
|
|
2023-05-14 23:51:48 -07:00
|
|
|
## 0.30.0
|
2023-05-10 03:00:44 -07:00
|
|
|
|
|
|
|
- Add `previous` and `next` fields for tokens
|
|
|
|
|
2023-05-10 01:24:58 -07:00
|
|
|
## 0.29.0
|
2023-04-18 03:42:51 -07:00
|
|
|
|
2023-04-23 07:21:31 -07:00
|
|
|
- Parser support for constructor names in `WITH` drift syntax.
|
2023-04-18 03:42:51 -07:00
|
|
|
- Support resolving `IIF` functions.
|
2023-04-20 07:43:27 -07:00
|
|
|
- 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.
|
2023-04-18 03:42:51 -07:00
|
|
|
|
2023-04-10 14:33:36 -07:00
|
|
|
## 0.28.1
|
2023-03-26 12:44:12 -07:00
|
|
|
|
|
|
|
- Fix false-positive warnings about `AS` aliases in subqueries used in triggers.
|
|
|
|
|
2023-03-20 13:39:41 -07:00
|
|
|
## 0.28.0
|
2023-02-22 14:05:17 -08:00
|
|
|
|
|
|
|
- Support the `unhex` function added in sqlite 3.41.0
|
2023-02-25 04:16:33 -08:00
|
|
|
- Support custom keyword sets when formatting SQL.
|
2023-02-22 14:05:17 -08:00
|
|
|
|
2023-01-05 14:04:36 -08:00
|
|
|
## 0.27.0
|
|
|
|
|
|
|
|
- Add `mappedBy` to `ExpressionResultColumn` when parsing in drift mode.
|
|
|
|
|
2023-01-20 09:14:37 -08:00
|
|
|
## 0.26.1
|
|
|
|
|
|
|
|
- Fix missing space when formatting aggregate functions.
|
|
|
|
|
2023-01-02 14:56:28 -08:00
|
|
|
## 0.26.0
|
2022-12-30 11:46:18 -08:00
|
|
|
|
|
|
|
- Remove token parameter from constructor in `Literal` subclasses and `NumberedVariable`.
|
|
|
|
|
2022-12-28 14:15:12 -08:00
|
|
|
## 0.25.0
|
|
|
|
|
|
|
|
- Better analysis support for `ANY` columns in `STRICT` tables.
|
|
|
|
- Assign resolved schema columns to synctactical `ResultColumn` in queries.
|
|
|
|
|
2022-11-27 08:05:16 -08:00
|
|
|
## 0.24.0
|
2022-10-29 05:39:28 -07:00
|
|
|
|
|
|
|
- Make `Fts5Table` constructor public.
|
|
|
|
|
2022-10-06 13:56:25 -07:00
|
|
|
## 0.23.3
|
|
|
|
|
|
|
|
- Analysis support for the spellfix extension.
|
|
|
|
|
2022-08-29 13:27:35 -07:00
|
|
|
## 0.23.2
|
2022-08-22 14:21:54 -07:00
|
|
|
|
|
|
|
- Support resolving the `fts5vocab` module when `fts5` is enabled - thanks to
|
|
|
|
[@FaFre](https://github.com/FaFre).
|
2022-08-24 00:23:31 -07:00
|
|
|
- Support the `rtree` extension - also thanks to [@FaFre](https://github.com/FaFre)!
|
2022-08-22 14:21:54 -07:00
|
|
|
- Improve references resolving across subqueries.
|
|
|
|
|
2022-08-21 04:47:00 -07:00
|
|
|
## 0.23.1
|
2022-08-20 06:57:54 -07:00
|
|
|
|
|
|
|
- Gracefully handle tokenizer errors related to `@` or `$` variables.
|
|
|
|
|
2022-08-13 12:55:22 -07:00
|
|
|
## 0.23.0
|
|
|
|
|
|
|
|
- Apply type hints for date times on textual datetime functions as well.
|
|
|
|
|
2022-06-07 05:39:45 -07:00
|
|
|
## 0.22.0
|
2022-05-08 00:05:23 -07:00
|
|
|
|
2022-05-26 11:35:53 -07:00
|
|
|
- Refactor how tables and columns are resolved internally.
|
2022-05-08 00:05:23 -07:00
|
|
|
- Lint for `DISTINCT` misuse in aggregate function calls.
|
2022-05-26 14:35:05 -07:00
|
|
|
- Support the `RIGHT` and `FULL` join operators added in sqlite 3.39.0.
|
2022-05-26 13:24:41 -07:00
|
|
|
- Support `IS DISTINCT FROM` and `IS NOT DISTINCT FROM` syntax added in sqlite
|
|
|
|
3.39.0.
|
2022-05-30 08:12:07 -07:00
|
|
|
- Fix type inference for `SUM()` calls around int "subtypes" (like booleans).
|
2022-05-08 00:05:23 -07:00
|
|
|
|
2022-02-23 13:06:42 -08:00
|
|
|
## 0.21.0
|
|
|
|
|
|
|
|
- Analysis support for new features in sqlite version 3.38.
|
2022-02-26 12:38:28 -08:00
|
|
|
- Replace internal `moor` references with `drift` references.
|
2022-02-23 13:06:42 -08:00
|
|
|
|
2022-02-21 11:50:50 -08:00
|
|
|
## 0.20.1
|
|
|
|
|
|
|
|
- Fix SQL generation for upsert statements with a conflict target.
|
|
|
|
|
2022-02-09 07:23:43 -08:00
|
|
|
## 0.20.0
|
|
|
|
|
|
|
|
- Support `LIST` columns for a drift-specific feature.
|
|
|
|
|
2022-01-24 08:47:53 -08:00
|
|
|
## 0.19.2
|
|
|
|
|
|
|
|
- Improve handling of drift-specific column types in `STRICT` tables.
|
|
|
|
|
2021-12-30 08:28:56 -08:00
|
|
|
## 0.19.1
|
|
|
|
|
|
|
|
- Make the result of `group_concat` nullable.
|
|
|
|
|
2021-12-11 04:17:37 -08:00
|
|
|
## 0.19.0
|
2021-11-07 13:10:08 -08:00
|
|
|
|
2021-12-11 04:21:49 -08:00
|
|
|
- Support generated columns.
|
|
|
|
- Support features introduced in sqlite version 3.37, most notably `STRICT` tables.
|
|
|
|
|
2021-12-02 04:15:20 -08:00
|
|
|
## 0.18.1
|
|
|
|
|
|
|
|
- Fix the AST comparator missing errors for different amount of children.
|
2021-11-07 13:10:08 -08:00
|
|
|
|
2021-10-11 06:55:01 -07:00
|
|
|
## 0.18.0
|
2021-09-11 07:53:32 -07:00
|
|
|
|
|
|
|
- Fix unecessary errors around `fts5` tables
|
|
|
|
- Merge all moor-specific nodes into a single `visitMoorSpecific` visitor method
|
|
|
|
- Parse `BEGIN` and `COMMIT` statements
|
2021-09-30 09:19:00 -07:00
|
|
|
- Improve type inference around `RETURNING` clauses.
|
2021-09-11 07:53:32 -07:00
|
|
|
|
2021-08-20 09:58:15 -07:00
|
|
|
## 0.17.2
|
|
|
|
|
|
|
|
- Fix nullability analysis of `COALESCE` and `IFNULL`
|
|
|
|
|
2021-07-07 12:25:57 -07:00
|
|
|
## 0.17.1
|
|
|
|
|
|
|
|
- Fix nullability analysis of references and star columns
|
|
|
|
|
2021-05-21 08:46:27 -07:00
|
|
|
## 0.17.0
|
|
|
|
|
|
|
|
- Refactor how tables and columns are resolved in statements
|
|
|
|
- The new `ResultSetAvailableInStatement` class describes a result set that
|
|
|
|
has been added to a statement, for instance through a from clause
|
|
|
|
- A `TableOrSubquery` with an alias now introduces a `TableAlias` instead of
|
|
|
|
the original table
|
|
|
|
|
2021-05-15 08:23:29 -07:00
|
|
|
## 0.16.0
|
2021-03-30 01:30:24 -07:00
|
|
|
|
|
|
|
- New analysis checks for `RETURNING`: Disallow `table.*` syntax and aggregate expressions
|
2021-04-21 11:29:50 -07:00
|
|
|
- Support `RAISE` expressions in triggers
|
2021-03-30 02:03:12 -07:00
|
|
|
- Fix resolving columns when `RETURNING` is used in an `UPDATE FROM` statement
|
2021-04-02 12:54:31 -07:00
|
|
|
- Fix aliases to rowid being reported as nullable
|
2021-03-30 01:30:24 -07:00
|
|
|
|
2021-03-18 08:25:00 -07:00
|
|
|
## 0.15.0
|
2021-02-25 11:29:57 -08:00
|
|
|
|
2021-03-13 06:21:27 -08:00
|
|
|
- __Breaking__: Change `InsertStatement.upsert` to a list of upsert clauses
|
2021-03-18 08:25:00 -07:00
|
|
|
- Support multiple upsert clauses
|
|
|
|
- Do not require a conflict target in the last clause
|
2021-03-13 12:50:35 -08:00
|
|
|
- Support `RETURNING` clauses in updates, deletes and inserts
|
2021-03-13 03:49:46 -08:00
|
|
|
- Support `FROM` clauses in `UPDATE` statements
|
2021-03-13 05:00:06 -08:00
|
|
|
- Support `MATERIALIZED`/`NOT MATERIALIZED` hints in common table expressions
|
2021-03-13 05:37:44 -08:00
|
|
|
- Add `BuiltInMathExtension` which corresponds to the `-DSQLITE_ENABLE_MATH_FUNCTIONS`
|
|
|
|
compile-time option for sqlite.
|
2021-03-18 08:25:00 -07:00
|
|
|
- Add `EngineOptions.version` argument to specify the desired sqlite version. Using newer features will be reported as
|
|
|
|
analysis warnings.
|
2021-02-25 11:29:57 -08:00
|
|
|
- Fix `rank` columns of fts5 tables being misreported as integers
|
|
|
|
|
2021-02-20 13:03:34 -08:00
|
|
|
## 0.14.0
|
2021-02-14 07:36:01 -08:00
|
|
|
|
|
|
|
- Fix views using common table expressions
|
|
|
|
|
2021-01-18 05:44:05 -08:00
|
|
|
## 0.13.0-nullsafety.0
|
|
|
|
|
|
|
|
- Parse ordering in table key constraints
|
2021-03-18 08:25:00 -07:00
|
|
|
- Deprecate `KeyClause.indexedColumns` in favor of `KeyClause.columns`
|
2021-01-18 05:44:05 -08:00
|
|
|
|
2021-01-11 11:15:10 -08:00
|
|
|
## 0.12.0-nullsafety.0
|
2020-11-23 11:01:31 -08:00
|
|
|
|
2020-12-11 01:53:17 -08:00
|
|
|
- Migrate to null-safety
|
|
|
|
- Remove legacy type inference
|
2020-11-23 11:01:31 -08:00
|
|
|
- Parser support for new moor features
|
|
|
|
|
2020-08-21 07:44:17 -07:00
|
|
|
## 0.11.0
|
|
|
|
|
2021-03-18 08:25:00 -07:00
|
|
|
- New `package:sqlparser/utils/node_to_text.dart` library that turns an AST node back into a textual representation.
|
2020-10-22 05:17:54 -07:00
|
|
|
- Fix precedence of `CASE` expressions
|
2020-08-21 07:44:17 -07:00
|
|
|
|
2020-08-07 11:38:32 -07:00
|
|
|
## 0.10.1
|
|
|
|
|
|
|
|
- Scan identifiers with `[bracket syntax]`
|
|
|
|
- `NumericToken` now contains individual lexemes making up the number
|
|
|
|
- Improve error messages in some scenarios
|
|
|
|
- Fix type inference for binary expressions where the operands have incompatible types
|
2021-03-18 08:25:00 -07:00
|
|
|
- Improve type inference around `NULL`
|
2020-08-07 11:38:32 -07:00
|
|
|
|
2020-05-22 08:33:34 -07:00
|
|
|
## 0.10.0
|
|
|
|
|
2020-05-24 10:53:36 -07:00
|
|
|
- Breaking: Made `RecursiveVisitor.visit`, `visitList` and `visitExcept` an extension on `AstVisitor`.
|
2020-05-24 13:30:25 -07:00
|
|
|
- Support the transformer pattern to modify ast nodes
|
2020-06-15 08:45:28 -07:00
|
|
|
- Breaking: `FrameBoundary`, `DeleteTarget`, `UpdateTarget`, `DefaultValues` and `InsertTarget` are no longer constant
|
2020-06-16 05:25:31 -07:00
|
|
|
- Breaking: Removed `visitQueryable`. Use `defaultQueryable` instead.
|
2021-03-18 08:25:00 -07:00
|
|
|
- Support parsing and analyzing `CREATE VIEW` statements (see `SchemaFromCreateTable.readView`). Thanks
|
|
|
|
to [@mqus](https://github.com/mqus) for their contribution!
|
2020-06-24 08:08:13 -07:00
|
|
|
- `SqlEngine.parse` will no longer throw when there's a parsing error (use `ParseResult.errors` instead).
|
2020-06-27 05:38:16 -07:00
|
|
|
- Parse `DEFERRABLE` clauses on foreign key constraints
|
|
|
|
- Parse `NULLS FIRST` and `NULLS LAST` on `ORDER BY` terms
|
2020-05-22 08:33:34 -07:00
|
|
|
|
2020-05-04 13:00:41 -07:00
|
|
|
## 0.9.0
|
|
|
|
|
2021-03-18 08:25:00 -07:00
|
|
|
- New `package:sqlparser/utils/find_referenced_tables.dart` library. Use it to easily find all referenced tables in a
|
|
|
|
query.
|
2020-05-06 12:08:47 -07:00
|
|
|
- Support [row values](https://www.sqlite.org/rowvalue.html) including warnings about misuse
|
2020-05-04 13:00:41 -07:00
|
|
|
|
2020-05-03 12:13:29 -07:00
|
|
|
## 0.8.1
|
|
|
|
|
2021-03-18 08:25:00 -07:00
|
|
|
- Support collate expressions in the new type inference ([#533](htt ps://github.com/simolus3/moor/issues/533))
|
2020-05-03 12:13:29 -07:00
|
|
|
- Added `visitCollateExpression` to the visitor classes
|
|
|
|
|
2020-05-03 04:28:34 -07:00
|
|
|
## 0.8.0
|
2020-02-17 12:22:16 -08:00
|
|
|
|
2020-05-02 05:17:49 -07:00
|
|
|
- Remove `SqlEngine.withOptions` constructor - the default constructor now takes options
|
2021-03-18 08:25:00 -07:00
|
|
|
- Changed `SelectStatement.from` from `List<Queryable>` to `Queryable?`. Selecting from multiple tables with a comma
|
|
|
|
will now be parsed as a `JoinClause`.
|
|
|
|
- Changed `SelectStatementAsSource.statement` from `SelectStatement` to `BaseSelectStatement` and allow compound select
|
|
|
|
statements to appear in a `FROM` clause
|
2020-04-16 13:41:21 -07:00
|
|
|
- Support the `VALUES` clause as select statement
|
2021-03-18 08:25:00 -07:00
|
|
|
- The new type inference engine is now enabled by default and the `enableExperimentalTypeInference` option has been
|
|
|
|
removed. To continue using the old engine, the `useLegacyTypeInference` flag can be used.
|
2020-02-17 12:22:16 -08:00
|
|
|
|
2020-02-10 10:46:27 -08:00
|
|
|
## 0.7.0
|
2020-01-26 03:23:47 -08:00
|
|
|
|
2020-01-26 05:22:07 -08:00
|
|
|
- New feature: Table valued functions.
|
|
|
|
- __Breaking__: Removed the `enableJson1` parameter on `EngineOptions`. Add a `Json1Extension` instance
|
|
|
|
to `enabledExtensions` instead.
|
2020-01-26 03:23:47 -08:00
|
|
|
- Parse `rowid` as a valid reference when needed (`SELECT rowid FROM tbl` is now parsed correctly)
|
2020-02-01 04:18:53 -08:00
|
|
|
- Parse `CURRENT_TIME`, `CURRENT_DATE` and `CURRENT_TIMESTAMP`
|
2020-02-03 12:54:49 -08:00
|
|
|
- Parse `UPSERT` clauses for insert statements
|
2020-01-26 03:23:47 -08:00
|
|
|
|
2020-01-21 08:55:41 -08:00
|
|
|
## 0.6.0
|
2019-12-26 03:35:29 -08:00
|
|
|
|
2020-01-21 08:55:41 -08:00
|
|
|
- __Breaking:__ Added an argument type and argument to the visitor classes
|
2021-03-18 08:25:00 -07:00
|
|
|
- Experimental new type inference algorithm
|
|
|
|
(`SqlEngine.withOptions(EngineOptions(enableExperimentalTypeInference: true))`)
|
2020-01-03 08:38:11 -08:00
|
|
|
- Support `CAST` expressions and the `ISNULL` / `NOTNULL` postfixes
|
2019-12-31 06:07:08 -08:00
|
|
|
- Support parsing `CREATE TRIGGER` statements
|
2020-01-21 08:55:41 -08:00
|
|
|
- Support parsing `CREATE INDEX` statements
|
2019-12-26 03:35:29 -08:00
|
|
|
|
2019-12-23 03:52:46 -08:00
|
|
|
## 0.5.0
|
2021-03-18 08:25:00 -07:00
|
|
|
|
2019-11-28 12:50:55 -08:00
|
|
|
- Optionally support the `json1` module
|
2019-12-04 06:36:23 -08:00
|
|
|
- Optionally support the `fts5` module
|
2019-11-28 12:50:55 -08:00
|
|
|
|
2019-11-13 12:14:38 -08:00
|
|
|
## 0.4.0
|
2021-03-18 08:25:00 -07:00
|
|
|
|
2019-10-23 09:03:24 -07:00
|
|
|
- Support common table expressions
|
2019-10-19 06:18:00 -07:00
|
|
|
- Handle special `rowid`, `oid`, `__rowid__` references
|
2019-10-19 07:56:36 -07:00
|
|
|
- Support references to `sqlite_master` and `sqlite_sequence` tables
|
2019-10-19 06:18:00 -07:00
|
|
|
|
2019-09-25 11:19:39 -07:00
|
|
|
## 0.3.0
|
2021-03-18 08:25:00 -07:00
|
|
|
|
2019-09-25 11:19:39 -07:00
|
|
|
- parse compound select statements
|
|
|
|
- scan comment tokens
|
|
|
|
- experimental auto-complete engine (only supports a tiny subset based on the grammar only)
|
|
|
|
- some features that are specific to moor
|
|
|
|
|
2019-10-11 04:17:50 -07:00
|
|
|
__0.3.0+1__: Accept `\r` characters as whitespace
|
|
|
|
|
2019-08-22 03:27:39 -07:00
|
|
|
## 0.2.0
|
2021-03-18 08:25:00 -07:00
|
|
|
|
2019-08-22 03:27:39 -07:00
|
|
|
- Parse `CREATE TABLE` statements
|
|
|
|
- Extract schema information from parsed create table statements with `SchemaFromCreateTable`.
|
|
|
|
|
2019-07-12 01:52:42 -07:00
|
|
|
## 0.1.2
|
2021-03-18 08:25:00 -07:00
|
|
|
|
2019-07-08 14:03:03 -07:00
|
|
|
- parse `COLLATE` expressions
|
2019-07-12 01:52:42 -07:00
|
|
|
- fix wrong order in parsed `LIMIT` clauses
|
2019-07-08 14:03:03 -07:00
|
|
|
|
2019-07-03 11:04:09 -07:00
|
|
|
## 0.1.1
|
2021-03-18 08:25:00 -07:00
|
|
|
|
|
|
|
Attempt to recognize when a bound variable should be an array (eg. in `WHERE x IN ?`). Also fixes a number of parsing
|
|
|
|
bugs:
|
|
|
|
|
2019-07-03 11:04:09 -07:00
|
|
|
- Parses tuples, proper type resolution for `IN` expressions
|
|
|
|
- Don't resolve references to tables that don't appear in the surrounding statement.
|
2021-03-18 08:25:00 -07:00
|
|
|
- Parse joins without any additional operator, e.g. `table1 JOIN table2` instead of
|
|
|
|
`table1 CROSS JOIN table2`.
|
2019-07-03 11:04:09 -07:00
|
|
|
- Parser now complains when parsing a query doesn't fully consume the input
|
|
|
|
|
2019-06-15 14:01:10 -07:00
|
|
|
## 0.1.0
|
2021-03-18 08:25:00 -07:00
|
|
|
|
|
|
|
Initial version, can parse most statements but not `DELETE`, common table expressions and other advanced features.
|