@quereus/sync 4.4.1 → 4.6.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 (52) hide show
  1. package/README.md +2 -2
  2. package/dist/src/index.d.ts +1 -1
  3. package/dist/src/index.d.ts.map +1 -1
  4. package/dist/src/index.js +1 -1
  5. package/dist/src/index.js.map +1 -1
  6. package/dist/src/metadata/column-version.d.ts.map +1 -1
  7. package/dist/src/metadata/column-version.js +8 -9
  8. package/dist/src/metadata/column-version.js.map +1 -1
  9. package/dist/src/metadata/keys.d.ts +71 -39
  10. package/dist/src/metadata/keys.d.ts.map +1 -1
  11. package/dist/src/metadata/keys.js +181 -158
  12. package/dist/src/metadata/keys.js.map +1 -1
  13. package/dist/src/metadata/pk-identity.d.ts +19 -14
  14. package/dist/src/metadata/pk-identity.d.ts.map +1 -1
  15. package/dist/src/metadata/pk-identity.js +21 -28
  16. package/dist/src/metadata/pk-identity.js.map +1 -1
  17. package/dist/src/metadata/schema-migration.d.ts +25 -9
  18. package/dist/src/metadata/schema-migration.d.ts.map +1 -1
  19. package/dist/src/metadata/schema-migration.js +49 -15
  20. package/dist/src/metadata/schema-migration.js.map +1 -1
  21. package/dist/src/sync/change-applicator.d.ts +19 -3
  22. package/dist/src/sync/change-applicator.d.ts.map +1 -1
  23. package/dist/src/sync/change-applicator.js +194 -60
  24. package/dist/src/sync/change-applicator.js.map +1 -1
  25. package/dist/src/sync/maintenance.d.ts +8 -5
  26. package/dist/src/sync/maintenance.d.ts.map +1 -1
  27. package/dist/src/sync/maintenance.js +7 -4
  28. package/dist/src/sync/maintenance.js.map +1 -1
  29. package/dist/src/sync/manager.d.ts +23 -1
  30. package/dist/src/sync/manager.d.ts.map +1 -1
  31. package/dist/src/sync/protocol.d.ts +30 -1
  32. package/dist/src/sync/protocol.d.ts.map +1 -1
  33. package/dist/src/sync/protocol.js +38 -0
  34. package/dist/src/sync/protocol.js.map +1 -1
  35. package/dist/src/sync/snapshot-identity.d.ts.map +1 -1
  36. package/dist/src/sync/snapshot-identity.js +1 -9
  37. package/dist/src/sync/snapshot-identity.js.map +1 -1
  38. package/dist/src/sync/snapshot-stream.d.ts.map +1 -1
  39. package/dist/src/sync/snapshot-stream.js +41 -39
  40. package/dist/src/sync/snapshot-stream.js.map +1 -1
  41. package/dist/src/sync/snapshot.d.ts.map +1 -1
  42. package/dist/src/sync/snapshot.js +12 -30
  43. package/dist/src/sync/snapshot.js.map +1 -1
  44. package/dist/src/sync/store-adapter.d.ts +5 -4
  45. package/dist/src/sync/store-adapter.d.ts.map +1 -1
  46. package/dist/src/sync/store-adapter.js +27 -46
  47. package/dist/src/sync/store-adapter.js.map +1 -1
  48. package/dist/src/sync/sync-manager-impl.d.ts +35 -4
  49. package/dist/src/sync/sync-manager-impl.d.ts.map +1 -1
  50. package/dist/src/sync/sync-manager-impl.js +72 -40
  51. package/dist/src/sync/sync-manager-impl.js.map +1 -1
  52. package/package.json +7 -7
