picovolt 0.9.0 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # PicoVolt (PVDB)
2
2
 
3
3
  [![CI](https://github.com/MiniJe/picovolt/actions/workflows/ci.yml/badge.svg)](https://github.com/MiniJe/picovolt/actions/workflows/ci.yml)
4
- [![Version](https://img.shields.io/badge/version-0.9.0-blue.svg)](CHANGELOG.md)
4
+ [![Version](https://img.shields.io/badge/version-0.10.1-blue.svg)](CHANGELOG.md)
5
5
  [![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)
6
6
  ![Status: experimental](https://img.shields.io/badge/status-experimental-orange.svg)
7
7
 
@@ -152,6 +152,23 @@ module (`import picovolt.dbapi2 as sqlite`), and the Go `database/sql` driver
152
152
  positional `?` only, no SQL transactions, no JOINs, and `CREATE TABLE` takes
153
153
  column names only.
154
154
 
155
+ ## Server mode
156
+
157
+ An optional HTTP and JSON server reaches the engine over a socket. One dedicated
158
+ thread owns the database and runs statements serially, while a pool of HTTP
159
+ worker threads accepts concurrent connections and hands each request to that
160
+ thread over a channel, so the single-threaded core is unchanged.
161
+
162
+ ```sh
163
+ cargo build --release --features server
164
+ ./target/release/picovolt-server --memory --addr 127.0.0.1:8080
165
+ curl -s localhost:8080/v1/query -d '{"sql":"SELECT 1 + 1","params":[]}'
166
+ ```
167
+
168
+ Endpoints are `POST /v1/query`, `GET /v1/tx`, and `GET /v1/health`. There is no
169
+ authentication or TLS, so run it behind a reverse proxy. See
170
+ [src/bin/server.rs](src/bin/server.rs).
171
+
155
172
  ## Extending PicoVolt
156
173
 
157
174
  There are two extension paths: sandboxed WebAssembly user-defined functions, and
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "picovolt",
3
3
  "type": "module",
4
4
  "description": "PicoVolt (PVDB): a polymorphic embedded database engine in Rust.",
5
- "version": "0.9.0",
5
+ "version": "0.10.1",
6
6
  "license": "Apache-2.0",
7
7
  "repository": {
8
8
  "type": "git",
package/picovolt_bg.wasm CHANGED
Binary file