Commit Graph

5574 Commits

Author SHA1 Message Date
Ihor Andrianov
564bb28dea rewrite test to make fix verifiable 2025-07-01 17:27:58 +03:00
Ihor Andrianov
68e638e955 fix second occurance 2025-07-01 17:27:58 +03:00
Ihor Andrianov
647183938f fix sub with below 0 in tests 2025-07-01 17:27:58 +03:00
Ihor Andrianov
56b1fcf3b3 remove unused imports 2025-07-01 17:27:58 +03:00
Ihor Andrianov
41a11afe7c leaking box memory 2025-07-01 17:27:47 +03:00
Pekka Enberg
0e9ee4b856 Merge 'Move completion extension dependency to CLI' from Pekka Enberg
We never need it in core anyway.

Closes #1885
2025-06-29 13:42:19 +03:00
Pekka Enberg
d377f4c948 Move completion extension dependency to CLI
We never need it in core anyway.
2025-06-29 13:32:17 +03:00
Pekka Enberg
e4e9c28616 Merge 'Rename limbo crate to turso' from Pekka Enberg
Closes #1884
2025-06-29 13:20:36 +03:00
Pekka Enberg
592ad81c86 Rename limbo crate to turso 2025-06-29 13:07:57 +03:00
Pekka Enberg
71eecd3827 Merge 'Rename limbo_sqlite3_parser crate to turso_sqlite3_parser' from Pekka Enberg
Closes #1883
2025-06-29 12:56:35 +03:00
Pekka Enberg
725c3e4ddc Rename limbo_sqlite3_parser crate to turso_sqlite3_parser 2025-06-29 12:34:46 +03:00
Pekka Enberg
796b03b048 Merge 'Rename limbo_ext crate to turso_ext' from Pekka Enberg
Closes #1882
2025-06-29 12:32:38 +03:00
Pekka Enberg
eb0de4066b Rename limbo_ext crate to turso_ext 2025-06-29 12:14:08 +03:00
Pekka Enberg
51b6e347a8 Merge 'core: Add Antithesis-aware turso_assert' from Pekka Enberg
This adds a `turso_assert` macro that is Antithesis aware when
`antithesis` feature flag is enabled. I did not yet convert any call-
sites to use it.

Closes #1880
2025-06-29 12:11:44 +03:00
Pekka Enberg
3b8b55f106 Merge 'Rename limbo_macros to turso_macros' from Pekka Enberg
Closes #1881
2025-06-29 12:11:26 +03:00
Pekka Enberg
eec994386b Rename limbo_macros to turso_macros 2025-06-29 12:00:17 +03:00
Pekka Enberg
645c0bd796 core: Add Antithesis-aware turso_assert
This adds a `turso_assert` macro that is Antithesis aware when
`antithesis` feature flag is enabled. I did not yet convert any
call-sites to use it.

Co-authored-by: Nikita Sivukhin <sivukhin@turso.tech>
2025-06-29 11:46:18 +03:00
Pekka Enberg
d7ad6ccafd Merge 'stress: Log reopen and reconnect' from Pekka Enberg
Stress runs have bunch of errors like this caused by reconnect in the
middle of a transaction:
```
Error executing query: Transaction error: cannot rollback - no transaction is active
```
This is fine, but let's add some logging that it's obvious why this
happens.

Closes #1878
2025-06-29 10:50:56 +03:00
Pekka Enberg
624d5ab7c6 Merge 'Rename limbo_core crate to turso_core' from Pekka Enberg
Closes #1879
2025-06-29 10:50:44 +03:00
Pekka Enberg
53ba3ff926 Rename limbo_core crate to turso_core 2025-06-29 09:59:17 +03:00
Pekka Enberg
bcaff77287 stress: Log reopen and reconnect
Stress runs have bunch of errors like this caused by reconnect in the
middle of a transaction:

```
Error executing query: Transaction error: cannot rollback - no transaction is active
```

This is fine, but let's add some logging that it's obvious why this
happens.
2025-06-29 09:48:47 +03:00
Pekka Enberg
1c4b3de0f5 Merge 'github: Run simulator on pull requests' from Pekka Enberg
Closes #1877
2025-06-29 09:38:46 +03:00
Pekka Enberg
c685e11b0f Merge 'bindings/rust: Named params' from Andika Tanuwijaya
Closes #1876
2025-06-29 09:28:26 +03:00
Pekka Enberg
67809233d4 github: Run simulator on pull requests 2025-06-29 09:26:14 +03:00
Andika Tanuwijaya
8a17158034 [rust_binding] named params 2025-06-29 02:28:06 +07:00
Pekka Enberg
e5331c94ab Merge 'Rename Limbo to Turso in the README and other files' from Glauber Costa
I am not changing any package names - I'd rather Pekka do that so he can
verifies it works, or things that look like references to external
entities mentioning limbo.
All the rest is changed.

Closes #1868
2025-06-28 08:45:09 +03:00
Glauber Costa
3796f7d976 rename Limbo to Turso in the README and other files
I am not changing any package names - I'd rather Pekka do that so he
can verifies it works, or things that look like references to external
entities mentioning limbo.

All the rest is changed.
2025-06-27 15:44:40 -05:00
Pekka Enberg
a60da8186f Merge 'Remove dependency on test extension pkg' from Preston Thorpe
To prevent having to publish the crate on crates.io

Closes #1865
2025-06-27 18:22:45 +03:00
PThorpe92
b655ac8267 Remove tests that dynamically load generate_series extension 2025-06-27 09:50:15 -04:00
PThorpe92
708aaf95ee Add generate_series to default built-in extensions 2025-06-27 09:48:17 -04:00
PThorpe92
0e26cf77cb Remove dependency on testing extension crate 2025-06-27 09:41:18 -04:00
Pekka Enberg
5791ab9dff Merge 'Cache reserved_space and page_size values at Pager init to prevent doing redundant IO' from Krishna Vishal
### Problem
Profiling revealed that `usable_space()` calls were consuming 60% of
total execution time for simple SELECT queries, making Limbo
approximately `6x` slower than SQLite for SELECT operations.
The bottleneck was caused by `usable_space()` performing expensive I/O
operations on every call to read `page_size` and `reserved_space` from
the database header, despite `page_size` values being effectively
immutable after database initialization. Only `reserved_space` is
allowed to increase in SQLite.
Evidence: https://share.firefox.dev/44tCUIy
### Solution
Implemented OnceCell-based caching for both page_size and reserved_space
values in the Pager struct:
`page_size: OnceCell<u16>` - Page size is immutable after database
initialization per SQLite specification
`reserved_space: OnceCell<u8>` - Reserved space rarely changes and only
grows, safe to cache
### Performance Impact
Benchmark results: Simple SELECT query time reduced from ~2.89ms to
~1.29ms (~55% improvement)

Closes #1852
2025-06-27 16:40:14 +03:00
Pekka Enberg
9c20008d94 Update README.md 2025-06-27 16:33:22 +03:00
Pekka Enberg
27736d3785 Update README.md 2025-06-27 16:04:38 +03:00
Pekka Enberg
d938ac47c3 Turso 0.1.0-pre.2 2025-06-27 16:02:09 +03:00
Pekka Enberg
280587eb92 github: Fix JavaScript publish pipeline 2025-06-27 15:41:36 +03:00
Pekka Enberg
f9685515e4 Merge 'Fix executing multiple statements' from Pere Diaz Bou
Fixes #1861
Fixes #1380

Closes #1863
2025-06-27 15:37:03 +03:00
Pere Diaz Bou
22cb95bc5d execute run on multiple parsed statements 2025-06-27 14:02:47 +02:00
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