Commit Graph

10673 Commits

Author SHA1 Message Date
Pekka Enberg
d72ba0c153 Merge 'bindings/java: Throw UnsupportedOperationException for unimplemented …' from Pekka Enberg
…methods

Closes #2329
2025-07-29 19:07:51 +03:00
Pekka Enberg
76cbb71b53 Merge 'bindings/rust: return errors instead of vibecoded numbers' from Jussi Saurio
Good vibes only.
Fixes #2327

Closes #2328
2025-07-29 19:07:47 +03:00
RS2007
2587d0cc76 Removing dbg 2025-07-29 21:24:33 +05:30
RS2007
e31435e416 Typo fix 2025-07-29 21:24:33 +05:30
RS2007
282222a39f feat: execute_batch working 2025-07-29 21:24:33 +05:30
RS2007
8affc9d436 Prototyping execute_batch 2025-07-29 21:24:22 +05:30
pedrocarlo
58b51e036d read_page should return a Completion 2025-07-29 12:42:36 -03:00
Pekka Enberg
0aea7c1b62 Merge 'bindings/javascript: Run tests serially' from Diego Reis
Closes #2319
edit: I ran tests 30 times for each platform, and it's passing normally.

Closes #2326
2025-07-29 17:57:33 +03:00
pedrocarlo
6edf65f752 append_frame should return a Completion 2025-07-29 11:49:10 -03:00
Pekka Enberg
669f02f17c bindings/java: Throw UnsupportedOperationException for unimplemented methods 2025-07-29 17:47:35 +03:00
pedrocarlo
be3793e9f1 begin_write_wal_header should return completion + wait for completion in new_shared 2025-07-29 11:45:44 -03:00
Jussi Saurio
72bf4a714a bindings/rust: return errors instead of vibecoded numbers 2025-07-29 17:45:15 +03:00
pedrocarlo
5861145fb4 read_frame should return a Completion 2025-07-29 11:40:53 -03:00
Diego Reis
a35a490188 Force ava tests to run serially 2025-07-29 11:05:37 -03:00
Pekka Enberg
19bf4f7818 Merge 'Javascript testing cleanups' from Pekka Enberg
Closes #2324
2025-07-29 16:50:48 +03:00
Pere Diaz Bou
9a50ab1232 Add cli Dockerfile
Shamelessly vibe coded shit to add simple docker image to run the cli :)
2025-07-29 15:18:44 +02:00
Pekka Enberg
6c6d74993c testing/javascript: Clean up after test runs 2025-07-29 16:17:11 +03:00
Pekka Enberg
c39f0e7557 testing/javascript: Add libsql to compatibility test suite 2025-07-29 16:09:49 +03:00
Pekka Enberg
b4dc9bebe0 testing/javascript: Improve error message if TURSO_DATABASE_URL is not set 2025-07-29 16:09:49 +03:00
Pekka Enberg
c34f9de4ea serverless: Add URL validation on Connection constructor 2025-07-29 16:09:49 +03:00
Pekka Enberg
f48b22a52f Merge 'Javascript API improvements' from Pekka Enberg
Various improvements:
- Make promise API the default for `@tursodatabase/turso`
- Add a compatibility test suite for database, serverless, and better-
sqlite3
- Improve serverless driver a bit to be more compatible.

Closes #2322
2025-07-29 15:55:53 +03:00
Pekka Enberg
41a6bba3fc Merge 'turso-sync package: initial commit' from Nikita Sivukhin
This PR introduce `turso-sync` package which will provide additional
sync features build on top of the `turso` and `turso-core` packages.
In this PR `turso-sync` introduces simple `DatabaseTape` wrapper which
allows to extract operations from CDC table and apply them (potentially,
to completely different database).

Closes #2306
2025-07-29 15:24:31 +03:00
Pekka Enberg
ee58a0bf32 serverless: Implement Connection.pragma() 2025-07-29 15:00:23 +03:00
Pekka Enberg
4841bfd78a serverless: Fix Connection.exec()
We need to use sequence requests to handle multiple SQL statements for exec():

