Jussi Saurio
bab814948c
Merge ' core/mvcc: LogicalLog simple append serializer ' from Pere Diaz Bou
...
This is wip but since I have it working on a single connection maybe
this is worth to review right now.
I haven't done any header work right now for the on disk format, but
instead I've basically added the skeleton for logical log transactions
on MVCC to work.
**before merging this pr I have to remove cherry picked commit from
https://github.com/tursodatabase/turso/pull/3156 **
Closes #3158
2025-09-19 08:08:07 +03:00
Samuel Marks
e333f151ba
[*.rs] Resolve warnings (mostly "hiding a lifetime that's elided elsewhere is confusing")
2025-09-18 22:47:43 -05:00
PThorpe92
b86f321eca
Add comments to bind_and_rewrite_expr
2025-09-18 19:15:14 -04:00
PThorpe92
1a3a41997c
Clippy warning, fix needless mut refs and remove import
2025-09-18 19:04:13 -04:00
PThorpe92
6f446aaf48
remove bind_column_references method and its last usages
2025-09-18 18:59:28 -04:00
PThorpe92
38096ffc9e
Rewrite true/false to 0/1 even tho its also done in the parser now
2025-09-18 18:44:35 -04:00
PThorpe92
ffd1f87682
Centralize most of the AST traversal by binding columns and rewriting exprs together
2025-09-18 18:38:03 -04:00
PThorpe92
c941955444
Fix issue with result columns being inappropriate for inserting multiple rows
2025-09-18 14:35:12 -04:00
Pere Diaz Bou
abaf2118a3
clippy
2025-09-18 19:26:46 +02:00
Pere Diaz Bou
402f171ce4
fix compilation error on logical_log
2025-09-18 19:20:37 +02:00
Pere Diaz Bou
242c48c813
core/mvcc: logical log fix offset addition
2025-09-18 19:14:56 +02:00
Pere Diaz Bou
b40e699c8c
core/mvcc: don't end pager tx on logical log
2025-09-18 19:12:45 +02:00
Avinash Sajjanshetty
f0d705946c
keep the reserved bytes check in debug_assertion flag
2025-09-18 22:37:16 +05:30
Pere Diaz Bou
4f5833c681
fmt
2025-09-18 18:40:13 +02:00
Pere Diaz Bou
0fd704d00f
core/mvcc: begin_tx with logical log don't use pager
2025-09-18 18:39:57 +02:00
Pere Diaz Bou
3e7a074f82
core/mvcc: fix review comments
2025-09-18 18:27:57 +02:00
Pere Diaz Bou
ef341338dc
core/mvcc: rebase fix
2025-09-18 18:24:55 +02:00
Pere Diaz Bou
ff3c79d5d7
remove mvvmode and set logical log as default
2025-09-18 18:22:25 +02:00
Pere Diaz Bou
e6eb3adcbd
core/mvcc/logical-log: sync
2025-09-18 18:22:06 +02:00
Pere Diaz Bou
d53c64e84b
core/schema: parse schema rows for MVCC transactions
2025-09-18 18:22:06 +02:00
Pere Diaz Bou
a0555c254d
core/mvcc/logical-log: change schema on update
2025-09-18 18:22:06 +02:00
Pere Diaz Bou
50c18ada1c
core/mvcc: logical log update header on commit
2025-09-18 18:22:06 +02:00
Pere Diaz Bou
e2824835dc
fix all open_file use cases for mvcc mode
2025-09-18 18:22:05 +02:00
Pere Diaz Bou
050055b833
core/mvcc: do not start pager txns with logical log
2025-09-18 18:21:21 +02:00
Pere Diaz Bou
6b9fb2f181
core/mvcc: fix locks in logical log
2025-09-18 18:21:04 +02:00
Pere Diaz Bou
81a33bb25a
core/mvcc: introduce LogicalLog simple append serializer
2025-09-18 18:21:04 +02:00
Pere Diaz Bou
de8a975a0b
core/mvcc: introduce MvccMode Logical Log
2025-09-18 18:21:04 +02:00
Levy A.
85e0f1444d
fix: add log with base to fuzzer
2025-09-18 13:09:39 -03:00
Pekka Enberg
a011548aac
Merge 'core/storage: Wrap Pager::free_page_state with RwLock' from Pekka Enberg
...
Closes #3200
2025-09-18 17:17:53 +03:00
Pekka Enberg
beedb7a4aa
Merge 'core: Rename Connection::_db to db' from Pekka Enberg
...
Reviewed-by: Preston Thorpe <preston@turso.tech >
Closes #3196
2025-09-18 17:17:46 +03:00
Levy A.
5016123214
fix: compatible rounding precision
2025-09-18 11:10:15 -03:00
Levy A.
2b632d4fe0
fix upper, lower and sign tests
2025-09-18 11:08:15 -03:00
Pavan-Nambi
020921f803
Merge remote-tracking branch 'upstream/main' into cdc_fail_autoincrement
2025-09-18 19:27:19 +05:30
Avinash Sajjanshetty
91e2a679b9
bugfix: clear reserved space for a reused page
2025-09-18 19:00:03 +05:30
Pekka Enberg
ecbe2c231f
core: Rename Connection::_db to db
2025-09-18 16:00:41 +03:00
Pekka Enberg
7ac2e49a83
core/storage: Wrap Pager::free_page_state with RwLock
2025-09-18 15:46:23 +03:00
Pekka Enberg
d69cdd92d2
Merge 'core/storage: Switch Pager::max_page_count to AtomicU32' from Pekka Enberg
...
Closes #3197
2025-09-18 15:45:39 +03:00
Pekka Enberg
19513fd9a7
core/storage: Switch Pager::max_page_count to AtomicU32
2025-09-18 14:46:22 +03:00
Pekka Enberg
6e9684c763
Merge 'core/storage: Use AtomicU16 for Pager::reserved_space' from Pekka Enberg
...
Closes #3195
2025-09-18 14:46:08 +03:00
Preston Thorpe
ec79a9063d
Merge 'remove io.blocks from btree balancing code' from Nikita Sivukhin
...
This PR removes `io.block` usage from B-Tree balancing code (similarly
as in the #3179 )
Reviewed-by: Preston Thorpe <preston@turso.tech >
Closes #3194
2025-09-18 07:24:51 -04:00
Pekka Enberg
6c48cb7043
Merge 'core: Use sequential consistency for atomics by default' from Pekka Enberg
...
We use relaxed ordering in a lot of places where we really need to
ensure all CPUs see the write. Switch to sequential consistency, unless
acquire/release is explicitly used. If there are places that can be
optimized, we can switch to relaxed case-by-case, but have a comment
explaning *why* it is safe.
Closes #3193
2025-09-18 14:19:54 +03:00
Pekka Enberg
50acebd88e
core/storage: Use AtomicU16 for Pager::reserved_space
2025-09-18 14:19:13 +03:00
Pekka Enberg
f731efdc35
Merge 'core/storage: Use AtomicU32 for Pager::page_size' from Pekka Enberg
...
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com >
Closes #3191
2025-09-18 13:40:57 +03:00
Pekka Enberg
8337e86794
core: Use sequential consistency for atomics by default
...
We use relaxed ordering in a lot of places where we really need to
ensure all CPUs see the write. Switch to sequential consistency, unless
acquire/release is explicitly used. If there are places that can be
optimized, we can switch to relaxed case-by-case, but have a comment
explaning *why* it is safe.
2025-09-18 13:38:13 +03:00
Nikita Sivukhin
1e0fb143f6
remove io.blocks from btree balancing code
2025-09-18 14:28:53 +04:00
andreatp
4c74ab10f4
fix c compat tests and add a minimal CI
2025-09-18 10:13:31 +01:00
Pekka Enberg
2a5284afb9
core/storage: Use AtomicU32 for Pager::page_size
2025-09-18 11:33:32 +03:00
Pekka Enberg
e6d994dee0
core/storage: Wrap Pager::allocate_page_state with RwLock
2025-09-18 10:55:55 +03:00
Pekka Enberg
365f606cce
core/storage: Use AtomicU8 for Pager::auto_vacuum_mode
2025-09-18 10:55:55 +03:00
Pekka Enberg
2215cccebb
core/storage: Wrap Pager::syncing in Arc<AtomicBool>
2025-09-18 10:55:54 +03:00