Commit Graph

5639 Commits

Author SHA1 Message Date
Pere Diaz Bou
badbfd82f5 Merge 'Simplify PseudoCursor implementation' from Levy A.
Removes unnecessary allocations and unreachable code paths.

Reviewed-by: Pere Diaz Bou <pere-altea@homail.com>

Closes #1903
2025-07-01 16:21:05 +02:00
Pekka Enberg
bd60cd214c Merge 'Rust binding improvements' from Pedro Muniz
This PR aims to add some more comments and documentation to the Rust
binding. It also fixes an issue where you could not reuse the statement
after it ran to completion or errored. Now the statement resets in those
cases. Also implemented `Stream` for the Rows struct allowing users to
leverage the built-in iterator like methods for better ergonomics.

Closes #1905
2025-07-01 00:08:18 +03:00
Pekka Enberg
74e48a3a8f Merge 'bind/js: add tests for expand' from Mikaël Francoeur
This PR adds tests for the
[`expand()`](https://github.com/WiseLibs/better-
sqlite3/blob/master/docs/api.md#expandtogglestate---this) method of the
better-sqlite3 API.
It can't be implemented in limbo right now, because the table names
aren't surfaced in the `Statement` object (in core).

Closes #1907
2025-07-01 00:07:13 +03:00
Pekka Enberg
081aaf3e16 Merge remote-tracking branch 'origin/main' 2025-06-30 23:58:48 +03:00
Pekka Enberg
f75034c8e0 Turso 0.1.1 2025-06-30 23:58:04 +03:00
Pekka Enberg
51a8f49dc7 Update CHANGELOG.md 2025-06-30 23:57:52 +03:00
Mikaël Francoeur
5627cee24a minus formatting 2025-06-30 15:48:29 -04:00
Pekka Enberg
dce0e4341d Update README.md 2025-06-30 22:35:40 +03:00
Pekka Enberg
3dcc07c4f1 cli: Rename application to Turso
Affects the output of `--version`, for example.
2025-06-30 22:23:43 +03:00
Pekka Enberg
fb7714a17a Turso 0.1.1-pre.2 2025-06-30 22:19:35 +03:00
Pekka Enberg
228d13a77d github: Publish JavaScript packages only on tag 2025-06-30 22:19:16 +03:00
Pekka Enberg
75b8362688 bindings/javascript: Don't do Github release
We do the release ourselves, don't ask napi-rs to do it.

Fixes the following error:

```
RequestError [HttpError]: Resource not accessible by integration - https://docs.github.com/rest/releases/releases#create-a-release
```
2025-06-30 22:15:13 +03:00
Pekka Enberg
c92748fc20 Turso 0.1.1-pre.1 2025-06-30 21:52:00 +03:00
Pekka Enberg
df193cd59d bindings/javascript: Add prepublish step
...hopefully sorts the missing native package problem.
2025-06-30 21:51:38 +03:00
pedrocarlo
b1ee556892 fix doc test 2025-06-30 15:34:10 -03:00
Pekka Enberg
f9bce6875a Update README.md 2025-06-30 21:30:24 +03:00
pedrocarlo
78107935b5 clippy 2025-06-30 15:29:09 -03:00
pedrocarlo
cd280007ff more docs 2025-06-30 15:08:48 -03:00
pedrocarlo
318c2389fd extra example using Streams mapping 2025-06-30 15:05:54 -03:00
pedrocarlo
becc0e3a93 reset statements when we are done with the query or we encounter an error 2025-06-30 15:05:27 -03:00
Levy A.
25927d91d8 cargo fmt 2025-06-30 14:37:51 -03:00
Levy A.
ffd6844b5b refactor: remove PseudoTable from Table
the only reason for `PseudoTable` to exist, is to provide column
information for `PseudoCursor` creation. this should not be part of the
schema.
2025-06-30 14:31:58 -03:00
Pekka Enberg
2b22ccb264 Merge 'simulator: FsyncNoWait + Faulty Query' from Pedro Muniz
This PR introduces the `FsyncNoWait` property and `FaultyQuery`
property.
`FsyncNoWait` does the following:
- Executes a query
- Does not wait for fsync
- Reopens and closes the connections and database
- executes the query again waiting for all io
- asserts that both queries went through and that all values in table
are as expected
`FaultyQuery` does the following:
- Tries to execute a query
- Asks IO to inject a fault eventually
-  asserts that all values in table are as expected
With these changes, I am detecting problems in both Properties. In
`FsyncNoWait`, I am getting assertion errors,
but in `FaultyQuery` I am consistently hitting hangs.

Closes #1871
2025-06-30 20:22:16 +03:00
Pekka Enberg
f7f62babe5 Turso 0.1.0 2025-06-30 20:15:28 +03:00
Pekka Enberg
3245ae9cfe Update CHANGELOG.md 2025-06-30 20:15:19 +03:00
Levy A.
3907b387b3 cargo fix 2025-06-30 14:01:47 -03:00
Levy A.
afc55b27f0 refactor: remove unnecessary column definitions for PseudoTable
the only information that matters in the amount of column
2025-06-30 13:54:29 -03:00
pedrocarlo
a4c6138e33 docs fix 2025-06-30 13:38:40 -03:00
pedrocarlo
e08748e07e make futures-util default feature + use futures in example.rs 2025-06-30 13:16:42 -03:00
pedrocarlo
a1fe46779d move rows to separate file 2025-06-30 12:38:41 -03:00
pedrocarlo
3a17e58707 separate statement to separate file 2025-06-30 12:38:41 -03:00
pedrocarlo
279a7fca3b add futures-util feature flag + impl Stream for Rows 2025-06-30 12:38:41 -03:00
pedrocarlo
251926cd79 leave io faults and fsync query disabled by default 2025-06-30 12:36:26 -03:00
Pekka Enberg
6672334eaa Turso 0.1.0-pre.5 2025-06-30 17:44:21 +03:00
Pekka Enberg
8a13e4b02f Merge 'core: Disable ROLLBACK statement' from Pekka Enberg
There's bad interaction with schema changes and `ROLLBACK`:
https://github.com/tursodatabase/turso/issues/1890
Disable the statement for now to avoid people hitting the issue.

Reviewed-by: Pere Diaz Bou <pere-altea@homail.com>

Closes #1902
2025-06-30 17:44:10 +03:00
Pekka Enberg
2542cb2d03 core: Disable ROLLBACK statement
There's bad interaction with schema changes and `ROLLBACK`:

https://github.com/tursodatabase/turso/issues/1890

Disable the statement for now to avoid people hitting the issue.
2025-06-30 17:30:01 +03:00
Pekka Enberg
cc935f97cc Merge 'tests/integration: Fix write path test on Windows' from Pekka Enberg
Closes #1901
2025-06-30 14:47:31 +03:00
Pekka Enberg
36a7f76708 tests/integration: Fix write path test on Windows
The read_at() and write_at() APIs are UNIX specific.
2025-06-30 14:38:54 +03:00
Pekka Enberg
f9967f809a tests/integration: s/limbo_core/turso_core/g 2025-06-30 14:00:55 +03:00
Pekka Enberg
51edab7032 Merge 'WAL record db_size frame on commit last frame' from Pere Diaz Bou
`db_size` is `>0` in case of last frame written of a transaction. This
is necessary as we need to know -- while recovering wal contents -- that
we have read a transaction fully instead of treating every frame as its
own transaction.

Closes #1866
2025-06-30 13:46:40 +03:00
Pere Diaz Bou
ec6e39f426 test wal mismtach checksum 2025-06-30 12:24:58 +02:00
Pekka Enberg
26888273ef Merge 'bindings/rust: Add feature flag to enable indexes' from Pekka Enberg
Closes #1898
2025-06-30 13:11:14 +03:00
Pekka Enberg
a84a755cf7 bindings/rust: Add feature flag to enable indexes 2025-06-30 12:36:20 +03:00
Pekka Enberg
b87ce6d178 Merge 'Fix deleting previous rowid when rowid is in the Set Clause' from Pedro Muniz
Closes #1888 . This PR fixes UPDATE translation by not emitting an
ephemeral plan when we are doing a `RowIdEq` search. Also, we should
delete the previous rowid when the rowid is in the set clause.

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

Closes #1891
2025-06-30 11:58:05 +03:00
Pekka Enberg
4bdd42ef84 Turso 0.1.0-pre.4 2025-06-30 11:38:56 +03:00
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
Pere Diaz Bou
081f09ce20 fix read wal max frame 2025-06-30 10:16:44 +02: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