Commit Graph

5653 Commits

Author SHA1 Message Date
Pekka Enberg
86b62fd1ff Merge 'add a benchmark for connection time versus number of tables' from Glauber Costa
SQLite performs poorly for connections as the number of tables increase.
Do we perform better? the same? worse?
Right now the answer is worse. Add a benchmark to help us compare.

Closes #1921
2025-07-02 13:48:28 +03:00
Pekka Enberg
00aff30a66 Merge 'remote query_mode from ProgramBuilderOpts and from function arguments' from Nikita Sivukhin
`query_mode` never changes and `ProgramBuilder` already created with
proper mode set correctly

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

Closes #1924
2025-07-02 13:48:11 +03:00
Nikita Sivukhin
c9c5ef4e25 remote query_mode from ProgramBuilderOpts and from function arguments
- mode never changes and ProgramBuilder already created with proper mode set correctly
2025-07-02 13:24:12 +04:00
Pekka Enberg
325bd80a86 Merge 'limbo -> turso' from Glauber Costa
Fix user-visible string

Closes #1918
2025-07-02 08:14:20 +03:00
Pekka Enberg
e718cfef6b Merge 'Add opening new connection from a sqlite compatible URI, read-only connections' from Preston Thorpe
@penberg reminded me that this never got integrated :)

Closes #1908
2025-07-02 08:05:36 +03:00
Glauber Costa
471a95bd96 add a benchmark for connection time versus number of tables
SQLite performs poorly for connections as the number of tables increase.

Do we perform better? the same? worse?

Right now the answer is worse. Add a benchmark to help us compare.
2025-07-01 20:10:21 -05:00
Glauber Costa
4655b194c7 limbo -> turso
Fix user-visible string
2025-07-01 16:05:26 -05: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
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
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