picovolt 1.4.0 → 1.5.0
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 +12 -10
- package/package.json +1 -1
- package/picovolt_bg.wasm +0 -0
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# PicoVolt (PVDB)
|
|
2
2
|
|
|
3
3
|
[](https://github.com/MiniJe/picovolt/actions/workflows/ci.yml)
|
|
4
|
-
[](CHANGELOG.md)
|
|
5
5
|
[](LICENSE)
|
|
6
6
|

|
|
7
7
|
[](https://github.com/MiniJe/picovolt)
|
|
@@ -56,7 +56,7 @@ Linux and Windows. Changes are tracked in [CHANGELOG.md](CHANGELOG.md).
|
|
|
56
56
|
| [`engine/mvcc.rs`](src/engine/mvcc.rs) | transaction clock and snapshot visibility |
|
|
57
57
|
| [`engine/wasm.rs`](src/engine/wasm.rs) | sandboxed `wasmi` extension runtime and the `WasmExec` backend trait |
|
|
58
58
|
| [`engine/interp.rs`](src/engine/interp.rs) | `pv-wasm`: a from-scratch WASM interpreter (integer subset) |
|
|
59
|
-
| [`engine/query.rs`](src/engine/query.rs) | SQL front-end (CREATE/INSERT/UPDATE/DELETE/DROP, `SELECT` with projection, `AS` aliases, `DISTINCT`, aggregates, `GROUP BY`/`HAVING`, `WHERE` predicates incl. `IN`/`BETWEEN`/`IS NULL`/`LIKE`, `BEFORE`, multi-column `ORDER BY`, `LIMIT`) |
|
|
59
|
+
| [`engine/query.rs`](src/engine/query.rs) | SQL front-end (CREATE/INSERT/UPDATE/DELETE/DROP, `SELECT` with projection, `AS` aliases, `DISTINCT`, aggregates, `GROUP BY`/`HAVING`, `WHERE` predicates incl. `IN`/`BETWEEN`/`IS NULL`/`LIKE`, `BEFORE`, multi-column `ORDER BY`, `LIMIT`/`OFFSET`) |
|
|
60
60
|
| [`engine/compliance.rs`](src/engine/compliance.rs) | optional, app-driven usage-policy hook (not a license requirement) |
|
|
61
61
|
| [`db.rs`](src/db.rs) | the `Database` surface that ties it together |
|
|
62
62
|
| [`ffi.rs`](src/ffi.rs) | C ABI (the `capi` feature): a panic-safe, C-callable surface wrapping the engine for Go, Python, and C bindings |
|
|
@@ -113,21 +113,22 @@ cargo run --release --example bench # evaluation harness across modes and wor
|
|
|
113
113
|
```
|
|
114
114
|
|
|
115
115
|
Install the first-class CLI with `cargo install picovolt`, then use `pv query`,
|
|
116
|
-
`pv inspect`, `pv import`, `pv export`, and `pv bake`. Copyable
|
|
117
|
-
and browser projects are in [`starters/`](starters/README.md); supported adapters
|
|
116
|
+
`pv inspect`, `pv history`, `pv import`, `pv export`, and `pv bake`. Copyable
|
|
117
|
+
Rust, Python, Go, Node, and browser projects are in [`starters/`](starters/README.md); supported adapters
|
|
118
118
|
are catalogued in [`docs/INTEGRATIONS.md`](docs/INTEGRATIONS.md).
|
|
119
119
|
|
|
120
|
-
SQL supported: `CREATE TABLE` with `PRIMARY KEY`, `UNIQUE`, and `NOT NULL`,
|
|
121
|
-
`CREATE [UNIQUE] INDEX ON t (col)`, `INSERT`,
|
|
122
|
-
`UPDATE ... SET ... WHERE`, `DELETE ... WHERE`, `DROP TABLE`, and
|
|
120
|
+
SQL supported: `CREATE TABLE [IF NOT EXISTS]` with `PRIMARY KEY`, `UNIQUE`, and `NOT NULL`,
|
|
121
|
+
`CREATE [UNIQUE] INDEX ON t (col)`, single- and multi-row `INSERT`,
|
|
122
|
+
`UPDATE ... SET ... WHERE`, `DELETE ... WHERE`, `DROP TABLE [IF EXISTS]`, and
|
|
123
123
|
`SELECT [DISTINCT] {* | col [AS alias], ... | COUNT/SUM/MIN/MAX/AVG(...) [AS alias]}
|
|
124
124
|
FROM t [WHERE <pred>] [GROUP BY cols] [HAVING <pred>] [BEFORE tx]
|
|
125
|
-
[ORDER BY col [ASC|DESC], ...] [LIMIT n]`, where `<pred>` combines
|
|
125
|
+
[ORDER BY col [ASC|DESC], ...] [LIMIT n] [OFFSET n]`, where `<pred>` combines
|
|
126
126
|
`col <op> value` (`=`, `!=`, `<`, `<=`, `>`, `>=`, `LIKE`, `NOT LIKE`),
|
|
127
127
|
`col [NOT] IN (...)`, `col [NOT] BETWEEN a AND b`, and `col IS [NOT] NULL` with
|
|
128
128
|
`AND`, `OR`, and parentheses. Integer and decimal values compare by magnitude.
|
|
129
|
-
|
|
130
|
-
|
|
129
|
+
Two-table equality `INNER`/`LEFT JOIN` queries support qualified references,
|
|
130
|
+
projection, aliases, `DISTINCT`, filters, ordering, and pagination. Rust callers
|
|
131
|
+
can cache `Database::prepare(...)` templates and use
|
|
131
132
|
atomic `Database::transaction(...)` closures with in-memory databases.
|
|
132
133
|
Durability is selectable via `Database::set_durability` (`Fast` OS-cache default,
|
|
133
134
|
or crash-safe `Sync` with fsync and an atomic manifest).
|
|
@@ -211,6 +212,7 @@ native modules built on the public API. Both are documented in
|
|
|
211
212
|
|--|--|
|
|
212
213
|
| Roadmap | [ROADMAP.md](ROADMAP.md) |
|
|
213
214
|
| One-million-download plan | [docs/ROADMAP_1M_DOWNLOADS.md](docs/ROADMAP_1M_DOWNLOADS.md) |
|
|
215
|
+
| Platform and file support | [docs/SUPPORT.md](docs/SUPPORT.md) |
|
|
214
216
|
| Contributing | [CONTRIBUTING.md](CONTRIBUTING.md) |
|
|
215
217
|
| Code of conduct | [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) |
|
|
216
218
|
| Changelog | [CHANGELOG.md](CHANGELOG.md) |
|
package/package.json
CHANGED
package/picovolt_bg.wasm
CHANGED
|
Binary file
|