@rocicorp/zero 0.11.2025011802 → 0.11.2025012400

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 (150) hide show
  1. package/out/{chunk-3JROCHFI.js → chunk-N57WXYAL.js} +316 -263
  2. package/out/chunk-N57WXYAL.js.map +7 -0
  3. package/out/datadog/src/datadog-log-sink.d.ts.map +1 -1
  4. package/out/react.js +37 -10
  5. package/out/react.js.map +2 -2
  6. package/out/replicache/src/replicache-impl.d.ts.map +1 -1
  7. package/out/replicache/src/sync/pull.d.ts.map +1 -1
  8. package/out/replicache/src/sync/request-id.d.ts.map +1 -1
  9. package/out/shared/src/custom-key-set.d.ts +25 -0
  10. package/out/shared/src/custom-key-set.d.ts.map +1 -0
  11. package/out/shared/src/custom-key-set.js +58 -0
  12. package/out/shared/src/custom-key-set.js.map +1 -0
  13. package/out/solid.js +1 -1
  14. package/out/zero/src/zero-cache-dev.d.ts.map +1 -1
  15. package/out/zero/src/zero-cache-dev.js +10 -0
  16. package/out/zero/src/zero-cache-dev.js.map +1 -1
  17. package/out/zero-cache/src/auth/write-authorizer.d.ts.map +1 -1
  18. package/out/zero-cache/src/auth/write-authorizer.js +1 -1
  19. package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
  20. package/out/zero-cache/src/db/create.js +1 -1
  21. package/out/zero-cache/src/db/create.js.map +1 -1
  22. package/out/zero-cache/src/db/lite-tables.d.ts.map +1 -1
  23. package/out/zero-cache/src/db/lite-tables.js +8 -10
  24. package/out/zero-cache/src/db/lite-tables.js.map +1 -1
  25. package/out/zero-cache/src/db/pg-to-lite.d.ts +2 -1
  26. package/out/zero-cache/src/db/pg-to-lite.d.ts.map +1 -1
  27. package/out/zero-cache/src/db/pg-to-lite.js +6 -8
  28. package/out/zero-cache/src/db/pg-to-lite.js.map +1 -1
  29. package/out/zero-cache/src/db/specs.d.ts +2 -1
  30. package/out/zero-cache/src/db/specs.d.ts.map +1 -1
  31. package/out/zero-cache/src/db/specs.js.map +1 -1
  32. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  33. package/out/zero-cache/src/server/change-streamer.js +4 -0
  34. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  35. package/out/zero-cache/src/server/life-cycle.d.ts.map +1 -1
  36. package/out/zero-cache/src/server/life-cycle.js +2 -0
  37. package/out/zero-cache/src/server/life-cycle.js.map +1 -1
  38. package/out/zero-cache/src/server/logging.js +1 -0
  39. package/out/zero-cache/src/server/logging.js.map +1 -1
  40. package/out/zero-cache/src/server/main.d.ts.map +1 -1
  41. package/out/zero-cache/src/server/main.js +7 -3
  42. package/out/zero-cache/src/server/main.js.map +1 -1
  43. package/out/zero-cache/src/server/multi/runtime.d.ts.map +1 -1
  44. package/out/zero-cache/src/server/multi/runtime.js +5 -1
  45. package/out/zero-cache/src/server/multi/runtime.js.map +1 -1
  46. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -1
  47. package/out/zero-cache/src/services/change-source/pg/change-source.js +21 -4
  48. package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
  49. package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts +4 -0
  50. package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts.map +1 -1
  51. package/out/zero-cache/src/services/change-source/pg/schema/shard.js +16 -5
  52. package/out/zero-cache/src/services/change-source/pg/schema/shard.js.map +1 -1
  53. package/out/zero-cache/src/services/change-source/pg/sync-schema.js +3 -3
  54. package/out/zero-cache/src/services/change-source/pg/sync-schema.js.map +1 -1
  55. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  56. package/out/zero-cache/src/services/change-streamer/storer.js +0 -14
  57. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  58. package/out/zero-cache/src/services/dispatcher/sync-dispatcher.d.ts +1 -1
  59. package/out/zero-cache/src/services/dispatcher/sync-dispatcher.d.ts.map +1 -1
  60. package/out/zero-cache/src/services/dispatcher/sync-dispatcher.js +9 -2
  61. package/out/zero-cache/src/services/dispatcher/sync-dispatcher.js.map +1 -1
  62. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +16 -1
  63. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
  64. package/out/zero-cache/src/services/view-syncer/cvr-store.js +73 -26
  65. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  66. package/out/zero-cache/src/services/view-syncer/cvr.d.ts +2 -2
  67. package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
  68. package/out/zero-cache/src/services/view-syncer/cvr.js +24 -4
  69. package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
  70. package/out/zero-cache/src/services/view-syncer/key-columns.d.ts +32 -0
  71. package/out/zero-cache/src/services/view-syncer/key-columns.d.ts.map +1 -0
  72. package/out/zero-cache/src/services/view-syncer/key-columns.js +73 -0
  73. package/out/zero-cache/src/services/view-syncer/key-columns.js.map +1 -0
  74. package/out/zero-cache/src/types/error-for-client.d.ts +3 -1
  75. package/out/zero-cache/src/types/error-for-client.d.ts.map +1 -1
  76. package/out/zero-cache/src/types/lite.d.ts +27 -8
  77. package/out/zero-cache/src/types/lite.d.ts.map +1 -1
  78. package/out/zero-cache/src/types/lite.js +24 -12
  79. package/out/zero-cache/src/types/lite.js.map +1 -1
  80. package/out/zero-cache/src/types/processes.d.ts.map +1 -1
  81. package/out/zero-cache/src/types/processes.js +0 -4
  82. package/out/zero-cache/src/types/processes.js.map +1 -1
  83. package/out/zero-client/src/client/server-error.d.ts +2 -2
  84. package/out/zero-client/src/client/server-error.d.ts.map +1 -1
  85. package/out/zero-client/src/client/server-option.d.ts.map +1 -1
  86. package/out/zero-client/src/client/zero.d.ts +1 -1
  87. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  88. package/out/zero-client/src/mod.d.ts +7 -3
  89. package/out/zero-client/src/mod.d.ts.map +1 -1
  90. package/out/zero-protocol/src/ast.d.ts +24 -24
  91. package/out/zero-protocol/src/ast.d.ts.map +1 -1
  92. package/out/zero-protocol/src/ast.js +23 -1
  93. package/out/zero-protocol/src/ast.js.map +1 -1
  94. package/out/zero-protocol/src/error-kind-enum.d.ts +4 -0
  95. package/out/zero-protocol/src/error-kind-enum.d.ts.map +1 -1
  96. package/out/zero-protocol/src/error-kind-enum.js +2 -0
  97. package/out/zero-protocol/src/error-kind-enum.js.map +1 -1
  98. package/out/zero-protocol/src/error.d.ts +8 -5
  99. package/out/zero-protocol/src/error.d.ts.map +1 -1
  100. package/out/zero-protocol/src/error.js +15 -5
  101. package/out/zero-protocol/src/error.js.map +1 -1
  102. package/out/zero-protocol/src/protocol-version.d.ts +1 -1
  103. package/out/zero-protocol/src/protocol-version.js +1 -1
  104. package/out/zero-react/src/use-query.d.ts +60 -3
  105. package/out/zero-react/src/use-query.d.ts.map +1 -1
  106. package/out/zero-schema/src/builder/schema-builder.d.ts +10 -3
  107. package/out/zero-schema/src/builder/schema-builder.d.ts.map +1 -1
  108. package/out/zero-schema/src/builder/schema-builder.js +11 -5
  109. package/out/zero-schema/src/builder/schema-builder.js.map +1 -1
  110. package/out/zero-schema/src/permissions.d.ts +4 -5
  111. package/out/zero-schema/src/permissions.d.ts.map +1 -1
  112. package/out/zero-schema/src/table-schema.d.ts +2 -2
  113. package/out/zero-schema/src/table-schema.d.ts.map +1 -1
  114. package/out/zero.js +1 -1
  115. package/out/zql/src/builder/builder.d.ts +1 -1
  116. package/out/zql/src/builder/builder.d.ts.map +1 -1
  117. package/out/zql/src/builder/builder.js +18 -25
  118. package/out/zql/src/builder/builder.js.map +1 -1
  119. package/out/zql/src/ivm/filter-push.d.ts +5 -0
  120. package/out/zql/src/ivm/filter-push.d.ts.map +1 -0
  121. package/out/zql/src/ivm/filter-push.js +27 -0
  122. package/out/zql/src/ivm/filter-push.js.map +1 -0
  123. package/out/zql/src/ivm/filter.d.ts +1 -7
  124. package/out/zql/src/ivm/filter.d.ts.map +1 -1
  125. package/out/zql/src/ivm/filter.js +4 -24
  126. package/out/zql/src/ivm/filter.js.map +1 -1
  127. package/out/zql/src/ivm/memory-source.d.ts +1 -1
  128. package/out/zql/src/ivm/memory-source.d.ts.map +1 -1
  129. package/out/zql/src/ivm/memory-source.js +6 -5
  130. package/out/zql/src/ivm/memory-source.js.map +1 -1
  131. package/out/zql/src/ivm/source.d.ts +3 -3
  132. package/out/zql/src/ivm/source.d.ts.map +1 -1
  133. package/out/zql/src/query/expression.d.ts +3 -3
  134. package/out/zql/src/query/expression.d.ts.map +1 -1
  135. package/out/zql/src/query/expression.js.map +1 -1
  136. package/out/zql/src/query/query-impl.d.ts +2 -2
  137. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  138. package/out/zql/src/query/query-impl.js.map +1 -1
  139. package/out/zql/src/query/query.d.ts +4 -3
  140. package/out/zql/src/query/query.d.ts.map +1 -1
  141. package/out/zqlite/src/db.d.ts +9 -1
  142. package/out/zqlite/src/db.d.ts.map +1 -1
  143. package/out/zqlite/src/db.js +20 -5
  144. package/out/zqlite/src/db.js.map +1 -1
  145. package/out/zqlite/src/table-source.d.ts +4 -4
  146. package/out/zqlite/src/table-source.d.ts.map +1 -1
  147. package/out/zqlite/src/table-source.js +18 -13
  148. package/out/zqlite/src/table-source.js.map +1 -1
  149. package/package.json +2 -2
  150. package/out/chunk-3JROCHFI.js.map +0 -7
