@quereus/quereus 4.19.4 → 4.20.1

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 (120) hide show
  1. package/README.md +257 -257
  2. package/dist/src/common/errors.d.ts +10 -0
  3. package/dist/src/common/errors.d.ts.map +1 -1
  4. package/dist/src/common/errors.js +14 -0
  5. package/dist/src/common/errors.js.map +1 -1
  6. package/dist/src/common/types.d.ts +16 -4
  7. package/dist/src/common/types.d.ts.map +1 -1
  8. package/dist/src/common/types.js.map +1 -1
  9. package/dist/src/core/database-events.d.ts.map +1 -1
  10. package/dist/src/core/database-events.js +12 -9
  11. package/dist/src/core/database-events.js.map +1 -1
  12. package/dist/src/core/database-transaction.d.ts.map +1 -1
  13. package/dist/src/core/database-transaction.js +28 -19
  14. package/dist/src/core/database-transaction.js.map +1 -1
  15. package/dist/src/core/database.d.ts +58 -6
  16. package/dist/src/core/database.d.ts.map +1 -1
  17. package/dist/src/core/database.js +185 -54
  18. package/dist/src/core/database.js.map +1 -1
  19. package/dist/src/core/param.d.ts +46 -1
  20. package/dist/src/core/param.d.ts.map +1 -1
  21. package/dist/src/core/param.js +87 -7
  22. package/dist/src/core/param.js.map +1 -1
  23. package/dist/src/core/statement.d.ts +66 -1
  24. package/dist/src/core/statement.d.ts.map +1 -1
  25. package/dist/src/core/statement.js +156 -91
  26. package/dist/src/core/statement.js.map +1 -1
  27. package/dist/src/index.d.ts +4 -4
  28. package/dist/src/index.d.ts.map +1 -1
  29. package/dist/src/index.js +5 -4
  30. package/dist/src/index.js.map +1 -1
  31. package/dist/src/parser/lexer.d.ts.map +1 -1
  32. package/dist/src/parser/lexer.js +9 -3
  33. package/dist/src/parser/lexer.js.map +1 -1
  34. package/dist/src/planner/analysis/change-scope.d.ts.map +1 -1
  35. package/dist/src/planner/analysis/change-scope.js +7 -20
  36. package/dist/src/planner/analysis/change-scope.js.map +1 -1
  37. package/dist/src/planner/analysis/check-extraction.d.ts +62 -0
  38. package/dist/src/planner/analysis/check-extraction.d.ts.map +1 -1
  39. package/dist/src/planner/analysis/check-extraction.js +19 -5
  40. package/dist/src/planner/analysis/check-extraction.js.map +1 -1
  41. package/dist/src/planner/analysis/constraint-extractor.d.ts.map +1 -1
  42. package/dist/src/planner/analysis/constraint-extractor.js +7 -0
  43. package/dist/src/planner/analysis/constraint-extractor.js.map +1 -1
  44. package/dist/src/planner/analysis/scalar-param-usage.d.ts +6 -3
  45. package/dist/src/planner/analysis/scalar-param-usage.d.ts.map +1 -1
  46. package/dist/src/planner/analysis/scalar-param-usage.js +32 -4
  47. package/dist/src/planner/analysis/scalar-param-usage.js.map +1 -1
  48. package/dist/src/planner/building/coercion.js +1 -1
  49. package/dist/src/planner/building/coercion.js.map +1 -1
  50. package/dist/src/planner/building/schema-authored-context.d.ts +7 -7
  51. package/dist/src/planner/building/schema-authored-context.js +7 -7
  52. package/dist/src/planner/nodes/scalar.d.ts +19 -1
  53. package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
  54. package/dist/src/planner/nodes/scalar.js +13 -2
  55. package/dist/src/planner/nodes/scalar.js.map +1 -1
  56. package/dist/src/planner/nodes/set-operation-node.js +4 -0
  57. package/dist/src/planner/nodes/set-operation-node.js.map +1 -1
  58. package/dist/src/runtime/emit/add-constraint.js +44 -1
  59. package/dist/src/runtime/emit/add-constraint.js.map +1 -1
  60. package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
  61. package/dist/src/runtime/emit/alter-table.js +20 -32
  62. package/dist/src/runtime/emit/alter-table.js.map +1 -1
  63. package/dist/src/runtime/emit/ddl-event-scope.d.ts +20 -13
  64. package/dist/src/runtime/emit/ddl-event-scope.d.ts.map +1 -1
  65. package/dist/src/runtime/emit/ddl-event-scope.js +20 -13
  66. package/dist/src/runtime/emit/ddl-event-scope.js.map +1 -1
  67. package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
  68. package/dist/src/runtime/emit/materialized-view-helpers.js +9 -4
  69. package/dist/src/runtime/emit/materialized-view-helpers.js.map +1 -1
  70. package/dist/src/runtime/emit/parameter.d.ts.map +1 -1
  71. package/dist/src/runtime/emit/parameter.js +13 -8
  72. package/dist/src/runtime/emit/parameter.js.map +1 -1
  73. package/dist/src/runtime/emit/schema-declarative.d.ts +17 -6
  74. package/dist/src/runtime/emit/schema-declarative.d.ts.map +1 -1
  75. package/dist/src/runtime/emit/schema-declarative.js +169 -31
  76. package/dist/src/runtime/emit/schema-declarative.js.map +1 -1
  77. package/dist/src/schema/catalog-rendering.d.ts +26 -0
  78. package/dist/src/schema/catalog-rendering.d.ts.map +1 -1
  79. package/dist/src/schema/catalog-rendering.js +54 -5
  80. package/dist/src/schema/catalog-rendering.js.map +1 -1
  81. package/dist/src/schema/catalog.d.ts +58 -2
  82. package/dist/src/schema/catalog.d.ts.map +1 -1
  83. package/dist/src/schema/catalog.js +45 -34
  84. package/dist/src/schema/catalog.js.map +1 -1
  85. package/dist/src/schema/constraint-builder.d.ts +67 -11
  86. package/dist/src/schema/constraint-builder.d.ts.map +1 -1
  87. package/dist/src/schema/constraint-builder.js +115 -12
  88. package/dist/src/schema/constraint-builder.js.map +1 -1
  89. package/dist/src/schema/ddl-generator.d.ts +21 -0
  90. package/dist/src/schema/ddl-generator.d.ts.map +1 -1
  91. package/dist/src/schema/ddl-generator.js +7 -1
  92. package/dist/src/schema/ddl-generator.js.map +1 -1
  93. package/dist/src/schema/rename/self-qualifier-strip.d.ts +27 -0
  94. package/dist/src/schema/rename/self-qualifier-strip.d.ts.map +1 -1
  95. package/dist/src/schema/rename/self-qualifier-strip.js +73 -0
  96. package/dist/src/schema/rename/self-qualifier-strip.js.map +1 -1
  97. package/dist/src/schema/rename-rewriter.d.ts +5 -5
  98. package/dist/src/schema/rename-rewriter.d.ts.map +1 -1
  99. package/dist/src/schema/rename-rewriter.js +5 -5
  100. package/dist/src/schema/rename-rewriter.js.map +1 -1
  101. package/dist/src/schema/schema-differ.d.ts +42 -2
  102. package/dist/src/schema/schema-differ.d.ts.map +1 -1
  103. package/dist/src/schema/schema-differ.js +722 -67
  104. package/dist/src/schema/schema-differ.js.map +1 -1
  105. package/dist/src/schema/unique-enforcement.d.ts +23 -1
  106. package/dist/src/schema/unique-enforcement.d.ts.map +1 -1
  107. package/dist/src/schema/unique-enforcement.js +43 -1
  108. package/dist/src/schema/unique-enforcement.js.map +1 -1
  109. package/dist/src/types/temporal-ops.d.ts.map +1 -1
  110. package/dist/src/types/temporal-ops.js +16 -10
  111. package/dist/src/types/temporal-ops.js.map +1 -1
  112. package/dist/src/vtab/capabilities.d.ts +5 -2
  113. package/dist/src/vtab/capabilities.d.ts.map +1 -1
  114. package/dist/src/vtab/memory/layer/manager.d.ts +30 -23
  115. package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
  116. package/dist/src/vtab/memory/layer/manager.js +102 -111
  117. package/dist/src/vtab/memory/layer/manager.js.map +1 -1
  118. package/dist/src/vtab/module.d.ts +16 -0
  119. package/dist/src/vtab/module.d.ts.map +1 -1
  120. package/package.json +3 -3
