Commit Graph

5534 Commits

Author SHA1 Message Date
Pekka Enberg
09ba89e2ba core/translate: Replace todo with bail_parse_error
No point in crashing the whole app if someone attempts to change page
size.
2025-06-27 13:42:49 +03:00
Pekka Enberg
a87f294f24 cli: Switch to syntect development version
Fixes #1504
2025-06-27 13:21:10 +03:00
Pekka Enberg
c12b291f9a Merge 'Fix evaluation of ISNULL/NOTNULL in OR expressions' from Piotr Rżysko
Previously, the `jump_if_condition_is_true` flag was not respected. As a
result, for expressions like <`ISNULL`/`NOTNULL`> `OR` <rhs>, the <rhs>
expression was evaluated even when the left-hand side was true, and its
value was incorrectly used as the final result.

Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com>

Closes #1846
2025-06-27 13:15:21 +03:00
Pekka Enberg
09795ca512 Turso 0.1.0-pre.1 2025-06-27 12:56:22 +03:00
Pekka Enberg
a539c557d6 scripts/update-version.py: s/Limbo/Turso/ 2025-06-27 12:56:06 +03:00
Pekka Enberg
da7152020b Merge 'cli: Rename CLI to Turso' from Pekka Enberg
Closes #1859
2025-06-27 12:55:50 +03:00
Pekka Enberg
c414db2196 Merge 'Fix database header contents on initialization' from Pere Diaz Bou
After moving page1 write to be async I moved the contents update to
wrong place. This should fix it.
Fixes #1842
Fixes #1837

Closes #1860
2025-06-27 12:47:31 +03:00
Pere Diaz Bou
8e0f8041ed properly set database header contents on initialization
After moving page1 write to be async I moved the contents update to
wrong place. This should fix it.
2025-06-27 11:44:11 +02:00
Pekka Enberg
45c1a72d0a cli: Rename CLI to Turso 2025-06-27 12:37:42 +03:00
Pekka Enberg
81609845ba Merge 'bindings/javascript: Rename package to @tursodatabase/turso' from Pekka Enberg
Closes #1857
2025-06-27 12:30:24 +03:00
Pekka Enberg
568da9bff7 bindings/javascript: Rename package to @tursodatabase/turso 2025-06-27 12:14:16 +03:00
Pekka Enberg
947f11676d Merge 'bindings/python: Rename package to pyturso' from Pekka Enberg
Closes #1854
2025-06-27 11:59:20 +03:00
Pekka Enberg
5653f96701 cargo fmt 2025-06-27 11:46:14 +03:00
Pekka Enberg
aaecca0ec9 cli: Add disclaimer that software is ALPHA 2025-06-27 11:28:32 +03:00
Pekka Enberg
a5b539f1bf bindings/python: Rename package to pyturso 2025-06-27 11:27:08 +03:00
Pekka Enberg
e23835ed8e github: Make labels lower case consistently
We're using both CamelCase and lower case for labels which is driving me crazy.
2025-06-27 10:44:23 +03:00
Piotr Rzysko
116df2ec86 Fix evaluation of ISNULL/NOTNULL in OR expressions
Previously, the `jump_if_condition_is_true` flag was not respected. As a
result, for expressions like <`ISNULL`/`NOTNULL`> `OR` <rhs>, the <rhs>
expression was evaluated even when the left-hand side was true, and its
value was incorrectly used as the final result.
2025-06-27 08:21:40 +02:00
Pekka Enberg
e1c8c676ca Merge 'Support insersect operator for compound select' from meteorgan
Closes: #1575

Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com>

Closes #1793
2025-06-27 09:13:16 +03:00
Pekka Enberg
8c03a7c1c9 Merge 'Simulator: add latency to File IO' from Pedro Muniz
This PR introduces the ability to introduce latency (e.g thread::sleep)
in every File IO operation. There is a new cli option that configures
the probability of introducing latency. Currently, this probability
defaults to 0, as this change has already detected an infinite loop in
`checkpoint`. To see this bug in action run the following command:
`cargo run -p limbo_sim -- --seed 3961479079923545111 --latency_prob 5`
<img width="918" alt="Pasted Graphic 1" src="https://github.com/user-
attachments/assets/dbf38760-b478-45c2-ac8b-a0ddcf98fd23" />
EDIT: Investigating the bug further, I see that it is returning to the
simulator after the disconnect checkpoint, but I have not yet seen this
test end. Maybe it is just taking too long? Something to look further at

