Commit Graph

6722 Commits

Author SHA1 Message Date
TcMits
2e7de4ccd6 parse SAVEPOINT, RELEASE 2025-08-02 15:10:41 +07:00
TcMits
6baa5abb56 parse ROLLBACK 2025-08-02 14:47:49 +07:00
TcMits
62886ee8a1 parse COMMIT|END 2025-08-02 14:32:01 +07:00
TcMits
a23500274f fix parse nm 2025-08-02 14:19:32 +07:00
TcMits
ab1b229f26 parser: compare old and new 2025-08-01 18:56:32 +07:00
TcMits
d88781340d parser: parse BEGIN... 2025-08-01 18:30:29 +07:00
TcMits
1e926d0093 parser: finish lexer and draft AST 2025-08-01 15:07:20 +07:00
Pekka Enberg
81c86d42b4 Merge 'Clean up conversion between InsnFunctionStepResult and StepResult' from Diego Reis
Reviewed-by: Jussi Saurio <jussi.saurio@gmail.com>

Closes #2332
2025-07-30 09:11:35 +03:00
Pekka Enberg
9ab26b3ac2 Merge 'core/mvcc: simplify mvcc cursor types' from Pere Diaz Bou
We have so many cursor types that it will be unbearable to properly make
all of them work. Let's simplify this and only focus on lazy cursor
which in the future will load from database in case we need it.

Closes #2333
2025-07-30 09:10:44 +03:00
Pere Diaz Bou
caa5fe3ef4 core/mvcc: simplify mvcc cursor types
We have so many cursor types that it will be unbearable to properly make
all of them work. Let's simplify this and only focus on lazy cursor
which in the future will load from database in case we need it.
2025-07-29 20:13:52 +02:00
Diego Reis
e0b099f5ad refactor: Implement conversion between InsnFunctionStepResult and
StepResult
2025-07-29 15:02:09 -03:00
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
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
Pekka Enberg
669f02f17c bindings/java: Throw UnsupportedOperationException for unimplemented methods 2025-07-29 17:47:35 +03:00
Jussi Saurio
72bf4a714a bindings/rust: return errors instead of vibecoded numbers 2025-07-29 17:45:15 +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
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