Pekka Enberg
7891be96fd
Merge 'Refactor affinity conversions for reusability' from Pedro Muniz
...
Depends on #3920
Moves some code around so it is easier to reuse and less cluttered in
`execute.rs`, and changes how `compare` works. Instead of mutating some
register, we now just return the possible `ValueRef` representation of
that affinity. This allows other parts of the codebase to reuse this
logic without needing to have an owned `Value` or a `&mut Register`
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com >
Closes #3923
2025-11-10 09:02:22 +02:00
Pekka Enberg
2be515247f
Merge 'Create AsValueRef trait to allow us to be agnostic over ownership of Value or ValueRef' from Pedro Muniz
...
Depends on #3919
Also change `op_compare` to reuse the same compare_immutable logic
First step to finish #2304
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com >
Closes #3920
2025-11-10 09:01:59 +02:00
PThorpe92
a012e98bfa
core/translate remove unused ParamState and some minor refactoring
2025-11-07 19:18:10 -05:00
pedrocarlo
9f350f7fd9
change Text variant in ValueRef to hold a TextRef that can automatically convert to &str avoiding string allocations everywhere
2025-11-07 12:47:39 -03:00
pedrocarlo
61036d5f51
move affinity handling to separate file
2025-11-07 12:47:39 -03:00
PThorpe92
481d86f567
Optimize and refactor schema::Column type
2025-11-02 20:46:02 -05:00
Nikita Sivukhin
05f0ee6a72
add more integration in order to properly skip backing_btree index_method
2025-10-27 17:00:26 +04:00
Nikita Sivukhin
408ca235d1
small refactoring
2025-10-27 12:43:38 +04:00
Pere Diaz Bou
3227caaa1d
Merge 'core: move BTreeCursor under MVCC cursor' from Pere Diaz Bou
...
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com >
Closes #3756
2025-10-21 19:20:49 +02:00
Pere Diaz Bou
ea04e9033a
core/mvcc: add btree_cursor under MVCC cursor
2025-10-21 18:22:37 +02:00
PThorpe92
7c746e476c
Fix to_sql method on BTreeTable to not double write primary keys
2025-10-21 09:45:42 -04:00
Pekka Enberg
6139dde081
Revert "Merge 'core/translate: fix ALTER COLUMN to propagate other constraint references' from Preston Thorpe"
...
This reverts commit 1151f49ff4 , reversing
changes made to f4da2194f4 .
2025-10-21 16:00:04 +03:00
PThorpe92
4dcabf37f1
Fix to_sql method on BTreeTable to include foreign keys
2025-10-18 13:22:48 -04:00
PThorpe92
edaa1b675e
Prevent column definitions on CREATE TABLE or opening DB with ON CONFLICT on column def
2025-10-16 15:45:20 -04:00
PThorpe92
9de9927b52
fix clippy warning
2025-10-16 14:47:40 -04:00
PThorpe92
75e86b2c20
Throw parse error on GENERATED constraint in create table when opening new db
2025-10-16 14:26:58 -04:00
PThorpe92
f033af4a93
Throw parse error on CHECK constraint in create table when opening new db
2025-10-16 13:30:05 -04:00
Jussi Saurio
4e34c6be51
Merge 'names shall not be shared between tables,indexs,vtabs,views' from Pavan Nambi
...
closes #3675
Closes #3681
2025-10-14 07:30:37 +03:00
pedrocarlo
83dde9b55c
fix backwards compatible rowid alias behaviour
2025-10-13 20:41:45 -03:00
Pavan-Nambi
36bf88119f
add tests
...
clippy
expect err to make clippy happy
cleanup
2025-10-12 16:38:12 +05:30
Pavan-Nambi
88d5ee0cf1
names shall not be shared between tables,index,vtabs,views
2025-10-12 05:45:59 +05:30
Pere Diaz Bou
160a84250e
core: add CursorTrait imports where needed
2025-10-10 15:04:15 +02:00
PThorpe92
a232e3cc7a
Implement proper handling of deferred foreign keys
2025-10-07 16:45:23 -04:00
PThorpe92
fa23cedbbe
Add helper to pragma to parse enabled opts and fix schema parsing for foreign key constraints
2025-10-07 16:45:22 -04:00
PThorpe92
37c8abf247
Fix schema representation and methods for ForeignKey resolution
2025-10-07 16:45:22 -04:00
PThorpe92
ae975afe49
Remove unnecessary FK resolution on schema parsing
2025-10-07 16:45:16 -04:00
PThorpe92
346e6fedfa
Create ForeignKey, ResolvedFkRef types and FK resolution
2025-10-07 16:27:49 -04:00
Levy A.
77a412f6af
refactor: remove unsafe reference semantics from RefValue
...
also renames `RefValue` to `ValueRef`, to align with rusqlite and other
crates
2025-10-07 10:43:44 -03:00
Nikita Sivukhin
8dae601fac
make rollback non-failing method
2025-10-06 13:21:45 +04:00
Pekka Enberg
dc1463c70d
Merge 'Improve error handling for cyclic views' from Duy Dang
...
The cycle is detected by marking a seen view, if a seen view is process
again, that's a cycle and we throw an error.
Close #3404
Closes #3467
2025-10-02 19:33:12 +03:00
Duy Dang
5ceab1b3f4
Circle detection for views
2025-10-01 02:12:21 +07:00
Jussi Saurio
7c897d382f
Implement MvTableId newtype for better type safety of table ids
2025-09-30 16:54:22 +03:00
Jussi Saurio
35b584f050
Merge 'core: change root_page to i64' from Pere Diaz Bou
...
Closes #3454
2025-09-30 12:50:23 +03:00
Pere Diaz Bou
0f631101df
core: change page idx type from usize to i64
...
MVCC is like the annoying younger cousin (I know because I was him) that
needs to be treated differently. MVCC requires us to use root_pages that
might not be allocated yet, and the plan is to use negative root_pages
for that case. Therefore, we need i64 in order to fit this change.
2025-09-29 18:38:43 +02:00
Nikita Sivukhin
7a1da051d0
remove usage of expr.to_string() and fix normalize util test
2025-09-29 11:36:12 +04:00
Nikita Sivukhin
86a95e813d
Merge branch 'main' into quoting-fix-attempt-2
2025-09-29 10:58:51 +04:00
Jussi Saurio
618cf2a4e7
Merge 'core/translate: rewrite default column value from identifier to string literal' from Preston Thorpe
...
closes #3390
closes #3389
Closes #3403
2025-09-28 08:07:11 +03:00
PThorpe92
03046faccb
Translate default value Expr::Id to Literal to allow for identifier in col def
2025-09-27 13:56:04 -04:00
PThorpe92
b7fc9fef40
Persist NOT NULL column constraint to schema table
2025-09-27 13:12:19 -04:00
PThorpe92
5d8a735aaf
fix clippy error
2025-09-26 18:06:09 -04:00
PThorpe92
e52aa1538e
Remove unused BTreeTable method for checking single field on Column in schema
2025-09-26 17:32:51 -04:00
Nikita Sivukhin
2f4d76ec6d
remove pattern matching over Name::Quoted
2025-09-26 13:01:49 +04:00
Pekka Enberg
506908e648
Merge 'translate: disallow creating/dropping internal tables' from Jussi Saurio
...
edit: we can't disallow 'turso_' prefix though, because turso-sync-
engine uses it
Closes #3313
Reviewed-by: Nikita Sivukhin (@sivukhin)
Closes #3338
2025-09-26 10:40:09 +03:00
Pekka Enberg
9461e22c06
Merge 'Improve DBSP view serialization' from Glauber Costa
...
Improve serialization for DBSP views.
The serialization code was written organically, without much forward
thinking about stability as we evolved the table and operator format.
Now that this is done, we are at at point where we can actually make it
suck less and take a considerable step towards making this production
ready.
We also add a simple version check (in the table name, because that is
much easier than reading contents in parse_schema_row) to prevent views
to be used if we had to do anything to evolve the format of the circuit
(including the operators)
Closes #3351
2025-09-26 09:18:45 +03:00
Jussi Saurio
cfa449a0c0
Merge 'Disallow multiple primary keys in table definition' from Jussi Saurio
...
Closes #3309
Reviewed-by: Pere Diaz Bou <pere-altea@homail.com >
Closes #3340
2025-09-26 09:16:14 +03:00
Jussi Saurio
abb0c704af
translate: disallow creating/dropping internal tables
...
we can't disallow 'turso_' prefix though, because turso-sync-engine
uses it
2025-09-26 09:15:32 +03:00
Jussi Saurio
00b69467f3
Merge 'Add CAST to fuzzer' from Levy A.
...
Adds `CAST` to the fuzzer while fixing some incompatibility bugs.
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com >
Closes #3314
2025-09-26 09:13:49 +03:00
Jussi Saurio
252da9254a
fix another incorrect test
2025-09-26 08:59:37 +03:00
Jussi Saurio
3170077952
Fix incorrect test
2025-09-26 08:59:37 +03:00
Jussi Saurio
6d6fc91da3
Disallow multiple primary keys in table definition
2025-09-26 08:59:36 +03:00