nedb-engine 4.1.1 → 4.2.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 +38 -0
- package/crypto-database.darwin-arm64.node +0 -0
- package/crypto-database.darwin-x64.node +0 -0
- package/nedb.linux-arm64-gnu.node +0 -0
- package/nedb.linux-arm64-musl.node +0 -0
- package/nedb.linux-x64-gnu.node +0 -0
- package/nedb.linux-x64-musl.node +0 -0
- package/nedb.win32-x64-msvc.node +0 -0
- package/nedbd-v2-darwin-arm64 +0 -0
- package/nedbd-v2-darwin-x64 +0 -0
- package/nedbd-v2-linux-arm64 +0 -0
- package/nedbd-v2-linux-arm64-musl +0 -0
- package/nedbd-v2-linux-x64 +0 -0
- package/nedbd-v2-linux-x64-musl +0 -0
- package/nedbd-v2-win-x64.exe +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -206,6 +206,44 @@ there is no declared column order to infer. Values must be literals — a number
|
|
|
206
206
|
a quoted string, `TRUE`/`FALSE`/`NULL` — since storing an unevaluated
|
|
207
207
|
expression as text would be worse than refusing it.
|
|
208
208
|
|
|
209
|
+
### `\d` works — the catalogue is real tables, not matched strings
|
|
210
|
+
|
|
211
|
+
`pg_catalog` and `information_schema` are **queryable relations synthesised
|
|
212
|
+
from the live database**, not pattern-matched query text, so psql's
|
|
213
|
+
introspection runs as the SQL it actually is. `\dt` alone is two `LEFT JOIN`s,
|
|
214
|
+
a nine-branch `CASE`, two scalar functions and `ORDER BY 1,2`; `\d orders`
|
|
215
|
+
is a regex (`^(orders)$`) plus three correlated subqueries; `\dp` builds two
|
|
216
|
+
`ARRAY(SELECT …)` columns with `= ANY(…)`; `\dd` is a seven-arm `UNION ALL`
|
|
217
|
+
inside a derived table; `\dP+` is a `LATERAL` join. All of it is evaluated by
|
|
218
|
+
a real SQL engine (`rust/nedb-v2/src/sqlselect.rs`): joins (hash and nested
|
|
219
|
+
loop), subqueries, `EXISTS`, `ANY`/`ALL`, set operations, derived tables,
|
|
220
|
+
`LATERAL`, aggregates, `CASE`, casts, and the POSIX ERE subset psql writes.
|
|
221
|
+
|
|
222
|
+
```console
|
|
223
|
+
shop=> \d orders
|
|
224
|
+
Table "public.orders"
|
|
225
|
+
Column | Type | Collation | Nullable | Default
|
|
226
|
+
--------+--------+-----------+----------+---------
|
|
227
|
+
_id | text | | |
|
|
228
|
+
_seq | bigint | | |
|
|
229
|
+
status | text | | |
|
|
230
|
+
total | bigint | | |
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
**Every psql 17 backslash-describe command exits 0** against `nedbd` — `\d`,
|
|
234
|
+
`\dt+`, `\dn`, `\l`, `\du`, `\df`, `\dp`, `\dT`, `\dd`, `\dD`, `\dy`, `\dRp`,
|
|
235
|
+
`\dRs`, `\dX`, `\dP+`, `\dconfig`, `\z` and the rest — verified by driving the
|
|
236
|
+
real `psql` binary in `tests/test_psql_introspection.py` (psql 16 and 17).
|
|
237
|
+
Three exit 1 exactly as they do on a fresh Postgres: `\dx+`, `\dRp+` and
|
|
238
|
+
`\dF+` print psql's own "Did not find any …" when a `+` listing is empty.
|
|
239
|
+
|
|
240
|
+
What a schemaless engine reports is *derived*, and says so: a collection is a
|
|
241
|
+
table, a field observed in a sampled document is a column typed the way the
|
|
242
|
+
wire types it, and everything Postgres tracks that NEDB does not — owners,
|
|
243
|
+
ACLs, sizes, statistics, publications, triggers — is a fixed value or an
|
|
244
|
+
empty relation, never a fabricated plausible one. `pg_size_pretty(pg_table_size(…))`
|
|
245
|
+
is a blank cell in `\dt+`, not an invented number.
|
|
246
|
+
|
|
209
247
|
### Your driver, not just `psql`
|
|
210
248
|
|
|
211
249
|
**Both wire protocols are implemented**, which is the difference between "psql
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/nedb.linux-x64-gnu.node
CHANGED
|
Binary file
|
package/nedb.linux-x64-musl.node
CHANGED
|
Binary file
|
package/nedb.win32-x64-msvc.node
CHANGED
|
Binary file
|
package/nedbd-v2-darwin-arm64
CHANGED
|
Binary file
|
package/nedbd-v2-darwin-x64
CHANGED
|
Binary file
|
package/nedbd-v2-linux-arm64
CHANGED
|
Binary file
|
|
Binary file
|
package/nedbd-v2-linux-x64
CHANGED
|
Binary file
|
package/nedbd-v2-linux-x64-musl
CHANGED
|
Binary file
|
package/nedbd-v2-win-x64.exe
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nedb-engine",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.2.0",
|
|
4
4
|
"description": "NEDB \u2014 hash-chained, time-traveling, bi-temporal embedded database with Rust native core. SQL, Redis, MongoDB adapters. Causal Write Provenance. RESP2 wire protocol.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"exports": {
|