@rocicorp/zero 0.17.2025022800 → 0.17.2025030600

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 (252) hide show
  1. package/out/{chunk-5BT5TJFM.js → chunk-XXZWDMNW.js} +4025 -531
  2. package/out/chunk-XXZWDMNW.js.map +7 -0
  3. package/out/react.js +19 -11
  4. package/out/react.js.map +2 -2
  5. package/out/shared/src/set-utils.d.ts +1 -1
  6. package/out/shared/src/set-utils.js +1 -1
  7. package/out/solid.js +9 -5
  8. package/out/solid.js.map +2 -2
  9. package/out/zero-cache/src/auth/read-authorizer.d.ts.map +1 -1
  10. package/out/zero-cache/src/auth/read-authorizer.js +0 -1
  11. package/out/zero-cache/src/auth/read-authorizer.js.map +1 -1
  12. package/out/zero-cache/src/config/zero-config.d.ts +46 -13
  13. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  14. package/out/zero-cache/src/config/zero-config.js +76 -32
  15. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  16. package/out/zero-cache/src/db/migration-lite.d.ts.map +1 -1
  17. package/out/zero-cache/src/db/migration-lite.js +12 -6
  18. package/out/zero-cache/src/db/migration-lite.js.map +1 -1
  19. package/out/zero-cache/src/db/migration.d.ts +1 -1
  20. package/out/zero-cache/src/db/migration.d.ts.map +1 -1
  21. package/out/zero-cache/src/db/migration.js +16 -5
  22. package/out/zero-cache/src/db/migration.js.map +1 -1
  23. package/out/zero-cache/src/db/pg-to-lite.d.ts +4 -0
  24. package/out/zero-cache/src/db/pg-to-lite.d.ts.map +1 -1
  25. package/out/zero-cache/src/db/pg-to-lite.js +14 -4
  26. package/out/zero-cache/src/db/pg-to-lite.js.map +1 -1
  27. package/out/zero-cache/src/scripts/deploy-permissions.js +35 -20
  28. package/out/zero-cache/src/scripts/deploy-permissions.js.map +1 -1
  29. package/out/zero-cache/src/scripts/permissions.d.ts +17 -0
  30. package/out/zero-cache/src/scripts/permissions.d.ts.map +1 -1
  31. package/out/zero-cache/src/scripts/permissions.js +3 -1
  32. package/out/zero-cache/src/scripts/permissions.js.map +1 -1
  33. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  34. package/out/zero-cache/src/server/change-streamer.js +11 -10
  35. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  36. package/out/zero-cache/src/server/main.d.ts.map +1 -1
  37. package/out/zero-cache/src/server/main.js +11 -4
  38. package/out/zero-cache/src/server/main.js.map +1 -1
  39. package/out/zero-cache/src/server/multi/config.d.ts +23 -9
  40. package/out/zero-cache/src/server/multi/config.d.ts.map +1 -1
  41. package/out/zero-cache/src/server/multi/config.js +2 -4
  42. package/out/zero-cache/src/server/multi/config.js.map +1 -1
  43. package/out/zero-cache/src/server/multi/run-worker.d.ts.map +1 -1
  44. package/out/zero-cache/src/server/multi/run-worker.js +1 -3
  45. package/out/zero-cache/src/server/multi/run-worker.js.map +1 -1
  46. package/out/zero-cache/src/server/replicator.js +1 -1
  47. package/out/zero-cache/src/server/replicator.js.map +1 -1
  48. package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
  49. package/out/zero-cache/src/server/syncer.js +14 -12
  50. package/out/zero-cache/src/server/syncer.js.map +1 -1
  51. package/out/zero-cache/src/services/change-source/custom/change-source.d.ts +5 -5
  52. package/out/zero-cache/src/services/change-source/custom/change-source.d.ts.map +1 -1
  53. package/out/zero-cache/src/services/change-source/custom/change-source.js +21 -19
  54. package/out/zero-cache/src/services/change-source/custom/change-source.js.map +1 -1
  55. package/out/zero-cache/src/services/change-source/custom/sync-schema.d.ts +2 -2
  56. package/out/zero-cache/src/services/change-source/custom/sync-schema.d.ts.map +1 -1
  57. package/out/zero-cache/src/services/change-source/custom/sync-schema.js +2 -2
  58. package/out/zero-cache/src/services/change-source/custom/sync-schema.js.map +1 -1
  59. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts +5 -5
  60. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -1
  61. package/out/zero-cache/src/services/change-source/pg/change-source.js +41 -34
  62. package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
  63. package/out/zero-cache/src/services/change-source/pg/decommission.d.ts +4 -0
  64. package/out/zero-cache/src/services/change-source/pg/decommission.d.ts.map +1 -0
  65. package/out/zero-cache/src/services/change-source/pg/decommission.js +21 -0
  66. package/out/zero-cache/src/services/change-source/pg/decommission.js.map +1 -0
  67. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts +4 -3
  68. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts.map +1 -1
  69. package/out/zero-cache/src/services/change-source/pg/initial-sync.js +45 -25
  70. package/out/zero-cache/src/services/change-source/pg/initial-sync.js.map +1 -1
  71. package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts +3 -2
  72. package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts.map +1 -1
  73. package/out/zero-cache/src/services/change-source/pg/schema/ddl.js +35 -16
  74. package/out/zero-cache/src/services/change-source/pg/schema/ddl.js.map +1 -1
  75. package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts +4 -3
  76. package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts.map +1 -1
  77. package/out/zero-cache/src/services/change-source/pg/schema/init.js +53 -13
  78. package/out/zero-cache/src/services/change-source/pg/schema/init.js.map +1 -1
  79. package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts +2 -2
  80. package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts.map +1 -1
  81. package/out/zero-cache/src/services/change-source/pg/schema/published.js.map +1 -1
  82. package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts +10 -12
  83. package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts.map +1 -1
  84. package/out/zero-cache/src/services/change-source/pg/schema/shard.js +52 -53
  85. package/out/zero-cache/src/services/change-source/pg/schema/shard.js.map +1 -1
  86. package/out/zero-cache/src/services/change-source/pg/sync-schema.d.ts +2 -2
  87. package/out/zero-cache/src/services/change-source/pg/sync-schema.d.ts.map +1 -1
  88. package/out/zero-cache/src/services/change-source/pg/sync-schema.js +11 -2
  89. package/out/zero-cache/src/services/change-source/pg/sync-schema.js.map +1 -1
  90. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +3 -2
  91. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +1 -1
  92. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +11 -11
  93. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
  94. package/out/zero-cache/src/services/change-streamer/schema/init.d.ts +3 -2
  95. package/out/zero-cache/src/services/change-streamer/schema/init.d.ts.map +1 -1
  96. package/out/zero-cache/src/services/change-streamer/schema/init.js +25 -14
  97. package/out/zero-cache/src/services/change-streamer/schema/init.js.map +1 -1
  98. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +6 -5
  99. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -1
  100. package/out/zero-cache/src/services/change-streamer/schema/tables.js +28 -26
  101. package/out/zero-cache/src/services/change-streamer/schema/tables.js.map +1 -1
  102. package/out/zero-cache/src/services/change-streamer/storer.d.ts +4 -2
  103. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  104. package/out/zero-cache/src/services/change-streamer/storer.js +19 -9
  105. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  106. package/out/zero-cache/src/services/litestream/commands.d.ts +1 -1
  107. package/out/zero-cache/src/services/litestream/commands.d.ts.map +1 -1
  108. package/out/zero-cache/src/services/litestream/commands.js +3 -3
  109. package/out/zero-cache/src/services/litestream/commands.js.map +1 -1
  110. package/out/zero-cache/src/services/mutagen/mutagen.d.ts +3 -2
  111. package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
  112. package/out/zero-cache/src/services/mutagen/mutagen.js +14 -16
  113. package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
  114. package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts +14 -5
  115. package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts.map +1 -1
  116. package/out/zero-cache/src/services/replicator/schema/replication-state.js +29 -1
  117. package/out/zero-cache/src/services/replicator/schema/replication-state.js.map +1 -1
  118. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts +3 -2
  119. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts.map +1 -1
  120. package/out/zero-cache/src/services/view-syncer/client-handler.js +5 -3
  121. package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -1
  122. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +3 -1
  123. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
  124. package/out/zero-cache/src/services/view-syncer/cvr-store.js +21 -11
  125. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  126. package/out/zero-cache/src/services/view-syncer/cvr.d.ts +5 -3
  127. package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
  128. package/out/zero-cache/src/services/view-syncer/cvr.js +100 -66
  129. package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
  130. package/out/zero-cache/src/services/view-syncer/database-storage.d.ts +2 -0
  131. package/out/zero-cache/src/services/view-syncer/database-storage.d.ts.map +1 -1
  132. package/out/zero-cache/src/services/view-syncer/database-storage.js +8 -3
  133. package/out/zero-cache/src/services/view-syncer/database-storage.js.map +1 -1
  134. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +2 -1
  135. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
  136. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +1 -1
  137. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  138. package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts +3 -2
  139. package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts.map +1 -1
  140. package/out/zero-cache/src/services/view-syncer/row-record-cache.js +5 -3
  141. package/out/zero-cache/src/services/view-syncer/row-record-cache.js.map +1 -1
  142. package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts +3 -5
  143. package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts.map +1 -1
  144. package/out/zero-cache/src/services/view-syncer/schema/cvr.js +38 -40
  145. package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -1
  146. package/out/zero-cache/src/services/view-syncer/schema/init.d.ts +2 -1
  147. package/out/zero-cache/src/services/view-syncer/schema/init.d.ts.map +1 -1
  148. package/out/zero-cache/src/services/view-syncer/schema/init.js +7 -6
  149. package/out/zero-cache/src/services/view-syncer/schema/init.js.map +1 -1
  150. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +26 -18
  151. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts.map +1 -1
  152. package/out/zero-cache/src/services/view-syncer/schema/types.js +12 -9
  153. package/out/zero-cache/src/services/view-syncer/schema/types.js.map +1 -1
  154. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts +2 -1
  155. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +1 -1
  156. package/out/zero-cache/src/services/view-syncer/snapshotter.js +1 -1
  157. package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -1
  158. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +18 -1
  159. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  160. package/out/zero-cache/src/services/view-syncer/view-syncer.js +194 -43
  161. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  162. package/out/zero-cache/src/types/lite.d.ts +2 -2
  163. package/out/zero-cache/src/types/lite.d.ts.map +1 -1
  164. package/out/zero-cache/src/types/lite.js +9 -4
  165. package/out/zero-cache/src/types/lite.js.map +1 -1
  166. package/out/zero-cache/src/types/pg.d.ts +7 -3
  167. package/out/zero-cache/src/types/pg.d.ts.map +1 -1
  168. package/out/zero-cache/src/types/pg.js +11 -5
  169. package/out/zero-cache/src/types/pg.js.map +1 -1
  170. package/out/zero-cache/src/types/shards.d.ts +33 -0
  171. package/out/zero-cache/src/types/shards.d.ts.map +1 -0
  172. package/out/zero-cache/src/types/shards.js +44 -0
  173. package/out/zero-cache/src/types/shards.js.map +1 -0
  174. package/out/zero-cache/src/workers/connection.d.ts.map +1 -1
  175. package/out/zero-cache/src/workers/connection.js +39 -20
  176. package/out/zero-cache/src/workers/connection.js.map +1 -1
  177. package/out/zero-cache/src/workers/replicator.d.ts +2 -1
  178. package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
  179. package/out/zero-cache/src/workers/replicator.js +42 -17
  180. package/out/zero-cache/src/workers/replicator.js.map +1 -1
  181. package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts +4 -4
  182. package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts.map +1 -1
  183. package/out/zero-cache/src/workers/syncer-ws-message-handler.js +5 -2
  184. package/out/zero-cache/src/workers/syncer-ws-message-handler.js.map +1 -1
  185. package/out/zero-client/src/client/custom.d.ts +2 -11
  186. package/out/zero-client/src/client/custom.d.ts.map +1 -1
  187. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  188. package/out/zero-client/src/mod.d.ts +1 -0
  189. package/out/zero-client/src/mod.d.ts.map +1 -1
  190. package/out/zero-pg/src/custom.d.ts +1 -2
  191. package/out/zero-pg/src/custom.d.ts.map +1 -1
  192. package/out/zero-pg/src/custom.js.map +1 -1
  193. package/out/zero-pg/src/mod.d.ts +2 -2
  194. package/out/zero-pg/src/mod.d.ts.map +1 -1
  195. package/out/zero-pg/src/query.d.ts +3 -4
  196. package/out/zero-pg/src/query.d.ts.map +1 -1
  197. package/out/zero-pg/src/query.js +5 -7
  198. package/out/zero-pg/src/query.js.map +1 -1
  199. package/out/zero-pg/src/web.d.ts +1 -1
  200. package/out/zero-pg/src/web.d.ts.map +1 -1
  201. package/out/zero-pg/src/web.js.map +1 -1
  202. package/out/zero-protocol/src/close-connection.d.ts +16 -0
  203. package/out/zero-protocol/src/close-connection.d.ts.map +1 -0
  204. package/out/zero-protocol/src/close-connection.js +17 -0
  205. package/out/zero-protocol/src/close-connection.js.map +1 -0
  206. package/out/zero-protocol/src/up.d.ts +1 -1
  207. package/out/zero-protocol/src/up.d.ts.map +1 -1
  208. package/out/zero-protocol/src/up.js +2 -1
  209. package/out/zero-protocol/src/up.js.map +1 -1
  210. package/out/zero-react/src/use-query.d.ts +11 -2
  211. package/out/zero-react/src/use-query.d.ts.map +1 -1
  212. package/out/zero-solid/src/use-query.d.ts +4 -1
  213. package/out/zero-solid/src/use-query.d.ts.map +1 -1
  214. package/out/zero.js +1 -2
  215. package/out/zql/src/ivm/exists.d.ts.map +1 -1
  216. package/out/zql/src/ivm/exists.js +134 -138
  217. package/out/zql/src/ivm/exists.js.map +1 -1
  218. package/out/zql/src/mutate/custom.d.ts +36 -1
  219. package/out/zql/src/mutate/custom.d.ts.map +1 -1
  220. package/out/zql/src/mutate/custom.js.map +1 -1
  221. package/out/zql/src/query/query-impl.d.ts +8 -8
  222. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  223. package/out/zql/src/query/query-impl.js +29 -25
  224. package/out/zql/src/query/query-impl.js.map +1 -1
  225. package/out/zql/src/query/query-internal.d.ts +2 -2
  226. package/out/zql/src/query/query-internal.d.ts.map +1 -1
  227. package/out/zql/src/query/query.d.ts +10 -2
  228. package/out/zql/src/query/query.d.ts.map +1 -1
  229. package/out/zql/src/query/query.js +1 -1
  230. package/out/zql/src/query/query.js.map +1 -1
  231. package/out/zql/src/query/static-query.d.ts +1 -1
  232. package/out/zql/src/query/static-query.d.ts.map +1 -1
  233. package/out/zql/src/query/static-query.js +2 -2
  234. package/out/zql/src/query/static-query.js.map +1 -1
  235. package/out/zqlite/src/db.d.ts +3 -1
  236. package/out/zqlite/src/db.d.ts.map +1 -1
  237. package/out/zqlite/src/db.js +47 -0
  238. package/out/zqlite/src/db.js.map +1 -1
  239. package/package.json +3 -3
  240. package/out/chunk-5BT5TJFM.js.map +0 -7
  241. package/out/chunk-P3NUVEQJ.js +0 -3578
  242. package/out/chunk-P3NUVEQJ.js.map +0 -7
  243. package/out/pg.js +0 -593
  244. package/out/pg.js.map +0 -7
  245. package/out/zero-cache/src/services/change-source/pg/shard-config.d.ts +0 -19
  246. package/out/zero-cache/src/services/change-source/pg/shard-config.d.ts.map +0 -1
  247. package/out/zero-cache/src/services/change-source/pg/shard-config.js +0 -2
  248. package/out/zero-cache/src/services/change-source/pg/shard-config.js.map +0 -1
  249. package/out/zero-pg/src/db.d.ts +0 -27
  250. package/out/zero-pg/src/db.d.ts.map +0 -1
  251. package/out/zero-pg/src/db.js +0 -2
  252. package/out/zero-pg/src/db.js.map +0 -1
