Commit graph

1176 commits

Author SHA1 Message Date
Jussi Saurio
c7672b952b Use Cow for Value::Blob to prevent copies in op_column 2025-12-06 12:08:27 +02:00
Jussi Saurio
58a25f7f5f
Merge 'Turso sdk kit version' from Nikita Sivukhin
This PR adds simple `turso_version()` function to the sdk-kit crate

Closes #4099
2025-12-05 17:27:28 +02:00
Jussi Saurio
74296e52bb
Merge 'Automatically Propagate Encryption options' from Pedro Muniz
On database open, we store the Encryption Options and pass them onwards
to the Connection, Pager and Wal. We also have slight gain in
ergonomics, as we don't have set the Pragma's for the `cipher` and
`hexkey` on each new `Connection`.
I needed this logic, because I will need to initialize a Default Header
for empty DBs and encryption opts not being automatically propagated was
hindering me for this.
**Ai Disclosure**
Claude helped me debug and find out issues in my implementation
cc @avinassh

Reviewed-by: Avinash Sajjanshetty (@avinassh)

Closes #4100
2025-12-05 15:31:17 +02:00
pedrocarlo
a311c966a2 set encryption context for page and wal in init_pager 2025-12-05 02:04:06 -03:00
pedrocarlo
889322f6b5 do not call pragmas related to encryption on connect or open 2025-12-05 02:04:06 -03:00
Nikita Sivukhin
420037b82c use sdk-kit version in the pythod driver (just for consistency) 2025-12-04 23:27:35 +04:00
Nikita Sivukhin
510a61b5eb Merge branch 'main' into sync-sdk-kit 2025-12-03 21:16:15 +04:00
Pekka Enberg
2e3161942e Turso 0.4.0-pre.7 2025-12-03 10:47:06 +02:00
Pekka Enberg
0352247783 Turso 0.4.0-pre.6 2025-12-03 10:05:01 +02:00
Pekka Enberg
34964680ca Turso 0.4.0-pre.5
Some checks are pending
Rust Benchmarks+Nyrkiö / tpc-h-criterion (push) Waiting to run
Build & publish @tursodatabase/database / db-bindings-x86_64-pc-windows-msvc - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / db-bindings-x86_64-unknown-linux-gnu - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-aarch64-apple-darwin - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-aarch64-unknown-linux-gnu - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-wasm32-wasip1-threads - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-x86_64-pc-windows-msvc - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-x86_64-unknown-linux-gnu - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / Test DB bindings on Linux-x64-gnu - node@20 (push) Blocked by required conditions
Build & publish @tursodatabase/database / Test DB bindings on browser@20 (push) Blocked by required conditions
Build & publish @tursodatabase/database / Publish (push) Blocked by required conditions
Python / configure-strategy (push) Waiting to run
Python / test (push) Blocked by required conditions
Python / lint (push) Waiting to run
Python / linux (x86_64) (push) Waiting to run
Python / macos-arm64 (aarch64) (push) Waiting to run
Python / sdist (push) Waiting to run
Python / Release (push) Blocked by required conditions
Rust / cargo-fmt-check (push) Waiting to run
Rust / build-native (blacksmith-4vcpu-ubuntu-2404) (push) Waiting to run
Rust / build-native (macos-latest) (push) Waiting to run
Rust / build-native (windows-latest) (push) Waiting to run
Rust / clippy (push) Waiting to run
Rust / simulator (push) Waiting to run
Rust / test-limbo (push) Waiting to run
Rust / test-sqlite (push) Waiting to run
Rust Benchmarks+Nyrkiö / bench (push) Waiting to run
Rust Benchmarks+Nyrkiö / clickbench (push) Waiting to run
Rust Benchmarks+Nyrkiö / tpc-h (push) Waiting to run
Rust Benchmarks+Nyrkiö / vfs-bench-compile (push) Waiting to run
2025-12-03 09:39:38 +02:00
Nikita Sivukhin
7dd50abf2a format and restructure for sync package 2025-12-02 18:32:32 +04:00
Nikita Sivukhin
6e30a3ce90 cargo fmt 2025-12-02 18:18:14 +04:00
Nikita Sivukhin
201f3a55f6 fix clippy 2025-12-02 18:16:57 +04:00
Nikita Sivukhin
5bb5bae01c Merge branch 'main' into sync-sdk-kit 2025-12-02 17:28:06 +04:00
Nikita Sivukhin
74d6e7d3a8 prompt fix just for the sake of consistency 2025-12-02 17:21:57 +04:00
Nikita Sivukhin
ae603000e1 implement simple turso-sync bindings for python 2025-12-02 17:18:46 +04:00
Nikita Sivukhin
8df7f7e416 adjust python bindings 2025-12-02 16:03:06 +04:00
Nikita Sivukhin
4d1c52a02f add extra_io parameter to the main python driver 2025-12-02 11:03:42 +04:00
Nikita Sivukhin
52f492b93d slightly adjust database sdk-kit 2025-12-01 22:55:15 +04:00
Nikita Sivukhin
65ec20a562 small renames 2025-12-01 22:53:39 +04:00
Pekka Enberg
730836f3f3 Turso 0.4.0-pre.4
Some checks are pending
Build & publish @tursodatabase/database / db-bindings-x86_64-pc-windows-msvc - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / db-bindings-x86_64-unknown-linux-gnu - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-aarch64-apple-darwin - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-aarch64-unknown-linux-gnu - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-wasm32-wasip1-threads - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-x86_64-pc-windows-msvc - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / sync-bindings-x86_64-unknown-linux-gnu - node@20 (push) Waiting to run
Build & publish @tursodatabase/database / Test DB bindings on Linux-x64-gnu - node@20 (push) Blocked by required conditions
Build & publish @tursodatabase/database / Test DB bindings on browser@20 (push) Blocked by required conditions
Build & publish @tursodatabase/database / Publish (push) Blocked by required conditions
Python / sdist (push) Waiting to run
Python / Release (push) Blocked by required conditions
Python / configure-strategy (push) Waiting to run
Python / test (push) Blocked by required conditions
Python / lint (push) Waiting to run
Python / linux (x86_64) (push) Waiting to run
Python / macos-arm64 (aarch64) (push) Waiting to run
Rust / cargo-fmt-check (push) Waiting to run
Rust / build-native (blacksmith-4vcpu-ubuntu-2404) (push) Waiting to run
Rust / build-native (macos-latest) (push) Waiting to run
Rust / build-native (windows-latest) (push) Waiting to run
Rust / clippy (push) Waiting to run
Rust / simulator (push) Waiting to run
Rust / test-limbo (push) Waiting to run
Rust / test-sqlite (push) Waiting to run
Rust Benchmarks+Nyrkiö / bench (push) Waiting to run
Rust Benchmarks+Nyrkiö / clickbench (push) Waiting to run
Rust Benchmarks+Nyrkiö / tpc-h-criterion (push) Waiting to run
Rust Benchmarks+Nyrkiö / tpc-h (push) Waiting to run
Rust Benchmarks+Nyrkiö / vfs-bench-compile (push) Waiting to run
2025-12-01 19:49:10 +02:00
Nikita Sivukhin
3cad64e5e4 rename weird ProtocolIo to the SyncEngineIo 2025-11-28 21:40:52 +04:00
Nikita Sivukhin
769af9485e remove debug print 2025-11-28 03:31:46 +04:00
Nikita Sivukhin
4add1de3e7 uvx ruff check 2025-11-28 03:31:16 +04:00
Nikita Sivukhin
6d817530e2 cargo fmt 2025-11-28 03:24:04 +04:00
Nikita Sivukhin
863c9727cc uv format 2025-11-28 03:22:16 +04:00
Nikita Sivukhin
a5b0dc0980 clippy 2025-11-28 03:21:47 +04:00
Nikita Sivukhin
2b0c19289d fix rowcount calculation 2025-11-28 03:21:34 +04:00
Nikita Sivukhin
73a94910d8 Merge branch 'main' into sdk-kit 2025-11-28 02:56:01 +04:00
Nikita Sivukhin
338846eeda bit more tests and fix __init__ 2025-11-28 02:51:58 +04:00
Nikita Sivukhin
40447299b9 refine prompt and regenerate bindings 2025-11-28 02:36:05 +04:00
Nikita Sivukhin
caefe25ad5 more tests from robots 2025-11-28 01:54:04 +04:00
Nikita Sivukhin
c84b51510b fix tests: bug in assertion + adjust driver usage in the tricky INSERT RETURNING test 2025-11-28 01:45:13 +04:00
Nikita Sivukhin
c95908bca5 uv format + remove unused imports 2025-11-28 01:42:11 +04:00
Nikita Sivukhin
5fb16eb9d1 generate tests with prompt 2025-11-28 01:39:25 +04:00
Nikita Sivukhin
37320099cc export Row from the module 2025-11-28 01:39:07 +04:00
Nikita Sivukhin
7f4ae07bb5 regenerate driver through prompt 2025-11-28 01:36:17 +04:00
Nikita Sivukhin
85985cb64a add comment to the python bindings 2025-11-28 01:35:58 +04:00
Nikita Sivukhin
dd913dec22 move connect at the top 2025-11-28 01:06:44 +04:00
Nikita Sivukhin
1c373fd275 vide code python bindings 2025-11-27 17:54:10 +04:00
Nikita Sivukhin
0c05cd3ca7 rewrite python bindings to be almost direct translation of sdk-kit 2025-11-27 17:53:31 +04:00
Nikita Sivukhin
78705493d8 use sdk-kit in python bindings 2025-11-27 14:12:08 +04:00
Dave Warnock
a7d56be2da Tidied import
I noticed that I should have tidied the imports
2025-11-23 16:32:38 +00:00
Dave Warnock
1e5723e05a Removed unwrap from the rust binding example
Refactor to remove unwrap, also added:

- an assertion to catch database failure
- an integer column to make the example a little more informative on how
to use binding
2025-11-23 15:45:15 +00:00
Pekka Enberg
9bf6e6efd9
Merge 'use i64 for registers p1,p2,p3,p5 in EXPLAIN output' from Mikaël Francoeur
To avoid overflows, use i64 for p1,p2,p3,p5 in EXPLAIN output. This
matches SQLite's behaviour (https://github.com/sqlite/sqlite/blob/master
/src/vdbeaux.c#L2460-L2476).
I also changed the column type string for p4, there was a preexisting
mismatch between the value type and the explicit type string.
Closes https://github.com/tursodatabase/turso/issues/3944

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

Closes #3961
2025-11-23 09:47:22 +02:00
Pekka Enberg
94cd61fb69
Merge 'bindings/java: add batching support to JDBC4PreparedStatement' from
# Changes
Support batching multiple DML queries in a single PreparedStatement.
### Java
- the setters of JDBC4PreparedStatement no longer bind to the underlying
native statement directly, but only store the parameter values locally
- On execution the correct set of parameters is bound to the native
statement
### Rust
- Added a helper method to retrieve the parameter count of a statement
# Reference
#615

Reviewed-by: Kim Seon Woo (@seonWKim)

Closes #3971
2025-11-23 09:45:08 +02:00
Pekka Enberg
b5c5666a49 Turso 0.4.0-pre.3 2025-11-22 09:56:18 +02:00
Duckulus
7e89772326 reset statement instead of recreating it when executing preparedstatement batch 2025-11-19 23:47:15 +01:00
Duckulus
66213612b8 add unit tests for batch update,delete and adjust naming 2025-11-19 23:04:47 +01:00
Pekka Enberg
687d9faf37 Turso 0.4.0-pre.2 2025-11-19 09:40:08 +02:00