```
  DatabaseError {
    message: 'SQL string contains more than one statement',
  }
```
2025-07-29 14:56:14 +03:00
Pekka Enberg
43fd44aa1a serverless: Rename execute() to exec()
Let's follow the main JavaScript API convention. Note that libSQL compatibility stays the same.
2025-07-29 14:39:16 +03:00
Pekka Enberg
cace7abcd2 testing: Add JavaScript compatibility test suite
This is essentially an import of the libSQL test suite.
2025-07-29 14:37:48 +03:00
Pekka Enberg
795081b868 binding/javascript: Promise API by default
The JavaScript API is promise-based by default, but with a `sync`
variant that tracks `better-sqlite3` API for compatibility.
2025-07-29 14:32:37 +03:00
Nikita Sivukhin
298e0b459e fix after rebase 2025-07-29 14:42:51 +04:00
Nikita Sivukhin
bb96ce50fb fix after rebase 2025-07-29 14:42:10 +04:00
Nikita Sivukhin
4d6fe905b8 fix clippy 2025-07-29 14:42:10 +04:00
Nikita Sivukhin
4b893d1631 small fixes 2025-07-29 14:42:09 +04:00
Nikita Sivukhin
4dc217c41a fix clippy 2025-07-29 14:41:35 +04:00
Nikita Sivukhin
134d5e8e2e add simple readme 2025-07-29 14:41:35 +04:00
Nikita Sivukhin
58134052e6 cleanup cargo.toml 2025-07-29 14:41:35 +04:00
Nikita Sivukhin
76cc8c05a5 add conversion method 2025-07-29 14:41:10 +04:00
Nikita Sivukhin
ea2f9faa13 fix build 2025-07-29 14:41:10 +04:00
Nikita Sivukhin
40ded34ef6 add internal DatabaseTape types 2025-07-29 14:40:14 +04:00
Nikita Sivukhin
841bbe3f77 add CDC types 2025-07-29 14:40:14 +04:00
Nikita Sivukhin
b27bc05c7d introduce turso-sync package with simple implementation of DatabaseTape 2025-07-29 14:40:14 +04:00
Pekka Enberg
8adc807cd7 Merge 'Change function signatures to return IO Completions' from Pedro Muniz
Changes a couple of function signatures to return `Completion`. Also, I
changed `Completion` to be internally `Arc` to abstract the `Arc`
implementation detail, and to be able to attach a `#[must_use]` to the
`Completion` struct, so that cargo check can show us where we are not
tracking completions in the code. I also attached a `#[must_use]` to
`IOResult` so that we can see the places that we are not propagating or
waiting for I/O, demonstrating locations where functions should be
reentrant and are not.
Also, while we are with this refactor in progress I want to relax the
Clippy CI lint on unused_variables.

Closes #2309
2025-07-29 12:41:14 +03:00
Pekka Enberg
94dc780669 Turso 0.1.3 2025-07-29 12:37:18 +03:00
Pekka Enberg
0e0fe8739f Update CHANGELOG.md 2025-07-29 12:37:10 +03:00
Pekka Enberg
2d2f416e2c Revert "bindings/javascript: Add optional dependencies"
This reverts commit 9d7a77efde. It does
not work because the native packages don't yet exists at that point.
Let's fix the Github workflows instead.
2025-07-29 12:36:12 +03:00
Pekka Enberg
150e888cc0 Merge branch 'main' of https://github.com/tursodatabase/limbo 2025-07-29 12:16:34 +03:00
Pekka Enberg
a4737f82bc Turso 0.1.3-pre.10 2025-07-29 12:16:02 +03:00
Pekka Enberg
9d7a77efde bindings/javascript: Add optional dependencies 2025-07-29 12:15:43 +03:00
Pekka Enberg
604ed4a13d Fix typo on manual.md 2025-07-29 11:47:20 +03:00
Pekka Enberg
532a014557 docs: Add JavaScript API to the manual 2025-07-29 11:45:12 +03:00
Pekka Enberg
4f4d321822 Turso 0.1.3-pre.9 2025-07-29 10:58:09 +03:00
Pekka Enberg
ae91a4ab6b bindings/javascript: Add index.js and sqlite3-error.js to package
...won't work without them...
2025-07-29 10:57:36 +03:00