pedrocarlo
b6e200dbed
adjust cacheflush calls outside of pager
2025-08-13 10:24:55 +03:00
Pekka Enberg
a6247e891f
Turso 0.1.4-pre.8
2025-08-12 19:51:42 +03:00
Pekka Enberg
475799b3e9
Unify JavaScript package README files
2025-08-12 19:30:02 +03:00
Pekka Enberg
269b23ece5
Merge branch 'main' of https://github.com/tursodatabase/limbo
2025-08-12 17:08:30 +03:00
Pekka Enberg
5a65617602
Turso 0.1.4-pre.7
2025-08-12 17:01:47 +03:00
Pekka Enberg
96673a54a8
bindings/javascript: Add async connect() function
...
Let's make the API symmetric with libSQL and serverless drivers.
2025-08-12 11:39:59 +03:00
Glauber Costa
145d6eede7
Implement very basic views using DBSP
...
This is just the bare minimum that I needed to convince myself that this
approach will work. The only views that we support are slices of the
main table: no aggregations, no joins, no projections.
drop view is implemented.
view population is implemented.
deletes, inserts and updates are implemented.
much like indexes before, a flag must be passed to enable views.
2025-08-10 23:34:04 -05:00
Pekka Enberg
81da795a66
Turso 0.1.4-pre.6
2025-08-08 16:50:24 +03:00
Pekka Enberg
ba88d17f29
Turso 0.1.4-pre.5
2025-08-08 13:49:06 +03:00
Pekka Enberg
f2b2e4d4d8
Rename JavaScript package to @tursodatabase/database
2025-08-08 13:22:10 +03:00
Pekka Enberg
ad70157e74
Turso 0.1.4-pre.4
2025-08-08 11:54:26 +03:00
Pekka Enberg
5b578dd790
bindings/javascript: Fix "npm publish" to build the package
2025-08-08 11:53:58 +03:00
Pekka Enberg
8d5fb41f5d
Turso 0.1.4-pre.3
2025-08-08 10:42:41 +03:00
Pekka Enberg
f7eb6c2cee
Turso v0.1.4-pre.3
2025-08-08 10:42:38 +03:00
Pekka Enberg
7a09eb0d4c
Merge 'Fix JavaScript bindings packaging' from Nikita Sivukhin
...
This PR configure `#entry-point` import alias for javascript bindings in
order to use `browser.js` napi-rs generated file in browser context.
Also, this PR forces napi-rs to emit `index.js` entrypoint using ESM and
also use typescript for writing our wrapper code around napi-rs
bindings.
In order to make behaviour consistent when lib is imported through ESM
or CommonJS this PR also replace default export of `Database` by named
on. The problem is that `export default Database` will be logically
equivalent to `modules.export.default = Database` which is not the same
thing as `modules.export = Database` and this will need to access
additional `.default` field with CommonJs style imports (e.g. `new
require('@tursodatabase/turso').default(...)`). In order to remove this
difference - I just replaced default export with named one.
Closes #2488
2025-08-08 10:42:21 +03:00
Nikita Sivukhin
eec679b00b
fix package.json one more time
2025-08-08 10:34:11 +04:00
Pekka Enberg
d32b63d135
bindings/javascript: Update yarn lock file
2025-08-08 09:23:19 +03:00
Pekka Enberg
5ef58db941
bindings/javascript: Fix npm run build
...
Fixes the following error:
```
This is not the tsc command you are looking for
To get access to the TypeScript compiler, tsc, from the command line either:
- Use npm install typescript to first add TypeScript to your project before using npx
- Use yarn to avoid accidentally running code from un-installed packages
```
2025-08-08 09:22:31 +03:00
Nikita Sivukhin
ba6bf7057e
fix package.json
2025-08-08 09:59:52 +04:00
Nikita Sivukhin
9b892828eb
fix package.json
2025-08-08 01:01:40 +04:00
Nikita Sivukhin
92f95f2580
update example
2025-08-08 00:48:20 +04:00
Nikita Sivukhin
dd347fb3e3
simplify setup by emiting index.js in ESM style from napi
2025-08-08 00:47:37 +04:00
PThorpe92
04b40b4cf5
Impl copy_to for Database impl in JS bindings
2025-08-07 16:27:08 -04:00
Nikita Sivukhin
b8f2ff293b
set more fresh lib version
2025-08-07 18:21:29 +04:00
Nikita Sivukhin
7d235953bb
add open field
2025-08-07 16:28:02 +04:00
Nikita Sivukhin
e11184ff1d
fix re-exports
2025-08-07 16:28:02 +04:00
Nikita Sivukhin
d1cd294e94
setup dual publish for commonjs/esm modules and properly route browser/node usages to the correct napi binary entrypoint
2025-08-07 16:28:02 +04:00
Nikita Sivukhin
1a2a1a9ca4
adjust javascript turso bindings for reuse in turso-sync-js package
2025-08-07 16:28:02 +04:00
Pekka Enberg
ab7b0dd1aa
bindings/javascript: Implement Statement.iterate()
2025-08-07 14:28:34 +03:00
Pekka Enberg
b603ee7062
Merge 'JavaScript improvements' from Pekka Enberg
...
Closes #2467
2025-08-07 14:01:07 +03:00
Pekka Enberg
fa6c925751
bindings/javascript: Switch from RefCell to Cell
2025-08-07 07:47:10 +03:00
Nikita Sivukhin
b612259a3a
more friendly copmletely runtime agnostic turso-sync-engine crate
2025-08-06 19:26:55 +04:00
Pekka Enberg
2913dc4dd4
Turso 0.1.4-pre.2
2025-08-06 10:52:32 +03:00
Pekka Enberg
6ad50f4581
bindings/javascript: Fix prepare() error message format
2025-08-06 09:13:22 +03:00
Pekka Enberg
9ae96838ab
testing/javascript: Improve exec() after close() error
2025-08-06 08:07:15 +03:00
Pekka Enberg
79412ea2cc
bindings/javascript: Improve error when prepare() called after close()
2025-08-06 07:48:15 +03:00
PThorpe92
f6a68cffc2
Remove RefCell from IO and Page apis
2025-08-05 16:24:49 -04:00
Pere Diaz Bou
2392ea1b55
bindings/rust: add with_mvcc option
2025-08-05 11:40:23 +02:00
Nikita Sivukhin
2e23230e79
extend raw WAL API with few more methods
...
- try_wal_watermark_read_page - try to read page from the DB with given WAL watermark value
- wal_changed_pages_after - return set of unique pages changed after watermark WAL position
2025-08-04 16:55:50 +04:00
Nikita Sivukhin
0adb40534c
hind dangerous methods behind conn_raw_api feature
2025-08-04 12:40:28 +04:00
Diego Reis
31eb4403ad
Add integration tests for query_row and get
2025-08-01 16:00:32 -03:00
Diego Reis
8a47b9d5a4
Address PR's comments
2025-08-01 16:00:32 -03:00
Diego Reis
572d3bd4ce
Simplify Rust API verbosity by implementing Row.get() and
...
Statement.query_row()
2025-08-01 16:00:32 -03:00
Diego Reis
adb81dd6ce
Separate Row and Rows in its own file
2025-08-01 16:00:32 -03:00
Pekka Enberg
9a1ead44f1
Merge 'bindings/javascript: Reduce VM/native crossing overhead' from Pekka Enberg
...
Before:
```
penberg@vonneumann perf % node perf-turso.js
cpu: Apple M1
runtime: node v22.16.0 (arm64-darwin)
benchmark time (avg) (min … max) p75 p99 p999
----------------------------------------------------------------------- -----------------------------
• Statement
----------------------------------------------------------------------- -----------------------------
Statement.get() bind parameters 1'525 ns/iter (1'482 ns … 1'720 ns) 1'534 ns 1'662 ns 1'720 ns
summary for Statement
Statement.get() bind parameters
penberg@vonneumann perf % bun perf-turso.js
cpu: Apple M1
runtime: bun 1.2.15 (arm64-darwin)
benchmark time (avg) (min … max) p75 p99 p999
----------------------------------------------------------------------- -----------------------------
• Statement
----------------------------------------------------------------------- -----------------------------
Statement.get() bind parameters 1'198 ns/iter (1'157 ns … 1'495 ns) 1'189 ns 1'456 ns 1'495 ns
summary for Statement
Statement.get() bind parameters
```
After:
```
benchmark time (avg) (min … max) p75 p99 p999
----------------------------------------------------------------------- -----------------------------
• Statement
----------------------------------------------------------------------- -----------------------------
Statement.get() bind parameters 1'206 ns/iter (1'180 ns … 1'402 ns) 1'208 ns 1'365 ns 1'402 ns
summary for Statement
Statement.get() bind parameters
penberg@vonneumann perf % bun perf-turso.js
cpu: Apple M1
runtime: bun 1.2.15 (arm64-darwin)
benchmark time (avg) (min … max) p75 p99 p999
----------------------------------------------------------------------- -----------------------------
• Statement
----------------------------------------------------------------------- -----------------------------
Statement.get() bind parameters 1'019 ns/iter (980 ns … 1'360 ns) 1'005 ns 1'270 ns 1'360 ns
summary for Statement
Statement.get() bind parameters
```
Closes #2391
2025-08-01 19:18:33 +03:00
Pekka Enberg
f1794b6270
bindings/javascript: Add INSERT benchmark too
2025-08-01 18:17:13 +03:00
Pekka Enberg
d4633415a7
Merge 'Enable indexes by default' from Jussi Saurio
...
Enables indexes by default in Rust and Python bindings + the CLI, while
leaving the feature flag in place.
Comments out a single ALTER TABLE test that fails due to #2390
Closes #2389
2025-08-01 17:36:35 +03:00
Pekka Enberg
358c0bfc27
cargo fmt
2025-08-01 17:17:01 +03:00
Pekka Enberg
1db0637a5e
bindings/javascript: Improve benchmark
2025-08-01 16:55:04 +03:00
Pekka Enberg
94efe9dd46
bindings/javascript: Reduce VM/native crossing overhead
...
Before:
```
penberg@vonneumann perf % node perf-turso.js
cpu: Apple M1
runtime: node v22.16.0 (arm64-darwin)
benchmark time (avg) (min … max) p75 p99 p999
----------------------------------------------------------------------- -----------------------------
• Statement
----------------------------------------------------------------------- -----------------------------
Statement.get() bind parameters 1'525 ns/iter (1'482 ns … 1'720 ns) 1'534 ns 1'662 ns 1'720 ns
summary for Statement
Statement.get() bind parameters
penberg@vonneumann perf % bun perf-turso.js
cpu: Apple M1
runtime: bun 1.2.15 (arm64-darwin)
benchmark time (avg) (min … max) p75 p99 p999
----------------------------------------------------------------------- -----------------------------
• Statement
----------------------------------------------------------------------- -----------------------------
Statement.get() bind parameters 1'198 ns/iter (1'157 ns … 1'495 ns) 1'189 ns 1'456 ns 1'495 ns
summary for Statement
Statement.get() bind parameters
```
After:
```
benchmark time (avg) (min … max) p75 p99 p999
----------------------------------------------------------------------- -----------------------------
• Statement
----------------------------------------------------------------------- -----------------------------
Statement.get() bind parameters 1'206 ns/iter (1'180 ns … 1'402 ns) 1'208 ns 1'365 ns 1'402 ns
summary for Statement
Statement.get() bind parameters
penberg@vonneumann perf % bun perf-turso.js
cpu: Apple M1
runtime: bun 1.2.15 (arm64-darwin)
benchmark time (avg) (min … max) p75 p99 p999
----------------------------------------------------------------------- -----------------------------
• Statement
----------------------------------------------------------------------- -----------------------------
Statement.get() bind parameters 1'019 ns/iter (980 ns … 1'360 ns) 1'005 ns 1'270 ns 1'360 ns
summary for Statement
Statement.get() bind parameters
```
2025-08-01 16:45:03 +03:00