Commit Graph

10673 Commits

Author SHA1 Message Date
Andika Tanuwijaya
0250806da3 lifetime issue 2025-07-02 00:39:54 +07:00
Andika Tanuwijaya
578c7ae53a example 2025-07-02 00:39:36 +07:00
Andika Tanuwijaya
e37388a6c9 readme 2025-07-02 00:17:18 +07:00
Andika Tanuwijaya
135c81f2db ios support 2025-07-02 00:11:42 +07:00
Andika Tanuwijaya
4686592156 migrate dart binding to flutter plugin project 2025-07-02 00:04:42 +07:00
AdrianAcala
7ca902979d Fix: Correctly update indexes when INTEGER PRIMARY KEY (rowid alias) changes (Issue #1897)
When an `UPDATE` statement modifies a table's `INTEGER PRIMARY KEY` (which acts as a `rowid` alias) alongside other indexed columns, the index entries were incorrectly retaining the old `rowid`. This led to stale index references, causing subsequent queries to return incorrect results.

This change ensures that when the `rowid` alias is part of the `SET` clause in an `UPDATE` statement, the new `rowid` value is used for generating and updating index records. This guarantees that all index entries correctly point to the updated row, resolving the data inconsistency.
2025-07-01 16:03:27 +00:00
Mikaël Francoeur
165e7eda5f add formatting instructions for js 2025-07-01 11:11:36 -04:00
Mikaël Francoeur
98830516cd fix typos and format md tables with prettier 2025-07-01 11:11:36 -04:00
Mikaël Francoeur
56a679d329 format js files using tsserver 2025-07-01 11:05:26 -04:00
Simon Willison
a46818fda0 Turso, not Limbo, in pyproject.toml 2025-07-01 07:29:06 -07:00
Ihor Andrianov
c0aa67dccb rebase 2025-07-01 17:28:34 +03:00
Ihor Andrianov
564bb28dea rewrite test to make fix verifiable 2025-07-01 17:27:58 +03:00
Ihor Andrianov
68e638e955 fix second occurance 2025-07-01 17:27:58 +03:00
Ihor Andrianov
647183938f fix sub with below 0 in tests 2025-07-01 17:27:58 +03:00
Ihor Andrianov
56b1fcf3b3 remove unused imports 2025-07-01 17:27:58 +03:00
Ihor Andrianov
41a11afe7c leaking box memory 2025-07-01 17:27:47 +03:00
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
Andika Tanuwijaya
8b158b24e0 re-upload dart binding 2025-07-01 18:43:18 +07:00
KaguraMilet
aca08238d8 fix buffer pool is not thread safe problem 2025-07-01 16:06:55 +08:00
PThorpe92
2bbfe15ec1 Add readonly python test 2025-06-30 22:04:56 -04:00
PThorpe92
bbee10ba2c Add mvcc and index config to connection open api 2025-06-30 22:04:56 -04:00
PThorpe92
2e967b778b Prevent writes to db file in the VDBE if we are in readonly mode 2025-06-30 22:04:56 -04:00
PThorpe92
d526915b24 Optionally use from_uri in CLI if the connection string looks like a URI 2025-06-30 22:04:54 -04:00
PThorpe92
c2670dbd67 Use connection::from_uri method in Python bindings 2025-06-30 22:03:51 -04:00
PThorpe92
51ef3774ab Use connection::from_uri method in Go bindings 2025-06-30 22:03:51 -04:00
PThorpe92
8f141e934a Add readonly option to db connection and add method to open new connection via URI 2025-06-30 22:03:51 -04: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
Lucas Forato
9376ac3f13 feat: merge with main 2025-06-30 16:25:59 -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