Commit Graph
637 Commits
Author SHA1 Message Date
Simon Binder 1de2fc5817 Assign type to raise expressions
Closes https://github.com/simolus3/drift/issues/3643
2025-09-04 20:40:29 +02:00
Simon Binder e89623c81b Make lag, lead and nth_value nullable
They output null if the referenced row is not found in the window.

Closes https://github.com/simolus3/drift/issues/3635
2025-08-27 10:12:12 +02:00
Simon Binder bd427f57d6 Warning for identifiers looking like strings
Contextualize the error message for double-quoted identifiers that can't
be resolved, because those should potentially have been single-quoted
string literals.

Closes https://github.com/simolus3/drift/issues/3631
2025-08-19 23:15:27 +02:00
Simon Binder 66fe2ddc96 Migrate to workspace 2025-08-17 16:11:07 +02:00
Simon Binder a2b1de83c5 sqlparser: Support 3.50.0 2025-07-13 16:49:43 +02:00
Simon Binder df98384a45 Fix sqlparser analysis warnings 2025-01-21 22:58:51 +01:00
Simon Binder 74ce70590c sqlparser: Support sqlite 3.48 2025-01-21 22:56:04 +01:00
Simon Binder bb7bcb025f Merge branch 'fts_nullable' of https://github.com/FaFre/drift into develop 2025-01-21 22:48:57 +01:00
Simon Binder 71850de641 sqlparser: Support sqlite 3.48 2025-01-21 22:48:13 +01:00
Simon Binder 8eb5d38827 Use common class for AST variables 2025-01-21 16:33:26 +01:00
Fabian Freund c92a0f23ea return nullable 2025-01-21 00:24:33 +01:00
Simon Binder 6a30ee9789 Update dev dependencies 2024-12-18 22:09:47 +01:00
Simon Binder b5660f66b1 Prepare release 2024-11-28 20:35:33 +01:00
Simon Binder bf4a5349e1 Propagate types with known nullability first
Closes https://github.com/simolus3/drift/issues/3351
2024-11-22 17:56:49 +01:00
Simon Binder b2a0d50252 Add exception test on scanning vs parsing 2024-11-11 22:02:16 +01:00
Simon Binder 67a1f7bdfa Fix strict + without rowid tables
Closes https://github.com/simolus3/drift/issues/3324
2024-11-04 21:14:55 +01:00
Simon Binder d9c9ed8cf7 Make dbstat an opt-in module 2024-11-02 21:52:38 +01:00
Fabian Freund db75bce0d4 added builtin table dbstat 2024-11-02 21:52:38 +01:00
Simon Binder d4f6b1aa55 Adapt changelogs to include patch release 2024-10-25 00:30:19 +02:00
Simon Binder 2cd568aea6 Fix infering result type of fts5 functions 2024-10-18 21:43:39 +02:00
Simon Binder f692bb1bbb Fix bm25 parameter count lint
Closes https://github.com/simolus3/drift/discussions/3292
2024-10-17 21:50:48 +02:00
Simon Binder 9912eec4f2 sqlparser: Track matching tokens for recovery
Closes https://github.com/simolus3/drift/issues/3273
2024-10-08 17:15:34 +02:00
Simon Binder 7464501b57 Prepare sqlparser release 2024-09-22 20:28:11 +02:00
Simon Binder 45758846d6 Fix drift dev tests 2024-09-13 21:39:12 +02:00
Simon Binder aafb9600be Include tokenizer errors in result instead of throwing
Closes https://github.com/simolus3/drift/issues/3218
2024-09-13 21:19:47 +02:00
Simon Binder 0dce5e8f53 Prepare patch release 2024-09-10 21:33:49 +02:00
Paul BerryandSimon Binder 5e8b254362 Delete unreachable default clauses. (#3209)
The Dart analyzer will soon be changed so that if the `default` clause
of a `switch` statement is determined to be unreachable by the
exhaustiveness checker, a new warning of type
`unreachable_switch_default` will be issued. This parallels the
behavior of the existing `unreachable_switch_case` warning, which is
issued whenever a `case` clause of a `switch` statement is determined
to be unreachable. For details see
https://github.com/dart-lang/sdk/issues/54575.

This PR deletes unreachable `default` clauses from `drift` now,
to avoid spurious warnings when the analyzer change lands.
---------

Co-authored-by: Simon Binder <oss@simonbinder.eu>
2024-09-09 22:42:46 +02:00
Simon Binder 74af262f7e Prepare minor drift release 2024-09-08 15:01:01 +02:00
Simon Binder ed72f6fa19 Detect writes to views for write propagation 2024-09-01 20:26:17 +02:00
Simon Binder f05ec8e97c Add warning for invalid trigger modes 2024-09-01 14:46:20 +02:00
Simon Binder b0a49597b7 Add test in sqlparser, changelog entry 2024-09-01 14:11:06 +02:00
Dillon Nys 6b0ea8252e fix: Infer json_extract type from context
Currently, inference of all `json_extract` expressions results in an unknown type for inference. However,
there are cases where the type can be known/coerced, for example with `INSERT INTO SELECT` statements when
the column types are inferred from the written table.

In those cases, we use the expectation type to resolve `json_extract` expressions.
2024-08-31 14:04:59 -07:00
Simon Binder c52b6f1bb0 Fix new lints 2024-08-12 12:30:35 +02:00
Simon Binder 516382b495 Upgrade package:lints 2024-08-12 12:19:39 +02:00
Simon Binder bce3c021b6 Funding -> Funding 2024-07-19 16:23:54 +02:00
Simon Binder 23e3cff677 Prepare sqlparser 0.37.1 for release 2024-07-19 16:07:07 +02:00
Simon Binder d70f4f82ec Fix checking for aggregates in subexprs 2024-07-19 16:06:07 +02:00
Simon Binder 8a2736ad13 Consistently make aggregate subqueries non null
Closes #3101
2024-07-19 14:47:31 +02:00
Peter Leibiger 283fcddf61 Add topics & funding link 2024-07-18 18:12:47 +02:00
Simon Binder 2e343a5208 Prepare 2.19 release 2024-07-11 13:12:48 +02:00
Simon Binder 9155b68560 Make avg nullable in sqlparser
It returns null if there is no non-null input
2024-06-15 22:16:07 +02:00
Simon Binder 6b70a4001b Only make non-aggregate subqueries nullable 2024-06-12 23:00:26 +02:00
Simon Binder 26b915f206 Make subquery columns nullable (#3047) 2024-06-12 22:54:15 +02:00
Simon Binder 683c88903d Add initially deferred option for foreign keys
Closes #3020
2024-05-26 13:59:08 +02:00
Simon Binder 06ec4a1866 Add support for sqlite 3.36.1 2024-05-23 21:26:13 +02:00
Simon Binder 7d1430cf02 Prepare 2.18 release 2024-05-04 23:37:54 +02:00
Simon Binder b83eea46fe Merge branch 'latest-release' into develop 2024-04-24 19:04:16 +02:00
Simon Binder d025568f1a Don't allow aliases for sources in IN expression 2024-04-24 19:02:11 +02:00
Simon Binder 2777ca47e1 Don't allow aliases for sources in IN expression 2024-04-24 18:59:10 +02:00
Simon Binder 24af4873e7 Bump version numbers 2024-04-23 15:31:49 +02:00