@quereus/store 2.8.0 → 3.0.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.
@@ -111,8 +111,23 @@ export declare class StoreModule implements VirtualTableModule<StoreTable, Store
111
111
  * Creates an index on a store-backed table.
112
112
  */
113
113
  createIndex(_db: Database, schemaName: string, tableName: string, indexSchema: TableIndexSchema): Promise<void>;
114
+ /**
115
+ * Drops an index on a store-backed table.
116
+ *
117
+ * Mirrors createIndex: refreshes the connected StoreTable's cached
118
+ * tableSchema (removing the index entry and any UNIQUE constraint
119
+ * synthesized from it, tagged with `derivedFromIndex`), releases the
120
+ * cached index-store handle, and tears down the underlying index store.
121
+ */
122
+ dropIndex(_db: Database, schemaName: string, tableName: string, indexName: string): Promise<void>;
114
123
  /**
115
124
  * Build index entries for all existing rows in a table.
125
+ *
126
+ * For UNIQUE indexes, performs an in-pass duplicate check (honoring partial
127
+ * predicates and SQL NULL semantics: multiple NULLs are allowed) and throws
128
+ * CONSTRAINT before any entries are written. Mirrors the memory module's
129
+ * populateNewIndex so `CREATE UNIQUE INDEX` over duplicated data fails
130
+ * atomically.
116
131
  */
117
132
  private buildIndexEntries;
118
133
  /**
@@ -136,6 +151,31 @@ export declare class StoreModule implements VirtualTableModule<StoreTable, Store
136
151
  * Modern access planning interface.
137
152
  */
138
153
  getBestAccessPlan(_db: Database, tableInfo: TableSchema, request: BestAccessPlanRequest): BestAccessPlanResult;
154
+ /**
155
+ * Compute the PK-ordering advertisement for a scan-style plan. Returns the
156
+ * `providesOrdering` / `monotonicOn` / `supportsAsofRight` fields for a plan
157
+ * whose iteration is driven by the primary-key key order (full scan or PK
158
+ * range scan).
159
+ *
160
+ * `providesOrdering` is set only when it actually matches what the caller
161
+ * needs:
162
+ * - When the request carries `requiredOrdering`, claim it only if the
163
+ * requested keys form a prefix of the PK with matching directions.
164
+ * Claiming PK order against an `ORDER BY <other column>` would cause
165
+ * the absorb-Sort rule to drop the Sort and yield wrong-order rows.
166
+ * - When no `requiredOrdering` is present, advertise the full PK
167
+ * ordering so downstream rules (merge-join, sort elision after a
168
+ * filter) can opportunistically use it.
169
+ *
170
+ * `monotonicOn` reflects the access path itself and is independent of any
171
+ * `requiredOrdering`; it always advertises the leading PK column. Strict
172
+ * monotonicity is claimed iff the PK is single-column — composite PKs can
173
+ * repeat values on the leading column.
174
+ *
175
+ * Returns an empty object when there is no PK (heap-only table) — without a
176
+ * leading key column there is no natural emit order.
177
+ */
178
+ private buildPkOrderingAdvertisement;
139
179
  /**
140
180
  * Get or create a data store for a table.
141
181
  */
