@quereus/store 4.10.0 → 4.12.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.
Files changed (85) hide show
  1. package/README.md +143 -13
  2. package/dist/src/common/cached-kv-store.d.ts +16 -0
  3. package/dist/src/common/cached-kv-store.d.ts.map +1 -1
  4. package/dist/src/common/cached-kv-store.js +64 -6
  5. package/dist/src/common/cached-kv-store.js.map +1 -1
  6. package/dist/src/common/index.d.ts +2 -0
  7. package/dist/src/common/index.d.ts.map +1 -1
  8. package/dist/src/common/index.js +4 -0
  9. package/dist/src/common/index.js.map +1 -1
  10. package/dist/src/common/key-builder.d.ts +9 -6
  11. package/dist/src/common/key-builder.d.ts.map +1 -1
  12. package/dist/src/common/key-builder.js +17 -6
  13. package/dist/src/common/key-builder.js.map +1 -1
  14. package/dist/src/common/kv-store.d.ts +142 -4
  15. package/dist/src/common/kv-store.d.ts.map +1 -1
  16. package/dist/src/common/kv-store.js +21 -1
  17. package/dist/src/common/kv-store.js.map +1 -1
  18. package/dist/src/common/memory-store.d.ts +1 -0
  19. package/dist/src/common/memory-store.d.ts.map +1 -1
  20. package/dist/src/common/memory-store.js +16 -1
  21. package/dist/src/common/memory-store.js.map +1 -1
  22. package/dist/src/common/paged-iterate.d.ts +42 -0
  23. package/dist/src/common/paged-iterate.d.ts.map +1 -0
  24. package/dist/src/common/paged-iterate.js +113 -0
  25. package/dist/src/common/paged-iterate.js.map +1 -0
  26. package/dist/src/common/pk-key-resolution.d.ts +17 -4
  27. package/dist/src/common/pk-key-resolution.d.ts.map +1 -1
  28. package/dist/src/common/pk-key-resolution.js +23 -8
  29. package/dist/src/common/pk-key-resolution.js.map +1 -1
  30. package/dist/src/common/serialization.d.ts +11 -1
  31. package/dist/src/common/serialization.d.ts.map +1 -1
  32. package/dist/src/common/serialization.js +114 -31
  33. package/dist/src/common/serialization.js.map +1 -1
  34. package/dist/src/common/store-module-access-plan.d.ts +1 -1
  35. package/dist/src/common/store-module-access-plan.d.ts.map +1 -1
  36. package/dist/src/common/store-module-access-plan.js +434 -105
  37. package/dist/src/common/store-module-access-plan.js.map +1 -1
  38. package/dist/src/common/store-module-alter-column.d.ts.map +1 -1
  39. package/dist/src/common/store-module-alter-column.js +25 -2
  40. package/dist/src/common/store-module-alter-column.js.map +1 -1
  41. package/dist/src/common/store-module-alter.d.ts.map +1 -1
  42. package/dist/src/common/store-module-alter.js +36 -13
  43. package/dist/src/common/store-module-alter.js.map +1 -1
  44. package/dist/src/common/store-module-catalog.d.ts +6 -4
  45. package/dist/src/common/store-module-catalog.d.ts.map +1 -1
  46. package/dist/src/common/store-module-catalog.js +8 -6
  47. package/dist/src/common/store-module-catalog.js.map +1 -1
  48. package/dist/src/common/store-module-index.d.ts +98 -7
  49. package/dist/src/common/store-module-index.d.ts.map +1 -1
  50. package/dist/src/common/store-module-index.js +236 -81
  51. package/dist/src/common/store-module-index.js.map +1 -1
  52. package/dist/src/common/store-module.d.ts.map +1 -1
  53. package/dist/src/common/store-module.js +7 -3
  54. package/dist/src/common/store-module.js.map +1 -1
  55. package/dist/src/common/store-table-base.d.ts +30 -0
  56. package/dist/src/common/store-table-base.d.ts.map +1 -1
  57. package/dist/src/common/store-table-base.js +71 -12
  58. package/dist/src/common/store-table-base.js.map +1 -1
  59. package/dist/src/common/store-table-constraints.js +3 -3
  60. package/dist/src/common/store-table-constraints.js.map +1 -1
  61. package/dist/src/common/store-table-scan.d.ts +208 -98
  62. package/dist/src/common/store-table-scan.d.ts.map +1 -1
  63. package/dist/src/common/store-table-scan.js +353 -105
  64. package/dist/src/common/store-table-scan.js.map +1 -1
  65. package/dist/src/testing/index.d.ts +18 -2
  66. package/dist/src/testing/index.d.ts.map +1 -1
  67. package/dist/src/testing/index.js +17 -2
  68. package/dist/src/testing/index.js.map +1 -1
  69. package/dist/src/testing/kv-conformance.d.ts +101 -3
  70. package/dist/src/testing/kv-conformance.d.ts.map +1 -1
  71. package/dist/src/testing/kv-conformance.js +277 -7
  72. package/dist/src/testing/kv-conformance.js.map +1 -1
  73. package/dist/src/testing/kv-lifecycle.d.ts +22 -0
  74. package/dist/src/testing/kv-lifecycle.d.ts.map +1 -0
  75. package/dist/src/testing/kv-lifecycle.js +12 -0
  76. package/dist/src/testing/kv-lifecycle.js.map +1 -0
  77. package/dist/src/testing/kv-naming-conformance.d.ts +77 -0
  78. package/dist/src/testing/kv-naming-conformance.d.ts.map +1 -0
  79. package/dist/src/testing/kv-naming-conformance.js +208 -0
  80. package/dist/src/testing/kv-naming-conformance.js.map +1 -0
  81. package/dist/src/testing/kv-reclaim-conformance.d.ts +52 -0
  82. package/dist/src/testing/kv-reclaim-conformance.d.ts.map +1 -0
  83. package/dist/src/testing/kv-reclaim-conformance.js +287 -0
  84. package/dist/src/testing/kv-reclaim-conformance.js.map +1 -0
  85. package/package.json +5 -5
