@minnowdb/core 0.2.0 → 0.3.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 +21 -32
- package/dist/engine/artifact-cache.d.ts +2 -0
- package/dist/engine/artifact-cache.d.ts.map +1 -1
- package/dist/engine/artifact-cache.js +5 -0
- package/dist/engine/artifact-cache.js.map +1 -1
- package/dist/engine/batch.d.ts +6 -1
- package/dist/engine/batch.d.ts.map +1 -1
- package/dist/engine/batch.js +17 -6
- package/dist/engine/batch.js.map +1 -1
- package/dist/engine/catalog.d.ts +22 -2
- package/dist/engine/catalog.d.ts.map +1 -1
- package/dist/engine/catalog.js +30 -3
- package/dist/engine/catalog.js.map +1 -1
- package/dist/engine/client.d.ts +3 -0
- package/dist/engine/client.d.ts.map +1 -1
- package/dist/engine/client.js +21 -10
- package/dist/engine/client.js.map +1 -1
- package/dist/engine/database.d.ts +71 -5
- package/dist/engine/database.d.ts.map +1 -1
- package/dist/engine/database.js +3619 -421
- package/dist/engine/database.js.map +1 -1
- package/dist/engine/defaults.d.ts +4 -7
- package/dist/engine/defaults.d.ts.map +1 -1
- package/dist/engine/defaults.js +47 -21
- package/dist/engine/defaults.js.map +1 -1
- package/dist/engine/fts.d.ts.map +1 -1
- package/dist/engine/fts.js +2 -0
- package/dist/engine/fts.js.map +1 -1
- package/dist/engine/index.d.ts +1 -0
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/index.js +1 -0
- package/dist/engine/index.js.map +1 -1
- package/dist/engine/live.d.ts +6 -2
- package/dist/engine/live.d.ts.map +1 -1
- package/dist/engine/live.js +10 -2
- package/dist/engine/live.js.map +1 -1
- package/dist/engine/optimizer.d.ts.map +1 -1
- package/dist/engine/optimizer.js +258 -23
- package/dist/engine/optimizer.js.map +1 -1
- package/dist/engine/query-cache.d.ts +1 -1
- package/dist/engine/query-cache.d.ts.map +1 -1
- package/dist/engine/query-cache.js +3 -1
- package/dist/engine/query-cache.js.map +1 -1
- package/dist/engine/query.d.ts +132 -22
- package/dist/engine/query.d.ts.map +1 -1
- package/dist/engine/query.js +1368 -246
- package/dist/engine/query.js.map +1 -1
- package/dist/engine/schema-wire.d.ts +6 -2
- package/dist/engine/schema-wire.d.ts.map +1 -1
- package/dist/engine/schema-wire.js +40 -33
- package/dist/engine/schema-wire.js.map +1 -1
- package/dist/engine/schema.d.ts +157 -76
- package/dist/engine/schema.d.ts.map +1 -1
- package/dist/engine/schema.js +548 -103
- package/dist/engine/schema.js.map +1 -1
- package/dist/engine/sort-keys.d.ts +4 -3
- package/dist/engine/sort-keys.d.ts.map +1 -1
- package/dist/engine/sort-keys.js +42 -27
- package/dist/engine/sort-keys.js.map +1 -1
- package/dist/engine/sql-domains.d.ts +26 -0
- package/dist/engine/sql-domains.d.ts.map +1 -0
- package/dist/engine/sql-domains.js +421 -0
- package/dist/engine/sql-domains.js.map +1 -0
- package/dist/engine/sql-driver.d.ts +19 -0
- package/dist/engine/sql-driver.d.ts.map +1 -0
- package/dist/engine/sql-driver.js +2 -0
- package/dist/engine/sql-driver.js.map +1 -0
- package/dist/engine/sql-json.d.ts +7 -8
- package/dist/engine/sql-json.d.ts.map +1 -1
- package/dist/engine/sql-json.js +28 -14
- package/dist/engine/sql-json.js.map +1 -1
- package/dist/engine/sql-semantics.d.ts +2 -0
- package/dist/engine/sql-semantics.d.ts.map +1 -1
- package/dist/engine/sql-semantics.js +69 -3
- package/dist/engine/sql-semantics.js.map +1 -1
- package/dist/engine/vector.d.ts +5 -1
- package/dist/engine/vector.d.ts.map +1 -1
- package/dist/engine/vector.js +433 -61
- package/dist/engine/vector.js.map +1 -1
- package/dist/engine/worker-host.d.ts +1 -0
- package/dist/engine/worker-host.d.ts.map +1 -1
- package/dist/engine/worker-host.js +8 -0
- package/dist/engine/worker-host.js.map +1 -1
- package/dist/plan/index.d.ts +3 -3
- package/dist/plan/index.js +3 -3
- package/dist/storage/indexeddb.d.ts +44 -5
- package/dist/storage/indexeddb.d.ts.map +1 -1
- package/dist/storage/indexeddb.js +738 -175
- package/dist/storage/indexeddb.js.map +1 -1
- package/dist/storage/memory.d.ts +27 -10
- package/dist/storage/memory.d.ts.map +1 -1
- package/dist/storage/memory.js +67 -18
- package/dist/storage/memory.js.map +1 -1
- package/dist/storage/opfs/leader.d.ts +28 -6
- package/dist/storage/opfs/leader.d.ts.map +1 -1
- package/dist/storage/opfs/leader.js +301 -34
- package/dist/storage/opfs/leader.js.map +1 -1
- package/dist/storage/opfs/rpc.d.ts.map +1 -1
- package/dist/storage/opfs/rpc.js +2 -1
- package/dist/storage/opfs/rpc.js.map +1 -1
- package/dist/storage/opfs/store.d.ts +34 -5
- package/dist/storage/opfs/store.d.ts.map +1 -1
- package/dist/storage/opfs/store.js +41 -0
- package/dist/storage/opfs/store.js.map +1 -1
- package/dist/storage/snapshot.d.ts +14 -0
- package/dist/storage/snapshot.d.ts.map +1 -1
- package/dist/storage/snapshot.js +44 -0
- package/dist/storage/snapshot.js.map +1 -1
- package/dist/storage/toolkit/index.d.ts +1 -1
- package/dist/storage/toolkit/index.d.ts.map +1 -1
- package/dist/storage/toolkit/index.js +1 -1
- package/dist/storage/toolkit/index.js.map +1 -1
- package/dist/storage/toolkit/record-core.d.ts +19 -5
- package/dist/storage/toolkit/record-core.d.ts.map +1 -1
- package/dist/storage/toolkit/record-core.js +353 -78
- package/dist/storage/toolkit/record-core.js.map +1 -1
- package/dist/storage/toolkit/wire.d.ts +15 -0
- package/dist/storage/toolkit/wire.d.ts.map +1 -1
- package/dist/storage/toolkit/wire.js +134 -0
- package/dist/storage/toolkit/wire.js.map +1 -1
- package/dist/storage/types.d.ts +213 -31
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/types.js +291 -20
- package/dist/storage/types.js.map +1 -1
- package/dist/testing/block-store-conformance.d.ts.map +1 -1
- package/dist/testing/block-store-conformance.js +153 -2
- package/dist/testing/block-store-conformance.js.map +1 -1
- package/dist/testing/index.d.ts +9 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +23 -0
- package/dist/testing/index.js.map +1 -1
- package/dist/testing/simulator.d.ts +98 -0
- package/dist/testing/simulator.d.ts.map +1 -0
- package/dist/testing/simulator.js +560 -0
- package/dist/testing/simulator.js.map +1 -0
- package/dist/testing/sqllogictest.d.ts +90 -0
- package/dist/testing/sqllogictest.d.ts.map +1 -0
- package/dist/testing/sqllogictest.js +435 -0
- package/dist/testing/sqllogictest.js.map +1 -0
- package/dist/transactions/index.d.ts +18 -3
- package/dist/transactions/index.d.ts.map +1 -1
- package/dist/transactions/index.js +64 -8
- package/dist/transactions/index.js.map +1 -1
- package/package.json +5 -3
- package/postgres-feature-profile.json +223 -0
- package/sql-feature-matrix.json +179 -251
package/README.md
CHANGED
|
@@ -1,42 +1,31 @@
|
|
|
1
1
|
# @minnowdb/core
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
no WebAssembly to download. It runs in the thread that constructs it (`MinnowDatabase`), or in a
|
|
6
|
-
worker through `MinnowDatabaseClient`, which mirrors the everyday query, write, migration,
|
|
7
|
-
live-query, snapshot, and maintenance APIs.
|
|
8
|
-
|
|
9
|
-
**[minnowdb.com](https://minnowdb.com)** — documentation, a live console, and benchmarks you
|
|
10
|
-
run yourself.
|
|
3
|
+
A columnar SQL database for the browser. Run PostgreSQL-style SQL over durable IndexedDB or OPFS
|
|
4
|
+
storage with no server and no WebAssembly module.
|
|
11
5
|
|
|
12
6
|
```bash
|
|
13
7
|
npm install @minnowdb/core
|
|
14
8
|
```
|
|
15
9
|
|
|
16
|
-
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
23
|
-
|
|
24
|
-
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
[
|
|
35
|
-
into an `AGENTS.md`, and [llms.txt](https://minnowdb.com/llms.txt) indexes the documentation in
|
|
36
|
-
markdown.
|
|
37
|
-
|
|
38
|
-
Every `@minnowdb` package shares a major version and moves independently inside it, so install
|
|
39
|
-
them on the same major. See [Versioning](https://minnowdb.com/docs/reference/versioning/).
|
|
10
|
+
- Direct SQL through `MinnowDatabase.query()` and `execute()`.
|
|
11
|
+
- Joins, CTEs, window functions, grouping sets, upserts, `RETURNING`, triggers, exact decimals,
|
|
12
|
+
JSON/JSONB, arrays, enums, sequences, and savepoints.
|
|
13
|
+
- Compressed column storage, secondary indexes, full-text search, and snapshot reads.
|
|
14
|
+
- Atomic writes across tabs through IndexedDB or OPFS.
|
|
15
|
+
- A ready-made worker client with the same everyday database API.
|
|
16
|
+
- TypeScript schema declarations and metadata-only migrations, including SQL domains and
|
|
17
|
+
composite primary/foreign keys.
|
|
18
|
+
- Batch writes, live queries, snapshots, compaction, and configurable query memory.
|
|
19
|
+
|
|
20
|
+
Use [the PostgreSQL compatibility page](https://minnowdb.com/docs/sql/feature-matrix/) for the
|
|
21
|
+
exact SQL surface. Use [the documentation](https://minnowdb.com/docs/) for installation, storage,
|
|
22
|
+
workers, transactions, and API details.
|
|
23
|
+
|
|
24
|
+
The optional [Kysely dialect](https://minnowdb.com/docs/adapters/kysely/) connects Kysely's
|
|
25
|
+
PostgreSQL compiler to the engine and derives its `DB` types from the same schema declaration.
|
|
26
|
+
|
|
27
|
+
Every `@minnowdb` package in one application must use the same major version. See
|
|
28
|
+
[Versioning](https://minnowdb.com/docs/reference/versioning/).
|
|
40
29
|
|
|
41
30
|
## License
|
|
42
31
|
|
|
@@ -17,6 +17,8 @@ export declare class ArtifactCache {
|
|
|
17
17
|
get enabled(): boolean;
|
|
18
18
|
get(key: string): unknown;
|
|
19
19
|
put(key: string, payload: unknown, bytes: number): void;
|
|
20
|
+
/** Releases every retained payload while preserving lifetime counters for final diagnostics. */
|
|
21
|
+
clear(): void;
|
|
20
22
|
stats(): ArtifactCacheStats;
|
|
21
23
|
}
|
|
22
24
|
//# sourceMappingURL=artifact-cache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-cache.d.ts","sourceRoot":"","sources":["../../src/engine/artifact-cache.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,qBAAa,aAAa;;gBAQZ,UAAU,EAAE,MAAM;IAO9B,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAazB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAqBvD,KAAK,IAAI,kBAAkB;CAU5B"}
|
|
1
|
+
{"version":3,"file":"artifact-cache.d.ts","sourceRoot":"","sources":["../../src/engine/artifact-cache.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,qBAAa,aAAa;;gBAQZ,UAAU,EAAE,MAAM;IAO9B,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAazB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAqBvD,gGAAgG;IAChG,KAAK,IAAI,IAAI;IAKb,KAAK,IAAI,kBAAkB;CAU5B"}
|
|
@@ -54,6 +54,11 @@ export class ArtifactCache {
|
|
|
54
54
|
this.#evictions += 1;
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
+
/** Releases every retained payload while preserving lifetime counters for final diagnostics. */
|
|
58
|
+
clear() {
|
|
59
|
+
this.#entries.clear();
|
|
60
|
+
this.#usedBytes = 0;
|
|
61
|
+
}
|
|
57
62
|
stats() {
|
|
58
63
|
return {
|
|
59
64
|
limitBytes: this.#limitBytes,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact-cache.js","sourceRoot":"","sources":["../../src/engine/artifact-cache.ts"],"names":[],"mappings":"AAUA;;;GAGG;AACH,MAAM,OAAO,aAAa;IACf,WAAW,CAAS;IACpB,QAAQ,GAAG,IAAI,GAAG,EAA+C,CAAC;IAC3E,UAAU,GAAG,CAAC,CAAC;IACf,KAAK,GAAG,CAAC,CAAC;IACV,OAAO,GAAG,CAAC,CAAC;IACZ,UAAU,GAAG,CAAC,CAAC;IAEf,YAAY,UAAkB;QAC5B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,UAAU,CAAC,yDAAyD,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,GAAG,CAAC,GAAW;QACb,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC;YAClB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QAChB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,OAAgB,EAAE,KAAa;QAC9C,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW;YAAE,OAAO;QACtD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,UAAU,CAAC,gEAAgE,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,UAAU,IAAI,QAAQ,CAAC,KAAK,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC;QACzB,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC/C,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW;gBAAE,MAAM;YAC/C,IAAI,SAAS,KAAK,GAAG;gBAAE,SAAS;YAChC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,KAAK,CAAC;YAC/B,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,KAAK;QACH,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;YAC3B,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,SAAS,EAAE,IAAI,CAAC,UAAU;SAC3B,CAAC;IACJ,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"artifact-cache.js","sourceRoot":"","sources":["../../src/engine/artifact-cache.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/batch.d.ts
CHANGED
|
@@ -8,11 +8,16 @@
|
|
|
8
8
|
*/
|
|
9
9
|
/** A value a column can hold. */
|
|
10
10
|
export type BatchValue = boolean | number | string | Date | null;
|
|
11
|
-
/** One row.
|
|
11
|
+
/** One row. A missing property is SQL omission; an explicit `null` remains SQL NULL. */
|
|
12
12
|
export type BatchRow = Readonly<Record<string, BatchValue>>;
|
|
13
13
|
/** The columnar form: one array per column, all of the same length, aligned by index. */
|
|
14
14
|
export interface ColumnarBatch {
|
|
15
15
|
columns: Readonly<Record<string, readonly BatchValue[]>>;
|
|
16
|
+
/**
|
|
17
|
+
* Per-row SQL omission markers. A true slot asks the engine to use the column default (or NULL
|
|
18
|
+
* when no default exists), without conflating that request with an explicit NULL value.
|
|
19
|
+
*/
|
|
20
|
+
omitted?: Readonly<Record<string, readonly boolean[]>>;
|
|
16
21
|
/**
|
|
17
22
|
* The batch's row count when no column carries it — a pivot of rows whose every column is
|
|
18
23
|
* default-generated produces an empty column map, and the count would otherwise be lost
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../src/engine/batch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,iCAAiC;AACjC,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjE,
|
|
1
|
+
{"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../src/engine/batch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,iCAAiC;AACjC,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjE,wFAAwF;AACxF,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAE5D,yFAAyF;AACzF,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC,CAAC;IACzD;;;OAGG;IACH,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC,CAAC,CAAC;IACvD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,mFAAmF;AACnF,MAAM,MAAM,gBAAgB,GAAG,SAAS,QAAQ,EAAE,GAAG,aAAa,CAAC;AAEnE,wBAAgB,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,KAAK,IAAI,aAAa,CAE/E;AAED,6FAA6F;AAC7F,wBAAgB,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,aAAa,CAgCtE"}
|
package/dist/engine/batch.js
CHANGED
|
@@ -15,24 +15,35 @@ export function toColumnarBatch(input) {
|
|
|
15
15
|
return input;
|
|
16
16
|
if (input.length === 0)
|
|
17
17
|
throw new TypeError("A batch needs at least one row");
|
|
18
|
-
// One pass over the rows, discovering columns in first-seen order.
|
|
19
|
-
//
|
|
20
|
-
// mention keeps its pre-filled nulls, which the per-column nullability check then accepts or
|
|
21
|
-
// rejects. Reading each row object once beats one full re-walk of every row per column.
|
|
18
|
+
// One pass over the rows, discovering columns in first-seen order. Values and omission are
|
|
19
|
+
// separate so an explicit NULL can never accidentally invoke a default.
|
|
22
20
|
const columnsByName = new Map();
|
|
21
|
+
const omittedByName = new Map();
|
|
23
22
|
for (let index = 0; index < input.length; index += 1) {
|
|
24
23
|
const row = input[index];
|
|
25
24
|
if (row === undefined)
|
|
26
25
|
continue;
|
|
27
26
|
for (const name of Object.keys(row)) {
|
|
27
|
+
const value = row[name];
|
|
28
|
+
if (value === undefined)
|
|
29
|
+
continue;
|
|
28
30
|
let values = columnsByName.get(name);
|
|
29
31
|
if (values === undefined) {
|
|
30
32
|
values = new Array(input.length).fill(null);
|
|
31
33
|
columnsByName.set(name, values);
|
|
34
|
+
omittedByName.set(name, new Array(input.length).fill(true));
|
|
32
35
|
}
|
|
33
|
-
values[index] =
|
|
36
|
+
values[index] = value;
|
|
37
|
+
const omitted = omittedByName.get(name);
|
|
38
|
+
if (omitted !== undefined)
|
|
39
|
+
omitted[index] = false;
|
|
34
40
|
}
|
|
35
41
|
}
|
|
36
|
-
|
|
42
|
+
const omitted = Object.fromEntries([...omittedByName].filter(([, values]) => values.some(Boolean)));
|
|
43
|
+
return {
|
|
44
|
+
columns: Object.fromEntries(columnsByName),
|
|
45
|
+
...(Object.keys(omitted).length === 0 ? {} : { omitted }),
|
|
46
|
+
rowCount: input.length,
|
|
47
|
+
};
|
|
37
48
|
}
|
|
38
49
|
//# sourceMappingURL=batch.js.map
|
package/dist/engine/batch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch.js","sourceRoot":"","sources":["../../src/engine/batch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"batch.js","sourceRoot":"","sources":["../../src/engine/batch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA2BH,MAAM,UAAU,eAAe,CAAC,KAAuB;IACrD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,eAAe,CAAC,KAAuB;IACrD,IAAI,eAAe,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;IAC9E,2FAA2F;IAC3F,wEAAwE;IACxE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAwB,CAAC;IACtD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAqB,CAAC;IACnD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,GAAG,KAAK,SAAS;YAAE,SAAS;QAChC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,KAAK,GAAY,GAAG,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAClC,IAAI,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,GAAG,IAAI,KAAK,CAAa,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxD,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAChC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,CAAU,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACvE,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,GAAG,KAAmB,CAAC;YACpC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACpD,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAChC,CAAC,GAAG,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAChE,CAAC;IACF,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC;QAC1C,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;QACzD,QAAQ,EAAE,KAAK,CAAC,MAAM;KACvB,CAAC;AACJ,CAAC"}
|
package/dist/engine/catalog.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ColumnDefault, type SecondaryIndexState, type SimpleDataType, type SqlDomain, type TableRecord } from "../storage/index.js";
|
|
2
2
|
/**
|
|
3
3
|
* The published shape of the catalog: everything a schema tool needs to diff a live database
|
|
4
4
|
* against a desired schema, without reading engine internals.
|
|
@@ -14,8 +14,11 @@ export interface CatalogColumn {
|
|
|
14
14
|
readonly id: string;
|
|
15
15
|
readonly name: string;
|
|
16
16
|
readonly type: SimpleDataType;
|
|
17
|
+
/** True for SQL INTEGER/SMALLINT/BIGINT columns, whose values must stay exactly representable. */
|
|
18
|
+
readonly integer?: true;
|
|
19
|
+
readonly sqlDomain?: SqlDomain;
|
|
17
20
|
readonly nullable: boolean;
|
|
18
|
-
/** Filled
|
|
21
|
+
/** Filled for omitted or SQL DEFAULT insert slots; never applied at read time. */
|
|
19
22
|
readonly defaultValue?: ColumnDefault;
|
|
20
23
|
/** String columns only: the closed set of values writes may draw from. */
|
|
21
24
|
readonly enumValues?: readonly string[];
|
|
@@ -27,8 +30,10 @@ export interface CatalogColumn {
|
|
|
27
30
|
export interface CatalogForeignKey {
|
|
28
31
|
readonly name: string;
|
|
29
32
|
readonly column: string;
|
|
33
|
+
readonly columns?: readonly string[];
|
|
30
34
|
readonly parentTable: string;
|
|
31
35
|
readonly parentColumn: string;
|
|
36
|
+
readonly parentColumns?: readonly string[];
|
|
32
37
|
readonly onDelete: "restrict" | "cascade" | "set null";
|
|
33
38
|
}
|
|
34
39
|
export interface CatalogCheck {
|
|
@@ -41,6 +46,17 @@ export interface CatalogTrigger {
|
|
|
41
46
|
readonly event: "insert" | "update" | "delete";
|
|
42
47
|
readonly timing: "before" | "after";
|
|
43
48
|
}
|
|
49
|
+
/** One SQL-declared secondary index, in declared key order. */
|
|
50
|
+
export interface CatalogIndex {
|
|
51
|
+
readonly name: string;
|
|
52
|
+
readonly columns: ReadonlyArray<{
|
|
53
|
+
readonly name: string;
|
|
54
|
+
readonly direction: "asc" | "desc";
|
|
55
|
+
}>;
|
|
56
|
+
readonly unique: boolean;
|
|
57
|
+
/** Build health is visible so inspection tools never present an invalid accelerator as ready. */
|
|
58
|
+
readonly state: SecondaryIndexState;
|
|
59
|
+
}
|
|
44
60
|
export interface CatalogTable {
|
|
45
61
|
readonly name: string;
|
|
46
62
|
/**
|
|
@@ -52,8 +68,12 @@ export interface CatalogTable {
|
|
|
52
68
|
readonly columns: readonly CatalogColumn[];
|
|
53
69
|
/** The unique key's column ID, absent on a table declared without one. */
|
|
54
70
|
readonly uniqueKeyColumnId?: string;
|
|
71
|
+
/** Declared PRIMARY KEY columns, including composite keys, in comparison order. */
|
|
72
|
+
readonly primaryKeyColumnIds?: readonly string[];
|
|
55
73
|
readonly foreignKeys: readonly CatalogForeignKey[];
|
|
56
74
|
readonly checks: readonly CatalogCheck[];
|
|
75
|
+
/** SQL-declared secondary indexes. Absent in catalogs produced before index introspection. */
|
|
76
|
+
readonly indexes?: readonly CatalogIndex[];
|
|
57
77
|
/**
|
|
58
78
|
* Reported but not declarable through the schema DSL: a trigger's body is a statement, not a
|
|
59
79
|
* column, so it stays SQL-only. A tool that rewrites triggers still needs to see them.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/engine/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/engine/catalog.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/catalog.js
CHANGED
|
@@ -1,12 +1,18 @@
|
|
|
1
|
+
import { secondaryIndexColumnIds, secondaryIndexDirections, } from "../storage/index.js";
|
|
2
|
+
import { externalSqlDomainValue } from "./sql-domains.js";
|
|
1
3
|
function toCatalogColumn(column) {
|
|
2
4
|
return {
|
|
3
5
|
id: column.id,
|
|
4
6
|
name: column.name,
|
|
5
7
|
type: column.type,
|
|
8
|
+
...(column.integer === true ? { integer: true } : {}),
|
|
9
|
+
...(column.sqlDomain === undefined ? {} : { sqlDomain: structuredClone(column.sqlDomain) }),
|
|
6
10
|
nullable: column.nullable,
|
|
7
11
|
...(column.defaultValue === undefined ? {} : { defaultValue: column.defaultValue }),
|
|
8
12
|
...(column.enumValues === undefined ? {} : { enumValues: [...column.enumValues] }),
|
|
9
|
-
...(column.backfill === undefined
|
|
13
|
+
...(column.backfill === undefined
|
|
14
|
+
? {}
|
|
15
|
+
: { backfill: externalSqlDomainValue(column.backfill) }),
|
|
10
16
|
isAutoIncrementing: column.defaultValue?.kind === "autoincrement",
|
|
11
17
|
};
|
|
12
18
|
}
|
|
@@ -16,7 +22,9 @@ export function toCatalog(records) {
|
|
|
16
22
|
const tables = [];
|
|
17
23
|
const views = [];
|
|
18
24
|
for (const record of byName) {
|
|
19
|
-
|
|
25
|
+
if (record.enumType !== undefined || record.sequence !== undefined)
|
|
26
|
+
continue;
|
|
27
|
+
const columns = record.columns.filter((column) => !column.hidden).map(toCatalogColumn);
|
|
20
28
|
if (record.view !== undefined) {
|
|
21
29
|
views.push({
|
|
22
30
|
name: record.name,
|
|
@@ -30,11 +38,30 @@ export function toCatalog(records) {
|
|
|
30
38
|
name: record.name,
|
|
31
39
|
managed: record.managed === true,
|
|
32
40
|
columns,
|
|
33
|
-
...(record.uniqueKeyColumnId === undefined
|
|
41
|
+
...(record.uniqueKeyColumnId === undefined ||
|
|
42
|
+
record.columns.find((column) => column.id === record.uniqueKeyColumnId)?.hidden === true
|
|
34
43
|
? {}
|
|
35
44
|
: { uniqueKeyColumnId: record.uniqueKeyColumnId }),
|
|
45
|
+
...(record.primaryKeyColumnIds === undefined
|
|
46
|
+
? {}
|
|
47
|
+
: { primaryKeyColumnIds: [...record.primaryKeyColumnIds] }),
|
|
36
48
|
foreignKeys: (record.foreignKeys ?? []).map((key) => ({ ...key })),
|
|
37
49
|
checks: (record.checks ?? []).map((check) => ({ ...check })),
|
|
50
|
+
...(record.secondaryIndexes === undefined
|
|
51
|
+
? {}
|
|
52
|
+
: {
|
|
53
|
+
indexes: Object.values(record.secondaryIndexes)
|
|
54
|
+
.map((index) => ({
|
|
55
|
+
name: index.name,
|
|
56
|
+
columns: secondaryIndexColumnIds(index).map((columnId, position) => ({
|
|
57
|
+
name: record.columns.find((column) => column.id === columnId)?.name ?? columnId,
|
|
58
|
+
direction: secondaryIndexDirections(index)[position] ?? "asc",
|
|
59
|
+
})),
|
|
60
|
+
unique: index.unique === true,
|
|
61
|
+
state: index.state,
|
|
62
|
+
}))
|
|
63
|
+
.sort((left, right) => left.name.localeCompare(right.name)),
|
|
64
|
+
}),
|
|
38
65
|
triggers: (record.triggers ?? []).map(({ name, event, timing }) => ({
|
|
39
66
|
name,
|
|
40
67
|
event,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/engine/catalog.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/engine/catalog.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/client.d.ts
CHANGED
|
@@ -24,6 +24,8 @@ export interface ClientTransport {
|
|
|
24
24
|
postMessage(message: unknown): void;
|
|
25
25
|
addEventListener(type: "message", listener: (event: MessageEvent<unknown>) => void): void;
|
|
26
26
|
addEventListener(type: "error" | "messageerror", listener: () => void): void;
|
|
27
|
+
removeEventListener?(type: "message", listener: (event: MessageEvent<unknown>) => void): void;
|
|
28
|
+
removeEventListener?(type: "error" | "messageerror", listener: () => void): void;
|
|
27
29
|
terminate?(): void;
|
|
28
30
|
}
|
|
29
31
|
export interface MinnowDatabaseClientOptions {
|
|
@@ -159,6 +161,7 @@ export interface ClientWriteSession {
|
|
|
159
161
|
query(sql: string, options?: {
|
|
160
162
|
params?: QueryValue[];
|
|
161
163
|
}): Promise<QueryResult>;
|
|
164
|
+
execute(sql: string, params?: readonly QueryValue[]): Promise<ExecuteResult>;
|
|
162
165
|
insertBatch(tableName: string, input: InsertBatchInput): Promise<StagedWriteResult>;
|
|
163
166
|
upsertBatch(tableName: string, input: InsertBatchInput): Promise<StagedWriteResult>;
|
|
164
167
|
updateBatch(tableName: string, input: UpdateBatchInput): Promise<StagedWriteResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/engine/client.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/engine/client.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/client.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CompactionJobConflictError, GarbageCollectionJobConflictError, LeaseConflictError, SnapshotManifestMissingError, TableRecordConflictError, TempOwnerConflictError, TransactionRecordConflictError, UniqueKeyConflictError, WriteConflictError, } from "../storage/index.js";
|
|
1
|
+
import { CompactionJobConflictError, GarbageCollectionJobConflictError, LeaseConflictError, SnapshotManifestMissingError, TableRecordConflictError, TempOwnerConflictError, TransactionRecordConflictError, UniqueKeyConflictError, UniqueIndexCoverageError, WriteConflictError, } from "../storage/index.js";
|
|
2
2
|
import { parseRpcResponse, protocolVersion, } from "../worker-protocol/index.js";
|
|
3
3
|
import { toColumnarBatch } from "./batch.js";
|
|
4
4
|
import { CompactionJobCancelledError, CompactionMemoryBudgetError, CompactionWriteAmplificationError, MissingKeyError, SqlCompileError, UniqueConstraintError, } from "./errors.js";
|
|
@@ -21,6 +21,7 @@ const errorRegistry = new Map([
|
|
|
21
21
|
QueryMemoryBudgetError,
|
|
22
22
|
WriteConflictError,
|
|
23
23
|
UniqueKeyConflictError,
|
|
24
|
+
UniqueIndexCoverageError,
|
|
24
25
|
TableRecordConflictError,
|
|
25
26
|
CompactionJobConflictError,
|
|
26
27
|
GarbageCollectionJobConflictError,
|
|
@@ -63,17 +64,20 @@ export class MinnowDatabaseClient {
|
|
|
63
64
|
#fatal;
|
|
64
65
|
#closed = false;
|
|
65
66
|
#onVisibilityChange;
|
|
67
|
+
#onMessage = (event) => {
|
|
68
|
+
this.#receive(event.data);
|
|
69
|
+
};
|
|
70
|
+
#onError = () => {
|
|
71
|
+
this.#fail(new Error("The database worker failed; see the worker's own error output"));
|
|
72
|
+
};
|
|
73
|
+
#onMessageError = () => {
|
|
74
|
+
this.#fail(new Error("A database worker message could not be deserialized"));
|
|
75
|
+
};
|
|
66
76
|
constructor(transport, options = {}) {
|
|
67
77
|
this.#transport = transport;
|
|
68
|
-
transport.addEventListener("message",
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
transport.addEventListener("error", () => {
|
|
72
|
-
this.#fail(new Error("The database worker failed; see the worker's own error output"));
|
|
73
|
-
});
|
|
74
|
-
transport.addEventListener("messageerror", () => {
|
|
75
|
-
this.#fail(new Error("A database worker message could not be deserialized"));
|
|
76
|
-
});
|
|
78
|
+
transport.addEventListener("message", this.#onMessage);
|
|
79
|
+
transport.addEventListener("error", this.#onError);
|
|
80
|
+
transport.addEventListener("messageerror", this.#onMessageError);
|
|
77
81
|
const payload = {
|
|
78
82
|
store: options.store ?? { kind: "indexeddb", name: "minnow" },
|
|
79
83
|
...(options.databaseOptions === undefined ? {} : { options: options.databaseOptions }),
|
|
@@ -208,6 +212,7 @@ export class MinnowDatabaseClient {
|
|
|
208
212
|
const stage = (op, tableName, input) => this._invoke(opened.handleId, "stage", [op, tableName, input]);
|
|
209
213
|
const session = {
|
|
210
214
|
query: async (sql, options) => decodeQueryResult(await this._invoke(opened.handleId, "query", [sql, options])),
|
|
215
|
+
execute: (sql, params) => this._invoke(opened.handleId, "execute", params === undefined ? [sql] : [sql, params]),
|
|
211
216
|
insertBatch: (tableName, input) => stage("insertBatch", tableName, input),
|
|
212
217
|
upsertBatch: (tableName, input) => stage("upsertBatch", tableName, input),
|
|
213
218
|
updateBatch: (tableName, input) => stage("updateBatch", tableName, input),
|
|
@@ -347,6 +352,9 @@ export class MinnowDatabaseClient {
|
|
|
347
352
|
}
|
|
348
353
|
finally {
|
|
349
354
|
this.#events.clear();
|
|
355
|
+
this.#transport.removeEventListener?.("message", this.#onMessage);
|
|
356
|
+
this.#transport.removeEventListener?.("error", this.#onError);
|
|
357
|
+
this.#transport.removeEventListener?.("messageerror", this.#onMessageError);
|
|
350
358
|
if (options.terminateWorker === true)
|
|
351
359
|
this.#transport.terminate?.();
|
|
352
360
|
}
|
|
@@ -354,6 +362,8 @@ export class MinnowDatabaseClient {
|
|
|
354
362
|
// --- Channel internals ------------------------------------------------------------------------
|
|
355
363
|
/** @internal */
|
|
356
364
|
async _invoke(handleId, method, args) {
|
|
365
|
+
if (this.#closed)
|
|
366
|
+
throw new Error("Database client is closed");
|
|
357
367
|
return this.#post("rpc-call", handleId, method, args);
|
|
358
368
|
}
|
|
359
369
|
/** @internal */
|
|
@@ -414,6 +424,7 @@ export class MinnowDatabaseClient {
|
|
|
414
424
|
this.#fatal = error;
|
|
415
425
|
const pending = [...this.#pending.values()];
|
|
416
426
|
this.#pending.clear();
|
|
427
|
+
this.#events.clear();
|
|
417
428
|
for (const call of pending)
|
|
418
429
|
call.reject(error);
|
|
419
430
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/engine/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/engine/client.ts"],"names":[],"mappings":"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"}
|