@@ -12,14 +12,15 @@ import { equals, intersection, symmetricDifferences, } from "../../../../../shar
12
12
  import { sleep } from "../../../../../shared/src/sleep.js";
13
13
  import * as v from "../../../../../shared/src/valita.js";
14
14
  import { Database } from "../../../../../zqlite/src/db.js";
15
+ import { mapPostgresToLiteColumn } from "../../../db/pg-to-lite.js";
15
16
  import { ShortLivedClient } from "../../../db/short-lived-client.js";
16
17
  import { StatementRunner } from "../../../db/statements.js";
17
18
  import { stringify } from "../../../types/bigint-json.js";
18
19
  import { oneAfter } from "../../../types/lexi-version.js";
19
20
  import { pgClient, registerPostgresTypeParsers, } from "../../../types/pg.js";
20
21
  import { Subscription } from "../../../types/subscription.js";
21
- import { AutoResetSignal, } from "../../change-streamer/schema/tables.js";
22
- import { getSubscriptionState } from "../../replicator/schema/replication-state.js";
22
+ import { AutoResetSignal } from "../../change-streamer/schema/tables.js";
23
+ import { getSubscriptionState, } from "../../replicator/schema/replication-state.js";
23
24
  import { replicationSlot } from "./initial-sync.js";