@@ -4,6 +4,12 @@
4
4
  * back a plain UNIQUE constraint, whose set is reconciled against the schema after
5
5
  * every DDL that can change it.
6
6
  *
7
+ * Also home to the failure unwind every schema-swapping DDL statement shares
8
+ * ({@link StoreModuleIndex.unwindFailedSchemaDdl} / {@link StoreModuleIndex.guardedUnwindStep})
9
+ * and the {@link StoreModuleIndex.adoptAndPersistSchema} seam every schema-only ALTER TABLE
10
+ * path persists through (`store-module-alter.ts`, `store-module-alter-column.ts`), so a
11
+ * refused statement of either family leaves the connected table exactly where it found it.
12
+ *
7
13
  * Fourth layer of the store-module chain:
8
14
  * StoreModuleBase -> StoreModuleCatalog -> StoreModuleSchemaSync -> StoreModuleIndex
9
15
  * -> StoreModuleAlterColumn -> StoreModuleAlter -> StoreModuleRename -> StoreModule
@@ -11,6 +17,20 @@
11
17
  import type { Database, EffectiveRowSource, KeyNormalizerResolver, TableIndexSchema, TableSchema } from '@quereus/quereus';
12
18
  import { StoreTable } from './store-table.js';
13
19
  import { StoreModuleSchemaSync } from './store-module-schema-sync.js';
