Pekka Enberg
Pekka Enberg
We are still a bit behind `better-sqlite3`. For example, there's more overhead in `get()`: ``` penberg@vonneumann libsql-js % node perf/perf-libsql.js cpu: Apple M1 runtime: node v18.19.0 (arm64-darwin) benchmark time (avg)...
Applications may want to know how long their queries were running. Let's add query monitoring support to the library.
If a query takes a long time, applications may want to cancel them either manually or via a timeout mechanism. We should be able to use the `sqlite3_progress_handler()` to implement...
We have Vercel CI tests, but they have been disabled because something broke. Let's work on re-enabing them.
We currently have disabled the libSQL remote protocol with streaming result sets ("hrana v3"). Let's enable it back so that you can query large tables.
Both APIs are now implemented using interactive transactions. Batches will be more efficient.
There's an example for local and sync, but nothing for remote.
The `libsql` Rust crate supports extension loading. Let's add support for that in the Go driver, similar to: https://pkg.go.dev/github.com/mattn/go-sqlite3#SQLiteConn.LoadExtension
SQLite: ``` sqlite> CREATE TABLE users (id INT, username TEXT); sqlite> INSERT INTO users VALUES (1, 'penberg'); sqlite> INSERT INTO users VALUES (1, 'penberg'); sqlite> SELECT * FROM users; 1|penberg...