@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.
- 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 +16 -4
- 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 +4 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -4
- 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 +54 -5
- package/dist/src/schema/catalog-rendering.js.map +1 -1
- package/dist/src/schema/catalog.d.ts +58 -2
- package/dist/src/schema/catalog.d.ts.map +1 -1
- package/dist/src/schema/catalog.js +45 -34
- 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 +42 -2
- package/dist/src/schema/schema-differ.d.ts.map +1 -1
- package/dist/src/schema/schema-differ.js +722 -67
- package/dist/src/schema/schema-differ.js.map +1 -1
- package/dist/src/schema/unique-enforcement.d.ts +23 -1
- package/dist/src/schema/unique-enforcement.d.ts.map +1 -1
- package/dist/src/schema/unique-enforcement.js +43 -1
- package/dist/src/schema/unique-enforcement.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 +30 -23
- package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/manager.js +102 -111
- 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
|
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAsB;IAChE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAC5E,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO;QACN,kEAAkE;QAClE,mEAAmE;QACnE,UAAU,UAAU,CAAC,WAAW,EAAE,EAAE;QACpC,GAAG,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC;QACxC,GAAG,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC;QACtC,GAAG,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC;QACzC,GAAG,gBAAgB,CAAC,UAAU,EAAE,eAAe,CAAC;KAChD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,0BAA0B,CAAC,SAAgC,IAAgC,CAAC;AAErG;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAI,KAAmB,EAAE,MAA2B;IAC5E,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,WAAW,CAAC,CAAe;IACnC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;
|
|
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":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/schema/catalog.ts"],"names":[],"mappings":"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"}
|