20
+ /**
21
+ * How far a DDL statement got before it threw — the two steps that outlive the
22
+ * statement unless something puts them back, and so the two the unwind
23
+ * ({@link StoreModuleIndex.unwindFailedSchemaDdl}) is driven by. Mutated in place by the
24
+ * arm's try block so the catch can read it. Shared by both DDL families that swap the
25
+ * connected table's cached schema: `createIndex` / `dropIndex` here, and the schema-only
26
+ * `ALTER TABLE` paths via {@link StoreModuleIndex.adoptAndPersistSchema}.
27
+ */
28
+ interface SchemaDdlProgress {
29
+ /** the connected table's cached schema was replaced with the post-DDL one */
30
+ schemaSwapped: boolean;
31
+ /** the catalog bundle was rewritten to the post-DDL one */
32
+ catalogWritten: boolean;
33
+ }
14
34
  export declare abstract class StoreModuleIndex extends StoreModuleSchemaSync {
15
35
  /**
16
36
  * Creates an index on a store-backed table.
@@ -32,8 +52,77 @@ export declare abstract class StoreModuleIndex extends StoreModuleSchemaSync {
32
52
  * tableSchema (removing the index entry and any UNIQUE constraint
33
53
  * synthesized from it, tagged with `derivedFromIndex`), releases the
34
54
  * cached index-store handle, and tears down the underlying index store.
55
+ * A failure before the physical teardown unwinds the same way createIndex's does
56
+ * ({@link unwindFailedSchemaDdl}), so a refused DROP INDEX is a no-op.
35
57
  */
36
58
  dropIndex(db: Database, schemaName: string, tableName: string, indexName: string): Promise<void>;
59
+ /**
60
+ * Adopt `updatedSchema` on the connected table and persist it to the catalog; on a
61
+ * persist failure put the previous cached schema back, so a refused SCHEMA-ONLY DDL
62
+ * statement is a clean no-op.
63
+ *
64
+ * The seam every schema-only `ALTER TABLE` path shares — ADD / DROP / RENAME
65
+ * CONSTRAINT and RENAME COLUMN (`StoreModuleAlter`), plus the `ALTER COLUMN` shapes
66
+ * that rewrite nothing physical (`StoreModuleAlterColumn.alterColumnChange`). None of
67
+ * them touches row data before the catalog write, so restoring the previous cached
68
+ * schema is a COMPLETE undo.
69
+ *
70
+ * A path that HAS re-encoded the data store by this point (ADD / DROP COLUMN, ALTER
71
+ * PRIMARY KEY, and the row-rewriting `ALTER COLUMN` shapes) must NOT use this:
72
+ * putting the old schema back would leave the table reading re-encoded rows through
73
+ * the old layout — strictly worse than the divergence it repairs. Their window is an
74
+ * accepted tradeoff whose real fix is one durable marker covering the whole physical
75
+ * rewrite; see the `NOTE:` above `rebuildSecondaryIndexes` in
76
+ * `StoreModuleAlter.alterDropColumn`.
77
+ *
78
+ * Ordering is swap-then-persist, deliberately: `StoreTableBase.updateSchema` validates
79
+ * (key collations, semantic key transforms) before adopting anything, so a schema the
80
+ * table cannot carry is rejected with nothing persisted. Persist-first would invert
81
+ * that and leave the catalog ahead of the table.
82
+ *
83
+ * The original is captured here (`table.getSchema()`) rather than taken from the
84
+ * caller's `oldSchema` — the same object today, but it keeps this contract
85
+ * self-contained, and it is also what names the table in the unwind warning, so no
86
+ * caller has to pass a subject the schema already carries.
87
+ *
88
+ * Only the cached-schema restore can ever fire, so `catalogWritten` stays false: the
89
+ * only step after the swap IS the catalog write, so a throw means the catalog was
90
+ * never written — and re-writing the old bundle would create a catalog entry for a
91
+ * table that may deliberately have none yet (the lazy first-access persist). See
92
+ * {@link unwindFailedSchemaDdl}, which documents that reasoning.
93
+ */
94
+ protected adoptAndPersistSchema(table: StoreTable, updatedSchema: TableSchema): Promise<void>;
95
+ /**
96
+ * The unwind {@link createIndex}, {@link dropIndex} and {@link adoptAndPersistSchema}
97
+ * share: put the connected table's cached schema back to `originalSchema`, and
98
+ * re-write the catalog bundle for it — each step only when the failed statement had
99
+ * actually done it, per `progress`.
100
+ *
101
+ * `StoreTableBase.updateSchema` validates before adopting and recomputes the
102
+ * materialized `_uc_*` copy, so restoring the pre-DDL schema is safe and
103
+ * re-materializes any implicit unique index the statement had retired.
104
+ *
105
+ * `rebuildImplicitUniqueStores` (when given) runs with the restored schema already
106
+ * live, receiving the schema the failed statement had installed — the caller's hook
107
+ * for rebuilding a `_uc_*` store its forward pass tore down.
108
+ *
109
+ * The catalog is only rewritten when the statement got PAST its `saveTableDDL`. If
110
+ * that call is what threw, the catalog is already correct, and writing here would
111
+ * create an entry for a table that may deliberately have none yet (the lazy
112
+ * first-access persist). `markDdlSaved` staying set after a re-save of the old bundle
113
+ * is correct — the flag means "the catalog matches this table", which it then does.
114
+ *
115
+ * Every step is guarded ({@link guardedUnwindStep}) so a cleanup failure cannot mask
116
+ * the original error the caller must see.
117
+ */
118
+ protected unwindFailedSchemaDdl(table: StoreTable, subject: string, originalSchema: TableSchema, progress: SchemaDdlProgress, rebuildImplicitUniqueStores?: (failedSchema: TableSchema) => Promise<void>): Promise<void>;
119
+ /**
120
+ * Run one unwind step, swallowing its own failure after logging it: a cleanup that
121
+ * throws must never replace the error the caller has to see. `subject` names what the
122
+ * failed statement was about — an index and its table for the CREATE / DROP INDEX
123
+ * arms, the table alone for the schema-only ALTER arms; `what` completes "failed to …".
124
+ */
125
+ protected guardedUnwindStep(what: string, subject: string, step: () => Promise<void>): Promise<void>;
37
126
  /**
38
127
  * Clear and rebuild every secondary index of `schema` against the (already
39
128
  * re-encoded) data store. Secondary-index keys embed the PK suffix, so they must
@@ -103,14 +192,16 @@ export declare abstract class StoreModuleIndex extends StoreModuleSchemaSync {
103
192
  * `deleteIndexStore` when the provider implements it (it closes the handle before
104
193
  * removing the directory), else just `closeIndexStore`.
105
194
  *
106
- * The single teardown every path shares — `dropIndex`, `createIndex`'s build-failure
107
- * rollback, the implicit `_uc_*` reconcile above, and `DROP COLUMN`'s removed-index
108
- * pass (`StoreModuleAlter.alterDropColumn`). Each caller owns the surrounding
109
- * posture, which deliberately differs: the DDL-commit flush (buffered ops are keyed
110
- * on the KVStore HANDLE, so a doomed store's queued ops would replay into a closed
111
- * store at commit — see `StoreModuleBase.ddlCommitPendingOps`) and, for
112
- * `createIndex`, swallowing a teardown throw so it cannot mask the build error.
195
+ * The single teardown every path shares — `dropIndex`, `createIndex`'s failure unwind,
196
+ * the implicit `_uc_*` reconcile above, and `DROP COLUMN`'s removed-index pass
197
+ * (`StoreModuleAlter.alterDropColumn`). Each caller owns the surrounding posture,
198
+ * which deliberately differs: the DDL-commit flush (buffered ops are keyed on the
199
+ * KVStore HANDLE, so a doomed store's queued ops would replay into a closed store at
200
+ * commit — see `StoreModuleBase.ddlCommitPendingOps`) and, for `createIndex`,
201
+ * swallowing a teardown throw so it cannot mask the original error
202
+ * ({@link guardedUnwindStep}).
113
203
  */
114
204
  protected tearDownIndexStore(schemaName: string, tableName: string, table: StoreTable, indexName: string): Promise<void>;
115
205
  }
206
+ export {};
116
207
  //# sourceMappingURL=store-module-index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store-module-index.d.ts","sourceRoot":"","sources":["../../../src/common/store-module-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACX,QAAQ,EACR,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AA6BtE,8BAAsB,gBAAiB,SAAQ,qBAAqB;IACnE;;;;;;;;;;;OAWG;IACG,WAAW,CAChB,EAAE,EAAE,QAAQ,EACZ,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,gBAAgB,EAC7B,IAAI,CAAC,EAAE,kBAAkB,GACvB,OAAO,CAAC,IAAI,CAAC;IAmIhB;;;;;;;OAOG;IACG,SAAS,CACd,EAAE,EAAE,QAAQ,EACZ,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAyEhB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;cACa,uBAAuB,CACtC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,qBAAqB,EAClC,kBAAkB,UAAQ,GACxB,OAAO,CAAC,IAAI,CAAC;IA+BhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;cACa,kCAAkC,CACjD,EAAE,EAAE,QAAQ,EACZ,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,WAAW,GACpB,OAAO,CAAC,IAAI,CAAC;IAsDhB;;;;;;;;;;;;OAYG;cACa,kBAAkB,CACjC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;CAQhB"}
