@quereus/store 4.5.0 → 4.7.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 +34 -6
- package/dist/src/common/encoding.d.ts +4 -3
- package/dist/src/common/encoding.d.ts.map +1 -1
- package/dist/src/common/encoding.js +17 -13
- package/dist/src/common/encoding.js.map +1 -1
- package/dist/src/common/events.d.ts +31 -25
- package/dist/src/common/events.d.ts.map +1 -1
- package/dist/src/common/events.js +38 -39
- package/dist/src/common/events.js.map +1 -1
- package/dist/src/common/implicit-unique-index.d.ts +80 -0
- package/dist/src/common/implicit-unique-index.d.ts.map +1 -0
- package/dist/src/common/implicit-unique-index.js +148 -0
- package/dist/src/common/implicit-unique-index.js.map +1 -0
- package/dist/src/common/index.d.ts +7 -3
- package/dist/src/common/index.d.ts.map +1 -1
- package/dist/src/common/index.js +5 -2
- package/dist/src/common/index.js.map +1 -1
- package/dist/src/common/json-key.d.ts +30 -2
- package/dist/src/common/json-key.d.ts.map +1 -1
- package/dist/src/common/json-key.js +49 -2
- package/dist/src/common/json-key.js.map +1 -1
- package/dist/src/common/key-builder.d.ts +40 -20
- package/dist/src/common/key-builder.d.ts.map +1 -1
- package/dist/src/common/key-builder.js +31 -23
- package/dist/src/common/key-builder.js.map +1 -1
- package/dist/src/common/kv-store.d.ts +10 -0
- package/dist/src/common/kv-store.d.ts.map +1 -1
- package/dist/src/common/pk-key-resolution.d.ts +348 -0
- package/dist/src/common/pk-key-resolution.d.ts.map +1 -0
- package/dist/src/common/pk-key-resolution.js +481 -0
- package/dist/src/common/pk-key-resolution.js.map +1 -0
- package/dist/src/common/store-module-access-plan.d.ts +32 -0
- package/dist/src/common/store-module-access-plan.d.ts.map +1 -0
- package/dist/src/common/store-module-access-plan.js +428 -0
- package/dist/src/common/store-module-access-plan.js.map +1 -0
- package/dist/src/common/store-module-alter-column.d.ts +23 -0
- package/dist/src/common/store-module-alter-column.d.ts.map +1 -0
- package/dist/src/common/store-module-alter-column.js +389 -0
- package/dist/src/common/store-module-alter-column.js.map +1 -0
- package/dist/src/common/store-module-alter.d.ts +55 -0
- package/dist/src/common/store-module-alter.d.ts.map +1 -0
- package/dist/src/common/store-module-alter.js +504 -0
- package/dist/src/common/store-module-alter.js.map +1 -0
- package/dist/src/common/store-module-base.d.ts +268 -0
- package/dist/src/common/store-module-base.d.ts.map +1 -0
- package/dist/src/common/store-module-base.js +362 -0
- package/dist/src/common/store-module-base.js.map +1 -0
- package/dist/src/common/store-module-catalog.d.ts +269 -0
- package/dist/src/common/store-module-catalog.d.ts.map +1 -0
- package/dist/src/common/store-module-catalog.js +462 -0
- package/dist/src/common/store-module-catalog.js.map +1 -0
- package/dist/src/common/store-module-index-build.d.ts +88 -0
- package/dist/src/common/store-module-index-build.d.ts.map +1 -0
- package/dist/src/common/store-module-index-build.js +280 -0
- package/dist/src/common/store-module-index-build.js.map +1 -0
- package/dist/src/common/store-module-index.d.ts +116 -0
- package/dist/src/common/store-module-index.d.ts.map +1 -0
- package/dist/src/common/store-module-index.js +373 -0
- package/dist/src/common/store-module-index.js.map +1 -0
- package/dist/src/common/store-module-rename.d.ts +49 -0
- package/dist/src/common/store-module-rename.d.ts.map +1 -0
- package/dist/src/common/store-module-rename.js +268 -0
- package/dist/src/common/store-module-rename.js.map +1 -0
- package/dist/src/common/store-module-schema-rewrite.d.ts +57 -0
- package/dist/src/common/store-module-schema-rewrite.d.ts.map +1 -0
- package/dist/src/common/store-module-schema-rewrite.js +140 -0
- package/dist/src/common/store-module-schema-rewrite.js.map +1 -0
- package/dist/src/common/store-module-schema-sync.d.ts +232 -0
- package/dist/src/common/store-module-schema-sync.d.ts.map +1 -0
- package/dist/src/common/store-module-schema-sync.js +529 -0
- package/dist/src/common/store-module-schema-sync.js.map +1 -0
- package/dist/src/common/store-module.d.ts +43 -909
- package/dist/src/common/store-module.d.ts.map +1 -1
- package/dist/src/common/store-module.js +184 -3276
- package/dist/src/common/store-module.js.map +1 -1
- package/dist/src/common/store-table-base.d.ts +539 -0
- package/dist/src/common/store-table-base.d.ts.map +1 -0
- package/dist/src/common/store-table-base.js +900 -0
- package/dist/src/common/store-table-base.js.map +1 -0
- package/dist/src/common/store-table-constraints.d.ts +237 -0
- package/dist/src/common/store-table-constraints.d.ts.map +1 -0
- package/dist/src/common/store-table-constraints.js +624 -0
- package/dist/src/common/store-table-constraints.js.map +1 -0
- package/dist/src/common/store-table-scan.d.ts +452 -0
- package/dist/src/common/store-table-scan.d.ts.map +1 -0
- package/dist/src/common/store-table-scan.js +901 -0
- package/dist/src/common/store-table-scan.js.map +1 -0
- package/dist/src/common/store-table.d.ts +71 -1144
- package/dist/src/common/store-table.d.ts.map +1 -1
- package/dist/src/common/store-table.js +168 -2385
- package/dist/src/common/store-table.js.map +1 -1
- package/dist/src/testing/index.d.ts +12 -0
- package/dist/src/testing/index.d.ts.map +1 -0
- package/dist/src/testing/index.js +12 -0
- package/dist/src/testing/index.js.map +1 -0
- package/dist/src/testing/kv-assert.d.ts +19 -0
- package/dist/src/testing/kv-assert.d.ts.map +1 -0
- package/dist/src/testing/kv-assert.js +25 -0
- package/dist/src/testing/kv-assert.js.map +1 -0
- package/dist/src/testing/kv-conformance.d.ts.map +1 -1
- package/dist/src/testing/kv-conformance.js +1 -15
- package/dist/src/testing/kv-conformance.js.map +1 -1
- package/dist/src/testing/kv-provider-conformance.d.ts +54 -0
- package/dist/src/testing/kv-provider-conformance.d.ts.map +1 -0
- package/dist/src/testing/kv-provider-conformance.js +183 -0
- package/dist/src/testing/kv-provider-conformance.js.map +1 -0
- package/package.json +8 -8
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared KVStoreProvider atomic-batch conformance suite — test-support; run under Mocha.
|
|
3
|
+
*
|
|
4
|
+
* Sibling of {@link runKVStoreConformance} (kv-conformance.ts), one level up the
|
|
5
|
+
* abstraction: that suite tests the {@link KVStore} contract, this one tests the
|
|
6
|
+
* PROVIDER-level contract that a single {@link KVStoreProvider} can commit ops across
|
|
7
|
+
* SEVERAL of its stores in one durable, all-or-nothing physical write
|
|
8
|
+
* ({@link KVStoreProvider.beginAtomicBatch} → {@link AtomicBatch}).
|
|
9
|
+
*
|
|
10
|
+
* Only providers whose stores share one atomic commit domain implement that method,
|
|
11
|
+
* so this suite is opt-in per backend rather than part of the store battery. Each
|
|
12
|
+
* backend supplies a small {@link KVProviderBackend} adapter (how to open a provider,
|
|
13
|
+
* how to open a SECOND independent one, how to tear both down); this file supplies
|
|
14
|
+
* every assertion, so the LevelDB and IndexedDB implementations cannot quietly drift.
|
|
15
|
+
*
|
|
16
|
+
* Genuinely backend-specific behavior stays in the per-plugin spec: LevelDB's
|
|
17
|
+
* "beginAtomicBatch() returns undefined before the shared root is open", IndexedDB's
|
|
18
|
+
* post-write read-cache invalidation, and so on.
|
|
19
|
+
*
|
|
20
|
+
* Dependency and Mocha-global handling mirror kv-conformance.ts — see its header.
|
|
21
|
+
*
|
|
22
|
+
* NOTE: this asserts the QUEUE + COMMIT contract (what lands where, in what order),
|
|
23
|
+
* not crash atomicity — nothing here injects a mid-commit failure, so a backend that
|
|
24
|
+
* committed op-by-op instead of in one physical write would still pass. If a backend
|
|
25
|
+
* ever grows a fault-injection seam (a store that throws on the Nth physical write),
|
|
26
|
+
* add a torn-write case asserting nothing from the batch is visible afterwards.
|
|
27
|
+
*
|
|
28
|
+
* Nothing here reuses a batch after `write()` either: {@link AtomicBatch} declares that
|
|
29
|
+
* unspecified (LevelDB's chained batch is closed by write, IndexedDB's resets), so pinning
|
|
30
|
+
* a behavior would be inventing contract rather than asserting it.
|
|
31
|
+
*/
|
|
32
|
+
import assert from 'node:assert/strict';
|
|
33
|
+
import { QuereusError, StatusCode } from '@quereus/quereus';
|
|
34
|
+
import { InMemoryKVStore } from '../common/memory-store.js';
|
|
35
|
+
import { assertBytes, b } from './kv-assert.js';
|
|
36
|
+
const K1 = b(0x01);
|
|
37
|
+
const V1 = b(0x10);
|
|
38
|
+
const K2 = b(0x02);
|
|
39
|
+
const V2 = b(0x20);
|
|
40
|
+
/**
|
|
41
|
+
* Open the provider's atomic batch, asserting it exists. A provider may only expose one
|
|
42
|
+
* once its physical commit domain is open (LevelDB opens its shared root lazily on the
|
|
43
|
+
* first getStore), so every caller opens at least one store first.
|
|
44
|
+
*/
|
|
45
|
+
function beginBatch(provider) {
|
|
46
|
+
const begin = provider.beginAtomicBatch;
|
|
47
|
+
assert.ok(begin, 'a provider under provider-conformance must implement beginAtomicBatch');
|
|
48
|
+
const batch = begin.call(provider);
|
|
49
|
+
assert.ok(batch, 'beginAtomicBatch() must return a batch once a store is open');
|
|
50
|
+
return batch;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Assert that `queueOp` — queueing an op against a store handle this provider never
|
|
54
|
+
* handed out — throws `QuereusError` / `StatusCode.MISUSE`. Handed a thunk rather than
|
|
55
|
+
* a promise because the contract is a SYNCHRONOUS throw at queue time, not at write().
|
|
56
|
+
*/
|
|
57
|
+
function assertMisuse(queueOp, what) {
|
|
58
|
+
let err;
|
|
59
|
+
try {
|
|
60
|
+
queueOp();
|
|
61
|
+
}
|
|
62
|
+
catch (e) {
|
|
63
|
+
err = e;
|
|
64
|
+
}
|
|
65
|
+
assert.ok(err instanceof QuereusError, `${what}: expected a QuereusError, got ${String(err)}`);
|
|
66
|
+
assert.strictEqual(err.code, StatusCode.MISUSE, `${what}: wrong status code`);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Register the provider atomic-batch conformance battery under `describe(name)`. Call
|
|
70
|
+
* once per backend whose provider implements `beginAtomicBatch`.
|
|
71
|
+
*/
|
|
72
|
+
export function runKVProviderConformance(name, makeProviderBackend) {
|
|
73
|
+
describe(name, () => {
|
|
74
|
+
let backend;
|
|
75
|
+
let provider;
|
|
76
|
+
beforeEach(async () => {
|
|
77
|
+
backend = makeProviderBackend();
|
|
78
|
+
provider = await backend.open();
|
|
79
|
+
});
|
|
80
|
+
afterEach(async () => {
|
|
81
|
+
await backend.teardown();
|
|
82
|
+
});
|
|
83
|
+
it('commits data + index ops across stores in one atomic batch', async () => {
|
|
84
|
+
const dataStore = await provider.getStore('main', 't');
|
|
85
|
+
const indexStore = await provider.getIndexStore('main', 't', 'ix');
|
|
86
|
+
const batch = beginBatch(provider);
|
|
87
|
+
batch.put(dataStore, K1, V1);
|
|
88
|
+
batch.put(indexStore, K2, V2);
|
|
89
|
+
await batch.write();
|
|
90
|
+
assertBytes(await dataStore.get(K1), V1);
|
|
91
|
+
assertBytes(await indexStore.get(K2), V2);
|
|
92
|
+
// Each op landed only in its OWN store — the batch addresses stores by handle,
|
|
93
|
+
// so a provider that mixed handles up would still commit, just to the wrong place.
|
|
94
|
+
assert.strictEqual(await indexStore.get(K1), undefined, 'data op must not reach the index store');
|
|
95
|
+
assert.strictEqual(await dataStore.get(K2), undefined, 'index op must not reach the data store');
|
|
96
|
+
});
|
|
97
|
+
it('queued ops are not visible until write()', async () => {
|
|
98
|
+
const dataStore = await provider.getStore('main', 't');
|
|
99
|
+
const indexStore = await provider.getIndexStore('main', 't', 'ix');
|
|
100
|
+
await dataStore.put(K1, V1);
|
|
101
|
+
const batch = beginBatch(provider);
|
|
102
|
+
batch.delete(dataStore, K1);
|
|
103
|
+
batch.put(indexStore, K2, V2);
|
|
104
|
+
// Queueing commits nothing: reads still see the pre-batch state. On a caching
|
|
105
|
+
// backend these reads also warm the cache, so the post-write reads below fail
|
|
106
|
+
// unless the commit invalidates what it touched.
|
|
107
|
+
assertBytes(await dataStore.get(K1), V1, 'queued delete must not apply before write()');
|
|
108
|
+
assert.strictEqual(await indexStore.get(K2), undefined, 'queued put must not apply before write()');
|
|
109
|
+
await batch.write();
|
|
110
|
+
assert.strictEqual(await dataStore.get(K1), undefined);
|
|
111
|
+
assertBytes(await indexStore.get(K2), V2);
|
|
112
|
+
});
|
|
113
|
+
it('a batched delete of a missing key is a no-op, not an error', async () => {
|
|
114
|
+
// The coordinator replays whatever a transaction queued; an index-maintenance
|
|
115
|
+
// delete for an entry that was never written reaches the batch verbatim.
|
|
116
|
+
const dataStore = await provider.getStore('main', 't');
|
|
117
|
+
const batch = beginBatch(provider);
|
|
118
|
+
batch.delete(dataStore, K1); // never written
|
|
119
|
+
batch.put(dataStore, K2, V2);
|
|
120
|
+
await batch.write();
|
|
121
|
+
assert.strictEqual(await dataStore.get(K1), undefined);
|
|
122
|
+
assertBytes(await dataStore.get(K2), V2);
|
|
123
|
+
});
|
|
124
|
+
it('a delete and a put in one batch both apply', async () => {
|
|
125
|
+
const dataStore = await provider.getStore('main', 't');
|
|
126
|
+
await dataStore.put(K1, V1);
|
|
127
|
+
const batch = beginBatch(provider);
|
|
128
|
+
batch.delete(dataStore, K1);
|
|
129
|
+
batch.put(dataStore, K2, V2);
|
|
130
|
+
await batch.write();
|
|
131
|
+
assert.strictEqual(await dataStore.get(K1), undefined);
|
|
132
|
+
assertBytes(await dataStore.get(K2), V2);
|
|
133
|
+
});
|
|
134
|
+
it('same-key ops in one batch resolve to the last one queued', async () => {
|
|
135
|
+
// The transaction coordinator replays a transaction's pending ops into one atomic
|
|
136
|
+
// batch without collapsing duplicates, so a transaction that writes then deletes
|
|
137
|
+
// the same row lands both ops here and depends on queue order.
|
|
138
|
+
const dataStore = await provider.getStore('main', 't');
|
|
139
|
+
await dataStore.put(K1, V1);
|
|
140
|
+
const putThenDelete = beginBatch(provider);
|
|
141
|
+
putThenDelete.put(dataStore, K1, V2);
|
|
142
|
+
putThenDelete.delete(dataStore, K1);
|
|
143
|
+
await putThenDelete.write();
|
|
144
|
+
assert.strictEqual(await dataStore.get(K1), undefined);
|
|
145
|
+
const deleteThenPut = beginBatch(provider);
|
|
146
|
+
deleteThenPut.delete(dataStore, K1);
|
|
147
|
+
deleteThenPut.put(dataStore, K1, V2);
|
|
148
|
+
await deleteThenPut.write();
|
|
149
|
+
assertBytes(await dataStore.get(K1), V2);
|
|
150
|
+
});
|
|
151
|
+
it('clear() discards queued ops (nothing is committed)', async () => {
|
|
152
|
+
const dataStore = await provider.getStore('main', 't');
|
|
153
|
+
const batch = beginBatch(provider);
|
|
154
|
+
batch.put(dataStore, K1, V1);
|
|
155
|
+
batch.clear();
|
|
156
|
+
await batch.write();
|
|
157
|
+
assert.strictEqual(await dataStore.get(K1), undefined);
|
|
158
|
+
assert.strictEqual(await dataStore.approximateCount(), 0);
|
|
159
|
+
});
|
|
160
|
+
it('an empty write() commits nothing and does not throw', async () => {
|
|
161
|
+
const dataStore = await provider.getStore('main', 't'); // also opens the commit domain
|
|
162
|
+
const batch = beginBatch(provider);
|
|
163
|
+
await batch.write(); // no queued ops
|
|
164
|
+
assert.strictEqual(await dataStore.approximateCount(), 0);
|
|
165
|
+
});
|
|
166
|
+
it('throws MISUSE for a handle not produced by this provider (wrong type)', async () => {
|
|
167
|
+
await provider.getStore('main', 't'); // open the commit domain so a batch is available
|
|
168
|
+
const foreign = new InMemoryKVStore();
|
|
169
|
+
const batch = beginBatch(provider);
|
|
170
|
+
assertMisuse(() => batch.put(foreign, K1, V1), 'put with a wrong-type handle');
|
|
171
|
+
assertMisuse(() => batch.delete(foreign, K1), 'delete with a wrong-type handle');
|
|
172
|
+
});
|
|
173
|
+
it('throws MISUSE for a store of the right type bound to a different provider', async () => {
|
|
174
|
+
const otherProvider = await backend.openForeign();
|
|
175
|
+
const foreign = await otherProvider.getStore('main', 't');
|
|
176
|
+
await provider.getStore('main', 't'); // open THIS provider's commit domain
|
|
177
|
+
const batch = beginBatch(provider);
|
|
178
|
+
assertMisuse(() => batch.delete(foreign, K1), 'delete with another provider\'s handle');
|
|
179
|
+
assertMisuse(() => batch.put(foreign, K1, V1), 'put with another provider\'s handle');
|
|
180
|
+
});
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
//# sourceMappingURL=kv-provider-conformance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kv-provider-conformance.js","sourceRoot":"","sources":["../../../src/testing/kv-provider-conformance.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quereus/store",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.7.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Abstract key-value storage module for Quereus",
|
|
6
6
|
"keywords": [
|
|
@@ -32,14 +32,14 @@
|
|
|
32
32
|
"import": "./dist/src/index.js"
|
|
33
33
|
},
|
|
34
34
|
"./testing": {
|
|
35
|
-
"types": "./dist/src/testing/
|
|
36
|
-
"import": "./dist/src/testing/
|
|
35
|
+
"types": "./dist/src/testing/index.d.ts",
|
|
36
|
+
"import": "./dist/src/testing/index.js"
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
39
|
"typesVersions": {
|
|
40
40
|
"*": {
|
|
41
41
|
"testing": [
|
|
42
|
-
"./dist/src/testing/
|
|
42
|
+
"./dist/src/testing/index.d.ts"
|
|
43
43
|
]
|
|
44
44
|
}
|
|
45
45
|
},
|
|
@@ -52,12 +52,12 @@
|
|
|
52
52
|
"test:single": "cd ../.. && node --import ./packages/quereus-store/register.mjs node_modules/mocha/bin/mocha.js --bail"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|
|
55
|
-
"@quereus/isolation": "^4.
|
|
56
|
-
"@quereus/quereus": "^4.
|
|
55
|
+
"@quereus/isolation": "^4.7.0",
|
|
56
|
+
"@quereus/quereus": "^4.7.0"
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@quereus/isolation": "^4.
|
|
60
|
-
"@quereus/quereus": "^4.
|
|
59
|
+
"@quereus/isolation": "^4.7.0",
|
|
60
|
+
"@quereus/quereus": "^4.7.0"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|
|
63
63
|
"@types/mocha": "^10.0.10",
|