- vendor sqlite3-parser (lemon-rs) to have full control over the parser
- update limbo-core in perf/latency/limbo
Reviewed-by: Pekka Enberg <penberg@iki.fi>
Closes#396
We don't expect any return value from the underlying `fsync()` so fix
the function signature accordingly.
Fixes the following obscure error:
```
TypeError: Cannot convert undefined to a BigInt
at wasm://wasm/00942492:wasm-function[1501]:0x1c4dc1
at wasm://wasm/00942492:wasm-function[694]:0x189586
at wasm://wasm/00942492:wasm-function[50]:0x143d7
at wasm://wasm/00942492:wasm-function[60]:0x3f91a
at new Database (/Users/penberg/src/penberg/limbo/bindings/wasm/pkg/limbo_wasm.js:162:26)
at file:///Users/penberg/src/penberg/limbo/bindings/wasm/perf/perf-limbo.js:5:12
at ModuleJob.run (node:internal/modules/esm/module_job:195:25)
at async ModuleLoader.import (node:internal/modules/esm/loader:336:24)
at async loadESM (node:internal/process/esm_loader:34:7)
at async handleMainPromise (node:internal/modules/run_main:106:12)
```
Reviewed-by: Pere Diaz Bou <pere-altea@homail.com>
Closes#395
We don't expect any return value from the underlying `fsync()` so fix
the function signature accordingly.
Fixes the following obscure error:
```
TypeError: Cannot convert undefined to a BigInt
at wasm://wasm/00942492:wasm-function[1501]:0x1c4dc1
at wasm://wasm/00942492:wasm-function[694]:0x189586
at wasm://wasm/00942492:wasm-function[50]:0x143d7
at wasm://wasm/00942492:wasm-function[60]:0x3f91a
at new Database (/Users/penberg/src/penberg/limbo/bindings/wasm/pkg/limbo_wasm.js:162:26)
at file:///Users/penberg/src/penberg/limbo/bindings/wasm/perf/perf-limbo.js:5:12
at ModuleJob.run (node:internal/modules/esm/module_job:195:25)
at async ModuleLoader.import (node:internal/modules/esm/loader:336:24)
at async loadESM (node:internal/process/esm_loader:34:7)
at async handleMainPromise (node:internal/modules/run_main:106:12)
```
Apply some more tricks from to reduce text size by 1 MB:
https://github.com/johnthagen/min-sized-rust
Before:
penberg@vonneumann sqlite3 % ls -lh
../target/release/liblimbo_sqlite3.a
-rw-r--r-- 1 penberg staff 6,7M 16 Mar 09:52
../target/release/liblimbo_sqlite3.a
After:
penberg@vonneumann sqlite3 % ls -lh
../target/release/liblimbo_sqlite3.a
-rw-r--r-- 1 penberg staff 5,6M 16 Mar 09:50
../target/release/liblimbo_sqlite3.a
Reviewed-by: Pere Diaz Bou <pere-altea@homail.com>
Closes#391
Apply some more tricks from to reduce text size by 1 MB:
https://github.com/johnthagen/min-sized-rust
Before:
penberg@vonneumann sqlite3 % ls -lh ../target/release/liblimbo_sqlite3.a
-rw-r--r-- 1 penberg staff 6,7M 16 Mar 09:52 ../target/release/liblimbo_sqlite3.a
After:
penberg@vonneumann sqlite3 % ls -lh ../target/release/liblimbo_sqlite3.a
-rw-r--r-- 1 penberg staff 5,6M 16 Mar 09:50 ../target/release/liblimbo_sqlite3.a
There is no need to have mutexes on buffers, we will introduce mutexes
if we want later on a file level to introduce serializability.
This pr also includes a fix in the cacheflush procedure where a wait of
inflight writes weren't waited.
Reviewed-by: Pekka Enberg <penberg@ki.fi>
Closes#384
Removed MemPage from the code in favor of an array to encode the stack
of the cursor. This is both simpler and better in terms of memory
access.
O_DIRECT was removed from WAL file as it introduces alignment
constraints that are too hard to follow in regular appends. Maybe in the
future?
Closes#378
This adds `Database.prepare()` and `Statement.all()` APIs to the Wasm
bindings so that you can actually get something useful out of the
library.
Reviewed-by: Pere Diaz Bou <pere-altea@homail.com>
Closes#382