1
+ {"version":3,"file":"store-module-index.d.ts","sourceRoot":"","sources":["../../../src/common/store-module-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EACX,QAAQ,EACR,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AA6BtE;;;;;;;GAOG;AACH,UAAU,iBAAiB;IAC1B,6EAA6E;IAC7E,aAAa,EAAE,OAAO,CAAC;IACvB,2DAA2D;IAC3D,cAAc,EAAE,OAAO,CAAC;CACxB;AAED,8BAAsB,gBAAiB,SAAQ,qBAAqB;IACnE;;;;;;;;;;;OAWG;IACG,WAAW,CAChB,EAAE,EAAE,QAAQ,EACZ,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,gBAAgB,EAC7B,IAAI,CAAC,EAAE,kBAAkB,GACvB,OAAO,CAAC,IAAI,CAAC;IA8JhB;;;;;;;;;OASG;IACG,SAAS,CACd,EAAE,EAAE,QAAQ,EACZ,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAsGhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;cACa,qBAAqB,CACpC,KAAK,EAAE,UAAU,EACjB,aAAa,EAAE,WAAW,GACxB,OAAO,CAAC,IAAI,CAAC;IAchB;;;;;;;;;;;;;;;;;;;;;;OAsBG;cACa,qBAAqB,CACpC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,WAAW,EAC3B,QAAQ,EAAE,iBAAiB,EAC3B,2BAA2B,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,GACxE,OAAO,CAAC,IAAI,CAAC;IAiBhB;;;;;OAKG;cACa,iBAAiB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GACvB,OAAO,CAAC,IAAI,CAAC;IAWhB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;cACa,uBAAuB,CACtC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,qBAAqB,EAClC,kBAAkB,UAAQ,GACxB,OAAO,CAAC,IAAI,CAAC;IA+BhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;cACa,kCAAkC,CACjD,EAAE,EAAE,QAAQ,EACZ,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,WAAW,GACpB,OAAO,CAAC,IAAI,CAAC;IAsDhB;;;;;;;;;;;;;OAaG;cACa,kBAAkB,CACjC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;CAQhB"}
@@ -4,6 +4,12 @@
4
4
  * back a plain UNIQUE constraint, whose set is reconciled against the schema after
5
5
  * every DDL that can change it.
6
6
  *
7
+ * Also home to the failure unwind every schema-swapping DDL statement shares
8
+ * ({@link StoreModuleIndex.unwindFailedSchemaDdl} / {@link StoreModuleIndex.guardedUnwindStep})
9
+ * and the {@link StoreModuleIndex.adoptAndPersistSchema} seam every schema-only ALTER TABLE
10
+ * path persists through (`store-module-alter.ts`, `store-module-alter-column.ts`), so a
11
+ * refused statement of either family leaves the connected table exactly where it found it.
12
+ *
7
13
  * Fourth layer of the store-module chain:
8
14
  * StoreModuleBase -> StoreModuleCatalog -> StoreModuleSchemaSync -> StoreModuleIndex
9
15
  * -> StoreModuleAlterColumn -> StoreModuleAlter -> StoreModuleRename -> StoreModule
@@ -94,66 +100,86 @@ export class StoreModuleIndex extends StoreModuleSchemaSync {
94
100
  // discards are harmless: both readers resolve each entry to its live row and
95
101
  // drop it when the row is gone or no longer matches (see `scanIndex`).
96
102
  //
97
- // The store is FRESHLY created above, so any build failure — a UNIQUE violation,
98
- // an IO error, or a mid-stream flush failure now that the build is chunked — must
99
- // tear the whole store down. Nothing else reclaims it: SchemaManager.createIndex
100
- // wraps the error but does no teardown, so without this a rejected build leaks a
101
- // partial/empty index-store directory. Mirrors dropIndex's teardown.
103
+ // EVERYTHING from here on is unwound on failure, so a refused CREATE INDEX is a
104
+ // clean no-op. The index store is FRESHLY created above and the engine unwinds
105
+ // nothing — SchemaManager.createIndex registers the index in its own schema only
106
+ // AFTER this returns, and wraps a throw without any cleanup — so each step this
107
+ // arm completes outlives the statement unless it puts it back:
108
+ // - the populated index store (a build failure — UNIQUE violation, IO error, a
109
+ // mid-stream flush failure now that the build is chunked — leaves a partial
110
+ // one; a later step's failure leaves a complete one);
111
+ // - the connected table's cached schema, which would keep maintaining an index
112
+ // the engine never registered, and which `assertStoreNameFree` reads — so a
113
+ // retry of the very same statement would be refused by the ghost it left;
114
+ // - the catalog entry, which would list an index the engine does not have;
115
+ // - the `_uc_*` store the reconcile below tears down when the new index realizes
116
+ // a plain UNIQUE, which nothing would then maintain or rebuild.
117
+ // `progress` records how far the statement got; the catch runs the exact inverse.
118
+ const progress = { schemaSwapped: false, catalogWritten: false };
102
119
  try {
103
120
  await buildIndexEntries(table.iterateEffectiveEntries(buildFullScanBounds()), indexStore, tableSchema, indexSchema, keyCollation, db.getKeyNormalizerResolver(), rows !== undefined, table.getConfig().maxBatchBytes ?? DEFAULT_MAX_BATCH_BYTES);
121
+ // Refresh the connected table's cached schema so subsequent DML
122
+ // maintains the new index (the engine's schema registry is updated
123
+ // separately by SchemaManager.createIndex, but the StoreTable instance
124
+ // holds its own reference captured at connect time). The shared
125
+ // appendIndexToTableSchema also synthesizes the UNIQUE → derived
126
+ // uniqueConstraint entry so checkUniqueConstraints enforces it; the
127
+ // `derivedFromIndex` tag lets StoreModule.dropIndex filter it back out
128
+ // symmetrically (mirrors SchemaManager.dropIndex / MemoryTableManager.dropIndex).
129
+ const updatedSchema = appendIndexToTableSchema(tableSchema, indexSchema);
130
+ table.updateSchema(updatedSchema);
131
+ progress.schemaSwapped = true;
132
+ // Authoritative catalog write: persist the table's bundle now (including the
133
+ // new index), so the index survives close → reopen even when the table has
134
+ // no rows yet and was never lazily persisted. `markDdlSaved` suppresses the
135
+ // later lazy table-only write on first store access (StoreTable.ddlSaved), so
136
+ // this is the only catalog write the createIndex produces. SchemaManager fires
137
+ // a follow-up `table_modified` whose listener regenerates the SAME bundle and
138
+ // skips (identical) — see persistCatalogIfChanged.
139
+ await this.saveTableDDL(updatedSchema);
140
+ table.markDdlSaved();
141
+ progress.catalogWritten = true;
142
+ // The new index may now REALIZE a plain UNIQUE over the same columns, which
143
+ // `updateSchema` above has already dropped from the materialized enforcement
144
+ // schema (`findReusableIndexForUnique`). Nothing maintains that `_uc_*` any more,
145
+ // so tear its physical store down — leaving it would rot into a store whose
146
+ // entries no longer track the rows, which a later `DROP INDEX` would hand back to
147
+ // the constraint as if current. A no-op for every index that covers no UNIQUE —
148
+ // which is what keeps the DDL-commit the teardown forces (see
149
+ // {@link reconcileImplicitUniqueIndexStores}) off every ordinary CREATE INDEX.
150
+ await this.reconcileImplicitUniqueIndexStores(db, schemaName, tableName, table, tableSchema);
151
+ // Emit schema change event. `updatedSchema` (not the pre-create
152
+ // `tableSchema`) is the owner the canonical CREATE INDEX renders against —
153
+ // it is only read for the table's qualified name and column names, but
154
+ // passing the post-create schema keeps the rendering consistent with what a
155
+ // receiving peer regenerates when it compares definitions.
156
+ this.eventEmitter?.emitSchemaChange({
157
+ type: 'create',
158
+ objectType: 'index',
159
+ schemaName,
160
+ objectName: indexSchema.name,
161
+ ddl: generateIndexDDL(indexSchema, updatedSchema),
162
+ });
104
163
  }
105
- catch (buildError) {
106
- // Best-effort teardown: guard it against its own throw so a teardown failure
107
- // never masks the original build error the caller must see.
108
- try {
109
- await this.tearDownIndexStore(schemaName, tableName, table, indexSchema.name);
110
- }
111
- catch (teardownError) {
112
- console.warn(`[StoreModule] failed to tear down index store '${indexSchema.name}' on `
113
- + `table '${schemaName}.${tableName}' after a failed CREATE INDEX: ${String(teardownError)}`);
114
- }
115
- throw buildError;
164
+ catch (createError) {
165
+ const subject = `index '${indexSchema.name}' on table '${schemaName}.${tableName}'`;
166
+ // Newest step first. Re-running the reconcile with the FAILED schema as its
167
+ // `oldSchema` (and the restored schema live) is the symmetric inverse of the
168
+ // forward call: it rebuilds the `_uc_*` store the forward pass tore down.
169
+ // Nothing is doomed on that pass, so it takes only the build arm — no forced
170
+ // DDL commit.
171
+ await this.unwindFailedSchemaDdl(table, subject, tableSchema, progress, failedSchema => this.reconcileImplicitUniqueIndexStores(db, schemaName, tableName, table, failedSchema));
172
+ // The index store this arm created: torn down on every failure, including the
173
+ // build's own. Mirrors dropIndex's teardown.
174
+ // NOTE: no `ddlCommitPendingOps()` before this one (unlike dropIndex's, and unlike
175
+ // the reconcile's), because `buildIndexEntries` writes the index store through its
176
+ // own batches OUTSIDE the coordinator and nothing else can have queued ops against
177
+ // a store created moments ago in this same statement — so there is nothing to
178
+ // replay into the closed store. If the build is ever routed through the
179
+ // coordinator, this teardown needs the flush the other two take.
180
+ await this.guardedUnwindStep('tear down the index store', subject, () => this.tearDownIndexStore(schemaName, tableName, table, indexSchema.name));
181
+ throw createError;
116
182
  }
117
- // Refresh the connected table's cached schema so subsequent DML
118
- // maintains the new index (the engine's schema registry is updated
119
- // separately by SchemaManager.createIndex, but the StoreTable instance
120
- // holds its own reference captured at connect time). The shared
121
- // appendIndexToTableSchema also synthesizes the UNIQUE → derived
122
- // uniqueConstraint entry so checkUniqueConstraints enforces it; the
123
- // `derivedFromIndex` tag lets StoreModule.dropIndex filter it back out
124
- // symmetrically (mirrors SchemaManager.dropIndex / MemoryTableManager.dropIndex).
125
- const updatedSchema = appendIndexToTableSchema(tableSchema, indexSchema);
126
- table.updateSchema(updatedSchema);
127
- // Authoritative catalog write: persist the table's bundle now (including the
128
- // new index), so the index survives close → reopen even when the table has
129
- // no rows yet and was never lazily persisted. `markDdlSaved` suppresses the
130
- // later lazy table-only write on first store access (StoreTable.ddlSaved), so
131
- // this is the only catalog write the createIndex produces. SchemaManager fires
132
- // a follow-up `table_modified` whose listener regenerates the SAME bundle and
133
- // skips (identical) — see persistCatalogIfChanged.
134
- await this.saveTableDDL(updatedSchema);
135
- table.markDdlSaved();
136
- // The new index may now REALIZE a plain UNIQUE over the same columns, which
137
- // `updateSchema` above has already dropped from the materialized enforcement
138
- // schema (`findReusableIndexForUnique`). Nothing maintains that `_uc_*` any more,
139
- // so tear its physical store down — leaving it would rot into a store whose
140
- // entries no longer track the rows, which a later `DROP INDEX` would hand back to
141
- // the constraint as if current. A no-op for every index that covers no UNIQUE —
142
- // which is what keeps the DDL-commit the teardown forces (see
143
- // {@link reconcileImplicitUniqueIndexStores}) off every ordinary CREATE INDEX.
144
- await this.reconcileImplicitUniqueIndexStores(db, schemaName, tableName, table, tableSchema);
145
- // Emit schema change event. `updatedSchema` (not the pre-create
146
- // `tableSchema`) is the owner the canonical CREATE INDEX renders against —
147
- // it is only read for the table's qualified name and column names, but
148
- // passing the post-create schema keeps the rendering consistent with what a
149
- // receiving peer regenerates when it compares definitions.
150
- this.eventEmitter?.emitSchemaChange({
151
- type: 'create',
152
- objectType: 'index',
153
- schemaName,
154
- objectName: indexSchema.name,
155
- ddl: generateIndexDDL(indexSchema, updatedSchema),
156
- });
157
183
  }
158
184
  /**
159
185
  * Drops an index on a store-backed table.
@@ -162,6 +188,8 @@ export class StoreModuleIndex extends StoreModuleSchemaSync {
162
188
  * tableSchema (removing the index entry and any UNIQUE constraint
163
189
  * synthesized from it, tagged with `derivedFromIndex`), releases the
164
190
  * cached index-store handle, and tears down the underlying index store.
191
+ * A failure before the physical teardown unwinds the same way createIndex's does
192
+ * ({@link unwindFailedSchemaDdl}), so a refused DROP INDEX is a no-op.
165
193
  */
166
194
  async dropIndex(db, schemaName, tableName, indexName) {
167
195
  const table = this.getOrReconnectTable(db, schemaName, tableName);
@@ -183,26 +211,50 @@ export class StoreModuleIndex extends StoreModuleSchemaSync {
183
211
  ? Object.freeze(remainingUniqueConstraints)
184
212
  : undefined,
185
213
  };
186
- // Update the cached schema BEFORE tearing down the store so that a
187
- // failure of the physical drop doesn't leave the schema enforcing an
188
- // index whose backing store has already been mutated.
189
- table.updateSchema(updatedSchema);
190
- // Rewrite the catalog bundle without the dropped index, before the physical
191
- // teardown — so on reopen the index does not resurrect even if the store
192
- // delete below fails. `markDdlSaved` keeps the lazy first-access save from
193
- // re-writing the same bundle. SchemaManager's follow-up `table_modified`
194
- // regenerates an identical bundle and skips.
195
- await this.saveTableDDL(updatedSchema);
196
- table.markDdlSaved();
214
+ // Everything up to (not including) the physical teardown is unwound on failure,
215
+ // so a refused DROP INDEX leaves the index intact AND still maintained. The engine
216
+ // unwinds neither step: SchemaManager.dropIndex removes the index from its own
217
+ // registry only AFTER this returns, so a throw here would otherwise leave the
218
+ // engine planning seeks against an index this table has already stopped
219
+ // maintaining — stale entries answering queries — and a catalog that no longer
220
+ // lists it.
221
+ //
222
+ // The window ENDS at the teardown: once `tearDownIndexStore` starts, the physical
223
+ // store may be partly or wholly gone, and restoring the schema would point the
224
+ // table at an index that no longer exists.
225
+ const progress = { schemaSwapped: false, catalogWritten: false };
226
+ try {
227
+ // Update the cached schema BEFORE tearing down the store so that a
228
+ // failure of the physical drop doesn't leave the schema enforcing an
229
+ // index whose backing store has already been mutated.
230
+ table.updateSchema(updatedSchema);
231
+ progress.schemaSwapped = true;
232
+ // Rewrite the catalog bundle without the dropped index, before the physical
233
+ // teardown — so on reopen the index does not resurrect even if the store
234
+ // delete below fails. `markDdlSaved` keeps the lazy first-access save from
235
+ // re-writing the same bundle. SchemaManager's follow-up `table_modified`
236
+ // regenerates an identical bundle and skips.
237
+ await this.saveTableDDL(updatedSchema);
238
+ table.markDdlSaved();
239
+ progress.catalogWritten = true;
240
+ // Flush before the teardown below: the coordinator keys buffered ops on the
241
+ // KVStore HANDLE, so ops this transaction queued against the index being
242
+ // dropped would be replayed into a closed store at commit and throw. Same
243
+ // posture (and same reason) as the teardown in
244
+ // `reconcileImplicitUniqueIndexStores` and the row-rewriting ALTER arms — see
245
+ // `StoreModuleBase.ddlCommitPendingOps`.
246
+ await this.ddlCommitPendingOps();
247
+ }
248
+ catch (dropError) {
249
+ // No `_uc_*` rebuild callback here (unlike createIndex): this arm's reconcile
250
+ // runs after the teardown, outside the unwind window, so nothing physical has
251
+ // changed yet — restoring the cached schema de-materializes the `_uc_*` entry
252
+ // the swap above re-materialized, and no store was ever built for it.
253
+ await this.unwindFailedSchemaDdl(table, `index '${indexName}' on table '${schemaName}.${tableName}'`, tableSchema, progress);
254
+ throw dropError;
255
+ }
197
256
  // Drop the cached handle on the table side and tear down the underlying KVStore
198
257
  // ({@link tearDownIndexStore}).
199
- //
200
- // Flush first: the coordinator keys buffered ops on the KVStore HANDLE, so ops
201
- // this transaction queued against the index being dropped would be replayed into
202
- // a closed store at commit and throw. Same posture (and same reason) as the
203
- // teardown in `reconcileImplicitUniqueIndexStores` and the row-rewriting ALTER
204
- // arms — see `StoreModuleBase.ddlCommitPendingOps`.
205
- await this.ddlCommitPendingOps();
206
258
  await this.tearDownIndexStore(schemaName, tableName, table, indexName);
207
259
  // The dropped index may have been the structure REALIZING a plain UNIQUE over its
208
260
  // columns; `updateSchema` above has re-materialized that constraint's own `_uc_*`,
@@ -219,6 +271,108 @@ export class StoreModuleIndex extends StoreModuleSchemaSync {
219
271
  ddl: generateDropIndexDDL(schemaName, indexName),
220
272
  });
221
273
  }
274
+ /**
275
+ * Adopt `updatedSchema` on the connected table and persist it to the catalog; on a
276
+ * persist failure put the previous cached schema back, so a refused SCHEMA-ONLY DDL
277
+ * statement is a clean no-op.
278
+ *
279
+ * The seam every schema-only `ALTER TABLE` path shares — ADD / DROP / RENAME
280
+ * CONSTRAINT and RENAME COLUMN (`StoreModuleAlter`), plus the `ALTER COLUMN` shapes
281
+ * that rewrite nothing physical (`StoreModuleAlterColumn.alterColumnChange`). None of
282
+ * them touches row data before the catalog write, so restoring the previous cached
283
+ * schema is a COMPLETE undo.
284
+ *
285
+ * A path that HAS re-encoded the data store by this point (ADD / DROP COLUMN, ALTER
286
+ * PRIMARY KEY, and the row-rewriting `ALTER COLUMN` shapes) must NOT use this:
287
+ * putting the old schema back would leave the table reading re-encoded rows through
288
+ * the old layout — strictly worse than the divergence it repairs. Their window is an
289
+ * accepted tradeoff whose real fix is one durable marker covering the whole physical
290
+ * rewrite; see the `NOTE:` above `rebuildSecondaryIndexes` in
291
+ * `StoreModuleAlter.alterDropColumn`.
292
+ *
293
+ * Ordering is swap-then-persist, deliberately: `StoreTableBase.updateSchema` validates
294
+ * (key collations, semantic key transforms) before adopting anything, so a schema the
295
+ * table cannot carry is rejected with nothing persisted. Persist-first would invert
296
+ * that and leave the catalog ahead of the table.
297
+ *
298
+ * The original is captured here (`table.getSchema()`) rather than taken from the
299
+ * caller's `oldSchema` — the same object today, but it keeps this contract
300
+ * self-contained, and it is also what names the table in the unwind warning, so no
301
+ * caller has to pass a subject the schema already carries.
302
+ *
303
+ * Only the cached-schema restore can ever fire, so `catalogWritten` stays false: the
304
+ * only step after the swap IS the catalog write, so a throw means the catalog was
305
+ * never written — and re-writing the old bundle would create a catalog entry for a
306
+ * table that may deliberately have none yet (the lazy first-access persist). See
307
+ * {@link unwindFailedSchemaDdl}, which documents that reasoning.
308
+ */
309
+ async adoptAndPersistSchema(table, updatedSchema) {
310
+ const originalSchema = table.getSchema();
311
+ const subject = `table '${originalSchema.schemaName}.${originalSchema.name}'`;
312
+ const progress = { schemaSwapped: false, catalogWritten: false };
313
+ try {
314
+ table.updateSchema(updatedSchema);
315
+ progress.schemaSwapped = true;
316
+ await this.saveTableDDL(updatedSchema);
317
+ }
318
+ catch (persistError) {
319
+ await this.unwindFailedSchemaDdl(table, subject, originalSchema, progress);
320
+ throw persistError;
321
+ }
322
+ }
323
+ /**
324
+ * The unwind {@link createIndex}, {@link dropIndex} and {@link adoptAndPersistSchema}
325
+ * share: put the connected table's cached schema back to `originalSchema`, and
326
+ * re-write the catalog bundle for it — each step only when the failed statement had
327
+ * actually done it, per `progress`.
328
+ *
329
+ * `StoreTableBase.updateSchema` validates before adopting and recomputes the
330
+ * materialized `_uc_*` copy, so restoring the pre-DDL schema is safe and
331
+ * re-materializes any implicit unique index the statement had retired.
332
+ *
333
+ * `rebuildImplicitUniqueStores` (when given) runs with the restored schema already
334
+ * live, receiving the schema the failed statement had installed — the caller's hook
335
+ * for rebuilding a `_uc_*` store its forward pass tore down.
336
+ *
337
+ * The catalog is only rewritten when the statement got PAST its `saveTableDDL`. If
338
+ * that call is what threw, the catalog is already correct, and writing here would
339
+ * create an entry for a table that may deliberately have none yet (the lazy
340
+ * first-access persist). `markDdlSaved` staying set after a re-save of the old bundle
341
+ * is correct — the flag means "the catalog matches this table", which it then does.
342
+ *
343
+ * Every step is guarded ({@link guardedUnwindStep}) so a cleanup failure cannot mask
344
+ * the original error the caller must see.
345
+ */
346
+ async unwindFailedSchemaDdl(table, subject, originalSchema, progress, rebuildImplicitUniqueStores) {
347
+ if (progress.schemaSwapped) {
348
+ // One step, not two: the rebuild is only meaningful with the restored schema
349
+ // already live, so a failed restore must skip it rather than run it against the
350
+ // schema the failed statement installed.
351
+ await this.guardedUnwindStep('restore the cached schema and its implicit unique stores', subject, async () => {
352
+ const failedSchema = table.getSchema();
353
+ table.updateSchema(originalSchema);
354
+ await rebuildImplicitUniqueStores?.(failedSchema);
355
+ });
356
+ }
357
+ if (progress.catalogWritten) {
358
+ await this.guardedUnwindStep('restore the catalog entry', subject, () => this.saveTableDDL(originalSchema));
359
+ }
360
+ }
361
+ /**
362
+ * Run one unwind step, swallowing its own failure after logging it: a cleanup that
363
+ * throws must never replace the error the caller has to see. `subject` names what the
364
+ * failed statement was about — an index and its table for the CREATE / DROP INDEX
365
+ * arms, the table alone for the schema-only ALTER arms; `what` completes "failed to …".
366
+ */
367
+ async guardedUnwindStep(what, subject, step) {
368
+ try {
369
+ await step();
370
+ }
371
+ catch (cleanupError) {
372
+ console.warn(`[StoreModule] failed to ${what} for ${subject} while unwinding a failed `
373
+ + `DDL statement: ${String(cleanupError)}`);
374
+ }
375
+ }
222
376
  /**
223
377
  * Clear and rebuild every secondary index of `schema` against the (already
224
378
  * re-encoded) data store. Secondary-index keys embed the PK suffix, so they must
@@ -352,13 +506,14 @@ export class StoreModuleIndex extends StoreModuleSchemaSync {
352
506
  * `deleteIndexStore` when the provider implements it (it closes the handle before
353
507
  * removing the directory), else just `closeIndexStore`.
354
508
  *
355
- * The single teardown every path shares — `dropIndex`, `createIndex`'s build-failure
356
- * rollback, the implicit `_uc_*` reconcile above, and `DROP COLUMN`'s removed-index
357
- * pass (`StoreModuleAlter.alterDropColumn`). Each caller owns the surrounding
358
- * posture, which deliberately differs: the DDL-commit flush (buffered ops are keyed
359
- * on the KVStore HANDLE, so a doomed store's queued ops would replay into a closed
360
- * store at commit — see `StoreModuleBase.ddlCommitPendingOps`) and, for
361
- * `createIndex`, swallowing a teardown throw so it cannot mask the build error.
509
+ * The single teardown every path shares — `dropIndex`, `createIndex`'s failure unwind,
510
+ * the implicit `_uc_*` reconcile above, and `DROP COLUMN`'s removed-index pass
511
+ * (`StoreModuleAlter.alterDropColumn`). Each caller owns the surrounding posture,
512
+ * which deliberately differs: the DDL-commit flush (buffered ops are keyed on the
513
+ * KVStore HANDLE, so a doomed store's queued ops would replay into a closed store at
514
+ * commit — see `StoreModuleBase.ddlCommitPendingOps`) and, for `createIndex`,
515
+ * swallowing a teardown throw so it cannot mask the original error
516
+ * ({@link guardedUnwindStep}).
362
517
  */
363
518
  async tearDownIndexStore(schemaName, tableName, table, indexName) {
364
519
  await table.releaseIndexStore(indexName);
@@ -1 +1 @@
1
- {"version":3,"file":"store-module-index.js","sourceRoot":"","sources":["../../../src/common/store-module-index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store-module-index.js","sourceRoot":"","sources":["../../../src/common/store-module-index.ts"],"names":[],"mappings":"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"}
@@ -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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"}
@@ -62,9 +62,13 @@ import { reconcilePkCollations } from './store-module-schema-rewrite.js';
62
62
  *
63
63
  * NOTE: a prepared `Statement` holds its compiled plan and recompiles only on a schema
64
64
  * change, so a long-lived prepared statement keeps the costs derived from the size the
65
- * table had at first compile. Harmless while this only moves costs, not plan shape; if a
66
- * prepared statement is ever seen picking a plan wrong for the table's current size, the
67
- * fix belongs at the statement's recompile trigger, not here.
65
+ * table had at first compile. This now moves plan SHAPE, not only costs: the seek-versus-
66
+ * scan comparison in `computeBestAccessPlan` rejects an index seek that prices above a
67
+ * sequential read of `estimatedRows` rows, so a statement compiled against a one-row table
68
+ * keeps its scan after the table grows. It stays a performance question, never a wrong
69
+ * answer — the scan claims no filters, so the residual keeps the predicate. If a prepared
70
+ * statement is ever seen picking a plan wrong for the table's current size, the fix belongs
71
+ * at the statement's recompile trigger, not here.
68
72
  */
69
73
  function sizeRequestFromLiveCount(request, table) {
70
74
  if (request.estimatedRows !== undefined)