Commit Graph

5580 Commits

Author SHA1 Message Date
Pekka Enberg
cc14f83feb bindings/javascript: Regenerate yarn.lock 2025-06-30 11:25:24 +03:00
Pekka Enberg
9c1b7897ac Fix URLs to point to github.com/tursodatabase/turso 2025-06-30 11:23:53 +03:00
Pekka Enberg
e514a02478 Turso 0.1.0-pre.3 2025-06-30 10:59:55 +03:00
Pekka Enberg
9c5ee9fec1 scripts/publish-crates.sh: s/limbo/turso/ 2025-06-30 10:59:25 +03:00
Pekka Enberg
62b1b0aa95 Merge 'Eliminate core extension dependencies' from Pekka Enberg
Bundle UUID and time extensions and drop the dependency to other
extensions so that we don't have to publish every crate.

Reviewed-by: Preston Thorpe (@PThorpe92)

Closes #1886
2025-06-30 10:59:18 +03:00
Pekka Enberg
7d21d2fae4 Add limbo_ipaddr to Cargo workspace
Make sure we build the extension.
2025-06-30 10:46:26 +03:00
Pekka Enberg
60191e7c7b Move series extension to core
It's part of upstream SQLite too.
2025-06-30 10:29:34 +03:00
Pekka Enberg
c3250b64a6 core: Make clippy happy
...I actually have no idea why Clippy complains now, but not in main.
2025-06-30 10:01:03 +03:00
Pekka Enberg
c9945950e8 core: Remove dependencies to extensions
We don't want to publish all extensions on crates.io, at least not for now.
2025-06-30 10:01:03 +03:00
Pekka Enberg
39fd84f297 Move time extension to core 2025-06-30 10:01:03 +03:00
Pekka Enberg
12131babae Move UUID extension to core
We want to bundle the UUID extension by default so move the code to core.
2025-06-30 09:54:13 +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