@quereus/sync 4.6.0 → 4.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +12 -4
  2. package/dist/src/metadata/keys.d.ts +29 -1
  3. package/dist/src/metadata/keys.d.ts.map +1 -1
  4. package/dist/src/metadata/keys.js +33 -1
  5. package/dist/src/metadata/keys.js.map +1 -1
  6. package/dist/src/metadata/schema-migration.d.ts +8 -1
  7. package/dist/src/metadata/schema-migration.d.ts.map +1 -1
  8. package/dist/src/metadata/schema-migration.js +28 -3
  9. package/dist/src/metadata/schema-migration.js.map +1 -1
  10. package/dist/src/sync/change-applicator.d.ts.map +1 -1
  11. package/dist/src/sync/change-applicator.js +127 -71
  12. package/dist/src/sync/change-applicator.js.map +1 -1
  13. package/dist/src/sync/manager.d.ts +23 -0
  14. package/dist/src/sync/manager.d.ts.map +1 -1
  15. package/dist/src/sync/protocol.d.ts +12 -2
  16. package/dist/src/sync/protocol.d.ts.map +1 -1
  17. package/dist/src/sync/protocol.js +3 -1
  18. package/dist/src/sync/protocol.js.map +1 -1
  19. package/dist/src/sync/snapshot-stream.d.ts +11 -0
  20. package/dist/src/sync/snapshot-stream.d.ts.map +1 -1
  21. package/dist/src/sync/snapshot-stream.js +98 -33
  22. package/dist/src/sync/snapshot-stream.js.map +1 -1
  23. package/dist/src/sync/snapshot.d.ts.map +1 -1
  24. package/dist/src/sync/snapshot.js +3 -0
  25. package/dist/src/sync/snapshot.js.map +1 -1
  26. package/dist/src/sync/store-adapter.d.ts.map +1 -1
  27. package/dist/src/sync/store-adapter.js +301 -62
  28. package/dist/src/sync/store-adapter.js.map +1 -1
  29. package/dist/src/sync/sync-manager-impl.d.ts +2 -0
  30. package/dist/src/sync/sync-manager-impl.d.ts.map +1 -1
  31. package/dist/src/sync/sync-manager-impl.js +38 -16
  32. package/dist/src/sync/sync-manager-impl.js.map +1 -1
  33. package/dist/src/sync/wire.d.ts +6 -0
  34. package/dist/src/sync/wire.d.ts.map +1 -1
  35. package/dist/src/sync/wire.js +3 -0
  36. package/dist/src/sync/wire.js.map +1 -1
  37. package/package.json +6 -6
@@ -105,7 +105,7 @@
105
105
  * MV/capture state from the already-committed storage rows; recoverable via
106
106
  * MV refresh).
107
107
  */
108
- import { compareSqlValues, generateIndexDDL, generateTableDDL } from '@quereus/quereus';
108
+ import { compareSqlValues, expressionToString, generateIndexDDL, generateTableDDL, inferType, namedConstraintExists, Parser } from '@quereus/quereus';
109
109
  import { makePkIdentityEncoder } from '../metadata/pk-identity.js';
110
110
  import { toError } from './sync-context.js';