@@ -40,7 +40,13 @@ export interface SyncManager {
40
40
  * Changes are applied atomically per transaction.
41
41
  * Conflicts are resolved using column-level LWW.
42
42
  *
43
- * @param changes - Change sets received from a peer
43
+ * **Order-independent**: `changes` may be in any order and produces the same
44
+ * committed state as the HLC-ordered array — every ordering decision (which write
45
+ * survives, which DDL runs first, what the table row becomes) is made from the
46
+ * facts' HLCs, not from their position in the array. Callers assembling a batch
47
+ * from several senders, or passing one through an approval hook, need not sort it.
48
+ *
49
+ * @param changes - Change sets received from a peer, in any order
44
50
  * @returns Statistics about what was applied
45
51
  */
46
52
  applyChanges(changes: ChangeSet[]): Promise<ApplyResult>;
@@ -117,6 +123,22 @@ export interface SyncManager {
117
123
  * {@link pruneTombstones}. Returns the number of entries pruned.
118
124
  */
119
125
  pruneQuarantine(): Promise<number>;
126
+ /**
127
+ * Repair pass over the change log: delete every entry whose target record is
128
+ * already gone. Forward cleanup (`deleteRowVersionsAndLogEntries` / the change-log
129
+ * deletion in {@link pruneTombstones}) only stops *new* orphans — an entry whose
130
+ * record died before that cleanup existed is orphaned forever unless something
131
+ * scans the log itself. Nothing is incorrect while orphans remain (a resolved-to-
132
+ * `null` entry already produces no output), so this is a storage/scan-cost cleanup,
133
+ * safe to run at any time with no peer coordination.
134
+ *
135
+ * Host-driven — call from the same periodic maintenance path as
136
+ * {@link pruneTombstones} / {@link pruneQuarantine} / {@link evictExpiredBasisTables};
137
+ * the library adds no timer. Idempotent and cheap on a replica with nothing to
138
+ * repair: every entry resolves and none are deleted. Returns the number of
139
+ * entries removed.
140
+ */
141
+ repairChangeLog(): Promise<number>;
120
142
  /**
121
143
  * Replay held out-of-basis changes (`quarantine` + forwardable `store-and-forward`
122
144
  * entries) into tables that have since reappeared in the local basis — the revival
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/sync/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/sync/manager.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  * and send via WebSocket, HTTP, WebRTC, or any other transport.
7
7
  */
8
8
  import type { AssertionViolation, Row, SqlValue } from '@quereus/quereus';
9
- import type { HLC } from '../clock/hlc.js';
9
+ import { type HLC } from '../clock/hlc.js';
10
10
  import type { SiteId } from '../clock/site.js';
11
11
  /**
12
12
  * A single column modification within a row.
@@ -58,6 +58,22 @@ export type Change = ColumnChange | RowDeletion;
58
58
  * Types of schema migrations.
59
59
  */
60
60
  export type SchemaMigrationType = 'create_table' | 'drop_table' | 'add_column' | 'drop_column' | 'add_index' | 'drop_index' | 'alter_column';
61
+ /**
62
+ * The kind of schema object a migration names.
63
+ *
64
+ * A migration's object name means different things per type — for an index
65
+ * migration it is the INDEX name, for every other type it is the TABLE name — so
66
+ * the kind is what keeps a table and a same-named index in separate migration
67
+ * streams (see {@link migrationObjectKind} and the `sm:` key layout in
68
+ * `metadata/keys.ts`).
69
+ */
70
+ export type SchemaObjectKind = 'table' | 'index';
71
+ /**
72
+ * The object kind a migration type names. Derived, never carried on the wire:
73
+ * `SchemaMigration.type` already travels, so both ends compute the same kind and
74
+ * cannot disagree.
75
+ */
76
+ export declare function migrationObjectKind(type: SchemaMigrationType): SchemaObjectKind;
61
77
  /**
62
78
  * A schema migration record.
63
79
  */
@@ -69,6 +85,17 @@ export interface SchemaMigration {
69
85
  readonly hlc: HLC;
70
86
  readonly schemaVersion: number;
71
87
  }
88
+ /**
89
+ * Order migrations causally — ascending HLC, stable, so migrations that cannot be
90
+ * distinguished by HLC keep arrival order.
91
+ *
92
+ * Every consumer replays DDL as a plain array in list order, and migrations are
93
+ * order-dependent across objects as well as within one: `create index` fails
94
+ * outright if its table's `create table` has not run. Neither the `sm:` key order
95
+ * (schema, then object kind, then name — every index before every table) nor
96
+ * changeset arrival order is causal, so both snapshot and delta paths sort here.
97
+ */
98
+ export declare function sortMigrationsByHLC(migrations: readonly SchemaMigration[]): SchemaMigration[];
72
99
  /**
73
100
  * Exactly one source transaction's worth of changes.
74
101
  *
@@ -369,6 +396,8 @@ export interface SchemaChangeToApply {
369
396
  /** The DDL statement to execute. */
370
397
  readonly ddl: string;
371
398
  }
399
+ /** Narrow a migration to the fields the store adapter replays. */
400
+ export declare function toSchemaChange(migration: SchemaMigration): SchemaChangeToApply;
372
401
  /**
373
402
  * Result of applying changes to the store.
374
403
  */
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../src/sync/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../../src/sync/protocol.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,35 @@
5
5
  * Applications can serialize these to JSON, MessagePack, protobuf, etc.
6
6
  * and send via WebSocket, HTTP, WebRTC, or any other transport.
7
7
  */
8
+ import { compareHLC } from '../clock/hlc.js';
9
+ /**
10
+ * The object kind a migration type names. Derived, never carried on the wire:
11
+ * `SchemaMigration.type` already travels, so both ends compute the same kind and
12
+ * cannot disagree.
13
+ */
14
+ export function migrationObjectKind(type) {
15
+ switch (type) {
16
+ case 'add_index':
17
+ case 'drop_index':
18
+ return 'index';
19
+ // create/drop table and the three column-level types all name a TABLE.
20
+ default:
21
+ return 'table';
22
+ }
23
+ }
24
+ /**
25
+ * Order migrations causally — ascending HLC, stable, so migrations that cannot be
26
+ * distinguished by HLC keep arrival order.
27
+ *
28
+ * Every consumer replays DDL as a plain array in list order, and migrations are
29
+ * order-dependent across objects as well as within one: `create index` fails
30
+ * outright if its table's `create table` has not run. Neither the `sm:` key order
31
+ * (schema, then object kind, then name — every index before every table) nor
32
+ * changeset arrival order is causal, so both snapshot and delta paths sort here.
33
+ */
34
+ export function sortMigrationsByHLC(migrations) {
35
+ return [...migrations].sort((a, b) => compareHLC(a.hlc, b.hlc));
36
+ }
8
37
  /**
9
38
  * Snapshot wire-format version, stamped into both snapshot forms (the streaming
10
39
  * header chunk and the non-streaming `Snapshot`). Both apply paths REFUSE a
@@ -20,6 +49,15 @@
20
49
  * derives its own (see docs/sync.md § Row identity vs. address).
21
50
  */
22
51
  export const SNAPSHOT_WIRE_FORMAT_VERSION = 1;
52
+ /** Narrow a migration to the fields the store adapter replays. */
53
+ export function toSchemaChange(migration) {
54
+ return {
55
+ type: migration.type,
56
+ schema: migration.schema,
57
+ table: migration.table,
58
+ ddl: migration.ddl,
59
+ };
60
+ }
23
61
  /**
24
62
  * Default sync configuration.
25
63
  */
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/sync/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA6JH;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AA0f9C;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,kBAAkB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAG,UAAU;IACzD,iBAAiB,EAAE,KAAK;IACxB,SAAS,EAAE,IAAI;IACf,uBAAuB,EAAE,YAAY;IACrC,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAClC,eAAe,EAAE,IAAI;CACtB,CAAC"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/sync/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAY,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAmFvD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAyB;IAC5D,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,WAAW,CAAC;QACjB,KAAK,YAAY;YAChB,OAAO,OAAO,CAAC;QAChB,uEAAuE;QACvE;YACC,OAAO,OAAO,CAAC;IACjB,CAAC;AACF,CAAC;AAcD;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAsC;IACzE,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACjE,CAAC;AAwED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAwQ9C,kEAAkE;AAClE,MAAM,UAAU,cAAc,CAAC,SAA0B;IACxD,OAAO;QACN,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,GAAG,EAAE,SAAS,CAAC,GAAG;KAClB,CAAC;AACH,CAAC;AAoPD;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,kBAAkB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAG,UAAU;IACzD,iBAAiB,EAAE,KAAK;IACxB,SAAS,EAAE,IAAI;IACf,uBAAuB,EAAE,YAAY;IACrC,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;IAClC,eAAe,EAAE,IAAI;CACtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-identity.d.ts","sourceRoot":"","sources":["../../../src/sync/snapshot-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAc,KAAK,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAoB,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,6EAA6E;AAC7E,MAAM,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,QAAQ,CAAC;AAEjF;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC7B,EAAE,EAAE,QAAQ,EAAE,CAAC;IACf,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAC;CAClD;AAWD;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,WAAW,GAAG,sBAAsB,CAgBrF;AAED,yEAAyE;AACzE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzF;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC5B,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAChC,KAAK,EAAE,kBAAkB,EACzB,MAAM,EAAE,QAAQ,GACd,IAAI,CAeN;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;CAAE,EACzD,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EACvB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,CAAC,GACV,IAAI,CAKN"}
1
+ {"version":3,"file":"snapshot-identity.d.ts","sourceRoot":"","sources":["../../../src/sync/snapshot-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAc,KAAK,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAkC,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,6EAA6E;AAC7E,MAAM,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,QAAQ,CAAC;AAEjF;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC7B,EAAE,EAAE,QAAQ,EAAE,CAAC;IACf,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,QAAQ,CAAA;KAAE,CAAC,CAAC;CAClD;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,WAAW,GAAG,sBAAsB,CAgBrF;AAED,yEAAyE;AACzE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzF;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC5B,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAChC,KAAK,EAAE,kBAAkB,EACzB,MAAM,EAAE,QAAQ,GACd,IAAI,CAeN;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;CAAE,EACzD,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EACvB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,CAAC,GACV,IAAI,CAKN"}
@@ -10,16 +10,8 @@
10
10
  * See docs/sync.md § Row identity vs. address.
11
11
  */
12
12
  import { compareHLC } from '../clock/hlc.js';
13
- import { encodePkIdentity } from '../metadata/keys.js';
13
+ import { encodePkIdentity, joinKeyParts } from '../metadata/keys.js';
14
14
  import { toError } from './sync-context.js';
15
- /**
16
- * Length-prefixed join of components that may each contain any character (a
17
- * quoted SQL identifier, an arbitrary pk identity), so no separator choice can
18
- * let two distinct triples collide.
19
- */
20
- function joinKeyParts(...parts) {
21
- return parts.map(part => `${part.length}:${part}`).join('');
22
- }
23
15
  /**
24
16
  * Memoized per-`(schema, table)` keying lookup for one snapshot apply.
25
17
  *
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-identity.js","sourceRoot":"","sources":["../../../src/sync/snapshot-identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot-identity.js","sourceRoot":"","sources":["../../../src/sync/snapshot-identity.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-stream.d.ts","sourceRoot":"","sources":["../../../src/sync/snapshot-stream.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqBH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAEN,KAAK,aAAa,EAClB,KAAK,gBAAgB,EAWrB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAgBrD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,MAAM,CAAC;AAwNnC;;GAEG;AACH,wBAAuB,iBAAiB,CACvC,GAAG,EAAE,WAAW,EAChB,SAAS,GAAE,MAAoC,GAC7C,aAAa,CAAC,aAAa,CAAC,CAO9B;AAED;;GAEG;AACH,wBAAuB,oBAAoB,CAC1C,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,kBAAkB,GAC5B,aAAa,CAAC,aAAa,CAAC,CAS9B;AAiED;;GAEG;AACH,wBAAsB,mBAAmB,CACxC,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,aAAa,CAAC,aAAa,CAAC,EACpC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,GAC/C,OAAO,CAAC,IAAI,CAAC,CA0Vf;AAcD;;GAEG;AACH,wBAAsB,qBAAqB,CAC1C,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAkBzC"}
1
+ {"version":3,"file":"snapshot-stream.d.ts","sourceRoot":"","sources":["../../../src/sync/snapshot-stream.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAEN,KAAK,aAAa,EAClB,KAAK,gBAAgB,EAcrB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAgBrD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,MAAM,CAAC;AA+MnC;;GAEG;AACH,wBAAuB,iBAAiB,CACvC,GAAG,EAAE,WAAW,EAChB,SAAS,GAAE,MAAoC,GAC7C,aAAa,CAAC,aAAa,CAAC,CAO9B;AAED;;GAEG;AACH,wBAAuB,oBAAoB,CAC1C,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,kBAAkB,GAC5B,aAAa,CAAC,aAAa,CAAC,CAS9B;AAiED;;GAEG;AACH,wBAAsB,mBAAmB,CACxC,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,aAAa,CAAC,aAAa,CAAC,EACpC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,GAC/C,OAAO,CAAC,IAAI,CAAC,CAuWf;AAcD;;GAEG;AACH,wBAAsB,qBAAqB,CAC1C,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,MAAM,GAChB,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAkBzC"}
@@ -7,9 +7,8 @@
7
7
  import { assertWithinDrift } from '../clock/hlc.js';
8
8
  import { deserializeColumnVersion } from '../metadata/column-version.js';
9
9
  import { deserializeTombstone } from '../metadata/tombstones.js';
10
- import { deserializeMigration } from '../metadata/schema-migration.js';
11
- import { buildAllColumnVersionsScanBounds, buildAllTombstonesScanBounds, buildAllSchemaMigrationsScanBounds, buildAllChangeLogScanBounds, buildTableColumnVersionScanBounds, parseColumnVersionKey, parseSchemaMigrationKey, parseTombstoneKey, parseChangeLogKey, encodePkIdentity, } from '../metadata/keys.js';
12
- import { SNAPSHOT_WIRE_FORMAT_VERSION, } from './protocol.js';
10
+ import { buildAllColumnVersionsScanBounds, buildAllTombstonesScanBounds, buildAllChangeLogScanBounds, buildTableColumnVersionScanBounds, parseColumnVersionKey, parseTombstoneKey, parseChangeLogKey, encodePkIdentity, } from '../metadata/keys.js';
11
+ import { SNAPSHOT_WIRE_FORMAT_VERSION, migrationObjectKind, sortMigrationsByHLC, toSchemaChange, } from './protocol.js';
13
12
  import { persistHLCState, toError } from './sync-context.js';
14
13
  import { createSnapshotKeyingResolver, keepMaxHLC, reconcileCell, } from './snapshot-identity.js';
15
14
  import { applyDataToStore } from './admission.js';
@@ -45,11 +44,14 @@ async function* streamSnapshotChunks(ctx, opts) {
45
44
  if (parsed)
46
45
  tableKeys.set(`${parsed.schema}.${parsed.table}`, { schema: parsed.schema, table: parsed.table });
47
46
  }
48
- let migrationCount = 0;
49
- const smBounds = buildAllSchemaMigrationsScanBounds();
50
- for await (const _entry of ctx.kv.iterate(smBounds)) {
51
- migrationCount++;
52
- }
47
+ // Collect migrations up front — the header needs their count anyway, and they must
48
+ // be emitted in causal order rather than `sm:` scan order (see `listAllMigrations`).
49
+ // NOTE: this holds the whole migration set in memory; one record per DDL statement
50
+ // ever run, so it is small next to the row data this same generator streams. If a
51
+ // replica's DDL history ever grows enough to matter, keep an HLC-ordered index over
52
+ // `sm:` and stream from that instead.
53
+ const migrations = await ctx.schemaMigrations.listAllMigrations();
54
+ const migrationCount = migrations.length;
53
55
  // Yield header
54
56
  const header = {
55
57
  type: 'header',
@@ -67,22 +69,8 @@ async function* streamSnapshotChunks(ctx, opts) {
67
69
  // a receiver that does not already have the table, every row in that early flush
68
70
  // fails. DDL-first makes the streaming bootstrap work for tables of any size;
69
71
  // `applySnapshotStream` depends on this order.
70
- for await (const entry of ctx.kv.iterate(smBounds)) {
71
- const parsed = parseSchemaMigrationKey(entry.key);
72
- if (!parsed)
73
- continue;
74
- const migration = deserializeMigration(entry.value);
75
- const migrationChunk = {
76
- type: 'schema-migration',
77
- migration: {
78
- type: migration.type,
79
- schema: parsed.schema,
80
- table: parsed.table,
81
- ddl: migration.ddl,
82
- hlc: migration.hlc,
83
- schemaVersion: migration.schemaVersion,
84
- },
85
- };
72
+ for (const migration of migrations) {
73
+ const migrationChunk = { type: 'schema-migration', migration };
86
74
  yield migrationChunk;
87
75
  }
88
76
  // Stream each table, skipping completed ones
@@ -146,9 +134,11 @@ async function* streamSnapshotChunks(ctx, opts) {
146
134
  // pass), batched by `(schema, table)` into `chunkSize` chunks. A row whose columns
147
135
  // were all deleted has a tombstone but no live column-versions, so its table may be
148
136
  // absent from `tableKeys`; the global pass carries it regardless. The scan is
149
- // key-sorted, so all tombstones for one `(schema, table)` are contiguous (the
150
- // `tb:{schema}.{table}:` prefix + `:` separator guarantee no interleaving) — a fresh
151
- // chunk starts whenever the table changes or the batch fills.
137
+ // key-sorted, so all tombstones for one `(schema, table)` are contiguous: every
138
+ // `tb:` key opens with that pair LENGTH-PREFIXED (`tb:{n}:{schema}{n}:{table}…`),
139
+ // so one table's keys share an exact byte prefix that no other table's key can
140
+ // start with — no interleaving is possible, even between tables named `a` and
141
+ // `a:b`. A fresh chunk starts whenever the table changes or the batch fills.
152
142
  // NOTE: on a RESUMED transfer this re-emits ALL tombstones regardless of the
153
143
  // checkpoint's completed tables (tombstones are not tracked per-table there). The
154
144
  // consumer re-writes them idempotently (same key, same bytes) — a deliberate
@@ -288,9 +278,18 @@ export async function applySnapshotStream(ctx, chunks, onProgress) {
288
278
  let entriesProcessed = 0;
289
279
  let currentTable;
290
280
  const completedTables = [];
281
+ // Tables whose `table-end` arrived but whose trailing rows may still sit in
282
+ // `pendingDataChanges`. They graduate into `completedTables` only once
283
+ // `applyDataToStore` has returned — a checkpoint naming a table whose last rows
284
+ // are still in memory tells the sender to skip that table on resume, and those
285
+ // rows are then never sent, never reconciled, and never reported.
286
+ let stagedCompletedTables = [];
291
287
  // Pending data to apply to store (batched for efficiency)
292
288
  let pendingDataChanges = [];
293
- let pendingSchemaChanges = [];
289
+ // Held as full migrations, not `SchemaChangeToApply`, so the flush can re-order
290
+ // them causally instead of trusting the sender's chunk order — DDL replays in
291
+ // list order and `create index` needs its table's `create table` to have run.
292
+ let pendingSchemaMigrations = [];
294
293
  const flushDataToStore = async () => {
295
294
  // A streamed snapshot is a known-complete wholesale load: each flush is a
296
295
  // bootstrap flush (the adapter skips the engine seam — no per-flush MV
@@ -300,9 +299,12 @@ export async function applySnapshotStream(ctx, chunks, onProgress) {
300
299
  // storage failure emits `status:'error'` and aborts the stream mid-flight,
301
300
  // before the footer emits `status:'synced'` / clears the checkpoint — so the
302
301
  // checkpoint stays in place and the transfer resumes/retries.
303
- await applyDataToStore(ctx, pendingDataChanges, pendingSchemaChanges, { remote: true, bootstrap: true });
302
+ const schemaChanges = sortMigrationsByHLC(pendingSchemaMigrations).map(toSchemaChange);
303
+ await applyDataToStore(ctx, pendingDataChanges, schemaChanges, { remote: true, bootstrap: true });
304
304
  pendingDataChanges = [];
305
- pendingSchemaChanges = [];
305
+ pendingSchemaMigrations = [];
306
+ completedTables.push(...stagedCompletedTables);
307
+ stagedCompletedTables = [];
306
308
  };
307
309
  // Process chunks
308
310
  let batch = ctx.kv.batch();
@@ -320,6 +322,10 @@ export async function applySnapshotStream(ctx, chunks, onProgress) {
320
322
  snapshotId,
321
323
  siteId: ctx.getSiteId(),
322
324
  hlc: snapshotHLC,
325
+ // NOTE: nothing reads these two — resume keys off `completedTables` alone.
326
+ // `tablesProcessed` counts `table-end`s, so it can exceed
327
+ // `completedTables.length` while tables are staged; if a resume path ever
328
+ // starts seeking by index, derive it from `completedTables`, not from here.
323
329
  lastTableIndex: tablesProcessed,
324
330
  lastEntryIndex: entriesProcessed,
325
331
  completedTables: [...completedTables],
@@ -516,20 +522,16 @@ export async function applySnapshotStream(ctx, chunks, onProgress) {
516
522
  }
517
523
  tablesProcessed++;
518
524
  if (currentTable) {
519
- completedTables.push(currentTable);
525
+ stagedCompletedTables.push(currentTable);
520
526
  }
521
527
  break;
522
528
  case 'schema-migration': {
523
529
  const migration = chunk.migration;
524
- pendingSchemaChanges.push({
525
- type: migration.type,
526
- schema: migration.schema,
527
- table: migration.table,
528
- ddl: migration.ddl,
529
- });
530
+ pendingSchemaMigrations.push(migration);
531
+ const kind = migrationObjectKind(migration.type);
530
532
  const schemaVersion = migration.schemaVersion ??
531
- (await ctx.schemaMigrations.getCurrentVersion(migration.schema, migration.table)) + 1;
532
- await ctx.schemaMigrations.recordMigration(migration.schema, migration.table, {
533
+ (await ctx.schemaMigrations.getCurrentVersion(migration.schema, kind, migration.table)) + 1;
534
+ await ctx.schemaMigrations.recordMigration(migration.schema, kind, migration.table, {
533
535
  type: migration.type,
534
536
  ddl: migration.ddl,
535
537
  hlc: migration.hlc,
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot-stream.js","sourceRoot":"","sources":["../../../src/sync/snapshot-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot-stream.js","sourceRoot":"","sources":["../../../src/sync/snapshot-stream.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/sync/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgBH,OAAO,EAEN,KAAK,QAAQ,EAOb,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAWrD;;GAEG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CA6FrE;AAED;;GAEG;AACH,wBAAsB,aAAa,CAClC,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAAC,IAAI,CAAC,CAyLf"}
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/sync/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,OAAO,EAEN,KAAK,QAAQ,EASb,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAWrD;;GAEG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CA6ErE;AAED;;GAEG;AACH,wBAAsB,aAAa,CAClC,GAAG,EAAE,WAAW,EAChB,QAAQ,EAAE,QAAQ,GAChB,OAAO,CAAC,IAAI,CAAC,CAyLf"}
@@ -6,10 +6,9 @@
6
6
  */
7
7
  import { assertWithinDrift, compareHLC } from '../clock/hlc.js';
8
8
  import { deserializeColumnVersion } from '../metadata/column-version.js';
9
- import { deserializeMigration } from '../metadata/schema-migration.js';
10
9
  import { deserializeTombstone } from '../metadata/tombstones.js';
11
- import { buildAllColumnVersionsScanBounds, buildAllTombstonesScanBounds, buildAllSchemaMigrationsScanBounds, buildAllChangeLogScanBounds, parseColumnVersionKey, parseTombstoneKey, parseSchemaMigrationKey, encodePkIdentity, } from '../metadata/keys.js';
12
- import { SNAPSHOT_WIRE_FORMAT_VERSION, } from './protocol.js';
10
+ import { buildAllColumnVersionsScanBounds, buildAllTombstonesScanBounds, buildAllChangeLogScanBounds, parseColumnVersionKey, parseTombstoneKey, encodePkIdentity, } from '../metadata/keys.js';
11
+ import { SNAPSHOT_WIRE_FORMAT_VERSION, migrationObjectKind, sortMigrationsByHLC, toSchemaChange, } from './protocol.js';
13
12
  import { toError } from './sync-context.js';
14
13
  import { createSnapshotKeyingResolver, keepMaxHLC, reconcileCell, tableScopedRowKey, } from './snapshot-identity.js';
15
14
  import { admitGroup } from './admission.js';
@@ -52,23 +51,7 @@ export async function getSnapshot(ctx) {
52
51
  }
53
52
  tables.push({ schema, table, columnVersions });
54
53
  }
55
- // Collect all schema migrations
56
- const schemaMigrations = [];
57
- const smBounds = buildAllSchemaMigrationsScanBounds();
58
- for await (const entry of ctx.kv.iterate(smBounds)) {
59
- const parsed = parseSchemaMigrationKey(entry.key);
60
- if (!parsed)
61
- continue;
62
- const migration = deserializeMigration(entry.value);
63
- schemaMigrations.push({
64
- type: migration.type,
65
- schema: parsed.schema,
66
- table: parsed.table,
67
- ddl: migration.ddl,
68
- hlc: migration.hlc,
69
- schemaVersion: migration.schemaVersion,
70
- });
71
- }
54
+ const schemaMigrations = await ctx.schemaMigrations.listAllMigrations();
72
55
  // Collect all tombstones — a GLOBAL pass (not keyed off `tables`), mirroring the
73
56
  // streaming producer: a fully-deleted row has a tombstone but no live
74
57
  // column-versions, so its `(schema, table)` may be absent from `tables`. The
@@ -125,13 +108,11 @@ export async function applySnapshot(ctx, snapshot) {
125
108
  // PHASE 1: Build data changes from snapshot
126
109
  const dataChangesToApply = [];
127
110
  const schemaChangesToApply = [];
128
- for (const migration of snapshot.schemaMigrations) {
129
- schemaChangesToApply.push({
130
- type: migration.type,
131
- schema: migration.schema,
132
- table: migration.table,
133
- ddl: migration.ddl,
134
- });
111
+ // Re-order rather than trust the sender's list order: DDL replays in list order
112
+ // and `create index` needs its table's `create table` to have run first.
113
+ const orderedMigrations = sortMigrationsByHLC(snapshot.schemaMigrations);
114
+ for (const migration of orderedMigrations) {
115
+ schemaChangesToApply.push(toSchemaChange(migration));
135
116
  }
136
117
  for (const tableSnapshot of snapshot.tables) {
137
118
  // No local keying is resolvable yet — the table may only exist once this
@@ -211,10 +192,11 @@ export async function applySnapshot(ctx, snapshot) {
211
192
  }
212
193
  }
213
194
  // Record schema migrations
214
- for (const migration of snapshot.schemaMigrations) {
195
+ for (const migration of orderedMigrations) {
196
+ const kind = migrationObjectKind(migration.type);
215
197
  const schemaVersion = migration.schemaVersion ??
216
- (await ctx.schemaMigrations.getCurrentVersion(migration.schema, migration.table)) + 1;
217
- await ctx.schemaMigrations.recordMigration(migration.schema, migration.table, {
198
+ (await ctx.schemaMigrations.getCurrentVersion(migration.schema, kind, migration.table)) + 1;
199
+ await ctx.schemaMigrations.recordMigration(migration.schema, kind, migration.table, {
218
200
  type: migration.type,
219
201
  ddl: migration.ddl,
220
202
  hlc: migration.hlc,
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/sync/snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/sync/snapshot.ts"],"names":[],"mappings":"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"}