@@ -1 +1 @@
1
- {"version":3,"file":"store-module.d.ts","sourceRoot":"","sources":["../../../src/common/store-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store-module.d.ts","sourceRoot":"","sources":["../../../src/common/store-module.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@
12
12
  * - {prefix}.__stats__ - Unified stats store (row counts for all tables)
13
13
  * - Catalog store: __catalog__ - DDL metadata keyed by {schema}.{table}
14
14
  */
15
- import { AccessPlanBuilder, QuereusError, StatusCode, buildColumnIndexMap, columnDefToSchema, inferType, validateAndParse } from '@quereus/quereus';
15
+ import { AccessPlanBuilder, QuereusError, StatusCode, buildColumnIndexMap, columnDefToSchema, compilePredicate, inferType, tryFoldLiteral, validateAndParse } from '@quereus/quereus';
16
16
  import { TransactionCoordinator } from './transaction.js';
17
17
  import { StoreTable } from './store-table.js';
18
18
  import { buildCatalogKey, buildCatalogScanBounds, buildIndexKey, buildFullScanBounds, buildStatsKey, } from './key-builder.js';
@@ -216,6 +216,33 @@ export class StoreModule {
216
216
  const dataStore = await this.getStore(tableKey, table.getConfig());
217
217
  const tableSchema = table.getSchema();
218
218
  await this.buildIndexEntries(dataStore, indexStore, tableSchema, indexSchema);
219
+ // Refresh the connected table's cached schema so subsequent DML
220
+ // maintains the new index (the engine's schema registry is updated
221
+ // separately by SchemaManager.createIndex, but the StoreTable instance
222
+ // holds its own reference captured at connect time). Mirrors
223
+ // SchemaManager.addIndexToTableSchema, including the UNIQUE → derived
224
+ // uniqueConstraint entry so checkUniqueConstraints enforces it.
225
+ const updatedIndexes = Object.freeze([
226
+ ...(tableSchema.indexes ?? []),
227
+ indexSchema,
228
+ ]);
229
+ const updatedSchema = { ...tableSchema, indexes: updatedIndexes };
230
+ if (indexSchema.unique) {
231
+ // `derivedFromIndex` tags this synthesized constraint so a future
232
+ // `StoreModule.dropIndex` can filter it out symmetrically (mirrors
233
+ // SchemaManager.dropIndex / MemoryTableManager.dropIndex). Without that
234
+ // filter on the drop side, the UNIQUE check would survive the index.
235
+ updatedSchema.uniqueConstraints = Object.freeze([
236
+ ...(tableSchema.uniqueConstraints ?? []),
237
+ {
238
+ name: indexSchema.name,
239
+ columns: Object.freeze(indexSchema.columns.map(c => c.index)),
240
+ predicate: indexSchema.predicate,
241
+ derivedFromIndex: indexSchema.name,
242
+ },
243
+ ]);
244
+ }
245
+ table.updateSchema(updatedSchema);
219
246
  // Emit schema change event
220
247
  this.eventEmitter?.emitSchemaChange({
221
248
  type: 'create',
@@ -224,22 +251,101 @@ export class StoreModule {
224
251
  objectName: indexSchema.name,
225
252
  });
226
253
  }
254
+ /**
255
+ * Drops an index on a store-backed table.
256
+ *
257
+ * Mirrors createIndex: refreshes the connected StoreTable's cached
258
+ * tableSchema (removing the index entry and any UNIQUE constraint
259
+ * synthesized from it, tagged with `derivedFromIndex`), releases the
260
+ * cached index-store handle, and tears down the underlying index store.
261
+ */
262
+ async dropIndex(_db, schemaName, tableName, indexName) {
263
+ const tableKey = `${schemaName}.${tableName}`.toLowerCase();
264
+ const table = this.tables.get(tableKey);
265
+ if (!table) {
266
+ throw new QuereusError(`Store table '${tableName}' not found in schema '${schemaName}'`, StatusCode.NOTFOUND);
267
+ }
268
+ const tableSchema = table.getSchema();
269
+ const lowerIndexName = indexName.toLowerCase();
270
+ // Mirror SchemaManager.dropIndex: strip the index AND any UNIQUE
271
+ // constraint synthesized from it (tagged with `derivedFromIndex` by
272
+ // StoreModule.createIndex). Collapse uniqueConstraints to undefined
273
+ // when empty.
274
+ const updatedIndexes = Object.freeze((tableSchema.indexes ?? []).filter(idx => idx.name.toLowerCase() !== lowerIndexName));
275
+ const remainingUniqueConstraints = (tableSchema.uniqueConstraints ?? []).filter(uc => uc.derivedFromIndex?.toLowerCase() !== lowerIndexName);
276
+ const updatedSchema = {
277
+ ...tableSchema,
278
+ indexes: updatedIndexes,
279
+ uniqueConstraints: remainingUniqueConstraints.length > 0
280
+ ? Object.freeze(remainingUniqueConstraints)
281
+ : undefined,
282
+ };
283
+ // Update the cached schema BEFORE tearing down the store so that a
284
+ // failure of the physical drop doesn't leave the schema enforcing an
285
+ // index whose backing store has already been mutated.
286
+ table.updateSchema(updatedSchema);
287
+ // Drop the cached handle on the table side and tear down the
288
+ // underlying KVStore. `deleteIndexStore` (if the provider implements
289
+ // it) closes the handle before removing the directory; otherwise we
290
+ // just close it.
291
+ await table.releaseIndexStore(indexName);
292
+ if (this.provider.deleteIndexStore) {
293
+ await this.provider.deleteIndexStore(schemaName, tableName, indexName);
294
+ }
295
+ else {
296
+ await this.provider.closeIndexStore(schemaName, tableName, indexName);
297
+ }
298
+ this.eventEmitter?.emitSchemaChange({
299
+ type: 'drop',
300
+ objectType: 'index',
301
+ schemaName,
302
+ objectName: indexName,
303
+ });
304
+ }
227
305
  /**
228
306
  * Build index entries for all existing rows in a table.
307
+ *
308
+ * For UNIQUE indexes, performs an in-pass duplicate check (honoring partial
309
+ * predicates and SQL NULL semantics: multiple NULLs are allowed) and throws
310
+ * CONSTRAINT before any entries are written. Mirrors the memory module's
311
+ * populateNewIndex so `CREATE UNIQUE INDEX` over duplicated data fails
312
+ * atomically.
229
313
  */
230
314
  async buildIndexEntries(dataStore, indexStore, tableSchema, indexSchema) {
231
315
  const encodeOptions = { collation: 'NOCASE' };
232
316
  const pkDirections = tableSchema.primaryKeyDefinition.map(pk => !!pk.desc);
233
317
  const indexDirections = indexSchema.columns.map(col => !!col.desc);
318
+ const predicate = indexSchema.predicate
319
+ ? compilePredicate(indexSchema.predicate, tableSchema.columns)
320
+ : undefined;
321
+ const seen = indexSchema.unique ? new Set() : undefined;
234
322
  // Scan all data rows
235
323
  const bounds = buildFullScanBounds();
236
324
  const batch = indexStore.batch();
237
325
  for await (const entry of dataStore.iterate(bounds)) {
238
326
  const row = deserializeRow(entry.value);
327
+ // Partial index: skip rows whose predicate is not unambiguously TRUE.
328
+ if (predicate && predicate.evaluate(row) !== true)
329
+ continue;
239
330
  // Extract PK values
240
331
  const pkValues = tableSchema.primaryKeyDefinition.map(pk => row[pk.index]);
241
332
  // Extract index column values
242
333
  const indexValues = indexSchema.columns.map(col => row[col.index]);
334
+ if (seen) {
335
+ // SQL UNIQUE allows multiple NULLs: skip dup detection when any
336
+ // indexed column is NULL for this row.
337
+ const hasNull = indexValues.some(v => v === null);
338
+ if (!hasNull) {
339
+ const keySig = JSON.stringify(indexValues);
340
+ if (seen.has(keySig)) {
341
+ const colNames = indexSchema.columns
342
+ .map(c => tableSchema.columns[c.index]?.name ?? String(c.index))
343
+ .join(', ');
344
+ throw new QuereusError(`UNIQUE constraint failed: ${tableSchema.name} (${colNames})`, StatusCode.CONSTRAINT);
345
+ }
346
+ seen.add(keySig);
347
+ }
348
+ }
243
349
  // Build and store index key
244
350
  const indexKey = buildIndexKey(indexValues, pkValues, encodeOptions, indexDirections, pkDirections);
245
351
  batch.put(indexKey, new Uint8Array(0)); // Index value is empty
@@ -253,7 +359,19 @@ export class StoreModule {
253
359
  */
254
360
  async alterTable(db, schemaName, tableName, change) {
255
361
  const tableKey = `${schemaName}.${tableName}`.toLowerCase();
256
- const table = this.tables.get(tableKey);
362
+ // Lazy-connect: `renameTable` evicts the old key from `this.tables` and
363
+ // expects the next `connect()` to repopulate under the new name, but
364
+ // `apply schema` can call `alterTable` immediately after a rename without
365
+ // an intervening connect. Mirror connect()'s schemaManager lookup so the
366
+ // follow-up ALTER finds the moved table.
367
+ let table = this.tables.get(tableKey);
368
+ if (!table) {
369
+ const registeredSchema = db.schemaManager.getTable(schemaName, tableName);
370
+ if (registeredSchema) {
371
+ table = new StoreTable(db, this, registeredSchema, this.parseConfig(registeredSchema.vtabArgs ?? {}), this.eventEmitter, true);
372
+ this.tables.set(tableKey, table);
373
+ }
374
+ }
257
375
  if (!table) {
258
376
  throw new QuereusError(`Store table '${tableName}' not found in schema '${schemaName}'. Cannot alter.`, StatusCode.ERROR);
259
377
  }
@@ -262,11 +380,17 @@ export class StoreModule {
262
380
  switch (change.type) {
263
381
  case 'addColumn': {
264
382
  const newColSchema = columnDefToSchema(change.columnDef, defaultNotNull);
265
- // Extract default value from column def constraints
383
+ // Extract default value from column def constraints. Use the shared
384
+ // `tryFoldLiteral` helper so signed numerics like `-123.0`
385
+ // (a UnaryExpr in the AST) are recognized — matching the
386
+ // memory-mode path and the engine-level ALTER validation.
266
387
  let defaultValue = null;
267
388
  const defaultConstraint = change.columnDef.constraints?.find(c => c.type === 'default');
268
- if (defaultConstraint && defaultConstraint.expr && defaultConstraint.expr.type === 'literal') {
269
- defaultValue = defaultConstraint.expr.value;
389
+ if (defaultConstraint?.expr) {
390
+ const folded = tryFoldLiteral(defaultConstraint.expr);
391
+ if (folded !== undefined) {
392
+ defaultValue = folded;
393
+ }
270
394
  }
271
395
  // Refuse NOT NULL without a literal DEFAULT on a non-empty table (SQLite-compatible).
272
396
  if (newColSchema.notNull && defaultValue === null) {
@@ -565,12 +689,13 @@ export class StoreModule {
565
689
  pkColumns.includes(f.columnIndex) &&
566
690
  f.op === '=');
567
691
  if (pkFilters.length === pkColumns.length && pkColumns.length > 0) {
568
- // Full PK match - point lookup
692
+ // Full PK match - point lookup (single row; no monotonic advertisement)
569
693
  const handledFilters = request.filters.map(f => pkFilters.some(pf => pf.columnIndex === f.columnIndex && pf.op === f.op));
570
694
  return AccessPlanBuilder
571
695
  .eqMatch(1, 0.1)
572
696
  .setHandledFilters(handledFilters)
573
697
  .setIsSet(true)
698
+ .setIndexName('_primary_')
574
699
  .setExplanation('Store primary key lookup')
575
700
  .build();
576
701
  }
@@ -586,14 +711,21 @@ export class StoreModule {
586
711
  rangeOps.includes(f.op))
587
712
  : [];
588
713
  if (rangeFilters.length > 0) {
589
- // Range scan on first PK column
714
+ // Range scan on first PK column. Iteration is by PK key order (see
715
+ // StoreTable.scanPKRange), so we can advertise monotonic emission on
716
+ // the leading PK column. The scan still visits the entire data store
717
+ // today (TODO in scanPKRange to refine bounds), but the order
718
+ // guarantee already holds.
590
719
  const handledFilters = request.filters.map(f => rangeFilters.some(rf => rf.columnIndex === f.columnIndex && rf.op === f.op));
591
720
  const rangeRows = Math.max(1, Math.floor(estimatedRows * 0.3));
592
- return AccessPlanBuilder
721
+ const plan = AccessPlanBuilder
593
722
  .rangeScan(rangeRows, 0.2)
594
723
  .setHandledFilters(handledFilters)
724
+ .setIndexName('_primary_')
725
+ .setSeekColumns([firstPkColumn])
595
726
  .setExplanation('Store primary key range scan')
596
727
  .build();
728
+ return { ...plan, ...this.buildPkOrderingAdvertisement(tableInfo, request) };
597
729
  }
598
730
  // Check for secondary index usage
599
731
  // Note: query() does not yet implement secondary index scans — it falls
@@ -616,12 +748,86 @@ export class StoreModule {
616
748
  .build();
617
749
  }
618
750
  }
619
- // Fallback to full scan
620
- return AccessPlanBuilder
751
+ // Fallback to full scan. The store iterates rows in PK key order
752
+ // (see StoreTable.query / store.iterate over buildFullScanBounds), so
753
+ // the scan is monotonic on the leading PK column. Advertise that so
754
+ // downstream rules (merge-join, asof-scan) can fire on store-backed
755
+ // tables, matching memory-mode behavior.
756
+ const plan = AccessPlanBuilder
621
757
  .fullScan(estimatedRows)
622
758
  .setHandledFilters(new Array(request.filters.length).fill(false))
623
759
  .setExplanation('Store full table scan')
624
760
  .build();
761
+ return { ...plan, ...this.buildPkOrderingAdvertisement(tableInfo, request) };
762
+ }
763
+ /**
764
+ * Compute the PK-ordering advertisement for a scan-style plan. Returns the
765
+ * `providesOrdering` / `monotonicOn` / `supportsAsofRight` fields for a plan
766
+ * whose iteration is driven by the primary-key key order (full scan or PK
767
+ * range scan).
768
+ *
769
+ * `providesOrdering` is set only when it actually matches what the caller
770
+ * needs:
771
+ * - When the request carries `requiredOrdering`, claim it only if the
772
+ * requested keys form a prefix of the PK with matching directions.
773
+ * Claiming PK order against an `ORDER BY <other column>` would cause
774
+ * the absorb-Sort rule to drop the Sort and yield wrong-order rows.
775
+ * - When no `requiredOrdering` is present, advertise the full PK
776
+ * ordering so downstream rules (merge-join, sort elision after a
777
+ * filter) can opportunistically use it.
778
+ *
779
+ * `monotonicOn` reflects the access path itself and is independent of any
780
+ * `requiredOrdering`; it always advertises the leading PK column. Strict
781
+ * monotonicity is claimed iff the PK is single-column — composite PKs can
782
+ * repeat values on the leading column.
783
+ *
784
+ * Returns an empty object when there is no PK (heap-only table) — without a
785
+ * leading key column there is no natural emit order.
786
+ */
787
+ buildPkOrderingAdvertisement(tableInfo, request) {
788
+ const pk = tableInfo.primaryKeyDefinition;
789
+ if (pk.length === 0)
790
+ return {};
791
+ const leading = pk[0];
792
+ const monotonicOn = {
793
+ columnIndex: leading.index,
794
+ direction: leading.desc ? 'desc' : 'asc',
795
+ strict: pk.length === 1,
796
+ };
797
+ const pkOrdering = pk.map(col => ({
798
+ columnIndex: col.index,
799
+ desc: !!col.desc,
800
+ }));
801
+ // Pick the providesOrdering to advertise based on requiredOrdering.
802
+ const required = request.requiredOrdering;
803
+ let providesOrdering;
804
+ if (required && required.length > 0) {
805
+ // Only claim ordering when the requested keys form a prefix of the
806
+ // PK with matching directions. nullsFirst is intentionally not
807
+ // matched here — if the request specifies an explicit NULLS
808
+ // FIRST/LAST, leave the Sort in place rather than assume the PK
809
+ // scan's natural NULL placement matches.
810
+ if (required.length > pk.length)
811
+ return { monotonicOn, supportsAsofRight: true };
812
+ for (let i = 0; i < required.length; i++) {
813
+ if (required[i].columnIndex !== pkOrdering[i].columnIndex)
814
+ return { monotonicOn, supportsAsofRight: true };
815
+ if (required[i].desc !== pkOrdering[i].desc)
816
+ return { monotonicOn, supportsAsofRight: true };
817
+ if (required[i].nullsFirst !== undefined)
818
+ return { monotonicOn, supportsAsofRight: true };
819
+ }
820
+ providesOrdering = required;
821
+ }
822
+ else {
823
+ providesOrdering = pkOrdering;
824
+ }
825
+ return {
826
+ providesOrdering,
827
+ orderingIndexName: '_primary_',
828
+ monotonicOn,
829
+ supportsAsofRight: true,
830
+ };
625
831
  }
626
832
  // --- StoreTableModule interface implementation ---
627
833
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"store-module.js","sourceRoot":"","sources":["../../../src/common/store-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store-module.js","sourceRoot":"","sources":["../../../src/common/store-module.ts"],"names":[],"mappings":"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"}
@@ -65,6 +65,7 @@ export declare class StoreTable extends VirtualTable {
65
65
  protected pendingStatsDelta: number;
66
66
  protected mutationCount: number;
67
67
  protected statsFlushPending: boolean;
68
+ private readonly predicateCache;
68
69
  constructor(db: Database, storeModule: StoreTableModule, tableSchema: TableSchema, config: StoreTableConfig, eventEmitter?: StoreEventEmitter, isConnected?: boolean);
69
70
  /** Get the table configuration. */
70
71
  getConfig(): StoreTableConfig;
@@ -72,6 +73,8 @@ export declare class StoreTable extends VirtualTable {
72
73
  getSchema(): TableSchema;
73
74
  /** Update the table schema after an ALTER TABLE operation. */
74
75
  updateSchema(newSchema: TableSchema): void;
76
+ /** Close and forget a cached index-store handle, if any. */
77
+ releaseIndexStore(indexName: string): Promise<void>;
75
78
  /**
76
79
  * Returns true if the table has at least one stored row. Stops after the first hit.
77
80
  */
@@ -162,11 +165,28 @@ export declare class StoreTable extends VirtualTable {
162
165
  protected compareValues(a: SqlValue, op: IndexConstraintOp, b: SqlValue): boolean;
163
166
  /** Perform an update operation (INSERT, UPDATE, DELETE). */
164
167
  update(args: UpdateArgs): Promise<UpdateResult>;
165
- /** Update secondary indexes after a row change. */
166
- protected updateSecondaryIndexes(inTransaction: boolean, oldRow: Row | null, newRow: Row | null, pk: SqlValue[]): Promise<void>;
168
+ /**
169
+ * Update secondary indexes after a row change.
170
+ *
171
+ * For PK-change UPDATE, `oldPk` (where the existing entry lives) and `newPk`
172
+ * (where the relocated entry will live) differ; using a single pk for both
173
+ * sides leaks the old entry. Other paths pass the same pk for both.
174
+ */
175
+ protected updateSecondaryIndexes(inTransaction: boolean, oldRow: Row | null, newRow: Row | null, oldPk: SqlValue[], newPk?: SqlValue[]): Promise<void>;
176
+ /**
177
+ * Returns the compiled predicate for a partial-UNIQUE constraint, or undefined
178
+ * when the constraint covers the full table. Compilation is memoized per
179
+ * UniqueConstraintSchema instance so the hot UNIQUE-check path doesn't recompile.
180
+ */
181
+ private compileFor;
167
182
  /** Check if two PK arrays are equal. */
168
183
  protected keysEqual(a: SqlValue[], b: SqlValue[]): boolean;
169
- /** Returns true if any column covered by a UNIQUE constraint differs between oldRow and newRow. */
184
+ /**
185
+ * Returns true if any column covered by a UNIQUE constraint differs between
186
+ * oldRow and newRow, or — for partial UNIQUE — any column referenced by the
187
+ * partial predicate differs (which can transition the row across the
188
+ * predicate scope and re-trigger the uniqueness check).
189
+ */
170
190
  protected uniqueColumnsChanged(oldRow: Row, newRow: Row): boolean;
171
191
  /**
172
192
  * Enforce table-level UNIQUE constraints against the prospective newRow.
@@ -184,8 +204,9 @@ export declare class StoreTable extends VirtualTable {
184
204
  protected checkUniqueConstraints(inTransaction: boolean, newRow: Row, selfPks: SqlValue[][], onConflict?: ConflictResolution): Promise<UpdateResult | null>;
185
205
  /**
186
206
  * Scan committed + pending data rows for a row matching `newRow` on
187
- * `constrainedCols` whose PK is not in `selfPks`. Returns the first match
188
- * or null.
207
+ * `uc.columns` whose PK is not in `selfPks`. For partial UNIQUE, candidates
208
+ * whose row does not satisfy the predicate are skipped. Returns the first
209
+ * match or null.
189
210
  */
190
211
  private findUniqueConflict;
191
212
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"store-table.d.ts","sourceRoot":"","sources":["../../../src/common/store-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store-table.d.ts","sourceRoot":"","sources":["../../../src/common/store-table.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@
9
9
  * - Index stores: {schema}.{table}_idx_{name} - one per secondary index
10
10
  * - Stats store: __stats__ - unified store for all table statistics, keyed by {schema}.{table}
11
11
  */
12
- import { VirtualTable, IndexConstraintOp, ConflictResolution, QuereusError, StatusCode, compareSqlValues, validateAndParse, } from '@quereus/quereus';
12
+ import { VirtualTable, IndexConstraintOp, ConflictResolution, QuereusError, StatusCode, compareSqlValues, validateAndParse, compilePredicate, } from '@quereus/quereus';
13
13
  import { StoreConnection } from './store-connection.js';
14
14
  import { buildDataKey, buildIndexKey, buildFullScanBounds, buildStatsKey, } from './key-builder.js';
15
15
  import { serializeRow, deserializeRow, serializeStats, deserializeStats, } from './serialization.js';
@@ -29,6 +29,26 @@ function bytesEqual(a, b) {
29
29
  }
30
30
  return true;
31
31
  }
32
+ /**
33
+ * Resolves the per-constraint default conflict action for PK conflicts.
34
+ * Prefers the table-level `PRIMARY KEY (...) ON CONFLICT <action>` clause
35
+ * over any column-level `defaultConflict` declared on a PK column.
36
+ *
37
+ * Mirrors the helpers in `quereus/.../layer/manager.ts` and
38
+ * `quereus-isolation/.../isolated-table.ts` — the three-tier precedence
39
+ * `statement OR > per-constraint default > ABORT` must agree across all
40
+ * three implementations.
41
+ */
42
+ function resolvePkDefaultConflict(schema) {
43
+ if (schema.primaryKeyDefaultConflict !== undefined)
44
+ return schema.primaryKeyDefaultConflict;
45
+ for (const def of schema.primaryKeyDefinition) {
46
+ const col = schema.columns[def.index];
47
+ if (col?.defaultConflict !== undefined)
48
+ return col.defaultConflict;
49
+ }
50
+ return undefined;
51
+ }
32
52
  /**
33
53
  * Generic KVStore-backed virtual table.
34
54
  *
@@ -54,6 +74,11 @@ export class StoreTable extends VirtualTable {
54
74
  pendingStatsDelta = 0;
55
75
  mutationCount = 0;
56
76
  statsFlushPending = false;
77
+ // Lazy cache of compiled partial-UNIQUE predicates. Keyed on the
78
+ // UniqueConstraintSchema object identity — UC schemas are frozen and a
79
+ // new constraint object after CREATE/DROP INDEX produces a fresh compile;
80
+ // the WeakMap lets the GC reclaim entries for retired constraints.
81
+ predicateCache = new WeakMap();
57
82
  constructor(db, storeModule, tableSchema, config, eventEmitter, isConnected = false) {
58
83
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
59
84
  super(db, storeModule, tableSchema.schemaName, tableSchema.name);
@@ -78,6 +103,17 @@ export class StoreTable extends VirtualTable {
78
103
  this.tableSchema = newSchema;
79
104
  this.pkDirections = newSchema.primaryKeyDefinition.map(pk => !!pk.desc);
80
105
  }
106
+ /** Close and forget a cached index-store handle, if any. */
107
+ async releaseIndexStore(indexName) {
108
+ const cached = this.indexStores.get(indexName);
109
+ if (!cached)
110
+ return;
111
+ this.indexStores.delete(indexName);
112
+ try {
113
+ await cached.close();
114
+ }
115
+ catch { /* close is best-effort */ }
116
+ }
81
117
  /**
82
118
  * Returns true if the table has at least one stored row. Stops after the first hit.
83
119
  */
@@ -442,13 +478,15 @@ export class StoreTable extends VirtualTable {
442
478
  const coerced = args.preCoerced ? values : this.coerceRow(values);
443
479
  const pk = this.extractPK(coerced);
444
480
  const key = buildDataKey(pk, this.encodeOptions, this.pkDirections);
445
- // Check for existing row (for conflict handling)
481
+ // Check for existing row (for conflict handling).
482
+ // Resolve PK-conflict action: statement OR > per-constraint default > ABORT.
483
+ const pkEffective = args.onConflict ?? resolvePkDefaultConflict(schema) ?? ConflictResolution.ABORT;
446
484
  const existing = await store.get(key);
447
485
  if (existing) {
448
- if (args.onConflict === ConflictResolution.IGNORE) {
486
+ if (pkEffective === ConflictResolution.IGNORE) {
449
487
  return { status: 'ok', row: undefined };
450
488
  }
451
- if (args.onConflict !== ConflictResolution.REPLACE) {
489
+ if (pkEffective !== ConflictResolution.REPLACE) {
452
490
  const existingRow = deserializeRow(existing);
453
491
  return {
454
492
  status: 'constraint',
@@ -458,7 +496,9 @@ export class StoreTable extends VirtualTable {
458
496
  };
459
497
  }
460
498
  }
461
- // Enforce non-PK UNIQUE constraints
499
+ // Enforce non-PK UNIQUE constraints. Pass the original statement-level
500
+ // onConflict so checkUniqueConstraints can resolve each UC's own
501
+ // defaultConflict independently of the PK's default.
462
502
  const ucResult = await this.checkUniqueConstraints(inTransaction, coerced, [pk], args.onConflict);
463
503
  if (ucResult)
464
504
  return ucResult;
@@ -523,14 +563,21 @@ export class StoreTable extends VirtualTable {
523
563
  const oldRowData = await store.get(oldKey);
524
564
  const oldRow = oldRowData ? deserializeRow(oldRowData) : null;
525
565
  const pkChanged = !this.keysEqual(oldPk, newPk);
526
- // PK-change UPDATE collides like an INSERT at the new key
566
+ // Resolve PK-conflict action: statement OR > per-constraint default > ABORT.
567
+ const pkEffective = args.onConflict ?? resolvePkDefaultConflict(schema) ?? ConflictResolution.ABORT;
568
+ // PK-change UPDATE collides like an INSERT at the new key.
569
+ // Capture the evicted row so it can be reported via `replacedRow`
570
+ // (consumed by the executor for ON DELETE cascade/SET NULL of the
571
+ // row at the new PK). Read through the coordinator so an evictee
572
+ // written earlier in the same transaction is visible.
573
+ let replacedAtNewPk = null;
527
574
  if (pkChanged) {
528
575
  const existingAtNew = await store.get(newKey);
529
576
  if (existingAtNew) {
530
- if (args.onConflict === ConflictResolution.IGNORE) {
577
+ if (pkEffective === ConflictResolution.IGNORE) {
531
578
  return { status: 'ok', row: undefined };
532
579
  }
533
- if (args.onConflict !== ConflictResolution.REPLACE) {
580
+ if (pkEffective !== ConflictResolution.REPLACE) {
534
581
  return {
535
582
  status: 'constraint',
536
583
  constraint: 'unique',
@@ -538,13 +585,15 @@ export class StoreTable extends VirtualTable {
538
585
  existingRow: deserializeRow(existingAtNew),
539
586
  };
540
587
  }
588
+ replacedAtNewPk = deserializeRow(existingAtNew);
541
589
  }
542
590
  }
543
591
  // Enforce non-PK UNIQUE constraints. For same-PK UPDATE, only check
544
592
  // constraints whose covered columns actually changed; pass [oldPk]
545
593
  // (= newPk) to skip self. For PK-change UPDATE, treat as relocation:
546
594
  // skip both old and new PK so we don't false-conflict against the
547
- // row we're moving.
595
+ // row we're moving. Pass the original statement-level onConflict so
596
+ // each UC's own defaultConflict can be resolved independently.
548
597
  const selfPks = pkChanged ? [oldPk, newPk] : [oldPk];
549
598
  const shouldCheckUniques = pkChanged
550
599
  || (oldRow ? this.uniqueColumnsChanged(oldRow, coerced) : true);
@@ -553,6 +602,14 @@ export class StoreTable extends VirtualTable {
553
602
  if (ucResult)
554
603
  return ucResult;
555
604
  }
605
+ // When REPLACE evicted a row at the new PK, fully delete it first
606
+ // (data + secondary indexes + row-count + delete event) so its
607
+ // state doesn't leak when we then put the moved row at newPk.
608
+ // Mirrors MemoryTable's `recordDelete(newPK, existingRowAtNewKey)`
609
+ // step in the PK-change-REPLACE path.
610
+ if (replacedAtNewPk) {
611
+ await this.deleteRowAt(inTransaction, newPk, replacedAtNewPk);
612
+ }
556
613
  // Delete old key if PK changed
557
614
  if (pkChanged) {
558
615
  if (inTransaction) {
@@ -569,8 +626,10 @@ export class StoreTable extends VirtualTable {
569
626
  else {
570
627
  await store.put(newKey, serializedRow);
571
628
  }
572
- // Update secondary indexes
573
- await this.updateSecondaryIndexes(inTransaction, oldRow, coerced, newPk);
629
+ // Update secondary indexes. For PK-change UPDATE the old entry lives
630
+ // at oldPk and the new entry must land at newPk; for same-PK UPDATE
631
+ // both halves use the same key.
632
+ await this.updateSecondaryIndexes(inTransaction, oldRow, coerced, oldPk, newPk);
574
633
  // Queue or emit event
575
634
  const updateEvent = {
576
635
  type: 'update',
@@ -586,7 +645,7 @@ export class StoreTable extends VirtualTable {
586
645
  else {
587
646
  this.eventEmitter?.emitDataChange(updateEvent);
588
647
  }
589
- return { status: 'ok', row: coerced };
648
+ return { status: 'ok', row: coerced, replacedRow: replacedAtNewPk ?? undefined };
590
649
  }
591
650
  case 'delete': {
592
651
  if (!oldKeyValues)
@@ -627,8 +686,14 @@ export class StoreTable extends VirtualTable {
627
686
  throw new QuereusError(`Unknown operation: ${operation}`, StatusCode.MISUSE);
628
687
  }
629
688
  }
630
- /** Update secondary indexes after a row change. */
631
- async updateSecondaryIndexes(inTransaction, oldRow, newRow, pk) {
689
+ /**
690
+ * Update secondary indexes after a row change.
691
+ *
692
+ * For PK-change UPDATE, `oldPk` (where the existing entry lives) and `newPk`
693
+ * (where the relocated entry will live) differ; using a single pk for both
694
+ * sides leaks the old entry. Other paths pass the same pk for both.
695
+ */
696
+ async updateSecondaryIndexes(inTransaction, oldRow, newRow, oldPk, newPk = oldPk) {
632
697
  const schema = this.tableSchema;
633
698
  const indexes = schema.indexes || [];
634
699
  for (const index of indexes) {
@@ -638,7 +703,7 @@ export class StoreTable extends VirtualTable {
638
703
  // Remove old index entry
639
704
  if (oldRow) {
640
705
  const oldIndexValues = indexCols.map(i => oldRow[i]);
641
- const oldIndexKey = buildIndexKey(oldIndexValues, pk, this.encodeOptions, indexDirections, this.pkDirections);
706
+ const oldIndexKey = buildIndexKey(oldIndexValues, oldPk, this.encodeOptions, indexDirections, this.pkDirections);
642
707
  if (inTransaction && this.coordinator) {
643
708
  this.coordinator.delete(oldIndexKey, indexStore);
644
709
  }
@@ -649,7 +714,7 @@ export class StoreTable extends VirtualTable {
649
714
  // Add new index entry
650
715
  if (newRow) {
651
716
  const newIndexValues = indexCols.map(i => newRow[i]);
652
- const newIndexKey = buildIndexKey(newIndexValues, pk, this.encodeOptions, indexDirections, this.pkDirections);
717
+ const newIndexKey = buildIndexKey(newIndexValues, newPk, this.encodeOptions, indexDirections, this.pkDirections);
653
718
  // Index value is empty - we just need the key for lookups
654
719
  const emptyValue = new Uint8Array(0);
655
720
  if (inTransaction && this.coordinator) {
@@ -661,6 +726,21 @@ export class StoreTable extends VirtualTable {
661
726
  }
662
727
  }
663
728
  }
729
+ /**
730
+ * Returns the compiled predicate for a partial-UNIQUE constraint, or undefined
731
+ * when the constraint covers the full table. Compilation is memoized per
732
+ * UniqueConstraintSchema instance so the hot UNIQUE-check path doesn't recompile.
733
+ */
734
+ compileFor(uc) {
735
+ if (!uc.predicate)
736
+ return undefined;
737
+ let compiled = this.predicateCache.get(uc);
738
+ if (!compiled) {
739
+ compiled = compilePredicate(uc.predicate, this.tableSchema.columns);
740
+ this.predicateCache.set(uc, compiled);
741
+ }
742
+ return compiled;
743
+ }
664
744
  /** Check if two PK arrays are equal. */
665
745
  keysEqual(a, b) {
666
746
  if (a.length !== b.length)
@@ -671,7 +751,12 @@ export class StoreTable extends VirtualTable {
671
751
  }
672
752
  return true;
673
753
  }
674
- /** Returns true if any column covered by a UNIQUE constraint differs between oldRow and newRow. */
754
+ /**
755
+ * Returns true if any column covered by a UNIQUE constraint differs between
756
+ * oldRow and newRow, or — for partial UNIQUE — any column referenced by the
757
+ * partial predicate differs (which can transition the row across the
758
+ * predicate scope and re-trigger the uniqueness check).
759
+ */
675
760
  uniqueColumnsChanged(oldRow, newRow) {
676
761
  const ucs = this.tableSchema?.uniqueConstraints;
677
762
  if (!ucs || ucs.length === 0)
@@ -681,6 +766,15 @@ export class StoreTable extends VirtualTable {
681
766
  if (compareSqlValues(oldRow[colIdx], newRow[colIdx]) !== 0)
682
767
  return true;
683
768
  }
769
+ if (uc.predicate) {
770
+ const compiled = this.compileFor(uc);
771
+ if (compiled) {
772
+ for (const colIdx of compiled.referencedColumns) {
773
+ if (compareSqlValues(oldRow[colIdx], newRow[colIdx]) !== 0)
774
+ return true;
775
+ }
776
+ }
777
+ }
684
778
  }
685
779
  return false;
686
780
  }
@@ -705,13 +799,20 @@ export class StoreTable extends VirtualTable {
705
799
  for (const uc of uniqueConstraints) {
706
800
  if (uc.columns.some(idx => newRow[idx] === null))
707
801
  continue;
708
- const conflict = await this.findUniqueConflict(uc.columns, newRow, selfPks);
802
+ // Partial UNIQUE: a row whose predicate is not unambiguously TRUE is
803
+ // outside the index's scope and contributes nothing to uniqueness.
804
+ const predicate = this.compileFor(uc);
805
+ if (predicate && predicate.evaluate(newRow) !== true)
806
+ continue;
807
+ const conflict = await this.findUniqueConflict(uc, predicate, newRow, selfPks);
709
808
  if (!conflict)
710
809
  continue;
711
- if (onConflict === ConflictResolution.IGNORE) {
810
+ // Resolve action per-constraint: statement OR > per-UC default > ABORT.
811
+ const effective = onConflict ?? uc.defaultConflict ?? ConflictResolution.ABORT;
812
+ if (effective === ConflictResolution.IGNORE) {
712
813
  return { status: 'ok', row: undefined };
713
814
  }
714
- if (onConflict === ConflictResolution.REPLACE) {
815
+ if (effective === ConflictResolution.REPLACE) {
715
816
  await this.deleteRowAt(inTransaction, conflict.pk, conflict.row);
716
817
  continue;
717
818
  }
@@ -727,14 +828,16 @@ export class StoreTable extends VirtualTable {
727
828
  }
728
829
  /**
729
830
  * Scan committed + pending data rows for a row matching `newRow` on
730
- * `constrainedCols` whose PK is not in `selfPks`. Returns the first match
731
- * or null.
831
+ * `uc.columns` whose PK is not in `selfPks`. For partial UNIQUE, candidates
832
+ * whose row does not satisfy the predicate are skipped. Returns the first
833
+ * match or null.
732
834
  */
733
- async findUniqueConflict(constrainedCols, newRow, selfPks) {
835
+ async findUniqueConflict(uc, predicate, newRow, selfPks) {
734
836
  const store = await this.ensureStore();
735
837
  const pending = this.coordinator?.isInTransaction()
736
838
  ? this.coordinator.getPendingOpsForStore(store)
737
839
  : null;
840
+ const constrainedCols = uc.columns;
738
841
  const matches = (candidate) => {
739
842
  const pk = this.extractPK(candidate);
740
843
  for (const skip of selfPks) {
@@ -745,6 +848,9 @@ export class StoreTable extends VirtualTable {
745
848
  if (compareSqlValues(newRow[idx], candidate[idx]) !== 0)
746
849
  return null;
747
850
  }
851
+ // Partial UNIQUE: candidate must also be in the predicate's scope to conflict.
852
+ if (predicate && predicate.evaluate(candidate) !== true)
853
+ return null;
748
854
  return { pk, row: candidate };
749
855
  };
750
856
  const seen = new Set();
@@ -1 +1 @@
1
- {"version":3,"file":"store-table.js","sourceRoot":"","sources":["../../../src/common/store-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store-table.js","sourceRoot":"","sources":["../../../src/common/store-table.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quereus/store",
3
- "version": "2.8.0",
3
+ "version": "3.0.0",
4
4
  "type": "module",
5
5
  "description": "Abstract key-value storage module for Quereus",
6
6
  "keywords": [
@@ -40,8 +40,8 @@
40
40
  "test:single": "cd ../.. && node --import ./packages/quereus-store/register.mjs node_modules/mocha/bin/mocha.js --bail"
41
41
  },
42
42
  "peerDependencies": {
43
- "@quereus/isolation": "^2.8.0",
44
- "@quereus/quereus": "^2.8.0"
43
+ "@quereus/isolation": "^3.0.0",
44
+ "@quereus/quereus": "^3.0.0"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@quereus/isolation": "*",