111
111
  /**
@@ -374,6 +374,8 @@ function decideSchemaChange(db, change) {
374
374
  }
375
375
  case 'drop_table':
376
376
  return db.schemaManager.getTable(change.schema, change.table) ? 'execute' : 'already-applied';
377
+ case 'rename_table':
378
+ return decideRenameTable(db, change);
377
379
  case 'add_index': {
378
380
  // For an index migration `change.table` holds the INDEX name, not the
379
381
  // table name (see `mapSchemaMigrationType` / `recordSchemaMigration`).
@@ -391,51 +393,290 @@ function decideSchemaChange(db, change) {
391
393
  // converge silently rather than exec a statement that would throw
392
394
  // `no such index` and abort the admission unit.
393
395
  return db.schemaManager.findIndexOwner(change.schema, change.table) ? 'execute' : 'already-applied';
396
+ case 'alter_column':
397
+ // A table alteration (the coarse "table definition changed" migration the
398
+ // origin records for every ALTER TABLE form). Parse the statement and decide
399
+ // per alteration arm whether the local table is already in the wanted state.
400
+ return decideAlterTable(db, change);
394
401
  default:
395
- // Column-level migrations (add_column / drop_column / alter_column) carry
396
- // no object-lifecycle state to compare; run them as before.
402
+ // add_column / drop_column are legacy wire types no current origin records
403
+ // (mapSchemaMigrationType folds every table alter into alter_column); run
404
+ // them as before.
397
405
  return 'execute';
398
406
  }
399
407
  }
400
408
  /**
401
- * The module schema-event signature the migration's DDL will produce — the exact
402
- * inverse of `mapSchemaMigrationType` (sync-manager-impl.ts), which is what
403
- * recorded the migration on the origin in the first place.
409
+ * Idempotency / conflict decision for a replicated `rename_table` migration,
410
+ * read from the local catalog for BOTH names:
411
+ *
412
+ * | old present | new present | verdict |
413
+ * |---|---|---|
414
+ * | yes | no | execute |
415
+ * | no | yes | already-applied — the rename already happened here |
416
+ * | yes | yes | THROW a conflict naming both tables (see below) |
417
+ * | no | no | converge with a warning — nothing to rename (drop won) |
418
+ *
419
+ * A missing `fromTable` (a peer that omitted it) makes the migration
420
+ * undecidable: converge with a warning rather than exec a statement whose
421
+ * outcome we cannot predict.
422
+ *
423
+ * The yes/yes row throws rather than picking a side: renaming would collide
424
+ * with a table that already exists, and silently keeping either shape would
425
+ * record "converged" for a divergence that is not — the same posture as a
426
+ * divergent `create_table` (see {@link assertDefinitionMatches}'s NOTE).
404
427
  *
405
- * Keeping the two inverse is load-bearing: the signature is what pre-marks the
406
- * emitted event remote, and a signature that never matches means the receiver
407
- * records the replicated DDL as its OWN local migration and broadcasts it back
408
- * out. Deriving it from the migration type by string-shape (`startsWith('drop')`,
409
- * `includes('table')`) does not survive the `add_index` / `*_column` names, so
410
- * map explicitly.
428
+ * NOTE: sync's per-row bookkeeping (`cv:`/`tb:`/`cl:`) is keyed by table name,
429
+ * so both origin and receiver strand it at the old name and start empty at the
430
+ * new one — later conflict resolution and tombstone blocking lose their history
431
+ * for the renamed table (an old delete no longer blocks a replayed insert).
432
+ * Pre-existing for a purely local rename; replicating the rename makes it
433
+ * happen on every peer. Tracked as
434
+ * `bug-sync-rename-and-pk-change-strand-crdt-metadata` (tickets/backlog).
411
435
  */