24
25
  import { fromLexiVersion, toLexiVersion } from "./lsn.js";
25
26
  import { replicationEventSchema } from "./schema/ddl.js";
@@ -35,16 +36,16 @@ registerPostgresTypeParsers();
35
36
  * replica, before streaming changes from the corresponding logical replication
36
37
  * stream.
37
38
  */
38
- export async function initializePostgresChangeSource(lc, upstreamURI, appID, shard, replicaDbFile, syncOptions) {
39
- await initSyncSchema(lc, `replica-${shard.id}`, appID, shard, replicaDbFile, upstreamURI, syncOptions);
39
+ export async function initializePostgresChangeSource(lc, upstreamURI, shard, replicaDbFile, syncOptions) {
40
+ await initSyncSchema(lc, `replica-${shard.appID}-${shard.shardNum}`, shard, replicaDbFile, upstreamURI, syncOptions);
40
41
  const replica = new Database(lc, replicaDbFile);
41
- const replicationConfig = getSubscriptionState(new StatementRunner(replica));
42
+ const subscriptionState = getSubscriptionState(new StatementRunner(replica));
42
43
  replica.close();
43
44
  if (shard.publications.length) {
44
45
  // Verify that the publications match what has been synced.
45
46
  const requested = [...shard.publications].sort();
46
- const replicated = replicationConfig.publications
47
- .filter(p => !p.startsWith(internalPublicationPrefix(appID)))
47
+ const replicated = subscriptionState.publications
48
+ .filter(p => !p.startsWith(internalPublicationPrefix(shard)))
48
49
  .sort();
49
50
  if (!deepEqual(requested, replicated)) {
50
51
  throw new Error(`Invalid ShardConfig. Requested publications [${requested}] do not match synced publications: [${replicated}]`);
@@ -54,16 +55,16 @@ export async function initializePostgresChangeSource(lc, upstreamURI, appID, sha
54
55
  // initial sync if not.
55
56
  const db = pgClient(lc, upstreamURI);
56
57
  try {
57
- await checkAndUpdateUpstream(lc, db, appID, shard);
58
+ await checkAndUpdateUpstream(lc, db, shard, subscriptionState.replicaVersion);
58
59
  }
59
60
  finally {
60
61
  await db.end();
61
62
  }
62
- const changeSource = new PostgresChangeSource(lc, upstreamURI, appID, shard.id, replicationConfig);
63
- return { replicationConfig, changeSource };
63
+ const changeSource = new PostgresChangeSource(lc, upstreamURI, shard, subscriptionState.replicaVersion);
64
+ return { subscriptionState, changeSource };
64
65
  }
65
- async function checkAndUpdateUpstream(lc, db, appID, shard) {
66
- const slot = replicationSlot(appID, shard.id);
66
+ async function checkAndUpdateUpstream(lc, db, shard, replicaVersion) {
67
+ const slot = replicationSlot(shard);
67
68
  const result = await db `
68
69
  SELECT restart_lsn as "restartLSN" FROM pg_replication_slots WHERE slot_name = ${slot}`;
69
70
  if (result.length === 0) {
@@ -74,10 +75,11 @@ async function checkAndUpdateUpstream(lc, db, appID, shard) {
74
75
  throw new AutoResetSignal(`replication slot ${slot} has been invalidated for exceeding the max_slot_wal_keep_size`);
75
76
  }
76
77
  // Perform any shard schema updates
77
- await updateShardSchema(lc, db, appID, {
78
- id: shard.id,
79
- publications: shard.publications,
80
- });
78
+ await updateShardSchema(lc, db, shard, replicaVersion);
79
+ const expected = await getInternalShardConfig(db, shard);
80
+ if (expected.replicaVersion !== replicaVersion) {
81
+ throw new AutoResetSignal(`local replicaVersion ${replicaVersion} does not match upstream replicaVersion ${expected.replicaVersion}`);
82
+ }
81
83
  }
82
84
  const MAX_ATTEMPTS_IF_REPLICATION_SLOT_ACTIVE = 5;
83
85
  /**
@@ -87,22 +89,20 @@ const MAX_ATTEMPTS_IF_REPLICATION_SLOT_ACTIVE = 5;
87
89
  class PostgresChangeSource {
88
90
  #lc;
89
91
  #upstreamUri;
90
- #appID;
91
- #shardID;
92
- #replicationConfig;
93
- constructor(lc, upstreamUri, appID, shardID, replicationConfig) {
92
+ #shard;
93
+ #replicaVersion;
94
+ constructor(lc, upstreamUri, shard, replicaVersion) {
94
95
  this.#lc = lc.withContext('component', 'change-source');
95
96
  this.#upstreamUri = upstreamUri;
96
- this.#appID = appID;
97
- this.#shardID = shardID;
98
- this.#replicationConfig = replicationConfig;
97
+ this.#shard = shard;
98
+ this.#replicaVersion = replicaVersion;
99
99
  }
100
100
  async startStream(clientWatermark) {
101
101
  const db = pgClient(this.#lc, this.#upstreamUri);
102
- const slot = replicationSlot(this.#appID, this.#shardID);
102
+ const slot = replicationSlot(this.#shard);
103
103
  try {
104
104
  await this.#stopExistingReplicationSlotSubscriber(db, slot);
105
- const config = await getInternalShardConfig(db, this.#appID, this.#shardID);
105
+ const config = await getInternalShardConfig(db, this.#shard);
106
106
  this.#lc.info?.(`starting replication stream@${slot}`);
107
107
  // Enabling ssl according to the logic in:
108
108
  // https://github.com/brianc/node-postgres/blob/95d7e620ef8b51743b4cbca05dd3c3ce858ecea7/packages/pg-connection-string/index.js#L90
@@ -168,7 +168,7 @@ class PostgresChangeSource {
168
168
  }
169
169
  };
170
170
  let acker = undefined;
171
- const changeMaker = new ChangeMaker(this.#lc, this.#shardID, shardConfig, this.#upstreamUri);
171
+ const changeMaker = new ChangeMaker(this.#lc, this.#shard, shardConfig, this.#upstreamUri);
172
172
  const lock = new Lock();
173
173
  const service = new LogicalReplicationService({
174
174
  connectionString: this.#upstreamUri,
@@ -205,13 +205,12 @@ class PostgresChangeSource {
205
205
  service
206
206
  .subscribe(new PgoutputPlugin({
207
207
  protoVersion: 1,
208
- publicationNames: [...this.#replicationConfig.publications],
208
+ publicationNames: [...shardConfig.publications],
209
209
  messages: true,
210
210
  }), slot, fromLexiVersion(clientStart))
211
211
  .then(() => changes.cancel(), handleError);
212
212
  await started;
213
- const { replicaVersion } = this.#replicationConfig;
214
- this.#lc.info?.(`started replication stream@${slot} from ${clientWatermark} (replicaVersion: ${replicaVersion})`);
213
+ this.#lc.info?.(`started replication stream@${slot} from ${clientWatermark} (replicaVersion: ${this.#replicaVersion})`);
215
214
  return {
216
215
  changes,
217
216
  acks: { push: status => acker.ack(status[2].watermark) },
@@ -276,10 +275,10 @@ class ChangeMaker {
276
275
  #upstream;
277
276
  #replicaIdentityTimer;
278
277
  #error;
279
- constructor(lc, shardID, shardConfig, upstreamURI) {
278
+ constructor(lc, { appID, shardNum }, shardConfig, upstreamURI) {
280
279
  this.#lc = lc;
281
280
  // Note: This matches the prefix used in pg_logical_emit_message() in pg/schema/ddl.ts.
282
- this.#shardPrefix = `zero/${shardID}`;
281
+ this.#shardPrefix = `${appID}/${shardNum}`;
283
282
  this.#shardConfig = shardConfig;
284
283
  this.#upstream = new ShortLivedClient(lc, upstreamURI, 'zero-schema-change-detector');
285
284
  }
@@ -490,7 +489,15 @@ class ChangeMaker {
490
489
  // ADD
491
490
  for (const id of added) {
492
491
  const { name, ...spec } = must(newColumns.get(id));
493
- changes.push({ tag: 'add-column', table, column: { name, spec } });
492
+ const column = { name, spec };
493
+ try {
494
+ // Validate that the ChangeProcessor will accept the column change.
495
+ mapPostgresToLiteColumn(table.name, column);
496
+ }
497
+ catch (cause) {
498
+ throw new UnsupportedSchemaChangeError({ cause });
499
+ }
500
+ changes.push({ tag: 'add-column', table, column });
494
501
  }
495
502
  return changes;
496
503
  }
@@ -629,8 +636,8 @@ class SSLUnsupportedError extends Error {
629
636
  }
630
637
  export class UnsupportedSchemaChangeError extends Error {
631
638
  name = 'UnsupportedSchemaChangeError';
632
- constructor() {
633
- super('Replication halted. Schema changes cannot be reliably replicated without event trigger support. Resync the replica to recover.');
639
+ constructor(options) {
640
+ super('Replication halted. Schema changes cannot be reliably replicated without event trigger support. Resync the replica to recover.', options);
634
641
  }
635
642
  }
636
643
  class ShutdownSignal extends AbortError {
@@ -1 +1 @@
1
- {"version":3,"file":"change-source.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-source/pg/change-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"change-source.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-source/pg/change-source.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { LogContext } from '@rocicorp/logger';
2
+ import type { PostgresDB } from '../../../types/pg.ts';
3
+ export declare function decommissionShard(lc: LogContext, db: PostgresDB, appID: string, shardID: string | number): Promise<void>;
4
+ //# sourceMappingURL=decommission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decommission.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-source/pg/decommission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAGrD,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GAAG,MAAM,iBAqBzB"}
@@ -0,0 +1,21 @@
1
+ import { dropShard } from "./schema/shard.js";
2
+ export async function decommissionShard(lc, db, appID, shardID) {
3
+ const shard = `${appID}_${shardID}`;
4
+ lc.info?.(`Decommissioning zero shard ${shard}`);
5
+ await db.begin(async (tx) => {
6
+ await tx.unsafe(dropShard(appID, shardID));
7
+ lc.debug?.(`Dropped upstream shard schema ${shard} and event triggers`);
8
+ const slots = await tx `
9
+ SELECT pg_terminate_backend(active_pid), active_pid as pid
10
+ FROM pg_replication_slots WHERE slot_name = ${shard}`;
11
+ if (slots.length > 0) {
12
+ if (slots[0].pid !== null) {
13
+ lc.info?.(`signaled subscriber ${slots[0].pid} to shut down`);
14
+ }
15
+ await tx `SELECT pg_drop_replication_slot(${shard})`;
16
+ lc.debug?.(`Dropped replication slot ${shard}`);
17
+ }
18
+ });
19
+ lc.info?.(`Finished decommissioning zero shard ${shard}`);
20
+ }
21
+ //# sourceMappingURL=decommission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decommission.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-source/pg/decommission.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAE5C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAc,EACd,EAAc,EACd,KAAa,EACb,OAAwB;IAExB,MAAM,KAAK,GAAG,GAAG,KAAK,IAAI,OAAO,EAAE,CAAC;IAEpC,EAAE,CAAC,IAAI,EAAE,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC;IACjD,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;QACxB,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3C,EAAE,CAAC,KAAK,EAAE,CAAC,iCAAiC,KAAK,qBAAqB,CAAC,CAAC;QAExE,MAAM,KAAK,GAAG,MAAM,EAAE,CAAwB;;oDAEE,KAAK,EAAE,CAAC;QACxD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;gBAC1B,EAAE,CAAC,IAAI,EAAE,CAAC,uBAAuB,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,EAAE,CAAA,mCAAmC,KAAK,GAAG,CAAC;YACpD,EAAE,CAAC,KAAK,EAAE,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,IAAI,EAAE,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;AAC5D,CAAC"}
@@ -1,10 +1,11 @@
1
1
  import type { LogContext } from '@rocicorp/logger';
2
2
  import { Database } from '../../../../../zqlite/src/db.ts';
3
- import type { ShardConfig } from './shard-config.ts';
3
+ import type { ShardConfig, ShardID } from '../../../types/shards.ts';
4
4
  export type InitialSyncOptions = {
5
5
  tableCopyWorkers: number;
6
6
  rowBatchSize: number;
7
7
  };
8
- export declare function replicationSlot(appID: string, shardID: string): string;
9
- export declare function initialSync(lc: LogContext, appID: string, shard: ShardConfig, tx: Database, upstreamURI: string, syncOptions: InitialSyncOptions): Promise<void>;
8
+ export declare function replicationSlot({ appID, shardNum }: ShardID): string;
9
+ export declare function initialSync(lc: LogContext, shard: ShardConfig, tx: Database, upstreamURI: string, syncOptions: InitialSyncOptions): Promise<void>;
10
+ export declare const INSERT_BATCH_SIZE = 50;
10
11
  //# sourceMappingURL=initial-sync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"initial-sync.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-source/pg/initial-sync.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAIjD,OAAO,EAAC,QAAQ,EAAC,MAAM,iCAAiC,CAAC;AA+BzD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAEnD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAKF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAsB,WAAW,CAC/B,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,WAAW,EAClB,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,kBAAkB,iBA0HhC"}
1
+ {"version":3,"file":"initial-sync.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-source/pg/initial-sync.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAIjD,OAAO,EAAC,QAAQ,EAAC,MAAM,iCAAiC,CAAC;AAgBzD,OAAO,KAAK,EAAC,WAAW,EAAE,OAAO,EAAC,MAAM,0BAA0B,CAAC;AAiBnE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAC,EAAE,OAAO,GAAG,MAAM,CAElE;AAED,wBAAsB,WAAW,CAC/B,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,WAAW,EAClB,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,kBAAkB,iBAwHhC;AA+GD,eAAO,MAAM,iBAAiB,KAAK,CAAC"}
@@ -10,6 +10,7 @@ import { importSnapshot, TransactionPool } from "../../../db/transaction-pool.js
10
10
  import { liteValues } from "../../../types/lite.js";
11
11
  import { liteTableName } from "../../../types/names.js";
12
12
  import { pgClient } from "../../../types/pg.js";
13
+ import { ALLOWED_APP_ID_CHARACTERS } from "../../../types/shards.js";
13
14
  import { id } from "../../../types/sql.js";
14
15
  import { initChangeLog } from "../../replicator/schema/change-log.js";
15
16
  import { initReplicationState, ZERO_VERSION_COLUMN_NAME, } from "../../replicator/schema/replication-state.js";
@@ -17,21 +18,16 @@ import { toLexiVersion } from "./lsn.js";
17
18
  import { initShardSchema } from "./schema/init.js";
18
19
  import { getPublicationInfo } from "./schema/published.js";
19
20
  import { getInternalShardConfig, setInitialSchema, validatePublications, } from "./schema/shard.js";
20
- import { ALLOWED_APP_ID_CHARACTERS } from "./schema/validation.js";
21
- // https://www.postgresql.org/docs/current/warm-standby.html#STREAMING-REPLICATION-SLOTS-MANIPULATION
22
- const ALLOWED_SHARD_ID_CHARACTERS = /^[a-z0-9_]+$/;
23
- export function replicationSlot(appID, shardID) {
24
- return `${appID}_${shardID}`;
21
+ export function replicationSlot({ appID, shardNum }) {
22
+ return `${appID}_${shardNum}`;
25
23
  }
26
- export async function initialSync(lc, appID, shard, tx, upstreamURI, syncOptions) {
27
- if (!ALLOWED_APP_ID_CHARACTERS.test(appID)) {
24
+ export async function initialSync(lc, shard, tx, upstreamURI, syncOptions) {
25
+ if (!ALLOWED_APP_ID_CHARACTERS.test(shard.appID)) {
28
26
  throw new Error('The App ID may only consist of lower-case letters, numbers, and the underscore character');
29
27
  }
30
- if (!ALLOWED_SHARD_ID_CHARACTERS.test(shard.id)) {
31
- throw new Error('A shard ID may only consist of lower-case letters, numbers, and the underscore character');
32
- }
33
28
  const { tableCopyWorkers: numWorkers, rowBatchSize } = syncOptions;
34
- const upstreamDB = pgClient(lc, upstreamURI, { max: numWorkers });
29
+ const upstreamDB = pgClient(lc, upstreamURI);
30
+ const copyPool = pgClient(lc, upstreamURI, { max: numWorkers }, 'json-as-string');
35
31
  const replicationSession = pgClient(lc, upstreamURI, {
36
32
  ['fetch_types']: false, // Necessary for the streaming protocol
37
33
  connection: { replication: 'database' }, // https://www.postgresql.org/docs/current/protocol-replication.html
@@ -41,14 +37,14 @@ export async function initialSync(lc, appID, shard, tx, upstreamURI, syncOptions
41
37
  // Kill the active_pid on the existing slot before altering publications,
42
38
  // as deleting a publication associated with an existing subscriber causes
43
39
  // weirdness; the active_pid becomes null and thus unable to be terminated.
44
- const slotName = replicationSlot(appID, shard.id);
40
+ const slotName = replicationSlot(shard);
45
41
  const slots = await upstreamDB `
46
42
  SELECT pg_terminate_backend(active_pid), active_pid as pid
47
43
  FROM pg_replication_slots WHERE slot_name = ${slotName}`;
48
44
  if (slots.length > 0 && slots[0].pid !== null) {
49
45
  lc.info?.(`signaled subscriber ${slots[0].pid} to shut down`);
50
46
  }
51
- const { publications } = await ensurePublishedTables(lc, upstreamDB, appID, shard);
47
+ const { publications } = await ensurePublishedTables(lc, upstreamDB, shard);
52
48
  lc.info?.(`Upstream is setup with publications [${publications}]`);
53
49
  const { database, host } = upstreamDB.options;
54
50
  lc.info?.(`opening replication session to ${database}@${host}`);
@@ -79,11 +75,14 @@ export async function initialSync(lc, appID, shard, tx, upstreamURI, syncOptions
79
75
  const start = Date.now();
80
76
  let numTables;
81
77
  let numRows;
82
- const copiers = startTableCopyWorkers(lc, upstreamDB, snapshot, numWorkers);
78
+ const copiers = startTableCopyWorkers(lc, copyPool, snapshot, numWorkers);
83
79
  let published;
84
80
  try {
85
81
  // Retrieve the published schema at the consistent_point.
86
- published = await copiers.processReadTask(db => getPublicationInfo(db, publications));
82
+ published = await upstreamDB.begin(Mode.READONLY, async (db) => {
83
+ await db.unsafe(`SET TRANSACTION SNAPSHOT '${snapshot}'`);
84
+ return getPublicationInfo(db, publications);
85
+ });
87
86
  // Note: If this throws, initial-sync is aborted.
88
87
  validatePublications(lc, published);
89
88
  // Now that tables have been validated, kick off the copiers.
@@ -100,7 +99,7 @@ export async function initialSync(lc, appID, shard, tx, upstreamURI, syncOptions
100
99
  copiers.setDone();
101
100
  await copiers.done();
102
101
  }
103
- await setInitialSchema(upstreamDB, appID, shard.id, published);
102
+ await setInitialSchema(upstreamDB, shard, initialVersion, published);
104
103
  initReplicationState(tx, publications, initialVersion);
105
104
  initChangeLog(tx);
106
105
  lc.info?.(`Synced ${numRows.toLocaleString()} rows of ${numTables} tables in ${publications} up to ${lsn} (${Date.now() - start} ms)`);
@@ -108,6 +107,7 @@ export async function initialSync(lc, appID, shard, tx, upstreamURI, syncOptions
108
107
  finally {
109
108
  await replicationSession.end();
110
109
  await upstreamDB.end();
110
+ await copyPool.end();
111
111
  }
112
112
  }
113
113
  async function checkUpstreamConfig(upstreamDB) {
@@ -122,11 +122,11 @@ async function checkUpstreamConfig(upstreamDB) {
122
122
  throw new Error(`Must be running Postgres 15 or higher (currently: "${version}")`);
123
123
  }
124
124
  }
125
- async function ensurePublishedTables(lc, upstreamDB, appID, shard) {
125
+ async function ensurePublishedTables(lc, upstreamDB, shard) {
126
126
  const { database, host } = upstreamDB.options;
127
127
  lc.info?.(`Ensuring upstream PUBLICATION on ${database}@${host}`);
128
- await initShardSchema(lc, upstreamDB, appID, shard);
129
- return getInternalShardConfig(upstreamDB, appID, shard.id);
128
+ await initShardSchema(lc, upstreamDB, shard);
129
+ return getInternalShardConfig(upstreamDB, shard);
130
130
  }
131
131
  /* eslint-enable @typescript-eslint/naming-convention */
132
132
  // Note: The replication connection does not support the extended query protocol,
@@ -143,7 +143,7 @@ async function createReplicationSlot(lc, session, slotName, dropExisting) {
143
143
  // https://github.com/postgres/postgres/blob/5304fec4d8a141abe6f8f6f2a6862822ec1f3598/src/backend/replication/logical/tablesync.c#L1358
144
144
  if (dropExisting) {
145
145
  lc.info?.(`Dropping existing replication slot ${slotName}`);
146
- await session.unsafe(`DROP_REPLICATION_SLOT ${slotName} WAIT`);
146
+ await session.unsafe(`DROP_REPLICATION_SLOT "${slotName}" WAIT`);
147
147
  }
148
148
  const slot = (await session.unsafe(`CREATE_REPLICATION_SLOT "${slotName}" LOGICAL pgoutput`))[0];
149
149
  lc.info?.(`Created replication slot ${slotName}`, slot);
@@ -166,6 +166,11 @@ function createLiteIndices(tx, indices) {
166
166
  tx.exec(createIndexStatement(mapPostgresToLiteIndex(index)));
167
167
  }
168
168
  }
169
+ // Verified empirically that batches of 50 seem to be the sweet spot,
170
+ // similar to the report in https://sqlite.org/forum/forumpost/8878a512d3652655
171
+ //
172
+ // Exported for testing.
173
+ export const INSERT_BATCH_SIZE = 50;
169
174
  async function copy(lc, table, from, to, initialVersion, rowBatchSize) {
170
175
  let totalRows = 0;
171
176
  const tableName = liteTableName(table);
@@ -177,9 +182,12 @@ async function copy(lc, table, from, to, initialVersion, rowBatchSize) {
177
182
  ZERO_VERSION_COLUMN_NAME,
178
183
  ];
179
184
  const insertColumnList = insertColumns.map(c => id(c)).join(',');
180
- const insertStmt = to.prepare(`INSERT INTO "${tableName}" (${insertColumnList}) VALUES (${new Array(insertColumns.length)
181
- .fill('?')
182
- .join(',')})`);
185
+ // (?,?,?,?,?)
186
+ const valuesSql = `(${new Array(insertColumns.length).fill('?').join(',')})`;
187
+ const insertSql = `INSERT INTO "${tableName}" (${insertColumnList}) VALUES ${valuesSql}`;
188
+ const insertStmt = to.prepare(insertSql);
189
+ // INSERT VALUES (?,?,?,?,?),... x INSERT_BATCH_SIZE
190
+ const insertBatchStmt = to.prepare(insertSql + `,${valuesSql}`.repeat(INSERT_BATCH_SIZE - 1));
183
191
  const filterConditions = Object.values(table.publications)
184
192
  .map(({ rowFilter }) => rowFilter)
185
193
  .filter(f => !!f); // remove nulls
@@ -197,8 +205,20 @@ async function copy(lc, table, from, to, initialVersion, rowBatchSize) {
197
205
  // This allows the cursor to query the next batch from postgres before
198
206
  // the CPU is consumed by the previous batch (of inserts).
199
207
  prevBatch = runAfterIO(() => {
200
- for (const row of rows) {
201
- insertStmt.run([...liteValues(row, table), initialVersion]);
208
+ let i = 0;
209
+ for (; i + INSERT_BATCH_SIZE < rows.length; i += INSERT_BATCH_SIZE) {
210
+ const values = [];
211
+ for (let j = i; j < i + INSERT_BATCH_SIZE; j++) {
212
+ values.push(...liteValues(rows[j], table, 'json-as-string'), initialVersion);
213
+ }
214
+ insertBatchStmt.run(values);
215
+ }
216
+ // Remaining set of rows is < INSERT_BATCH_SIZE
217
+ for (; i < rows.length; i++) {
218
+ insertStmt.run([
219
+ ...liteValues(rows[i], table, 'json-as-string'),
220
+ initialVersion,
221
+ ]);
202
222
  }
203
223
  totalRows += rows.length;
204
224
  lc.debug?.(`Copied ${totalRows} rows from ${table.schema}.${table.name}`);
@@ -1 +1 @@
1
- {"version":3,"file":"initial-sync.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-source/pg/initial-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initial-sync.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-source/pg/initial-sync.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import * as v from '../../../../../../shared/src/valita.ts';
2
+ import { type ShardConfig } from '../../../../types/shards.ts';
2
3
  export declare const PROTOCOL_VERSION = 1;
3
4
  export declare const ddlEventSchema: v.ObjectType<Omit<{
4
5
  context: v.ObjectType<{
@@ -306,7 +307,7 @@ export declare const replicationEventSchema: v.UnionType<[v.ObjectType<Omit<Omit
306
307
  }, undefined>]>;
307
308
  }, undefined>]>;
308
309
  export type ReplicationEvent = v.Infer<typeof replicationEventSchema>;
309
- export declare function append(shardID: string): (name: string) => string;
310
310
  export declare const TAGS: readonly ["CREATE TABLE", "ALTER TABLE", "CREATE INDEX", "DROP TABLE", "DROP INDEX", "ALTER PUBLICATION"];
311
- export declare function createEventTriggerStatements(appID: string, shardID: string, publications: string[]): string;
311
+ export declare function createEventTriggerStatements(shard: ShardConfig): string;
312
+ export declare function dropEventTriggerStatements(appID: string, shardID: string | number): string;
312
313
  //# sourceMappingURL=ddl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ddl.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/pg/schema/ddl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,wCAAwC,CAAC;AAc5D,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAQlC,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAGzB,CAAC;AASH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAE9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAyDhE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAG/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAGlC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAGtE,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,UACtB,MAAM,YACrB;AAuLD,eAAO,MAAM,IAAI,2GAOP,CAAC;AAEX,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EAAE,UAwCvB"}
1
+ {"version":3,"file":"ddl.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/pg/schema/ddl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,wCAAwC,CAAC;AAC5D,OAAO,EAAiB,KAAK,WAAW,EAAC,MAAM,6BAA6B,CAAC;AAc7E,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAQlC,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAGzB,CAAC;AASH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAE9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAyDhE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAG/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAGlC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AA8LtE,eAAO,MAAM,IAAI,2GAOP,CAAC;AAEX,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,WAAW,UAuC9D;AAGD,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GAAG,MAAM,UAgBzB"}