Closes #1770
2025-06-27 09:02:08 +03:00
meteorgan
0ed94f13f5 resolve conflicts 2025-06-27 11:50:19 +08:00
meteorgan
51764d882e fix comments 2025-06-27 11:50:19 +08:00
meteorgan
2c4847210f ajust code to accommodate index_experimental feature 2025-06-27 11:50:19 +08:00
meteorgan
c060905d00 add INTERSECT to compound_select_fuzz 2025-06-27 11:50:19 +08:00
meteorgan
41def8895f make intersect in compound work with insert 2025-06-27 11:50:19 +08:00
meteorgan
1fcc2ddd90 support limit 2025-06-27 11:50:19 +08:00
meteorgan
d4789d0a05 add tests 2025-06-27 11:50:19 +08:00
meteorgan
cd36fc26fd support intersect operation for compound select 2025-06-27 11:50:19 +08:00
pedrocarlo
1dc28e32f0 fix io_uring completion + clippy 2025-06-26 22:17:28 -03:00
pedrocarlo
9aa733f80c sleep inside Io completion 2025-06-26 22:17:28 -03:00
pedrocarlo
bac5e4b563 refactor File and Database Storage to remove Arc<Connection> and return Arc<Connection> for caller to wait for completion 2025-06-26 22:17:28 -03:00
pedrocarlo
64d9193e7b refactor Completion to have a type field and lift common is_complete property 2025-06-26 22:17:27 -03:00
pedrocarlo
e2aafacbb4 add cli option to adjust latency probability 2025-06-26 22:17:27 -03:00
pedrocarlo
c8937976e5 generate_latency for each io operation on the file 2025-06-26 22:17:27 -03:00
pedrocarlo
56547f7127 change refcell values to cell 2025-06-26 22:17:27 -03:00
Pekka Enberg
e162b56d01 Merge 'Rename Limbo to Turso Database' from Pekka Enberg
Closes #1835
2025-06-26 21:35:48 +03:00
Pekka Enberg
662615a7ad antithesis: Fix endpoint name too
Spotted by Eric Dinh from Antithesis.
2025-06-26 21:28:10 +03:00
Pekka Enberg
018b17b6f2 Rename Limbo to Turso Database 2025-06-26 21:05:02 +03:00
Pekka Enberg
b702b4e59c Merge 'bindings/javascript: Fix StepResult:IO handling' from Pekka Enberg
Closes #1841
2025-06-26 20:50:35 +03:00
Pekka Enberg
572c722390 Merge 'write page1 on database initialization' from Pere Diaz Bou
Page 1 must be initialized and written as soon as possible without
marking page as dirty.
OpenEphemeral now requires a state machine to accomodate new
begin_write_tx semantics.

Closes #1839
2025-06-26 20:43:40 +03:00
Pekka Enberg
dc2e7ce942 bindings/javascript: Fix StepResult:IO handling 2025-06-26 20:42:35 +03:00
Pekka Enberg
9620c0cd8b antithesis: Fix experiment duration parameter for launch.sh
The endpoint changed on Antithesis side to avoid the complaint about not
joining a network so let's adjust the script.
2025-06-26 20:28:58 +03:00
Pere Diaz Bou
aa93b70a96 empty -> unitialized 2025-06-26 17:59:23 +02:00
Pere Diaz Bou
e341b80051 clippy 2025-06-26 15:01:54 +02:00
Pere Diaz Bou
4d80b8237d write page1 on database initialization
Page 1 must be initialized and written as soon as possible without
marking page as dirty.
2025-06-26 14:44:23 +02:00
Pekka Enberg
d5b06b96ef Merge 'Bring back TPC-H benchmarks' from Pekka Enberg
Closes #1836
2025-06-26 11:38:05 +03:00
Pekka Enberg
129713018c Bring back TPC-H benchmarks 2025-06-26 10:27:46 +03:00
Pekka Enberg
00edfa888c Merge 'Switch to runtime flag for enabling indexes' from Pekka Enberg
Makes it easier to test the feature:
```
$ cargo run --  --experimental-indexes
Limbo v0.0.22
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database
limbo> CREATE TABLE t(x);
limbo> CREATE INDEX t_idx ON t(x);
limbo> DROP INDEX t_idx;
```

Closes #1831
2025-06-26 10:26:40 +03:00
Pekka Enberg
2fc5c0ce5c Switch to runtime flag for enabling indexes
Makes it easier to test the feature:

```
$ cargo run --  --experimental-indexes
Limbo v0.0.22
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database
limbo> CREATE TABLE t(x);
limbo> CREATE INDEX t_idx ON t(x);
limbo> DROP INDEX t_idx;
```
2025-06-26 10:07:28 +03:00
Pekka Enberg
344eecb7ac bindings/rust: Fix RustDoc 2025-06-26 09:58:05 +03:00
Pekka Enberg
39aa7ad1b0 cargo fmt 2025-06-26 09:48:40 +03:00