412
- function schemaEventSignature(type) {
413
- switch (type) {
414
- case 'create_table': return { type: 'create', objectType: 'table' };
415
- case 'drop_table': return { type: 'drop', objectType: 'table' };
416
- case 'add_index': return { type: 'create', objectType: 'index' };
417
- case 'drop_index': return { type: 'drop', objectType: 'index' };
418
- // Column-level migrations replay as an ALTER of the owning table — matching
419
- // the `'table' alter → alter_column` direction of mapSchemaMigrationType.
420
- case 'add_column':
421
- case 'drop_column':
422
- case 'alter_column':
423
- return { type: 'alter', objectType: 'table' };
436
+ function decideRenameTable(db, change) {
437
+ if (change.fromTable === undefined) {
438
+ console.warn(`[Sync] Remote ${change.type} for ${change.schema}.${change.table} carries no old table name — `
439
+ + `undecidable; converging without applying: ${change.ddl}`);
440
+ return 'already-applied';
441
+ }
442
+ const oldPresent = db.schemaManager.getTable(change.schema, change.fromTable) !== undefined;
443
+ const newPresent = db.schemaManager.getTable(change.schema, change.table) !== undefined;
444
+ if (oldPresent && newPresent) {
445
+ throw new Error(`Schema conflict applying remote ${change.type} for ${change.schema}.${change.fromTable}: ` +
446
+ `renaming to ${change.schema}.${change.table} would collide with a table that already exists locally.\n` +
447
+ ` remote: ${change.ddl}`);
448
+ }
449
+ if (oldPresent)
450
+ return 'execute';
451
+ if (newPresent)
452
+ return 'already-applied';
453
+ console.warn(`[Sync] Remote ${change.type} for ${change.schema}.${change.table}: neither `
454
+ + `'${change.fromTable}' nor '${change.table}' exists locally — converging without applying: ${change.ddl}`);
455
+ return 'already-applied';
456
+ }
457
+ /**
458
+ * Idempotency decision for a replicated `alter_column` migration. The migration
459
+ * carries only the statement text, so parse it with the engine's own parser and
460
+ * compare the parsed alteration against the local {@link TableSchema}.
461
+ *
462
+ * Two peers offline can each run `alter table orders add column sku text`;
463
+ * whichever migration wins the HLC comparison is then delivered to a peer that
464
+ * already has `sku`. Re-executing the raw DDL there throws, aborting the whole
465
+ * admission unit before its CRDT metadata commits — the same permanent re-fail
466
+ * loop `create_table` idempotency exists to prevent.
467
+ */
468
+ function decideAlterTable(db, change) {
469
+ let stmt;
470
+ try {
471
+ const parsed = new Parser().parse(change.ddl);
472
+ if (parsed.type !== 'alterTable')
473
+ return 'execute';
474
+ stmt = parsed;
475
+ }
476
+ catch (e) {
477
+ // A parse failure must not be swallowed into a skip: execute the DDL so the
478
+ // underlying engine error is what the operator sees, not a parser message.
479
+ console.error(`[Sync] Could not parse replicated ${change.type} DDL for ${change.schema}.${change.table} — executing as-is:`, e);
480
+ return 'execute';
481
+ }
482
+ // NOTE: the decision reads the migration's `(schema, table)` envelope, never
483
+ // `stmt.table` — the origin filed the envelope from the same event that carried
484
+ // this text, so the two agree for anything the pipeline produces. A hand-crafted
485
+ // migration whose DDL names a different table would be decided against the wrong
486
+ // local table; if migrations ever arrive from outside the capture path, compare
487
+ // the two here first.
488
+ const action = stmt.action;
489
+ // The tag/maintained arms have no idempotency arm — execute as before. A
490
+ // renameTable action under `alter_column` can only come from a peer on an older
491
+ // build (a current origin records it as `rename_table`, decided by
492
+ // decideRenameTable above); execute it as those builds always did.
493
+ if (action.type === 'renameTable' || action.type === 'setTags' || action.type === 'dropTags'
494
+ || action.type === 'setMaintained' || action.type === 'dropMaintained') {
495
+ return 'execute';
496
+ }
497
+ const local = db.schemaManager.getTable(change.schema, change.table);
498
+ if (!local) {
499
+ // Nothing to alter: the receiver dropped the table (drop is the more
500
+ // destructive migration and wins). Converge with a warning rather than exec a
501
+ // statement that would throw `no such table` and abort the admission unit —
502
+ // consistent with drop_index's absent-owner arm.
503
+ console.warn(`[Sync] Remote ${change.type} for ${change.schema}.${change.table} names a table this peer does not have — `
504
+ + `converging without applying: ${change.ddl}`);
505
+ return 'already-applied';
506
+ }
507
+ switch (action.type) {
508
+ case 'addColumn':
509
+ return decideAddColumn(local, action.column, change);
510
+ case 'dropColumn':
511
+ return localColumn(local, action.name) ? 'execute' : 'already-applied';
512
+ case 'renameColumn': {
513
+ // Old name still present ⇒ the rename has not happened here (if the new name
514
+ // ALSO exists the exec surfaces the engine's own duplicate-name error — a
515
+ // genuine divergence, not one to paper over).
516
+ if (localColumn(local, action.oldName))
517
+ return 'execute';
518
+ if (localColumn(local, action.newName))
519
+ return 'already-applied';
520
+ console.warn(`[Sync] Remote ${change.type} for ${change.schema}.${change.table}: neither column `
521
+ + `'${action.oldName}' nor '${action.newName}' exists locally — converging without applying`);
522
+ return 'already-applied';
523
+ }
524
+ case 'addConstraint': {
525
+ const constraint = action.constraint;
526
+ // Named: presence of the name is the whole check — see the NOTE on
527
+ // decideAddColumn for why no definition comparison is attempted.
528
+ if (constraint.name) {
529
+ return namedConstraintExists(local, constraint.name) ? 'already-applied' : 'execute';
530
+ }
531
+ // Unnamed UNIQUE: an equivalent UNIQUE over the same column set converges.
532
+ if (constraint.type === 'unique' && constraint.columns) {
533
+ return equivalentUniqueExists(local, constraint.columns.map(c => c.name)) ? 'already-applied' : 'execute';
534
+ }
535
+ // Unnamed CHECK (or other forms): no identity to compare against — execute.
536
+ // NOTE: two peers that concurrently add the SAME unnamed CHECK therefore end
537
+ // up enforcing it twice (the engine auto-names each install separately), which
538
+ // is semantically harmless — same predicate, evaluated twice. If the duplicate
539
+ // ever matters (per-row cost, or a confusing `table_info`), the identity to
540
+ // compare on is the rendered predicate expression, not the constraint name.
541
+ return 'execute';
542
+ }
543
+ case 'dropConstraint':
544
+ return namedConstraintExists(local, action.name) ? 'execute' : 'already-applied';
545
+ case 'renameConstraint': {
546
+ if (namedConstraintExists(local, action.oldName))
547
+ return 'execute';
548
+ if (namedConstraintExists(local, action.newName))
549
+ return 'already-applied';
550
+ console.warn(`[Sync] Remote ${change.type} for ${change.schema}.${change.table}: neither constraint `
551
+ + `'${action.oldName}' nor '${action.newName}' exists locally — converging without applying`);
552
+ return 'already-applied';
553
+ }
554
+ case 'alterColumn': {
555
+ const col = localColumn(local, action.columnName);
556
+ if (!col) {
557
+ // Most-destructive-wins (docs/sync-schema.md § Conflict Resolution): a
558
+ // concurrent local DROP COLUMN beats the alteration, so converge.
559
+ console.warn(`[Sync] Remote ${change.type} for ${change.schema}.${change.table}: column `
560
+ + `'${action.columnName}' does not exist locally — converging without applying: ${change.ddl}`);
561
+ return 'already-applied';
562
+ }
563
+ if (action.setDataType !== undefined) {
564
+ return inferType(action.setDataType).name === col.logicalType.name ? 'already-applied' : 'execute';
565
+ }
566
+ if (action.setNotNull !== undefined) {
567
+ // A `set not null` executes against the rows this peer currently holds, and
568
+ // schema changes are applied ahead of the same batch's data facts — so the
569
+ // very batch that fills the NULLs fails its own DDL and only succeeds on the
570
+ // next sync round. Whole class (tightening DDL vs. the data that satisfies
571
+ // it); tracked as `bug-sync-tightening-ddl-applied-before-its-data`.
572
+ return col.notNull === action.setNotNull ? 'already-applied' : 'execute';
573
+ }
574
+ if (action.setDefault !== undefined) {
575
+ if (action.setDefault === null) {
576
+ return col.defaultValue === null ? 'already-applied' : 'execute';
577
+ }
578
+ return col.defaultValue !== null
579
+ && expressionToString(col.defaultValue) === expressionToString(action.setDefault)
580
+ ? 'already-applied' : 'execute';
581
+ }
582
+ if (action.setCollation !== undefined) {
583
+ return col.collation.toLowerCase() === action.setCollation.toLowerCase() ? 'already-applied' : 'execute';
584
+ }
585
+ return 'execute';
586
+ }
587
+ case 'alterPrimaryKey': {
588
+ // NOTE: replicating a PK change re-keys the table on EVERY peer, and sync's
589
+ // cv:/tb:/cl: metadata is filed under the row's old pk identity — so conflict
590
+ // resolution for existing rows silently restarts from empty. Pre-existing for
591
+ // a local PK change; tracked as
592
+ // `bug-sync-rename-and-pk-change-strand-crdt-metadata` (tickets/backlog).
593
+ const wanted = action.columns;
594
+ const current = local.primaryKeyDefinition;
595
+ const same = wanted.length === current.length && wanted.every((w, i) => {
596
+ const def = current[i];
597
+ const col = local.columns[def.index];
598
+ return col.name.toLowerCase() === w.name.toLowerCase()
599
+ && (def.desc === true) === (w.direction === 'desc');
600
+ });
601
+ return same ? 'already-applied' : 'execute';
602
+ }
603
+ default:
604
+ return 'execute';
605
+ }
606
+ }
607
+ /** Position of the local column named `name`, or undefined. */
608
+ function localColumnIndex(table, name) {
609
+ return table.columnIndexMap.get(name.toLowerCase());
610
+ }
611
+ /** The local column named `name`, or undefined. */
612
+ function localColumn(table, name) {
613
+ const idx = localColumnIndex(table, name);
614
+ return idx === undefined ? undefined : table.columns[idx];
615
+ }
616
+ /**
617
+ * ADD COLUMN idempotency: absent ⇒ execute; present with the same LOGICAL TYPE ⇒
618
+ * converged; present with a different type ⇒ conflict.
619
+ *
620
+ * NOTE: only the logical type is compared, deliberately. A type difference is the
621
+ * dangerous divergence — two peers would interpret the same rows under different
622
+ * shapes, exactly what the create_table arm refuses to paper over. Anything
623
+ * richer would compare an AST column definition (rendered from the origin's
624
+ * statement) against a ColumnSchema (rendered from the receiver's catalog), and
625
+ * those do not round-trip: an unnamed inline CHECK is auto-named `_check_<col>`
626
+ * on the way into the catalog, session `default_column_nullability` decides
627
+ * whether `not null` is even spelled, and so on. A false conflict permanently
628
+ * blocks the peer — strictly worse than converging on a constraint-level
629
+ * difference. So constraint-level drift between two same-named, same-typed
630
+ * columns converges silently; if that ever bites, the fix is to compare parsed
631
+ * schemas, not rendered text.
632
+ */
633
+ function decideAddColumn(local, column, change) {
634
+ const existing = localColumn(local, column.name);
635
+ if (!existing)
636
+ return 'execute';
637
+ const wanted = inferType(column.dataType);
638
+ if (wanted.name === existing.logicalType.name)
639
+ return 'already-applied';
640
+ throw new Error(`Schema conflict applying remote ${change.type} for ${change.schema}.${change.table}: ` +
641
+ `column '${column.name}' already exists with type ${existing.logicalType.name}, ` +
642
+ `but the remote alteration adds it as ${wanted.name}.\n` +
643
+ ` remote: ${change.ddl}`);
644
+ }
645
+ /**
646
+ * True when the table already has a UNIQUE constraint over exactly this column
647
+ * set (order-insensitive — `unique (a, b)` and `unique (b, a)` enforce the same
648
+ * predicate). A column name the local table lacks ⇒ false, and the exec surfaces
649
+ * the engine's own error.
650
+ *
651
+ * PARTIAL constraints do not count. A table-level `unique (a)` is unconditional,
652
+ * while a `predicate`-carrying constraint (only ever synthesized from a
653
+ * `create unique index … where …`) enforces over a subset of the rows — treating
654
+ * it as equivalent would converge the peer onto WEAKER enforcement than the
655
+ * alteration asked for, and duplicate-but-outside-the-predicate rows would then
656
+ * replicate here and be rejected on the origin.
657
+ */
658
+ function equivalentUniqueExists(table, columnNames) {
659
+ const wanted = [];
660
+ for (const name of columnNames) {
661
+ const idx = localColumnIndex(table, name);
662
+ if (idx === undefined)
663
+ return false;
664
+ wanted.push(idx);
424
665
  }
666
+ const wantedKey = sortedIndexKey(wanted);
667
+ return (table.uniqueConstraints ?? []).some(uc => uc.predicate === undefined && sortedIndexKey(uc.columns) === wantedKey);
668
+ }
669
+ /** Order-insensitive identity of a column-index set. */
670
+ function sortedIndexKey(columns) {
671
+ return [...columns].sort((a, b) => a - b).join(',');
425
672
  }
426
673
  /**
427
674
  * Apply one schema change (DDL) to the database, idempotently.
428
675
  */
429
676
  async function applySchemaChange(db, events, change, _options) {
430
- // A blank `ddl` still reaches here: the four object-lifecycle migrations
431
- // (create/drop table, add/drop index) now carry canonical text, but the
432
- // `*_column` migrations do not, and a peer on an older build still sends blank
433
- // drop/index migrations. Such a migration runs nothing, so it also EMITS
434
- // nothing — registering a remote-event expectation for it would leave that
435
- // expectation pending forever (the emitter refcounts expectations and never
436
- // expires them), and the next genuine LOCAL DDL of the same signature would be
437
- // consumed by it, marked remote, and dropped from the SyncManager's local-fact
438
- // capture — silently never replicated.
677
+ // A blank `ddl` can still reach here from a peer on an older build (blank
678
+ // drop/index/alter migrations). Such a migration runs nothing; skip it before
679
+ // deciding anything (an empty string is not a parseable statement).
439
680
  if (change.ddl.trim() === '') {
440
681
  // Deliberately NOT scoped to `alter_column`, unlike the origin-side warning in
441
682
  // `recordSchemaMigration` (sync-manager-impl.ts): a peer on an older build can
@@ -450,41 +691,33 @@ async function applySchemaChange(db, events, change, _options) {
450
691
  + `not applied; this peer's schema is unchanged`);
451
692
  return;
452
693
  }
453
- // Decide BEFORE registering the remote-event expectation, for the same reason:
454
- // an expectation for DDL that is then not executed would linger and mis-mark a
455
- // later genuine LOCAL DDL of the same signature as remote.
456
694
  if (decideSchemaChange(db, change) === 'already-applied') {
457
695
  console.debug(`[Sync] Remote ${change.type} for ${change.schema}.${change.table} already applied locally — converging without re-executing DDL`);
458
696
  return;
459
697
  }
460
- const { type: eventType, objectType } = schemaEventSignature(change.type);
461
- // Register this as an expected remote event BEFORE executing DDL.
462
- // When the module emits the event, it will be automatically marked as
463
- // remote, so SyncManager won't re-record it.
464
- // This approach avoids race conditions with concurrent local DDL.
465
- events.expectRemoteSchemaEvent({
466
- type: eventType,
467
- objectType,
468
- schemaName: change.schema,
469
- objectName: change.table,
470
- });
698
+ // Mark every schema event the replicated DDL emits as remote, so the
699
+ // SyncManager doesn't re-record it as a local change and broadcast it back
700
+ // out. The scope covers zero, one, or several events, and the `finally`
701
+ // releases it whether the exec succeeds or throws — so a statement that emits
702
+ // nothing leaves no residue to swallow the next genuine local DDL. (See
703
+ // `StoreEventEmitter.beginRemoteSchemaScope` for the concurrency tradeoff.)
704
+ //
705
+ // A rename_table scopes BOTH names: the store module's renameTable announces
706
+ // under the NEW name (`change.table`), but scoping the old one too costs
707
+ // nothing and protects against a module that announces under the pre-rename
708
+ // name.
709
+ const scopeNames = change.type === 'rename_table' && change.fromTable !== undefined
710
+ ? [change.table, change.fromTable]
711
+ : [change.table];
712
+ for (const name of scopeNames)
713
+ events.beginRemoteSchemaScope(change.schema, name);
471
714
  try {
472
- // Execute the DDL statement
473
- // The module will emit a schema event, which will be marked as remote
474
715
  await db.exec(change.ddl);
475
716
  }
476
- catch (e) {
477
- // Clear the expectation if DDL failed
478
- events.clearExpectedRemoteSchemaEvent({
479
- type: eventType,
480
- objectType,
481
- schemaName: change.schema,
482
- objectName: change.table,
483
- });
484
- throw e;
717
+ finally {
718
+ for (const name of scopeNames)
719
+ events.endRemoteSchemaScope(change.schema, name);
485
720
  }
486
- // Note: We don't emit a separate event here anymore.
487
- // The module's event is automatically marked as remote.
488
721
  }
489
722
  /**
490
723
  * Collapse one row group's changes into a single ExternalRowOp — the group's NET
@@ -553,8 +786,14 @@ async function mergeColumnUpdates(table, pk, changes, rowDeletedInGroup = false)
553
786
  columnsApplied++;
554
787
  }
555
788
  else {
556
- // Column name not found in schema - this could be a sync bug
557
- console.warn(`[Sync] Column '${colName}' not found in ${tableSchema.schemaName}.${tableSchema.name}. ` +
789
+ // Now that DROP COLUMN and RENAME COLUMN replicate, the ordinary cause is a
790
+ // change-log fact recorded before the alteration reached this peer — the value
791
+ // is correctly discarded. A name that is neither dropped nor renamed still
792
+ // indicates a genuine source/destination mismatch, so this stays a warning.
793
+ // NOTE: one line per unknown column per change. If a wide table's drop ever
794
+ // makes this drown the log, aggregate per (table, column) instead of demoting.
795
+ console.warn(`[Sync] Column '${colName}' not found in ${tableSchema.schemaName}.${tableSchema.name} — ` +
796
+ `discarding its value (expected if a replicated ALTER TABLE dropped or renamed it). ` +
558
797
  `Available columns: ${[...tableSchema.columnIndexMap.keys()].join(', ')}`);
559
798
  }
560
799
  }
@@ -1 +1 @@
1
- {"version":3,"file":"store-adapter.js","sourceRoot":"","sources":["../../../src/sync/store-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store-adapter.js","sourceRoot":"","sources":["../../../src/sync/store-adapter.ts"],"names":[],"mappings":"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"}
@@ -424,6 +424,8 @@ export declare class SyncManagerImpl implements SyncManager, SyncContext {
424
424
  getSnapshotStream(chunkSize?: number): AsyncIterable<SnapshotChunk>;
425
425
  applySnapshotStream(chunks: AsyncIterable<SnapshotChunk>, onProgress?: (progress: SnapshotProgress) => void): Promise<void>;
426
426
  getSnapshotCheckpoint(snapshotId: string): Promise<SnapshotCheckpoint | undefined>;
427
+ listSnapshotCheckpoints(): Promise<SnapshotCheckpoint[]>;
428
+ clearSnapshotCheckpoint(snapshotId: string): Promise<void>;
427
429
  resumeSnapshotStream(checkpoint: SnapshotCheckpoint): AsyncIterable<SnapshotChunk>;
428
430
  }
429
431
  //# sourceMappingURL=sync-manager-impl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync-manager-impl.d.ts","sourceRoot":"","sources":["../../../src/sync/sync-manager-impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-manager-impl.d.ts","sourceRoot":"","sources":["../../../src/sync/sync-manager-impl.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ import { StagedTransactionMetadata } from './staged-transaction-metadata.js';
22
22
  import { applyChanges as applyChangesImpl, drainHeldChanges as drainHeldChangesImpl, drainReappearedTables } from './change-applicator.js';
23
23
  import { buildTransactionChangeSets } from './change-grouping.js';
24
24
  import { getSnapshot as getSnapshotImpl, applySnapshot as applySnapshotImpl } from './snapshot.js';
25
- import { getSnapshotStream as getSnapshotStreamImpl, applySnapshotStream as applySnapshotStreamImpl, getSnapshotCheckpoint as getSnapshotCheckpointImpl, resumeSnapshotStream as resumeSnapshotStreamImpl, } from './snapshot-stream.js';
25
+ import { getSnapshotStream as getSnapshotStreamImpl, applySnapshotStream as applySnapshotStreamImpl, getSnapshotCheckpoint as getSnapshotCheckpointImpl, listSnapshotCheckpoints as listSnapshotCheckpointsImpl, clearSnapshotCheckpoint as clearSnapshotCheckpointImpl, resumeSnapshotStream as resumeSnapshotStreamImpl, } from './snapshot-stream.js';
26
26
  /**
27
27
  * Guard a transaction's running `opSeq` against the uint32 bound. `opSeq` is
28
28
  * serialized as a big-endian uint32 in the HLC comparison key, so a fact count
@@ -36,14 +36,22 @@ export function assertOpSeqInRange(opSeq) {
36
36
  }
37
37
  }
38
38
  /**
39
- * Map an engine schema-change event `(objectType, type)` to the sync
40
- * {@link SchemaMigrationType} it records, or `undefined` when the combination is
41
- * not tracked for replication (e.g. column-level or view/trigger objects, or an
42
- * `alter` on an index). A `'table' alter` is recorded as `alter_column` — the
43
- * coarse "table definition changed" migration the schema-sync layer replays.
39
+ * Map an engine schema-change event to the sync {@link SchemaMigrationType} it
40
+ * records, or `undefined` when the combination is not tracked for replication
41
+ * (e.g. column-level or view/trigger objects, or an `alter` on an index). Takes
42
+ * the whole event rather than `(objectType, type)` because a rename is only
43
+ * distinguishable by `oldObjectName`, which exactly the three RENAME TO emit sites
44
+ * set — `StoreModuleRename.renameTable`, the memory module's `renameTable`, and the
45
+ * engine's own `runRenameTable` tail (for a module with no emitter of its own). All
46
+ * three put the NEW name in `objectName`. Every other `'table' alter` is recorded as
47
+ * `alter_column` — the coarse "table definition changed" migration the schema-sync
48
+ * layer replays.
44
49
  */
45
- function mapSchemaMigrationType(objectType, type) {
50
+ function mapSchemaMigrationType(event) {
51
+ const { objectType, type } = event;
46
52
  if (objectType === 'table') {
53
+ if (type === 'alter' && event.oldObjectName !== undefined)
54
+ return 'rename_table';
47
55
  switch (type) {
48
56
  case 'create': return 'create_table';
49
57
  case 'drop': return 'drop_table';
@@ -694,18 +702,18 @@ export class SyncManagerImpl {
694
702
  * running per-table schema version across this transaction's migrations.
695
703
  */
696
704
  async recordSchemaMigration(batch, event, nextHlc, versionCounters) {
697
- const migrationType = mapSchemaMigrationType(event.objectType, event.type);
705
+ const migrationType = mapSchemaMigrationType(event);
698
706
  if (!migrationType)
699
707
  return;
700
708
  const { schemaName, objectName, ddl } = event;
701
- // `alter_column` is the only tracked type that legitimately reaches here with
702
- // no DDL — create/drop table and add/drop index all carry canonical text (see
703
- // the store module's emit sites). The migration below still records and still
704
- // advances the schema version (destructiveness comparison depends on it), but
705
- // nothing here reaches a peer, so a device that alters a table stays silently
706
- // diverged unless an operator sees this.
707
- // See tickets/backlog/feat-sync-replicate-alter-table.md.
708
- if (migrationType === 'alter_column' && !ddl?.trim()) {
709
+ // Every tracked type now carries canonical DDL — ALTER TABLE events included
710
+ // (the engine renders the statement's schema-qualified SQL at plan-build and the
711
+ // store module puts it on the event; see SchemaChangeInfo.ddl). A blank
712
+ // `alter_column`/`rename_table` can therefore only come from an older event
713
+ // producer; the migration below still records and still advances the schema
714
+ // version (destructiveness comparison depends on it), but a blank one reaches a
715
+ // peer as an empty statement, so it is still worth an operator hearing about.
716
+ if ((migrationType === 'alter_column' || migrationType === 'rename_table') && !ddl?.trim()) {
709
717
  console.warn(`[Sync] ${schemaName}.${objectName}: recording an ${migrationType} migration with no DDL — `
710
718
  + `this table alteration will NOT reach other synced devices`);
711
719
  }
@@ -726,8 +734,16 @@ export class SyncManagerImpl {
726
734
  }
727
735
  version += 1;
728
736
  versionCounters.set(counterKey, version);
737
+ // A rename files under the NEW name (`objectName`) with the old one in
738
+ // `fromTable`, so later alterations of the renamed table share one contiguous
739
+ // version stream where the table actually lives. The rename may start a fresh
740
+ // counter under the new name (version 1 if nothing was ever named that) —
741
+ // harmless, the same thing happens when a dropped name is reused.
729
742
  this.schemaMigrations.recordMigrationBatch(batch, schemaName, kind, objectName, {
730
743
  type: migrationType,
744
+ ...(migrationType === 'rename_table' && event.oldObjectName !== undefined
745
+ ? { fromTable: event.oldObjectName }
746
+ : {}),
731
747
  ddl: ddl || '',
732
748
  hlc: nextHlc(),
733
749
  schemaVersion: version,
@@ -1283,6 +1299,12 @@ export class SyncManagerImpl {
1283
1299
  async getSnapshotCheckpoint(snapshotId) {
1284
1300
  return getSnapshotCheckpointImpl(this, snapshotId);
1285
1301
  }
1302
+ async listSnapshotCheckpoints() {
1303
+ return listSnapshotCheckpointsImpl(this);
1304
+ }
1305
+ async clearSnapshotCheckpoint(snapshotId) {
1306
+ return clearSnapshotCheckpointImpl(this, snapshotId);
1307
+ }
1286
1308
  async *resumeSnapshotStream(checkpoint) {
1287
1309
  yield* resumeSnapshotStreamImpl(this, checkpoint);
1288
1310
  }