@@ -58,20 +58,6 @@ export class Storer {
58
58
  return result[0].max;
59
59
  }
60
60
  async purgeRecordsBefore(watermark) {
61
- // This is a sanity check to guarantee the invariant of the "changeLog"
62
- // that it always contains at least one entry (from which catchup can proceed),
63
- // unless no replication changes have flowed through the system
64
- // (i.e. watermark === replicaVersion).
65
- const exists = await this.#db `
66
- SELECT watermark FROM cdc."changeLog" WHERE watermark = ${watermark}`;
67
- // Watermark boundaries should always be "commit" entries, which are the sole
68
- // entry with that watermark (i.e. exists.length === 1). It follows that
69
- // catchup, which proceeds from the next entry, always starts with a
70
- // "begin" entry.
71
- if (exists.length !== 1 && watermark !== this.#replicaVersion) {
72
- this.#lc.warn?.(`rejecting attempted to purge up to watermark ${watermark} with ${exists.length} entries`);
73
- return 0;
74
- }
75
61
  const result = await this.#db `
76
62
  WITH purged AS (
77
63
  DELETE FROM cdc."changeLog" WHERE watermark < ${watermark}
@@ -1 +1 @@
1
- {"version":3,"file":"storer.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/storer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storer.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/storer.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { HttpService, type Options } from '../http-service.js';
4
4
  export declare class SyncDispatcher extends HttpService {
5
5
  #private;
6
6
  readonly id = "dispatcher";
7
- constructor(lc: LogContext, parent: Worker | null, syncers: Worker[], opts: Options);
7
+ constructor(lc: LogContext, taskID: string, parent: Worker | null, syncers: Worker[], opts: Options);
8
8
  }
9
9
  export declare function parseSyncPath(url: URL): {
10
10
  base?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"sync-dispatcher.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/dispatcher/sync-dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAI5C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAC,WAAW,EAAE,KAAK,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAQ7D,qBAAa,cAAe,SAAQ,WAAW;;IAC7C,QAAQ,CAAC,EAAE,gBAAgB;gBAIzB,EAAE,EAAE,UAAU,EACd,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,EAAE,OAAO;CAkChB;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,GAAG,GACP;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,GAAG,SAAS,CAG9C"}
1
+ {"version":3,"file":"sync-dispatcher.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/dispatcher/sync-dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAI5C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAC,WAAW,EAAE,KAAK,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAQ7D,qBAAa,cAAe,SAAQ,WAAW;;IAC7C,QAAQ,CAAC,EAAE,gBAAgB;gBAKzB,EAAE,EAAE,UAAU,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,EAAE,OAAO;CAyChB;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,GAAG,GACP;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,GAAG,SAAS,CAG9C"}
@@ -9,12 +9,14 @@ import { installWebSocketHandoff } from './websocket-handoff.js';
9
9
  const CONNECT_URL_PATTERN = new UrlPattern('(/:base)/sync/v:version/connect');
10
10
  export class SyncDispatcher extends HttpService {
11
11
  id = 'dispatcher';
12
+ #taskID;
12
13
  #syncers;
13
- constructor(lc, parent, syncers, opts) {
14
+ constructor(lc, taskID, parent, syncers, opts) {
14
15
  super('dispatcher', lc, opts, fastify => {
15
16
  fastify.get('/', (_req, res) => res.send('OK'));
16
17
  installWebSocketHandoff(lc, req => this.#handoff(req), fastify.server);
17
18
  });
19
+ this.#taskID = taskID;
18
20
  this.#syncers = syncers;
19
21
  if (parent) {
20
22
  installWebSocketHandoff(lc, req => this.#handoff(req), parent);
@@ -36,7 +38,12 @@ export class SyncDispatcher extends HttpService {
36
38
  throw new Error(error);
37
39
  }
38
40
  const { clientGroupID } = params;
39
- const syncer = h32(clientGroupID) % this.#syncers.length;
41
+ // Include the TaskID when hash-bucketting the client group to the sync
42
+ // worker. This diversifies the distribution of client groups (across
43
+ // workers) for different tasks, so that if one task sheds connections
44
+ // from its most heavily loaded sync worker(s), those client groups will
45
+ // be distributed uniformly across workers on the receiving task(s).
46
+ const syncer = h32(this.#taskID + '/' + clientGroupID) % this.#syncers.length;
40
47
  this._lc.debug?.(`connecting ${clientGroupID} to syncer ${syncer}`);
41
48
  return { payload: params, receiver: this.#syncers[syncer] };
42
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sync-dispatcher.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/dispatcher/sync-dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,gCAAgC,CAAC;AAGnD,OAAO,EAAC,WAAW,EAAe,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAC,uBAAuB,EAAC,MAAM,wBAAwB,CAAC;AAE/D,qEAAqE;AACrE,4DAA4D;AAC5D,MAAM,mBAAmB,GAAG,IAAI,UAAU,CAAC,iCAAiC,CAAC,CAAC;AAE9E,MAAM,OAAO,cAAe,SAAQ,WAAW;IACpC,EAAE,GAAG,YAAY,CAAC;IAClB,QAAQ,CAAW;IAE5B,YACE,EAAc,EACd,MAAqB,EACrB,OAAiB,EACjB,IAAa;QAEb,KAAK,CAAC,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE;YACtC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAChD,uBAAuB,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,MAAM,EAAE,CAAC;YACX,uBAAuB,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,GAA0B;QACjC,MAAM,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAC,GAAG,GAAG,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,EAAC,MAAM,EAAE,KAAK,EAAC,GAAG,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAChE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,MAAM,EAAC,aAAa,EAAC,GAAG,MAAM,CAAC;QAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAEzD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,cAAc,aAAa,cAAc,MAAM,EAAE,CAAC,CAAC;QACpE,OAAO,EAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAC,CAAC;IAC5D,CAAC;CACF;AAED,MAAM,UAAU,aAAa,CAC3B,GAAQ;IAER,+CAA+C;IAC/C,OAAO,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"sync-dispatcher.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/dispatcher/sync-dispatcher.ts"],"names":[],"mappings":"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"}
@@ -20,8 +20,23 @@ export declare class CVRStore {
20
20
  setTimeoutFn?: typeof setTimeout);
21
21
  load(lc: LogContext, lastConnectTime: number): Promise<CVR>;
22
22
  getRowRecords(): Promise<ReadonlyMap<RowID, RowRecord>>;
23
- getPendingRowRecord(id: RowID): RowRecord | undefined;
24
23
  putRowRecord(row: RowRecord): void;
24
+ /**
25
+ * Note: Removing a row from the CVR should be represented by a
26
+ * {@link putRowRecord()} with `refCounts: null` in order to properly
27
+ * produce the appropriate delete patch when catching up old clients.
28
+ *
29
+ * This `delRowRecord()` method, on the other hand, is only used when a
30
+ * row record is being *replaced* by another RowRecord, which currently
31
+ * only happens when the columns of the row key change.
32
+ */
33
+ delRowRecord(id: RowID): void;
34
+ /**
35
+ * Overrides the default logic that removes no-op writes and forces
36
+ * the updates for the given row `ids`. This has no effect if there
37
+ * are no corresponding puts or dels for the associated row records.
38
+ */
39
+ forceUpdates(...ids: RowID[]): void;
25
40
  putInstance({ version, replicaVersion, lastActive, }: Pick<CVRSnapshot, 'version' | 'replicaVersion' | 'lastActive'>): void;
26
41
  markQueryAsDeleted(version: CVRVersion, queryPatch: QueryPatch): void;
27
42
  putQuery(query: QueryRecord): void;
@@ -1 +1 @@
1
- {"version":3,"file":"cvr-store.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/cvr-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cvr-store.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/cvr-store.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { startAsyncSpan } from '../../../../otel/src/span.js';
4
4
  import { version } from '../../../../otel/src/version.js';
5
5
  import { assert } from '../../../../shared/src/asserts.js';
6
6
  import { CustomKeyMap } from '../../../../shared/src/custom-key-map.js';
7
+ import { CustomKeySet } from '../../../../shared/src/custom-key-set.js';
7
8
  import { deepEqual, } from '../../../../shared/src/json.js';
8
9
  import { must } from '../../../../shared/src/must.js';
9
10
  import { promiseVoid } from '../../../../shared/src/resolved-promises.js';
@@ -131,15 +132,15 @@ class RowRecordCache {
131
132
  */
132
133
  async apply(rowRecords, rowsVersion, flushed) {
133
134
  const cache = await this.#ensureLoaded();
134
- for (const row of rowRecords) {
135
- if (row.refCounts === null) {
136
- cache.delete(row.id);
135
+ for (const [id, row] of rowRecords.entries()) {
136
+ if (row === null || row.refCounts === null) {
137
+ cache.delete(id);
137
138
  }
138
139
  else {
139
- cache.set(row.id, row);
140
+ cache.set(id, row);
140
141
  }
141
142
  if (!flushed) {
142
- this.#pending.set(row.id, row);
143
+ this.#pending.set(id, row);
143
144
  }
144
145
  }
145
146
  this.#pendingRowsVersion = rowsVersion;
@@ -159,7 +160,7 @@ class RowRecordCache {
159
160
  // #pendingRowsVersion is consistent with the #pending rows.
160
161
  const rows = this.#pending.size;
161
162
  const rowsVersion = must(this.#pendingRowsVersion);
162
- this.executeRowUpdates(tx, rowsVersion, [...this.#pending.values()], 'force');
163
+ this.executeRowUpdates(tx, rowsVersion, this.#pending, 'force');
163
164
  this.#pending.clear();
164
165
  return { rows, rowsVersion };
165
166
  });
@@ -237,15 +238,14 @@ class RowRecordCache {
237
238
  const totalMs = Date.now() - startMs;
238
239
  lc.debug?.(`finished row catchup (flush: ${flushMs} ms, total: ${totalMs} ms)`);
239
240
  }
240
- executeRowUpdates(tx, version, rowRecordsToFlush, mode) {
241
+ executeRowUpdates(tx, version, rowUpdates, mode) {
241
242
  if (mode === 'allow-defer' &&
242
243
  // defer if pending rows are being flushed
243
244
  (this.#flushing !== null ||
244
245
  // or if the new batch is above the limit.
245
- rowRecordsToFlush.length > this.#deferredRowFlushThreshold)) {
246
+ rowUpdates.size > this.#deferredRowFlushThreshold)) {
246
247
  return [];
247
248
  }
248
- const rowRecordRows = rowRecordsToFlush.map(r => rowRecordToRowsRow(this.#cvrID, r));
249
249
  const rowsVersion = {
250
250
  clientGroupID: this.#cvrID,
251
251
  version: versionString(version),
@@ -255,6 +255,21 @@ class RowRecordCache {
255
255
  ON CONFLICT ("clientGroupID")
256
256
  DO UPDATE SET ${tx(rowsVersion)}`.execute(),
257
257
  ];
258
+ const rowRecordRows = [];
259
+ for (const [id, row] of rowUpdates.entries()) {
260
+ if (row === null) {
261
+ pending.push(tx `
262
+ DELETE FROM cvr.rows
263
+ WHERE "clientGroupID" = ${this.#cvrID}
264
+ AND "schema" = ${id.schema}
265
+ AND "table" = ${id.table}
266
+ AND "rowKey" = ${id.rowKey}
267
+ `.execute());
268
+ }
269
+ else {
270
+ rowRecordRows.push(rowRecordToRowsRow(this.#cvrID, row));
271
+ }
272
+ }
258
273
  if (rowRecordRows.length) {
259
274
  pending.push(tx `
260
275
  INSERT INTO cvr.rows(
@@ -274,7 +289,7 @@ class RowRecordCache {
274
289
  "patchVersion" = excluded."patchVersion",
275
290
  "refCounts" = excluded."refCounts"
276
291
  `.execute());
277
- this.#lc.debug?.(`flushing ${rowRecordRows.length} rows`);
292
+ this.#lc.debug?.(`flushing ${rowUpdates.size} rows (${rowRecordRows.length} inserts, ${rowUpdates.size - rowRecordRows.length} deletes)`);
278
293
  }
279
294
  return pending;
280
295
  }
@@ -313,7 +328,8 @@ export class CVRStore {
313
328
  #id;
314
329
  #db;
315
330
  #writes = new Set();
316
- #pendingRowRecordPuts = new CustomKeyMap(rowIDString);
331
+ #pendingRowRecordUpdates = new CustomKeyMap(rowIDString);
332
+ #forceUpdates = new CustomKeySet(rowIDString);
317
333
  #rowCache;
318
334
  #loadAttemptIntervalMs;
319
335
  #maxLoadAttempts;
@@ -443,11 +459,30 @@ export class CVRStore {
443
459
  getRowRecords() {
444
460
  return this.#rowCache.getRowRecords();
445
461
  }
446
- getPendingRowRecord(id) {
447
- return this.#pendingRowRecordPuts.get(id);
448
- }
449
462
  putRowRecord(row) {
450
- this.#pendingRowRecordPuts.set(row.id, row);
463
+ this.#pendingRowRecordUpdates.set(row.id, row);
464
+ }
465
+ /**
466
+ * Note: Removing a row from the CVR should be represented by a
467
+ * {@link putRowRecord()} with `refCounts: null` in order to properly
468
+ * produce the appropriate delete patch when catching up old clients.
469
+ *
470
+ * This `delRowRecord()` method, on the other hand, is only used when a
471
+ * row record is being *replaced* by another RowRecord, which currently
472
+ * only happens when the columns of the row key change.
473
+ */
474
+ delRowRecord(id) {
475
+ this.#pendingRowRecordUpdates.set(id, null);
476
+ }
477
+ /**
478
+ * Overrides the default logic that removes no-op writes and forces
479
+ * the updates for the given row `ids`. This has no effect if there
480
+ * are no corresponding puts or dels for the associated row records.
481
+ */
482
+ forceUpdates(...ids) {
483
+ for (const id of ids) {
484
+ this.#forceUpdates.add(id);
485
+ }
451
486
  }
452
487
  putInstance({ version, replicaVersion, lastActive, }) {
453
488
  this.#writes.add({
@@ -654,12 +689,22 @@ export class CVRStore {
654
689
  rowsDeferred: 0,
655
690
  statements: 0,
656
691
  };
657
- const existingRowRecords = await this.getRowRecords();
658
- const rowRecordsToFlush = [...this.#pendingRowRecordPuts.values()].filter(row => {
659
- const existing = existingRowRecords.get(row.id);
660
- return ((existing !== undefined || row.refCounts !== null) &&
661
- !deepEqual(row, existing));
662
- });
692
+ if (this.#pendingRowRecordUpdates.size) {
693
+ const existingRowRecords = await this.getRowRecords();
694
+ for (const [id, row] of this.#pendingRowRecordUpdates.entries()) {
695
+ if (this.#forceUpdates.has(id)) {
696
+ continue;
697
+ }
698
+ const existing = existingRowRecords.get(id);
699
+ if (
700
+ // Don't delete or add an unreferenced row if it's not in the CVR.
701
+ (existing === undefined && !row?.refCounts) ||
702
+ // Don't write a row record that exactly matches what's in the CVR.
703
+ deepEqual((row ?? undefined), existing)) {
704
+ this.#pendingRowRecordUpdates.delete(id);
705
+ }
706
+ }
707
+ }
663
708
  const rowsFlushed = await this.#db.begin(async (tx) => {
664
709
  const pipelined = [
665
710
  // #checkVersionAndOwnership() executes a `SELECT ... FOR UPDATE`
@@ -676,23 +721,24 @@ export class CVRStore {
676
721
  stats.queries += write.stats.queries ?? 0;
677
722
  stats.desires += write.stats.desires ?? 0;
678
723
  stats.clients += write.stats.clients ?? 0;
724
+ stats.rows += write.stats.rows ?? 0;
679
725
  pipelined.push(write.write(tx, lastConnectTime).execute());
680
726
  stats.statements++;
681
727
  }
682
- const rowUpdates = this.#rowCache.executeRowUpdates(tx, newVersion, rowRecordsToFlush, 'allow-defer');
728
+ const rowUpdates = this.#rowCache.executeRowUpdates(tx, newVersion, this.#pendingRowRecordUpdates, 'allow-defer');
683
729
  pipelined.push(...rowUpdates);
684
730
  stats.statements += rowUpdates.length;
685
731
  // Make sure Errors thrown by pipelined statements
686
732
  // are propagated up the stack.
687
733
  await Promise.all(pipelined);
688
734
  if (rowUpdates.length === 0) {
689
- stats.rowsDeferred = rowRecordsToFlush.length;
735
+ stats.rowsDeferred = this.#pendingRowRecordUpdates.size;
690
736
  return false;
691
737
  }
692
- stats.rows = rowRecordsToFlush.length;
738
+ stats.rows += this.#pendingRowRecordUpdates.size;
693
739
  return true;
694
740
  });
695
- await this.#rowCache.apply(rowRecordsToFlush, newVersion, rowsFlushed);
741
+ await this.#rowCache.apply(this.#pendingRowRecordUpdates, newVersion, rowsFlushed);
696
742
  return stats;
697
743
  }
698
744
  async flush(expectedCurrentVersion, newVersion, lastConnectTime) {
@@ -706,7 +752,8 @@ export class CVRStore {
706
752
  }
707
753
  finally {
708
754
  this.#writes.clear();
709
- this.#pendingRowRecordPuts.clear();
755
+ this.#pendingRowRecordUpdates.clear();
756
+ this.#forceUpdates.clear();
710
757
  }
711
758
  }
712
759
  hasPendingUpdates() {
@@ -1 +1 @@
1
- {"version":3,"file":"cvr-store.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/cvr-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cvr-store.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/cvr-store.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { LogContext } from '@rocicorp/logger';
2
2
  import type { AST } from '../../../../zero-protocol/src/ast.js';
3
- import type { JSONObject } from '../../types/bigint-json.js';
3
+ import { type JSONObject } from '../../types/bigint-json.js';
4
4
  import type { LexiVersion } from '../../types/lexi-version.js';
5
5
  import type { PatchToVersion } from './client-handler.js';
6
6
  import type { CVRFlushStats, CVRStore } from './cvr-store.js';
@@ -135,7 +135,7 @@ export declare class CVRQueryDrivenUpdater extends CVRUpdater {
135
135
  * returns (put) patches to be returned to update their state, versioned by
136
136
  * patchVersion so that only the patches new to the clients are sent.
137
137
  */
138
- received(_: LogContext, rows: Map<RowID, RowUpdate>): Promise<PatchToVersion[]>;
138
+ received(lc: LogContext, rows: Map<RowID, RowUpdate>): Promise<PatchToVersion[]>;
139
139
  /**
140
140
  * Computes and updates the row records based on:
141
141
  * * The {@link #executed} queries
@@ -1 +1 @@
1
- {"version":3,"file":"cvr.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/cvr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cvr.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/cvr.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,10 @@ import { compareUTF8 } from 'compare-utf8';
2
2
  import { assert } from '../../../../shared/src/asserts.js';
3
3
  import { CustomKeyMap } from '../../../../shared/src/custom-key-map.js';
4
4
  import { difference, intersection, union, } from '../../../../shared/src/set-utils.js';
5
+ import { stringify } from '../../types/bigint-json.js';
5
6
  import { rowIDString } from '../../types/row-key.js';
6
7
  import { unescapedSchema as schema } from '../change-source/pg/schema/shard.js';
8
+ import { KeyColumns } from './key-columns.js';
7
9
  import { cmpVersions, oneAfter, versionString, } from './schema/types.js';
8
10
  const CLIENT_LMID_QUERY_ID = 'lmids';
9
11
  function assertNotInternal(query) {
@@ -204,6 +206,7 @@ export class CVRConfigDrivenUpdater extends CVRUpdater {
204
206
  export class CVRQueryDrivenUpdater extends CVRUpdater {
205
207
  #removedOrExecutedQueryIDs = new Set();
206
208
  #receivedRows = new CustomKeyMap(rowIDString);
209
+ #replacedRows = new CustomKeyMap(rowIDString);
207
210
  #existingRows = undefined;
208
211
  /**
209
212
  * @param stateVersion The `stateVersion` at which the queries were executed.
@@ -337,18 +340,35 @@ export class CVRQueryDrivenUpdater extends CVRUpdater {
337
340
  updatedVersion() {
338
341
  return this._cvr.version;
339
342
  }
343
+ #keyColumns;
340
344
  /**
341
345
  * Tracks rows received from executing queries. This will update row records
342
346
  * and row patches if the received rows have a new version. The method also
343
347
  * returns (put) patches to be returned to update their state, versioned by
344
348
  * patchVersion so that only the patches new to the clients are sent.
345
349
  */
346
- async received(_, rows) {
350
+ async received(lc, rows) {
347
351
  const patches = [];
348
352
  const existingRows = await this._cvrStore.getRowRecords();
353
+ this.#keyColumns ??= new KeyColumns(existingRows.values());
349
354
  for (const [id, update] of rows.entries()) {
350
355
  const { contents, version, refCounts } = update;
351
- const existing = existingRows.get(id);
356
+ let existing = existingRows.get(id);
357
+ if (!existing && contents) {
358
+ // See if the row being put is referenced in the CVR using a different ID.
359
+ const oldID = this.#keyColumns.getOldRowID(id, contents);
360
+ if (oldID) {
361
+ existing = existingRows.get(oldID);
362
+ if (existing && !this.#replacedRows.get(oldID)) {
363
+ lc.debug?.(`replacing ${stringify(oldID)} with ${stringify(id)}`);
364
+ this.#replacedRows.set(oldID, true);
365
+ this._cvrStore.delRowRecord(oldID);
366
+ // Force the updates for these rows to happen, even if they look like
367
+ // no-ops on their own.
368
+ this._cvrStore.forceUpdates(oldID, id);
369
+ }
370
+ }
371
+ }
352
372
  // Accumulate all received refCounts to determine which rows to prune.
353
373
  const previouslyReceived = this.#receivedRows.get(id);
354
374
  const merged = previouslyReceived !== undefined
@@ -430,8 +450,8 @@ export class CVRQueryDrivenUpdater extends CVRUpdater {
430
450
  return patches;
431
451
  }
432
452
  #deleteUnreferencedRow(existing) {
433
- const received = this.#receivedRows.get(existing.id);
434
- if (received !== undefined) {
453
+ if (this.#receivedRows.get(existing.id) ||
454
+ this.#replacedRows.get(existing.id)) {
435
455
  return null;
436
456
  }
437
457
  const newRefCounts = mergeRefCounts(existing.refCounts, undefined, this.#removedOrExecutedQueryIDs);