@@ -3,7 +3,7 @@ import { createLogger } from '../../common/logger.js';
3
3
  import { StatusCode } from '../../common/types.js';
4
4
  import { QuereusError } from '../../common/errors.js';
5
5
  import { collectSchemaCatalog } from '../../schema/catalog.js';
6
- import { renderCatalogForComparison } from '../../schema/catalog-rendering.js';
6
+ import { renderCatalogForComparison, renderCatalogForRestoreCheck } from '../../schema/catalog-rendering.js';
7
7
  import { computeSchemaDiff, generateMigrationDDL, generateMigrationPlan } from '../../schema/schema-differ.js';
8
8
  import { computeShortSchemaHash } from '../../schema/schema-hasher.js';
9
9
  import { deployLogicalSchema } from '../../schema/lens-compiler.js';
@@ -166,18 +166,33 @@ export function emitDiffSchema(plan, _ctx) {
166
166
  };
167
167
  }
168
168
  /**
169
- * Deliberately NOT wrapped in `withStatementScopedSchemaEvents` (see ddl-event-scope.ts),
170
- * which every other DDL emitter opens around its `run()` body. A failure on the Nth generated
171
- * migration statement leaves statements 1..N-1 *applied* — there is no catalog rollback, and
172
- * inside an explicit transaction the user may still commit — so those really happened and must
173
- * stay announced. Each generated sub-statement runs its own emitter and so carries its own
174
- * scope: the ones that landed keep their events, the one that failed retracts its own.
169
+ * A migrating apply is all-or-nothing, with one stated residual. The migration loop keeps an
170
+ * undo journal (each step's `MigrationStep.undo`, rendered by the differ from the pre-apply
171
+ * catalog); when a step fails the journal runs in reverse, the catalog is re-collected and
172
+ * checked against its pre-apply rendering, and the step's own error is rethrown. The residual
173
+ * is a step that destroyed data (`DROP TABLE`, `DROP COLUMN`, `ALTER COLUMN … SET DATA TYPE`,
174
+ * marked `irreversible` by the differ): once one has run the apply cannot be taken back, and
175
+ * a later failure reports the schema as partially migrated. See `runBatchedMigrationLoop` and
176
+ * docs/schema.md § Failure and restoration.
177
+ *
178
+ * Schema events are retracted CONDITIONALLY, which is why this emitter cannot use the plain
179
+ * `withStatementScopedSchemaEvents` helper (see ddl-event-scope.ts) every other DDL emitter
180
+ * opens around its `run()`: a restored failure discards everything batched since the
181
+ * watermark taken below (nothing happened, so nothing is announced), while an unrestorable
182
+ * one keeps its events — the steps that landed really happened, the user may still commit an
183
+ * explicit transaction, and a replicating peer must hear about them. Each generated
184
+ * sub-statement runs its own emitter and so carries its own inner scope: a landed statement
185
+ * keeps its event until the outer verdict, the failing one retracts its own.
175
186
  */
