Pere Diaz Bou
c612a51df7
fmt
2025-10-03 22:24:38 +02:00
Pere Diaz Bou
6c1983aadf
core/vdbe: op_checkpoint set update_transaction_state logical log checkpoint to true
2025-10-03 22:24:38 +02:00
Pere Diaz Bou
8e80af7221
core/mvcc: checkpoint if needed after commit
2025-10-03 22:24:38 +02:00
Pere Diaz Bou
a30c95d988
core/mvcc/logical-log: add threshold for checkpoints in logical log
2025-10-03 22:24:33 +02:00
Pere Diaz Bou
55f5cd2ad7
core/mvcc/logical-log: test automatic checkpoint
2025-10-03 17:23:59 +02:00
Pere Diaz Bou
7db5a09005
core/mvcc/logical-log: checkpoint support not updating transaction_state if needed
2025-10-03 17:23:35 +02:00
Pere Diaz Bou
9c9d4d147e
core/btree: fuzz tests force page 1 allocation with a transaction
2025-10-03 13:28:28 +02:00
Pere Diaz Bou
8f103f7c35
core/wal: introduce transaction_count, same as iChange in sqlite
2025-10-03 13:02:47 +02:00
Pekka Enberg
c98bf9b593
Merge 'core/wal: check index header on begin_write_tx' from Pere Diaz Bou
...
Fixes a page cache staleness issue where connections could incorrectly
believe the database hasn't changed after checkpointing. This can happen
when writes following a checkpoint resulted in the same `max_frame
value`, causing connections to miss updates since they only checked
`max_frame` to detect changes.
Closes #3502
2025-10-03 13:51:22 +03:00
Pere Diaz Bou
b5a969933c
core/wal: remove dbg!
2025-10-03 12:17:35 +02:00
Pekka Enberg
7d45253d03
Merge 'Disallow unexpected interop between WAL mode and MVCC mode' from Jussi Saurio
...
1. DB cannot be opened with MVCC if non-zero WAL file exists
2. DB cannot be opened without MVCC if non-zero logical log file exists
Closes #3557
2025-10-03 12:55:03 +03:00
Pekka Enberg
5c0b3313f2
Add encryption at rest feature to README
2025-10-03 12:32:01 +03:00
Pekka Enberg
7905841990
Turso 0.2.0
2025-10-03 12:20:42 +03:00
Pekka Enberg
91983abaa5
Update CHANGELOG.md
2025-10-03 12:20:20 +03:00
Jussi Saurio
ec6731de0a
Disallow unexpected interop between WAL mode and MVCC mode
...
1. DB cannot be opened with MVCC if non-zero WAL file exists
2. DB cannot be opened without MVCC if non-zero logical log file exists
2025-10-03 12:00:35 +03:00
Pekka Enberg
3867e5a60e
Merge 'CI: run long fuzz tests and stress on every PR, use 2 threads for stress' from Jussi Saurio
...
Reviewed-by: Pere Diaz Bou <pere-altea@homail.com >
Closes #3556
2025-10-03 11:49:20 +03:00
Pekka Enberg
3b1d2535de
Turso 0.2.0-pre.15
2025-10-03 11:29:43 +03:00
Pekka Enberg
d9e607082f
Merge 'Disallow INDEXED BY / NOT INDEXED in select' from Jussi Saurio
...
Closes #3547
Closes #3551
2025-10-03 11:29:13 +03:00
Pekka Enberg
87a6a90fdf
Merge 'core/mvcc: Rename "-lg" to "-log"' from Pekka Enberg
...
The "lg" name is just weird.
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com >
Closes #3554
2025-10-03 11:28:54 +03:00
Jussi Saurio
653f9323c3
Update .github/workflows/long_fuzz_tests_btree.yml
...
Co-authored-by: Pere Diaz Bou <30913090+pereman2@users.noreply.github.com >
2025-10-03 11:18:09 +03:00
Jussi Saurio
509486bc05
CI: run long fuzz tests and stress on every PR, use 2 threads for stress
2025-10-03 11:12:01 +03:00
Pekka Enberg
297aaf4887
core/mvcc: Rename "-lg" to "-log"
...
The "lg" name is just weird.
2025-10-03 10:08:02 +03:00
Pekka Enberg
ced8284fa0
Merge 'fix sync-engine bug when auth token is provided as dynamic function' from Nikita Sivukhin
...
Closes #3553
2025-10-03 09:53:23 +03:00
Pekka Enberg
dcbbd99d00
Merge 'docs: Document more CLI command line options' from Pekka Enberg
...
Closes #3550
2025-10-03 09:53:04 +03:00
Pekka Enberg
d93846c010
Merge 'Update man pages for encryption' from Avinash Sajjanshetty
...
Closes #3552
2025-10-03 09:52:06 +03:00
Nikita Sivukhin
9a82a9509f
fix sync-engine bug when auth token is provided as dynamic function
2025-10-03 10:50:54 +04:00
Avinash Sajjanshetty
44c387ff71
Update man pages for encryption
2025-10-03 12:18:55 +05:30
Jussi Saurio
b142dd42b5
Disallow INDEXED BY in select
2025-10-03 09:46:23 +03:00
Pekka Enberg
7c83ebca41
docs: Document more CLI command line options
2025-10-03 09:35:57 +03:00
Jussi Saurio
d2f5e67b25
Merge 'Fix COLLATE' from Jussi Saurio
...
Fixes the following problems with COLLATE:
- Fix: incorrectly used e.g. `x COLLATE NOCASE = 'fOo'` as index
constraint on an index whose column was not case-insensitively collated
- Fix: various ephemeral indexes (in GROUP BY, ORDER BY, DISTINCT) and
subqueries did not retain proper collation information of columns
- Fix: collation of a given expression was not determined properly
according to SQLite's rules
Adds TCL tests and fuzz test
Closes #3476
Closes #1524
Closes #3305
Reviewed-by: Preston Thorpe <preston@turso.tech >
Closes #3538
2025-10-03 09:34:24 +03:00
Pekka Enberg
33e727ce8f
Merge 'core/mvcc: Return completions from logical log methods' from Pedro Muniz
...
`IOResult` implies we have a state machine that needs to be polled to
`Completion`, which is not the case here. We are just emitting the IO
operation in this case. This led us to never reaching the
`IOResult::Done` branch that actually fsynced the logical log in
`Checkpoint`.
I also sprinkled some
```rust
if c.is_completed() {
Ok(TransitionResult::Continue)
} else {
Ok(TransitionResult::Io(IOCompletions::Single(c)))
}
```
just to be more efficient with sync IO, but it is not strictly necessary
here.
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com >
Closes #3549
2025-10-03 09:29:31 +03:00
Pekka Enberg
4de5ea9d91
Merge 'Improve MCP configuration docs' from Jamie Barton
...
A little bit of docs restructuring for MCP client usage based on recent
user questions/feedback.
Closes #3410
2025-10-03 09:26:25 +03:00
Pekka Enberg
bd47237835
Merge branch 'main' into mcp-config-docs
2025-10-03 09:26:11 +03:00
pedrocarlo
131a5b8048
adjust logical log IO functions to return Completions and not IOResult
2025-10-03 01:44:41 -03:00
Pekka Enberg
f21230ed76
cli: Remove unused "--experimental-logical-log" option
2025-10-03 07:39:07 +03:00
Preston Thorpe
990740ab73
Merge 'core/vdbe: Don't clear cursors in ProgramState::reset()' from Pekka Enberg
...
We don't need to clear the cursors explicitly because OpenRead and
OpenWrite will anyway replace them.
Reviewed-by: Preston Thorpe <preston@turso.tech >
Closes #3526
2025-10-02 17:32:05 -04:00
Preston Thorpe
c30c1ca591
Merge 'core/translate: fix rowid affinity' from Preston Thorpe
...
closes https://github.com/tursodatabase/turso/issues/3478
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com >
Closes #3539
2025-10-02 16:37:59 -04:00
Jussi Saurio
58ea9e4c3c
clippy
2025-10-02 21:49:33 +03:00
Jussi Saurio
8e2e557da4
Collate: fix Insn::Compare to use collation seq of each compared column
2025-10-02 21:49:33 +03:00
Jussi Saurio
edd4651b97
Collate: add proper collation info for GROUP BY sorter columns
2025-10-02 21:49:33 +03:00
Jussi Saurio
f02757fe11
Collate: add proper collation to FROM-clause subquery result cols
2025-10-02 21:49:33 +03:00
Jussi Saurio
edfe0cb4fe
Collate: prevent using an index if collation sequences don't match
2025-10-02 21:49:33 +03:00
Jussi Saurio
d42f3c7cbb
Collate: compute collations properly for ORDER BY
2025-10-02 21:49:33 +03:00
Jussi Saurio
5a5f49933d
Collate: add proper collation info to DISTINCT indexes
2025-10-02 21:49:33 +03:00
Jussi Saurio
f4ee0457b2
Collate: add proper collation info to compound select deduplication indexes
2025-10-02 21:49:33 +03:00
Jussi Saurio
e1fcd7b5e9
Collate: add get_collseq_from_expr()
...
Determines collation sequence to use for a given Expr
based on SQLite collation rules.
2025-10-02 21:49:33 +03:00
Jussi Saurio
b351993cb0
Collate: add fuzz test
2025-10-02 21:49:33 +03:00
Jussi Saurio
ce7fe54841
Collate: add more TCL tests
2025-10-02 21:49:33 +03:00
PThorpe92
361bd70a26
Add regression test for rowid affinity
2025-10-02 14:31:22 -04:00
PThorpe92
43aba0ee95
Fix integer affinity for rowid expr type
2025-10-02 14:29:53 -04:00