@quereus/quereus 4.19.2 → 4.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +257 -257
- package/dist/src/common/errors.d.ts +10 -0
- package/dist/src/common/errors.d.ts.map +1 -1
- package/dist/src/common/errors.js +14 -0
- package/dist/src/common/errors.js.map +1 -1
- package/dist/src/common/types.d.ts +12 -0
- package/dist/src/common/types.d.ts.map +1 -1
- package/dist/src/common/types.js.map +1 -1
- package/dist/src/core/database-events.d.ts.map +1 -1
- package/dist/src/core/database-events.js +12 -9
- package/dist/src/core/database-events.js.map +1 -1
- package/dist/src/core/database-transaction.d.ts.map +1 -1
- package/dist/src/core/database-transaction.js +28 -19
- package/dist/src/core/database-transaction.js.map +1 -1
- package/dist/src/core/database.d.ts +58 -6
- package/dist/src/core/database.d.ts.map +1 -1
- package/dist/src/core/database.js +185 -54
- package/dist/src/core/database.js.map +1 -1
- package/dist/src/core/param.d.ts +46 -1
- package/dist/src/core/param.d.ts.map +1 -1
- package/dist/src/core/param.js +87 -7
- package/dist/src/core/param.js.map +1 -1
- package/dist/src/core/statement.d.ts +66 -1
- package/dist/src/core/statement.d.ts.map +1 -1
- package/dist/src/core/statement.js +156 -91
- package/dist/src/core/statement.js.map +1 -1
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/parser/lexer.d.ts.map +1 -1
- package/dist/src/parser/lexer.js +9 -3
- package/dist/src/parser/lexer.js.map +1 -1
- package/dist/src/planner/analysis/change-scope.d.ts.map +1 -1
- package/dist/src/planner/analysis/change-scope.js +7 -20
- package/dist/src/planner/analysis/change-scope.js.map +1 -1
- package/dist/src/planner/analysis/check-extraction.d.ts +62 -0
- package/dist/src/planner/analysis/check-extraction.d.ts.map +1 -1
- package/dist/src/planner/analysis/check-extraction.js +19 -5
- package/dist/src/planner/analysis/check-extraction.js.map +1 -1
- package/dist/src/planner/analysis/constraint-extractor.d.ts.map +1 -1
- package/dist/src/planner/analysis/constraint-extractor.js +7 -0
- package/dist/src/planner/analysis/constraint-extractor.js.map +1 -1
- package/dist/src/planner/analysis/scalar-param-usage.d.ts +6 -3
- package/dist/src/planner/analysis/scalar-param-usage.d.ts.map +1 -1
- package/dist/src/planner/analysis/scalar-param-usage.js +32 -4
- package/dist/src/planner/analysis/scalar-param-usage.js.map +1 -1
- package/dist/src/planner/building/coercion.js +1 -1
- package/dist/src/planner/building/coercion.js.map +1 -1
- package/dist/src/planner/building/schema-authored-context.d.ts +7 -7
- package/dist/src/planner/building/schema-authored-context.js +7 -7
- package/dist/src/planner/nodes/scalar.d.ts +19 -1
- package/dist/src/planner/nodes/scalar.d.ts.map +1 -1
- package/dist/src/planner/nodes/scalar.js +13 -2
- package/dist/src/planner/nodes/scalar.js.map +1 -1
- package/dist/src/planner/nodes/set-operation-node.js +4 -0
- package/dist/src/planner/nodes/set-operation-node.js.map +1 -1
- package/dist/src/runtime/emit/add-constraint.js +44 -1
- package/dist/src/runtime/emit/add-constraint.js.map +1 -1
- package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
- package/dist/src/runtime/emit/alter-table.js +20 -32
- package/dist/src/runtime/emit/alter-table.js.map +1 -1
- package/dist/src/runtime/emit/ddl-event-scope.d.ts +20 -13
- package/dist/src/runtime/emit/ddl-event-scope.d.ts.map +1 -1
- package/dist/src/runtime/emit/ddl-event-scope.js +20 -13
- package/dist/src/runtime/emit/ddl-event-scope.js.map +1 -1
- package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
- package/dist/src/runtime/emit/materialized-view-helpers.js +9 -4
- package/dist/src/runtime/emit/materialized-view-helpers.js.map +1 -1
- package/dist/src/runtime/emit/parameter.d.ts.map +1 -1
- package/dist/src/runtime/emit/parameter.js +13 -8
- package/dist/src/runtime/emit/parameter.js.map +1 -1
- package/dist/src/runtime/emit/schema-declarative.d.ts +17 -6
- package/dist/src/runtime/emit/schema-declarative.d.ts.map +1 -1
- package/dist/src/runtime/emit/schema-declarative.js +169 -31
- package/dist/src/runtime/emit/schema-declarative.js.map +1 -1
- package/dist/src/schema/catalog-rendering.d.ts +26 -0
- package/dist/src/schema/catalog-rendering.d.ts.map +1 -1
- package/dist/src/schema/catalog-rendering.js +41 -4
- package/dist/src/schema/catalog-rendering.js.map +1 -1
- package/dist/src/schema/catalog.d.ts +23 -0
- package/dist/src/schema/catalog.d.ts.map +1 -1
- package/dist/src/schema/catalog.js +6 -4
- package/dist/src/schema/catalog.js.map +1 -1
- package/dist/src/schema/constraint-builder.d.ts +67 -11
- package/dist/src/schema/constraint-builder.d.ts.map +1 -1
- package/dist/src/schema/constraint-builder.js +115 -12
- package/dist/src/schema/constraint-builder.js.map +1 -1
- package/dist/src/schema/ddl-generator.d.ts +21 -0
- package/dist/src/schema/ddl-generator.d.ts.map +1 -1
- package/dist/src/schema/ddl-generator.js +7 -1
- package/dist/src/schema/ddl-generator.js.map +1 -1
- package/dist/src/schema/rename/self-qualifier-strip.d.ts +27 -0
- package/dist/src/schema/rename/self-qualifier-strip.d.ts.map +1 -1
- package/dist/src/schema/rename/self-qualifier-strip.js +73 -0
- package/dist/src/schema/rename/self-qualifier-strip.js.map +1 -1
- package/dist/src/schema/rename-rewriter.d.ts +5 -5
- package/dist/src/schema/rename-rewriter.d.ts.map +1 -1
- package/dist/src/schema/rename-rewriter.js +5 -5
- package/dist/src/schema/rename-rewriter.js.map +1 -1
- package/dist/src/schema/schema-differ.d.ts +41 -1
- package/dist/src/schema/schema-differ.d.ts.map +1 -1
- package/dist/src/schema/schema-differ.js +529 -36
- package/dist/src/schema/schema-differ.js.map +1 -1
- package/dist/src/types/temporal-ops.d.ts.map +1 -1
- package/dist/src/types/temporal-ops.js +16 -10
- package/dist/src/types/temporal-ops.js.map +1 -1
- package/dist/src/vtab/capabilities.d.ts +5 -2
- package/dist/src/vtab/capabilities.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/manager.d.ts +15 -11
- package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/manager.js +15 -11
- package/dist/src/vtab/memory/layer/manager.js.map +1 -1
- package/dist/src/vtab/module.d.ts +16 -0
- package/dist/src/vtab/module.d.ts.map +1 -1
- 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
|
-
*
|
|
170
|
-
*
|
|
171
|
-
*
|
|
172
|
-
*
|
|
173
|
-
*
|
|
174
|
-
*
|
|
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
|
-
|
|
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
|
-
//
|
|
357
|
-
//
|
|
358
|
-
//
|
|
359
|
-
//
|
|
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
|
-
|
|
444
|
-
|
|
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
|
|
@@ -99,7 +131,10 @@ function renderColumn(c) {
|
|
|
99
131
|
+ ` collate ${collation} tags ${renderTags(tags)}`;
|
|
100
132
|
}
|
|
101
133
|
function renderNamedConstraint(c) {
|
|
102
|
-
|
|
134
|
+
// `bodyAst` omitted: it is the lift `definition` was rendered from (plus the
|
|
135
|
+
// deferrability `definition` drops, which is not a differ channel), so the
|
|
136
|
+
// canonical string already decides equality.
|
|
137
|
+
const { name, tags, definition, bodyAst: _bodyAst, ...rest } = c;
|
|
103
138
|
assertEveryFieldConsidered(rest);
|
|
104
139
|
return `constraint ${name} ${definition} tags ${renderTags(tags)}`;
|
|
105
140
|
}
|
|
@@ -110,14 +145,16 @@ function renderMaintained(m) {
|
|
|
110
145
|
// compare). This rendering only ever fires the fast path when every hash
|
|
111
146
|
// matches, so the AST-tolerant path is unreachable and the hash fully
|
|
112
147
|
// determines the outcome.
|
|
113
|
-
|
|
148
|
+
// `columns` omitted: it is folded into `bodyHash` (see `CatalogTable.maintained`).
|
|
149
|
+
const { bodyHash, backingModuleName, backingModuleArgs, select: _select, columns: _columns, ...rest } = m;
|
|
114
150
|
assertEveryFieldConsidered(rest);
|
|
115
151
|
return `body ${bodyHash} module ${backingModuleName ?? '-'} args ${renderTags(backingModuleArgs)}`;
|
|
116
152
|
}
|
|
117
153
|
function renderView(v) {
|
|
118
154
|
// `select` omitted for the same reason as `CatalogTable.maintained.select`:
|
|
119
|
-
// the differ consults it only when `definition` already differs.
|
|
120
|
-
|
|
155
|
+
// the differ consults it only when `definition` already differs. `columns` is
|
|
156
|
+
// folded into `definition`.
|
|
157
|
+
const { name, ddl, definition, tags, select: _select, columns: _columns, ...rest } = v;
|
|
121
158
|
assertEveryFieldConsidered(rest);
|
|
122
159
|
return `view ${name}\n\tddl ${ddl}\n\tdef ${definition}\n\ttags ${renderTags(tags)}`;
|
|
123
160
|
}
|
|
@@ -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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"}
|
|
@@ -53,6 +53,15 @@ export interface CatalogTable {
|
|
|
53
53
|
name: string;
|
|
54
54
|
tags?: Readonly<Record<string, SqlValue>>;
|
|
55
55
|
definition: string;
|
|
56
|
+
/**
|
|
57
|
+
* The full-fidelity lift of the live constraint (`schemaConstraintToTableConstraint`),
|
|
58
|
+
* from which the migration planner renders the `ADD constraint …` that undoes a
|
|
59
|
+
* `DROP CONSTRAINT`. Kept separate from `definition`, which is canonical and has
|
|
60
|
+
* already dropped an FK's deferrability. Optional so hand-built catalogs without
|
|
61
|
+
* it simply yield an irreversible undo for that step. A CHECK's `expr` is the live
|
|
62
|
+
* schema AST — read-only to consumers, who clone before rewriting.
|
|
63
|
+
*/
|
|
64
|
+
bodyAst?: AST.TableConstraint;
|
|
56
65
|
}>;
|
|
57
66
|
/**
|
|
58
67
|
* Present iff this is a **maintained table** (carries a `derivation` — what
|
|
@@ -76,6 +85,12 @@ export interface CatalogTable {
|
|
|
76
85
|
* hash re-compare (see `CatalogView.select`). Read-only to consumers.
|
|
77
86
|
*/
|
|
78
87
|
select?: AST.QueryExpr;
|
|
88
|
+
/**
|
|
89
|
+
* The recorded explicit output-column list (`derivation.columns`; absent for an
|
|
90
|
+
* implicit body). Already folded into `bodyHash`; surfaced so the migration
|
|
91
|
+
* planner can render the `set maintained [(cols)] as …` that undoes a detach.
|
|
92
|
+
*/
|
|
93
|
+
columns?: ReadonlyArray<string>;
|
|
79
94
|
};
|
|
80
95
|
}
|
|
81
96
|
/** New field ⇒ new arm in `renderCatalogForComparison` (compiler-enforced; see {@link SchemaCatalog}). */
|
|
@@ -104,6 +119,14 @@ export interface CatalogView {
|
|
|
104
119
|
* as read-only by every consumer — it is the live schema's AST, not a copy.
|
|
105
120
|
*/
|
|
106
121
|
select?: AST.QueryExpr;
|
|
122
|
+
/**
|
|
123
|
+
* The explicit column list of `create view v (a, b) as …`, when one was given.
|
|
124
|
+
* Already folded into `definition`; surfaced so the migration planner can render
|
|
125
|
+
* the `create view` that undoes a `DROP VIEW` from `select` + this list (the
|
|
126
|
+
* `ddl` text is not a reliable source: after a rename propagation `ViewSchema.sql`
|
|
127
|
+
* holds only the rewritten body).
|
|
128
|
+
*/
|
|
129
|
+
columns?: ReadonlyArray<string>;
|
|
107
130
|
}
|
|
108
131
|
/** New field ⇒ new arm in `renderCatalogForComparison` (compiler-enforced; see {@link SchemaCatalog}). */
|
|
109
132
|
export interface CatalogIndex {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/schema/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAOtG,OAAO,KAAK,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,KAAK,QAAQ,EAAc,MAAM,oBAAoB,CAAC;AAM/D;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,0GAA0G;AAC1G,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,EAAE,OAAO,CAAC;QACpB,YAAY,EAAE,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC;QACpC,uEAAuE;QACvE,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;KAC1C,CAAC,CAAC;IACH,UAAU,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACzD,oFAAoF;IACpF,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC1C;;;;;;;;OAQG;IACH,gBAAgB,EAAE,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/schema/catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { isMaintainedTable } from './derivation.js';
|
|
|
4
4
|
import { createTableToString, createViewToString, createMaterializedViewToString, createIndexToString, createAssertionToString, quoteIdentifier, expressionToString, viewDefinitionToCanonicalString } from '../emit/ast-stringify.js';
|
|
5
5
|
import { StatusCode } from '../common/types.js';
|
|
6
6
|
import { QuereusError } from '../common/errors.js';
|
|
7
|
-
import { generateTableDDL, generateIndexDDL, generateMaintainedTableDDL, constraintToCanonicalDDL, indexToCanonicalDDL } from './ddl-generator.js';
|
|
7
|
+
import { generateTableDDL, generateIndexDDL, generateMaintainedTableDDL, constraintToCanonicalDDL, indexToCanonicalDDL, schemaConstraintToTableConstraint } from './ddl-generator.js';
|
|
8
8
|
import { applyViewSchemaDefault, applyAssertionSchemaDefault } from './schema-differ.js';
|
|
9
9
|
import { ENGINE_MANAGED_TABLE_TAG } from './reserved-tags.js';
|
|
10
10
|
/**
|
|
@@ -157,17 +157,17 @@ function tableSchemaToCatalog(tableSchema, db) {
|
|
|
157
157
|
const namedConstraints = [];
|
|
158
158
|
for (const c of tableSchema.checkConstraints ?? []) {
|
|
159
159
|
if (c.name && !isAutoConstraintName(c.name)) {
|
|
160
|
-
namedConstraints.push({ name: c.name, tags: c.tags, definition: constraintToCanonicalDDL('check', c, tableSchema) });
|
|
160
|
+
namedConstraints.push({ name: c.name, tags: c.tags, definition: constraintToCanonicalDDL('check', c, tableSchema), bodyAst: schemaConstraintToTableConstraint('check', c, tableSchema) });
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
163
|
for (const c of tableSchema.uniqueConstraints ?? []) {
|
|
164
164
|
if (c.name && !isAutoConstraintName(c.name) && !c.derivedFromIndex) {
|
|
165
|
-
namedConstraints.push({ name: c.name, tags: c.tags, definition: constraintToCanonicalDDL('unique', c, tableSchema) });
|
|
165
|
+
namedConstraints.push({ name: c.name, tags: c.tags, definition: constraintToCanonicalDDL('unique', c, tableSchema), bodyAst: schemaConstraintToTableConstraint('unique', c, tableSchema) });
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
168
|
for (const c of tableSchema.foreignKeys ?? []) {
|
|
169
169
|
if (c.name && !isAutoConstraintName(c.name)) {
|
|
170
|
-
namedConstraints.push({ name: c.name, tags: c.tags, definition: constraintToCanonicalDDL('foreignKey', c, tableSchema) });
|
|
170
|
+
namedConstraints.push({ name: c.name, tags: c.tags, definition: constraintToCanonicalDDL('foreignKey', c, tableSchema), bodyAst: schemaConstraintToTableConstraint('foreignKey', c, tableSchema) });
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
173
|
return {
|
|
@@ -195,6 +195,7 @@ function maintainedDescriptor(table) {
|
|
|
195
195
|
backingModuleName: backing.storedModuleName,
|
|
196
196
|
backingModuleArgs: backing.storedModuleArgs,
|
|
197
197
|
select: table.derivation.selectAst,
|
|
198
|
+
columns: table.derivation.columns,
|
|
198
199
|
};
|
|
199
200
|
}
|
|
200
201
|
function viewSchemaToCatalog(viewSchema) {
|
|
@@ -204,6 +205,7 @@ function viewSchemaToCatalog(viewSchema) {
|
|
|
204
205
|
definition: viewDefinitionToCanonicalString(viewSchema.columns, viewSchema.selectAst),
|
|
205
206
|
tags: viewSchema.tags,
|
|
206
207
|
select: viewSchema.selectAst,
|
|
208
|
+
columns: viewSchema.columns,
|
|
207
209
|
};
|
|
208
210
|
}
|
|
209
211
|
/**
|