176
187
  export function emitApplySchema(plan, _ctx) {
177
188
  const applyStmt = plan.statementAst;
178
189
  const run = async (rctx) => {
179
190
  const schemaName = applyStmt.schemaName || 'main';
180
191
  log('APPLY SCHEMA %s', schemaName);
192
+ // Mark for the conditional retraction described on the function comment. Taken
193
+ // before anything can batch a schema event; a lifetime-monotonic stamp, so it is
194
+ // valid whether or not a transaction (and so batching) is open yet.
195
+ const eventWatermark = rctx.db._getEventEmitter().beginSchemaEventScope();
181
196
  // Get declared schema
182
197
  const declaredSchema = rctx.db.declaredSchemaManager.getDeclaredSchema(schemaName);
183
198
  if (!declaredSchema) {
@@ -261,12 +276,17 @@ export function emitApplySchema(plan, _ctx) {
261
276
  }
262
277
  // Build the migration plan. Same ordering (and same DDL text) `diff schema`
263
278
  // previews; the create steps additionally carry the statement they were
264
- // rendered from, so the loop below skips re-parsing them.
265
- const migrationStatements = generateMigrationPlan(diff, schemaName);
279
+ // rendered from, so the loop below skips re-parsing them, and every step
280
+ // carries its undo (rendered from `actualCatalog`, the pre-apply state).
281
+ const migrationStatements = generateMigrationPlan(diff, schemaName, actualCatalog);
266
282
  // Run the migration loop. When there are no statements we keep the
267
- // idempotency fast-path: no module batch hooks fire.
283
+ // idempotency fast-path: no module batch hooks fire. The restore fingerprint
284
+ // is rendered only when there is something to restore from.
268
285
  if (migrationStatements.length > 0) {
269
- await runBatchedMigrationLoop(rctx.db, schemaName, migrationStatements);
286
+ await runBatchedMigrationLoop(rctx.db, schemaName, migrationStatements, {
287
+ preApplyFingerprint: renderCatalogForRestoreCheck(actualCatalog),
288
+ eventWatermark,
289
+ });
270
290
  }
271
291
  // A migrating apply records nothing: `catalogRendering` describes the
272
292
  // PRE-migration catalog, and re-collecting post-migration would assert an
@@ -353,10 +373,14 @@ export function emitApplySchema(plan, _ctx) {
353
373
  // this run, before any DDL could have executed) still describes the live
354
374
  // catalog, and a real diff has confirmed catalog ≡ declaration.
355
375
  //
356
- // NOTE: catalog DDL is not rolled back today (see the comment above
357
- // `emitApplySchema`), so a transaction that unwinds after an apply cannot
358
- // leave this snapshot describing a state the catalog is not in. If catalog DDL
359
- // ever becomes rollback-able, the snapshot must be invalidated on rollback.
376
+ // A failed apply records nothing (it throws before reaching here), and a
377
+ // snapshot an EARLIER apply recorded stays valid across a later restored
378
+ // failure precisely because the restore returns the catalog to the state that
379
+ // snapshot describes. Catalog DDL is still not undone by a transaction
380
+ // rollback — the restore is undo DDL, not rollback — so a rolled-back
381
+ // transaction cannot leave this snapshot describing a state the catalog is not
382
+ // in either. If catalog DDL ever becomes rollback-able, the snapshot must be
383
+ // invalidated on rollback.
360
384
  if (verifiedNoOp && declaredRendering !== undefined) {
361
385
  rctx.db.declaredSchemaManager.setAppliedSnapshot(schemaName, {
362
386
  declaredRendering,
@@ -403,6 +427,26 @@ export function emitExplainSchema(plan, _ctx) {
403
427
  * APPLY SCHEMA into a single substrate commit. Modules without the hook
404
428
  * pay nothing — they're filtered out before the loop.
405
429
  *
430
+ * ## Failure: unwind, verify, then end the batch
431
+ *
432
+ * The loop keeps an undo journal (see `runStepsWithUndoJournal`). When a step fails the
433
+ * journal runs in reverse and the catalog is checked against the pre-apply fingerprint —
434
+ * all still INSIDE the module batch, and before `endSchemaBatch` fires with the original
435
+ * loop error. That ordering is what lets every module tier land in the same place: a
436
+ * module that discards its batch on error rewinds its substrate to the pre-apply state
437
+ * (the undo DDL it also received is discarded with everything else), and a module with no
438
+ * batch hooks has had both the forward and the undo DDL applied for real. Either way the
439
+ * substrate matches the restored catalog. The undo is ordinary DDL, so this needs nothing
440
+ * from module authors and works identically on every `ddlTransactionality` tier.
441
+ *
442
+ * What is thrown depends on the verdict. A verified restore rethrows the step's own error
443
+ * unchanged and retracts every schema event batched since the apply's watermark (nothing
444
+ * happened). Otherwise the error is wrapped: the original message first, then why the
445
+ * schema is partially migrated, with the original as `cause` — and the events stay, because
446
+ * the steps that landed really happened.
447
+ *
448
+ * ## Executing a step
449
+ *
406
450
  * A step that carries its AST is executed on a spine clone of it — the differ rendered
407
451
  * `step.sql` FROM that statement, so re-lexing it would rebuild the same tree, but the
408
452
  * plan's own node must not escape into the catalog (see below). Template-built steps
@@ -436,25 +480,17 @@ export function emitExplainSchema(plan, _ctx) {
436
480
  * ownership into the emitters (each copies only what it stores) and drop this blunt
437
481
  * clone — see `tickets/backlog/debt-catalog-aliases-caller-ast`.
438
482
  */
439
- async function runBatchedMigrationLoop(db, schemaName, migrationStatements) {
483
+ async function runBatchedMigrationLoop(db, schemaName, migrationStatements, restore) {
440
484
  const startedModules = await beginSchemaBatchAll(db, schemaName);
485
+ let failure;
486
+ // `runStepsWithUndoJournal` reports every step and undo failure as data, so `loopError`
487
+ // is normally `failure?.error`. The catch is for a throw it did not anticipate: the
488
+ // batch must still end with SOME error, or a module would commit an overlay whose
489
+ // migration is propagating as failed.
441
490
  let loopError;
442
491
  try {
443
- for (const step of migrationStatements) {
444
- const ddl = step.sql;
445
- log('Executing migration DDL: %s', ddl);
446
- try {
447
- if (step.ast)
448
- await db._execAstWithinTransaction([spineCloneAst(step.ast)]);
449
- else
450
- await db._execWithinTransaction(ddl);
451
- }
452
- catch (e) {
453
- log('Migration failed for DDL: %s', ddl);
454
- const errorMessage = e instanceof Error ? e.message : String(e);
455
- throw new QuereusError(`Failed to execute DDL: ${ddl}\nError: ${errorMessage}`, StatusCode.ERROR, e instanceof Error ? e : undefined);
456
- }
457
- }
492
+ failure = await runStepsWithUndoJournal(db, schemaName, migrationStatements, restore.preApplyFingerprint);
493
+ loopError = failure?.error;
458
494
  }
459
495
  catch (e) {
460
496
  loopError = e;
@@ -463,6 +499,108 @@ async function runBatchedMigrationLoop(db, schemaName, migrationStatements) {
463
499
  finally {
464
500
  await endSchemaBatchAll(startedModules, db, schemaName, loopError);
465
501
  }
502
+ if (!failure)
503
+ return;
504
+ if (failure.notRestored === undefined) {
505
+ db._getEventEmitter().discardSchemaEventsSince(restore.eventWatermark);
506
+ throw failure.error;
507
+ }
508
+ throw new QuereusError(`${failure.error.message}\n${failure.notRestored}`, StatusCode.ERROR, failure.error);
509
+ }
510
+ /**
511
+ * Runs the plan's steps in order under an undo journal. Returns undefined when every step
512
+ * ran; otherwise the failure, with the catalog already unwound (or the reason it could not
513
+ * be). Never throws: the caller must still end the module batch with the original error.
514
+ *
515
+ * The journal holds the `undo` of every step that succeeded. A step the differ marked
516
+ * `irreversible` poisons the journal BEFORE it runs — the step may apply partially before it
517
+ * throws, so its own failure must not read as restorable either — and journaling stops there.
518
+ */
519
+ async function runStepsWithUndoJournal(db, schemaName, migrationStatements, preApplyFingerprint) {
520
+ const journal = [];
521
+ let poisonedBy;
522
+ for (const step of migrationStatements) {
523
+ if (poisonedBy === undefined && step.undo === undefined)
524
+ poisonedBy = step;
525
+ const error = await executeMigrationStep(db, step);
526
+ if (error) {
527
+ if (poisonedBy !== undefined)
528
+ return { error, notRestored: describeIrreversible(poisonedBy, step) };
529
+ return { error, notRestored: await unwindJournal(db, schemaName, journal, preApplyFingerprint) };
530
+ }
531
+ if (poisonedBy === undefined && step.undo !== undefined && step.undo.length > 0)
532
+ journal.push(step.undo);
533
+ }
534
+ return undefined;
535
+ }
536
+ /** Runs one migration step; returns its wrapped error instead of throwing, so the loop can unwind. */
537
+ async function executeMigrationStep(db, step) {
538
+ const ddl = step.sql;
539
+ log('Executing migration DDL: %s', ddl);
540
+ try {
541
+ if (step.ast)
542
+ await db._execAstWithinTransaction([spineCloneAst(step.ast)]);
543
+ else
544
+ await db._execWithinTransaction(ddl);
545
+ return undefined;
546
+ }
547
+ catch (e) {
548
+ log('Migration failed for DDL: %s', ddl);
549
+ // NOTE: every failed step surfaces as ERROR; the step's own code (e.g. CONSTRAINT
550
+ // when the data violates a tightened rule) is only on `cause` and inside the
551
+ // message. If a caller ever needs to key on "data violates the new schema" vs.
552
+ // "the migration is broken", propagate the inner code instead of flattening it.
553
+ return new QuereusError(`Failed to execute DDL: ${ddl}\nError: ${errorText(e)}`, StatusCode.ERROR, e instanceof Error ? e : undefined);
554
+ }
555
+ }
556
+ /**
557
+ * Runs the journal in reverse (each step's undo statements in their own order), then checks
558
+ * the catalog against the pre-apply fingerprint. Returns undefined on a verified restore,
559
+ * otherwise the reason the schema is left partially migrated.
560
+ *
561
+ * An undo statement that throws stops the unwind where it is: the schema is then in a state
562
+ * neither the user nor the plan asked for, and continuing past a failed undo would only
563
+ * compound it. The fingerprint check is what notices a wrong or missing undo arm — including
564
+ * a failing step that left residue of its own (each DDL statement owns its atomicity; this
565
+ * is the check that catches one that is not). It costs one catalog render, on the failure
566
+ * path only.
567
+ */
568
+ async function unwindJournal(db, schemaName, journal, preApplyFingerprint) {
569
+ for (let i = journal.length - 1; i >= 0; i--) {
570
+ for (const sql of journal[i]) {
571
+ log('Unwinding migration step: %s', sql);
572
+ try {
573
+ await db._execWithinTransaction(sql);
574
+ }
575
+ catch (e) {
576
+ log('Undo failed for DDL: %s: %O', sql, e);
577
+ return `${NOT_RESTORED}: undo statement \`${sql}\` failed (${errorText(e)}).`;
578
+ }
579
+ }
580
+ }
581
+ let afterUnwind;
582
+ try {
583
+ afterUnwind = renderCatalogForRestoreCheck(collectSchemaCatalog(db, schemaName));
584
+ }
585
+ catch (e) {
586
+ log('Could not re-collect the catalog to verify the restore: %O', e);
587
+ return `${NOT_RESTORED}: the catalog could not be re-collected to verify the restore (${errorText(e)}).`;
588
+ }
589
+ if (afterUnwind === preApplyFingerprint)
590
+ return undefined;
591
+ log('Post-unwind catalog does not match the pre-apply fingerprint.\nbefore:\n%s\nafter:\n%s', preApplyFingerprint, afterUnwind);
592
+ return `${NOT_RESTORED}: after unwinding, the catalog does not match its pre-apply state.`;
593
+ }
594
+ const NOT_RESTORED = 'The schema is partially migrated and could not be restored';
595
+ /** The reason text when an irreversible step ran — either before the failing step, or as it. */
596
+ function describeIrreversible(poisonedBy, failing) {
597
+ const why = poisonedBy.irreversible ?? 'no undo was recorded for it';
598
+ return poisonedBy === failing
599
+ ? `The schema could not be restored: the failing step \`${failing.sql}\` cannot be undone (${why}), so any partial effect of it stands.`
600
+ : `${NOT_RESTORED}: the earlier step \`${poisonedBy.sql}\` cannot be undone (${why}).`;
601
+ }
602
+ function errorText(e) {
603
+ return e instanceof Error ? e.message : String(e);
466
604
  }
467
605
  /**
468
606
  * Calls `beginSchemaBatch` on every module that defines it, in registration
@@ -1 +1 @@
1
- {"version":3,"file":"schema-declarative.js","sourceRoot":"","sources":["../../../../src/runtime/emit/schema-declarative.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-declarative.js","sourceRoot":"","sources":["../../../../src/runtime/emit/schema-declarative.ts"],"names":[],"mappings":"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"}
@@ -35,4 +35,30 @@ import type { SchemaCatalog } from './catalog.js';
35
35
  * the comparison.
36
36
  */
37
37
  export declare function renderCatalogForComparison(catalog: SchemaCatalog): string;
38
+ /**
39
+ * The rendering `apply schema` compares after unwinding a failed migration, to
40
+ * verify the catalog is back where the apply found it (see
41
+ * `runtime/emit/schema-declarative.ts` § `runBatchedMigrationLoop`).
42
+ *
43
+ * Identical to {@link renderCatalogForComparison} except that a table's and a
44
+ * view's `ddl` text is left out. Those two texts record things the differ does
45
+ * not treat as part of the schema, and an undo that restores the catalog exactly
46
+ * as the differ sees it can still change them:
47
+ *
48
+ * - a table's DDL lists constraints in *storage* order, and `ADD CONSTRAINT`
49
+ * appends — so `DROP CONSTRAINT a` + re-add on a table with constraints
50
+ * `[a, b]` comes back as `[b, a]` (the structured `namedConstraints` below are
51
+ * sorted, because the differ keys them by name);
52
+ * - a view's DDL is `ViewSchema.sql`, which `create view` stores verbatim and the
53
+ * rename propagation (`runtime/emit/alter-table.ts`) overwrites with the
54
+ * rewritten body alone, so a rename and its reverse leave the field spelled
55
+ * differently from the original statement.
56
+ *
57
+ * Everything an undo statement can touch — columns and their attributes, the
58
+ * primary key, tags, named constraints, the maintained derivation, the object
59
+ * set itself — is in the structured fields, so the check loses nothing an undo
60
+ * arm could get wrong. Index and assertion `ddl` are rendered from structured
61
+ * state and order-free, so they stay in.
62
+ */
63
+ export declare function renderCatalogForRestoreCheck(catalog: SchemaCatalog): string;
38
64
  //# sourceMappingURL=catalog-rendering.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-rendering.d.ts","sourceRoot":"","sources":["../../../src/schema/catalog-rendering.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAA6D,MAAM,cAAc,CAAC;AAE7G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAYzE"}
1
+ {"version":3,"file":"catalog-rendering.d.ts","sourceRoot":"","sources":["../../../src/schema/catalog-rendering.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAA6D,MAAM,cAAc,CAAC;AAE7G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAYzE;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAM3E"}
@@ -48,6 +48,38 @@ export function renderCatalogForComparison(catalog) {
48
48
  ...sortedRenderings(assertions, renderAssertion),
49
49
  ].join('\n');
50
50
  }
51
+ /**
52
+ * The rendering `apply schema` compares after unwinding a failed migration, to
53
+ * verify the catalog is back where the apply found it (see
54
+ * `runtime/emit/schema-declarative.ts` § `runBatchedMigrationLoop`).
55
+ *
56
+ * Identical to {@link renderCatalogForComparison} except that a table's and a
57
+ * view's `ddl` text is left out. Those two texts record things the differ does
58
+ * not treat as part of the schema, and an undo that restores the catalog exactly
59
+ * as the differ sees it can still change them:
60
+ *
61
+ * - a table's DDL lists constraints in *storage* order, and `ADD CONSTRAINT`
62
+ * appends — so `DROP CONSTRAINT a` + re-add on a table with constraints
63
+ * `[a, b]` comes back as `[b, a]` (the structured `namedConstraints` below are
64
+ * sorted, because the differ keys them by name);
65
+ * - a view's DDL is `ViewSchema.sql`, which `create view` stores verbatim and the
66
+ * rename propagation (`runtime/emit/alter-table.ts`) overwrites with the
67
+ * rewritten body alone, so a rename and its reverse leave the field spelled
68
+ * differently from the original statement.
69
+ *
70
+ * Everything an undo statement can touch — columns and their attributes, the
71
+ * primary key, tags, named constraints, the maintained derivation, the object
72
+ * set itself — is in the structured fields, so the check loses nothing an undo
73
+ * arm could get wrong. Index and assertion `ddl` are rendered from structured
74
+ * state and order-free, so they stay in.
75
+ */
76
+ export function renderCatalogForRestoreCheck(catalog) {
77
+ return renderCatalogForComparison({
78
+ ...catalog,
79
+ tables: catalog.tables.map(t => ({ ...t, ddl: '' })),
80
+ views: catalog.views.map(v => ({ ...v, ddl: '' })),
81
+ });
82
+ }
51
83
  /**
52
84
  * Compile error if a catalog interface grows a field this renderer does not
53
85
  * consider. The rest object of an exhaustive destructure is `{}`, which is
@@ -66,7 +98,7 @@ function sortedRenderings(items, render) {
66
98
  return items.map(render).sort();
67
99
  }
68
100
  function renderTable(t) {
69
- const { name, ddl, columns, primaryKey, referencedTables, tags, namedConstraints, maintained, ...rest } = t;
101
+ const { name, ddl, columns, primaryKey, referencedTables, tags, namedConstraints, unnamedConstraints, maintained, ...rest } = t;
70
102
  assertEveryFieldConsidered(rest);
71
103
  return [
72
104
  `table ${name}`,
@@ -82,6 +114,8 @@ function renderTable(t) {
82
114
  `\ttags ${renderTags(tags)}`,
83
115
  // Sorted: the differ keys named constraints by name, so their order carries no meaning.
84
116
  ...sortedRenderings(namedConstraints, renderNamedConstraint).map(s => `\t${s}`),
117
+ // Sorted: the differ matches unnamed constraints as a body multiset.
118
+ ...sortedRenderings(unnamedConstraints, renderUnnamedConstraint).map(s => `\t${s}`),
85
119
  `\tmaintained ${maintained ? renderMaintained(maintained) : '-'}`,
86
120
  ].join('\n');
87
121
  }
@@ -99,10 +133,23 @@ function renderColumn(c) {
99
133
  + ` collate ${collation} tags ${renderTags(tags)}`;
100
134
  }
101
135
  function renderNamedConstraint(c) {
102
- const { name, tags, definition, ...rest } = c;
136
+ // `bodyAst` omitted: it is the lift `definition` was rendered from (plus the
137
+ // deferrability `definition` drops, which is not a differ channel), so the
138
+ // canonical string already decides equality.
139
+ const { name, tags, definition, bodyAst: _bodyAst, ...rest } = c;
103
140
  assertEveryFieldConsidered(rest);
104
141
  return `constraint ${name} ${definition} tags ${renderTags(tags)}`;
105
142
  }
143
+ function renderUnnamedConstraint(c) {
144
+ // `name` omitted: an unnamed constraint's identity is its body, and the stored
145
+ // auto-name only decides how a DROP is spelled — inert on an empty diff. `bodyAst`
146
+ // omitted as for `renderNamedConstraint`. `tags` are not a differ channel for an
147
+ // unnamed constraint but are kept, so the restore check still sees an undo that
148
+ // re-adds one without them; on the fast path that only costs a full reconcile.
149
+ const { kind, name: _name, tags, definition, bodyAst: _bodyAst, ...rest } = c;
150
+ assertEveryFieldConsidered(rest);
151
+ return `unnamed ${kind} ${definition} tags ${renderTags(tags)}`;
152
+ }
106
153
  function renderMaintained(m) {
107
154
  // `select` (the live derivation body AST) is deliberately NOT rendered: the
108
155
  // differ compares `bodyHash` first and only walks the AST when that comparison
@@ -110,14 +157,16 @@ function renderMaintained(m) {
110
157
  // compare). This rendering only ever fires the fast path when every hash
111
158
  // matches, so the AST-tolerant path is unreachable and the hash fully
112
159
  // determines the outcome.
113
- const { bodyHash, backingModuleName, backingModuleArgs, select: _select, ...rest } = m;
160
+ // `columns` omitted: it is folded into `bodyHash` (see `CatalogTable.maintained`).
161
+ const { bodyHash, backingModuleName, backingModuleArgs, select: _select, columns: _columns, ...rest } = m;
114
162
  assertEveryFieldConsidered(rest);
115
163
  return `body ${bodyHash} module ${backingModuleName ?? '-'} args ${renderTags(backingModuleArgs)}`;
116
164
  }
117
165
  function renderView(v) {
118
166
  // `select` omitted for the same reason as `CatalogTable.maintained.select`:
119
- // the differ consults it only when `definition` already differs.
120
- const { name, ddl, definition, tags, select: _select, ...rest } = v;
167
+ // the differ consults it only when `definition` already differs. `columns` is
168
+ // folded into `definition`.
169
+ const { name, ddl, definition, tags, select: _select, columns: _columns, ...rest } = v;
121
170
  assertEveryFieldConsidered(rest);
122
171
  return `view ${name}\n\tddl ${ddl}\n\tdef ${definition}\n\ttags ${renderTags(tags)}`;
123
172
  }
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-rendering.js","sourceRoot":"","sources":["../../../src/schema/catalog-rendering.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog-rendering.js","sourceRoot":"","sources":["../../../src/schema/catalog-rendering.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Database } from '../core/database.js';
2
- import type { TableSchema, IndexSchema, IndexColumnSchema, UniqueConstraintSchema } from './table.js';
2
+ import type { TableSchema, IndexSchema, IndexColumnSchema, UniqueConstraintSchema, NamedConstraintClass } from './table.js';
3
3
  import type * as AST from '../parser/ast.js';
4
4
  import { type SqlValue } from '../common/types.js';
5
5
  /**
@@ -42,7 +42,8 @@ export interface CatalogTable {
42
42
  tags?: Readonly<Record<string, SqlValue>>;
43
43
  /**
44
44
  * Named constraints (CHECK / UNIQUE / FOREIGN KEY) carrying their tags and a
45
- * canonical body fragment. Constraints without a user-supplied name are excluded.
45
+ * canonical body fragment. Constraints without a user-supplied name are excluded
46
+ * (they are in {@link CatalogTable.unnamedConstraints}).
46
47
  * `definition` is the order/format-stable body DDL (name + tags excluded) the
47
48
  * differ compares against a declared constraint's body to detect a
48
49
  * name-unchanged-but-body-changed constraint (→ drop+recreate). Tags are kept
@@ -53,6 +54,33 @@ export interface CatalogTable {
53
54
  name: string;
54
55
  tags?: Readonly<Record<string, SqlValue>>;
55
56
  definition: string;
57
+ /**
58
+ * The full-fidelity lift of the live constraint (`schemaConstraintToTableConstraint`),
59
+ * from which the migration planner renders the `ADD constraint …` that undoes a
60
+ * `DROP CONSTRAINT`. Kept separate from `definition`, which is canonical and has
61
+ * already dropped an FK's deferrability. Optional so hand-built catalogs without
62
+ * it simply yield an irreversible undo for that step. A CHECK's `expr` is the live
63
+ * schema AST — read-only to consumers, who clone before rewriting.
64
+ */
65
+ bodyAst?: AST.TableConstraint;
66
+ }>;
67
+ /**
68
+ * The CHECK / UNIQUE / FOREIGN KEY constraints `namedConstraints` leaves out:
69
+ * no stored name, or an engine-synthesized `_`-prefixed one (see
70
+ * `isAutoConstraintName`). Such a constraint has no name a declaration can
71
+ * address, so the differ identifies it by its canonical body instead — matched
72
+ * as a multiset against the declared unnamed constraints. `name` is the stored
73
+ * auto-name when there is one: what `DROP CONSTRAINT` (and its undo re-add) needs.
74
+ * Absent ⇒ no statement can drop it. `definition` / `bodyAst` / `tags` as for
75
+ * `namedConstraints`. UNIQUE constraints synthesized from a `CREATE UNIQUE
76
+ * INDEX` (`derivedFromIndex`) are excluded here too — they are indexes.
77
+ */
78
+ unnamedConstraints: Array<{
79
+ kind: NamedConstraintClass;
80
+ name?: string;
81
+ tags?: Readonly<Record<string, SqlValue>>;
82
+ definition: string;
83
+ bodyAst?: AST.TableConstraint;
56
84
  }>;
57
85
  /**
58
86
  * Present iff this is a **maintained table** (carries a `derivation` — what
@@ -76,6 +104,12 @@ export interface CatalogTable {
76
104
  * hash re-compare (see `CatalogView.select`). Read-only to consumers.
77
105
  */
78
106
  select?: AST.QueryExpr;
107
+ /**
108
+ * The recorded explicit output-column list (`derivation.columns`; absent for an
109
+ * implicit body). Already folded into `bodyHash`; surfaced so the migration
110
+ * planner can render the `set maintained [(cols)] as …` that undoes a detach.
111
+ */
112
+ columns?: ReadonlyArray<string>;
79
113
  };
80
114
  }
81
115
  /** New field ⇒ new arm in `renderCatalogForComparison` (compiler-enforced; see {@link SchemaCatalog}). */
@@ -104,6 +138,14 @@ export interface CatalogView {
104
138
  * as read-only by every consumer — it is the live schema's AST, not a copy.
105
139
  */
106
140
  select?: AST.QueryExpr;
141
+ /**
142
+ * The explicit column list of `create view v (a, b) as …`, when one was given.
143
+ * Already folded into `definition`; surfaced so the migration planner can render
144
+ * the `create view` that undoes a `DROP VIEW` from `select` + this list (the
145
+ * `ddl` text is not a reliable source: after a rename propagation `ViewSchema.sql`
146
+ * holds only the rewritten body).
147
+ */
148
+ columns?: ReadonlyArray<string>;
107
149
  }
108
150
  /** New field ⇒ new arm in `renderCatalogForComparison` (compiler-enforced; see {@link SchemaCatalog}). */
109
151
  export interface CatalogIndex {
@@ -233,6 +275,20 @@ export interface DisplayIndex {
233
275
  * {@link indexSchemaForDisplay}.
234
276
  */
235
277
  export declare function displayIndexesForTable(tableSchema: TableSchema): DisplayIndex[];
278
+ /**
279
+ * The same name rule as {@link implicitIndexName}, expressed over column *names*
280
+ * rather than a resolved {@link UniqueConstraintSchema}. Declaration-time callers
281
+ * (`ALTER TABLE … ADD CONSTRAINT`, `ADD COLUMN … unique`, the declarative differ's
282
+ * mint for an unnamed UNIQUE) hold only column names — an `ADD COLUMN`'s column does not even exist on the table yet — so
283
+ * they cannot go through the schema-resolved form.
284
+ *
285
+ * Keep this the ONLY spelling of the `_uc_<cols>` rule in this package. Three
286
+ * out-of-package mirrors must stay equal to it: `quereus-store`'s
287
+ * `implicitUniqueIndexName`, `MemoryTableManager.implicitIndexNameFor`, and
288
+ * `quereus-isolation`'s `installOverlayUniqueConstraint` (which names the overlay's
289
+ * narrowed unique index by the same rule so DROP / RENAME CONSTRAINT forwards resolve).
290
+ */
291
+ export declare function implicitIndexNameForColumns(constraintName: string | undefined, columnNames: ReadonlyArray<string>): string;
236
292
  /**
237
293
  * Rejects a UNIQUE constraint declaration whose implicit backing structure would
238
294
  * claim a name already held on the same table — by another UNIQUE constraint's
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/schema/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/schema/catalog.ts"],"names":[],"mappings":"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"}