@rocicorp/zero 0.5.2024103100 → 0.6.2024111600

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 (724) hide show
  1. package/out/{internal.js → advanced.js} +2 -2
  2. package/out/{chunk-TBA526RR.js → chunk-V5NTGJ4X.js} +1211 -624
  3. package/out/chunk-V5NTGJ4X.js.map +7 -0
  4. package/out/{chunk-RCVGGCMG.js → chunk-YCMA66NH.js} +2 -2
  5. package/out/{chunk-RCVGGCMG.js.map → chunk-YCMA66NH.js.map} +2 -2
  6. package/out/react.js.map +2 -2
  7. package/out/shared/src/browser-env.d.ts +17 -0
  8. package/out/shared/src/browser-env.d.ts.map +1 -1
  9. package/out/shared/src/expand.d.ts +7 -0
  10. package/out/shared/src/expand.d.ts.map +1 -0
  11. package/out/shared/src/valita.d.ts +7 -0
  12. package/out/shared/src/valita.d.ts.map +1 -1
  13. package/out/shared/src/valita.js +28 -0
  14. package/out/shared/src/valita.js.map +1 -1
  15. package/out/solid.js +5 -5
  16. package/out/solid.js.map +2 -2
  17. package/out/zero-advanced/src/mod.d.ts +7 -7
  18. package/out/zero-advanced/src/mod.d.ts.map +1 -1
  19. package/out/zero-cache/src/auth/load-authorization.d.ts +3 -0
  20. package/out/zero-cache/src/auth/load-authorization.d.ts.map +1 -0
  21. package/out/zero-cache/src/auth/load-authorization.js +21 -0
  22. package/out/zero-cache/src/auth/load-authorization.js.map +1 -0
  23. package/out/zero-cache/src/config/config.d.ts +112 -0
  24. package/out/zero-cache/src/config/config.d.ts.map +1 -0
  25. package/out/zero-cache/src/config/config.js +246 -0
  26. package/out/zero-cache/src/config/config.js.map +1 -0
  27. package/out/zero-cache/src/config/zero-config.d.ts +145 -964
  28. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  29. package/out/zero-cache/src/config/zero-config.js +242 -115
  30. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  31. package/out/zero-cache/src/db/delete-lite-db.d.ts +2 -0
  32. package/out/zero-cache/src/db/delete-lite-db.d.ts.map +1 -0
  33. package/out/zero-cache/src/db/delete-lite-db.js +7 -0
  34. package/out/zero-cache/src/db/delete-lite-db.js.map +1 -0
  35. package/out/zero-cache/src/db/migration.d.ts +1 -0
  36. package/out/zero-cache/src/db/migration.d.ts.map +1 -1
  37. package/out/zero-cache/src/db/migration.js +17 -7
  38. package/out/zero-cache/src/db/migration.js.map +1 -1
  39. package/out/zero-cache/src/db/pg-to-lite.d.ts +1 -1
  40. package/out/zero-cache/src/db/pg-to-lite.d.ts.map +1 -1
  41. package/out/zero-cache/src/db/pg-to-lite.js +7 -3
  42. package/out/zero-cache/src/db/pg-to-lite.js.map +1 -1
  43. package/out/zero-cache/src/db/short-lived-client.d.ts +16 -0
  44. package/out/zero-cache/src/db/short-lived-client.d.ts.map +1 -0
  45. package/out/zero-cache/src/db/short-lived-client.js +50 -0
  46. package/out/zero-cache/src/db/short-lived-client.js.map +1 -0
  47. package/out/zero-cache/src/db/specs.d.ts +12 -3
  48. package/out/zero-cache/src/db/specs.d.ts.map +1 -1
  49. package/out/zero-cache/src/db/specs.js +6 -1
  50. package/out/zero-cache/src/db/specs.js.map +1 -1
  51. package/out/zero-cache/src/db/transaction-pool.d.ts +7 -2
  52. package/out/zero-cache/src/db/transaction-pool.d.ts.map +1 -1
  53. package/out/zero-cache/src/db/transaction-pool.js +42 -8
  54. package/out/zero-cache/src/db/transaction-pool.js.map +1 -1
  55. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  56. package/out/zero-cache/src/server/change-streamer.js +34 -9
  57. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  58. package/out/zero-cache/src/server/life-cycle.d.ts +1 -1
  59. package/out/zero-cache/src/server/life-cycle.d.ts.map +1 -1
  60. package/out/zero-cache/src/server/life-cycle.js +2 -3
  61. package/out/zero-cache/src/server/life-cycle.js.map +1 -1
  62. package/out/zero-cache/src/server/logging.d.ts.map +1 -1
  63. package/out/zero-cache/src/server/logging.js +2 -15
  64. package/out/zero-cache/src/server/logging.js.map +1 -1
  65. package/out/zero-cache/src/server/main.js +28 -10
  66. package/out/zero-cache/src/server/main.js.map +1 -1
  67. package/out/zero-cache/src/server/replicator.d.ts.map +1 -1
  68. package/out/zero-cache/src/server/replicator.js +6 -5
  69. package/out/zero-cache/src/server/replicator.js.map +1 -1
  70. package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
  71. package/out/zero-cache/src/server/syncer.js +16 -12
  72. package/out/zero-cache/src/server/syncer.js.map +1 -1
  73. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +2 -3
  74. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
  75. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +2 -3
  76. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
  77. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +153 -2
  78. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +1 -1
  79. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +136 -19
  80. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
  81. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +17 -9
  82. package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts.map +1 -1
  83. package/out/zero-cache/src/services/change-streamer/change-streamer.js +4 -2
  84. package/out/zero-cache/src/services/change-streamer/change-streamer.js.map +1 -1
  85. package/out/zero-cache/src/services/change-streamer/forwarder.d.ts +1 -0
  86. package/out/zero-cache/src/services/change-streamer/forwarder.d.ts.map +1 -1
  87. package/out/zero-cache/src/services/change-streamer/forwarder.js +9 -2
  88. package/out/zero-cache/src/services/change-streamer/forwarder.js.map +1 -1
  89. package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts +10 -0
  90. package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts.map +1 -1
  91. package/out/zero-cache/src/services/change-streamer/pg/change-source.js +171 -24
  92. package/out/zero-cache/src/services/change-streamer/pg/change-source.js.map +1 -1
  93. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.d.ts.map +1 -1
  94. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js +32 -18
  95. package/out/zero-cache/src/services/change-streamer/pg/initial-sync.js.map +1 -1
  96. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts +62 -39
  97. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.d.ts.map +1 -1
  98. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js +8 -40
  99. package/out/zero-cache/src/services/change-streamer/pg/schema/ddl.js.map +1 -1
  100. package/out/zero-cache/src/services/change-streamer/pg/schema/init.d.ts +8 -0
  101. package/out/zero-cache/src/services/change-streamer/pg/schema/init.d.ts.map +1 -1
  102. package/out/zero-cache/src/services/change-streamer/pg/schema/init.js +41 -8
  103. package/out/zero-cache/src/services/change-streamer/pg/schema/init.js.map +1 -1
  104. package/out/zero-cache/src/services/change-streamer/pg/schema/published.d.ts +83 -13
  105. package/out/zero-cache/src/services/change-streamer/pg/schema/published.d.ts.map +1 -1
  106. package/out/zero-cache/src/services/change-streamer/pg/schema/published.js +15 -5
  107. package/out/zero-cache/src/services/change-streamer/pg/schema/published.js.map +1 -1
  108. package/out/zero-cache/src/services/change-streamer/pg/schema/shard.d.ts +39 -3
  109. package/out/zero-cache/src/services/change-streamer/pg/schema/shard.d.ts.map +1 -1
  110. package/out/zero-cache/src/services/change-streamer/pg/schema/shard.js +67 -36
  111. package/out/zero-cache/src/services/change-streamer/pg/schema/shard.js.map +1 -1
  112. package/out/zero-cache/src/services/change-streamer/pg/schema/validation.d.ts +8 -0
  113. package/out/zero-cache/src/services/change-streamer/pg/schema/validation.d.ts.map +1 -0
  114. package/out/zero-cache/src/services/change-streamer/pg/schema/validation.js +33 -0
  115. package/out/zero-cache/src/services/change-streamer/pg/schema/validation.js.map +1 -0
  116. package/out/zero-cache/src/services/change-streamer/schema/change.d.ts +5 -1
  117. package/out/zero-cache/src/services/change-streamer/schema/change.d.ts.map +1 -1
  118. package/out/zero-cache/src/services/change-streamer/schema/change.js +3 -0
  119. package/out/zero-cache/src/services/change-streamer/schema/change.js.map +1 -1
  120. package/out/zero-cache/src/services/change-streamer/schema/init.d.ts.map +1 -1
  121. package/out/zero-cache/src/services/change-streamer/schema/init.js +4 -6
  122. package/out/zero-cache/src/services/change-streamer/schema/init.js.map +1 -1
  123. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +6 -1
  124. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -1
  125. package/out/zero-cache/src/services/change-streamer/schema/tables.js +19 -4
  126. package/out/zero-cache/src/services/change-streamer/schema/tables.js.map +1 -1
  127. package/out/zero-cache/src/services/change-streamer/storer.d.ts +29 -2
  128. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  129. package/out/zero-cache/src/services/change-streamer/storer.js +90 -8
  130. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  131. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts +1 -0
  132. package/out/zero-cache/src/services/change-streamer/subscriber.d.ts.map +1 -1
  133. package/out/zero-cache/src/services/change-streamer/subscriber.js +18 -3
  134. package/out/zero-cache/src/services/change-streamer/subscriber.js.map +1 -1
  135. package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts +5 -3
  136. package/out/zero-cache/src/services/dispatcher/dispatcher.d.ts.map +1 -1
  137. package/out/zero-cache/src/services/dispatcher/dispatcher.js +20 -5
  138. package/out/zero-cache/src/services/dispatcher/dispatcher.js.map +1 -1
  139. package/out/zero-cache/src/services/mutagen/mutagen.d.ts +6 -5
  140. package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
  141. package/out/zero-cache/src/services/mutagen/mutagen.js +26 -20
  142. package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
  143. package/out/zero-cache/src/services/mutagen/write-authorizer.d.ts +7 -6
  144. package/out/zero-cache/src/services/mutagen/write-authorizer.d.ts.map +1 -1
  145. package/out/zero-cache/src/services/mutagen/write-authorizer.js +12 -20
  146. package/out/zero-cache/src/services/mutagen/write-authorizer.js.map +1 -1
  147. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +1 -1
  148. package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
  149. package/out/zero-cache/src/services/replicator/incremental-sync.js +8 -8
  150. package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
  151. package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts.map +1 -1
  152. package/out/zero-cache/src/services/replicator/schema/replication-state.js +1 -10
  153. package/out/zero-cache/src/services/replicator/schema/replication-state.js.map +1 -1
  154. package/out/zero-cache/src/services/running-state.d.ts +6 -1
  155. package/out/zero-cache/src/services/running-state.d.ts.map +1 -1
  156. package/out/zero-cache/src/services/running-state.js +23 -5
  157. package/out/zero-cache/src/services/running-state.js.map +1 -1
  158. package/out/zero-cache/src/services/view-syncer/database-storage.d.ts +1 -1
  159. package/out/zero-cache/src/services/view-syncer/database-storage.d.ts.map +1 -1
  160. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +1 -1
  161. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  162. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +49 -29
  163. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts.map +1 -1
  164. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  165. package/out/zero-cache/src/services/view-syncer/view-syncer.js +2 -1
  166. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  167. package/out/zero-cache/src/types/lexi-version.d.ts +3 -2
  168. package/out/zero-cache/src/types/lexi-version.d.ts.map +1 -1
  169. package/out/zero-cache/src/types/lexi-version.js +8 -6
  170. package/out/zero-cache/src/types/lexi-version.js.map +1 -1
  171. package/out/zero-cache/src/types/lite.d.ts +1 -1
  172. package/out/zero-cache/src/types/lite.d.ts.map +1 -1
  173. package/out/zero-cache/src/types/lite.js +0 -1
  174. package/out/zero-cache/src/types/lite.js.map +1 -1
  175. package/out/zero-cache/src/types/processes.d.ts.map +1 -1
  176. package/out/zero-cache/src/types/processes.js +1 -0
  177. package/out/zero-cache/src/types/processes.js.map +1 -1
  178. package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
  179. package/out/zero-cache/src/workers/replicator.js +2 -4
  180. package/out/zero-cache/src/workers/replicator.js.map +1 -1
  181. package/out/zero-cache/src/workers/syncer.js +1 -1
  182. package/out/zero-cache/src/workers/syncer.js.map +1 -1
  183. package/out/zero-client/src/client/context.d.ts +4 -4
  184. package/out/zero-client/src/client/context.d.ts.map +1 -1
  185. package/out/zero-client/src/client/crud.d.ts +57 -26
  186. package/out/zero-client/src/client/crud.d.ts.map +1 -1
  187. package/out/zero-client/src/client/http-string.d.ts +1 -0
  188. package/out/zero-client/src/client/http-string.d.ts.map +1 -1
  189. package/out/zero-client/src/client/keys.d.ts +1 -1
  190. package/out/zero-client/src/client/keys.d.ts.map +1 -1
  191. package/out/zero-client/src/client/log-options.d.ts +2 -1
  192. package/out/zero-client/src/client/log-options.d.ts.map +1 -1
  193. package/out/zero-client/src/client/options.d.ts +9 -9
  194. package/out/zero-client/src/client/options.d.ts.map +1 -1
  195. package/out/zero-client/src/client/protocol-version.d.ts +2 -0
  196. package/out/zero-client/src/client/protocol-version.d.ts.map +1 -0
  197. package/out/zero-client/src/client/query-manager.d.ts +1 -1
  198. package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
  199. package/out/zero-client/src/client/server-option.d.ts.map +1 -1
  200. package/out/zero-client/src/client/zero-poke-handler.d.ts +1 -1
  201. package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -1
  202. package/out/zero-client/src/client/zero.d.ts +27 -22
  203. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  204. package/out/zero-client/src/mod.d.ts +8 -7
  205. package/out/zero-client/src/mod.d.ts.map +1 -1
  206. package/out/zero-protocol/src/ast.d.ts +37 -21
  207. package/out/zero-protocol/src/ast.d.ts.map +1 -1
  208. package/out/zero-protocol/src/ast.js +21 -6
  209. package/out/zero-protocol/src/ast.js.map +1 -1
  210. package/out/zero-protocol/src/change-desired-queries.d.ts +16 -8
  211. package/out/zero-protocol/src/change-desired-queries.d.ts.map +1 -1
  212. package/out/zero-protocol/src/connect.d.ts +16 -8
  213. package/out/zero-protocol/src/connect.d.ts.map +1 -1
  214. package/out/zero-protocol/src/down.d.ts +16 -8
  215. package/out/zero-protocol/src/down.d.ts.map +1 -1
  216. package/out/zero-protocol/src/poke.d.ts +32 -16
  217. package/out/zero-protocol/src/poke.d.ts.map +1 -1
  218. package/out/zero-protocol/src/push.d.ts +18 -18
  219. package/out/zero-protocol/src/push.d.ts.map +1 -1
  220. package/out/zero-protocol/src/push.js +5 -5
  221. package/out/zero-protocol/src/push.js.map +1 -1
  222. package/out/zero-protocol/src/queries-patch.d.ts +24 -12
  223. package/out/zero-protocol/src/queries-patch.d.ts.map +1 -1
  224. package/out/zero-protocol/src/up.d.ts +18 -10
  225. package/out/zero-protocol/src/up.d.ts.map +1 -1
  226. package/out/zero-react/src/use-query.d.ts +2 -1
  227. package/out/zero-react/src/use-query.d.ts.map +1 -1
  228. package/out/zero-react/src/use-zero.d.ts +2 -1
  229. package/out/zero-react/src/use-zero.d.ts.map +1 -1
  230. package/out/zero-schema/src/authorization.d.ts +25 -0
  231. package/out/zero-schema/src/authorization.d.ts.map +1 -0
  232. package/out/zero-schema/src/compiled-authorization.d.ts +379 -0
  233. package/out/zero-schema/src/compiled-authorization.d.ts.map +1 -0
  234. package/out/zero-schema/src/compiled-authorization.js +15 -0
  235. package/out/zero-schema/src/compiled-authorization.js.map +1 -0
  236. package/out/zero-schema/src/mod.d.ts +5 -0
  237. package/out/zero-schema/src/mod.d.ts.map +1 -0
  238. package/out/{zql/src/zql/query → zero-schema/src}/normalize-table-schema.d.ts +2 -3
  239. package/out/zero-schema/src/normalize-table-schema.d.ts.map +1 -0
  240. package/out/{zero-client/src/client → zero-schema/src}/normalized-schema.d.ts +2 -2
  241. package/out/zero-schema/src/normalized-schema.d.ts.map +1 -0
  242. package/out/zero-schema/src/schema.d.ts +9 -0
  243. package/out/zero-schema/src/schema.d.ts.map +1 -0
  244. package/out/{zql/src/zql/query/schema.d.ts → zero-schema/src/table-schema.d.ts} +47 -3
  245. package/out/zero-schema/src/table-schema.d.ts.map +1 -0
  246. package/out/{zql/src/zql/query/schema.js → zero-schema/src/table-schema.js} +1 -1
  247. package/out/zero-schema/src/table-schema.js.map +1 -0
  248. package/out/zero-solid/src/create-zero.d.ts +2 -1
  249. package/out/zero-solid/src/create-zero.d.ts.map +1 -1
  250. package/out/zero.js +6 -14
  251. package/out/zql/src/{zql/builder → builder}/builder.d.ts +5 -5
  252. package/out/zql/src/builder/builder.d.ts.map +1 -0
  253. package/out/zql/src/{zql/builder → builder}/builder.js +81 -33
  254. package/out/zql/src/builder/builder.js.map +1 -0
  255. package/out/zql/src/builder/error.d.ts.map +1 -0
  256. package/out/zql/src/builder/error.js.map +1 -0
  257. package/out/zql/src/builder/filter.d.ts +7 -0
  258. package/out/zql/src/builder/filter.d.ts.map +1 -0
  259. package/out/zql/src/{zql/builder → builder}/filter.js +19 -1
  260. package/out/zql/src/builder/filter.js.map +1 -0
  261. package/out/zql/src/builder/like.d.ts +3 -0
  262. package/out/zql/src/builder/like.d.ts.map +1 -0
  263. package/out/zql/src/{zql/builder → builder}/like.js +1 -1
  264. package/out/zql/src/builder/like.js.map +1 -0
  265. package/out/zql/src/ivm/array-view.d.ts.map +1 -0
  266. package/out/zql/src/{zql/ivm → ivm}/change.d.ts +2 -1
  267. package/out/zql/src/ivm/change.d.ts.map +1 -0
  268. package/out/zql/src/ivm/change.js +5 -0
  269. package/out/zql/src/ivm/change.js.map +1 -0
  270. package/out/zql/src/{zql/ivm → ivm}/data.d.ts +2 -2
  271. package/out/zql/src/ivm/data.d.ts.map +1 -0
  272. package/out/zql/src/{zql/ivm → ivm}/data.js +1 -1
  273. package/out/zql/src/ivm/data.js.map +1 -0
  274. package/out/zql/src/ivm/exists.d.ts +18 -0
  275. package/out/zql/src/ivm/exists.d.ts.map +1 -0
  276. package/out/zql/src/ivm/exists.js +186 -0
  277. package/out/zql/src/ivm/exists.js.map +1 -0
  278. package/out/zql/src/{zql/ivm → ivm}/fan-in.d.ts +3 -3
  279. package/out/zql/src/ivm/fan-in.d.ts.map +1 -0
  280. package/out/zql/src/{zql/ivm → ivm}/fan-in.js +8 -11
  281. package/out/zql/src/ivm/fan-in.js.map +1 -0
  282. package/out/zql/src/{zql/ivm → ivm}/fan-out.d.ts +1 -1
  283. package/out/zql/src/ivm/fan-out.d.ts.map +1 -0
  284. package/out/zql/src/{zql/ivm → ivm}/fan-out.js +8 -7
  285. package/out/zql/src/ivm/fan-out.js.map +1 -0
  286. package/out/zql/src/{zql/ivm → ivm}/filter.d.ts +3 -3
  287. package/out/zql/src/ivm/filter.d.ts.map +1 -0
  288. package/out/zql/src/{zql/ivm → ivm}/filter.js +2 -2
  289. package/out/zql/src/ivm/filter.js.map +1 -0
  290. package/out/zql/src/{zql/ivm → ivm}/join.d.ts +2 -2
  291. package/out/zql/src/ivm/join.d.ts.map +1 -0
  292. package/out/zql/src/{zql/ivm → ivm}/join.js +2 -2
  293. package/out/zql/src/ivm/join.js.map +1 -0
  294. package/out/zql/src/ivm/lookahead-iterator.d.ts.map +1 -0
  295. package/out/zql/src/ivm/lookahead-iterator.js.map +1 -0
  296. package/out/zql/src/{zql/ivm → ivm}/maybe-split-and-push-edit-change.d.ts +1 -1
  297. package/out/zql/src/ivm/maybe-split-and-push-edit-change.d.ts.map +1 -0
  298. package/out/zql/src/ivm/maybe-split-and-push-edit-change.js.map +1 -0
  299. package/out/zql/src/{zql/ivm → ivm}/memory-source.d.ts +16 -12
  300. package/out/zql/src/ivm/memory-source.d.ts.map +1 -0
  301. package/out/zql/src/{zql/ivm → ivm}/memory-source.js +72 -92
  302. package/out/zql/src/ivm/memory-source.js.map +1 -0
  303. package/out/zql/src/{zql/ivm → ivm}/memory-storage.d.ts +1 -1
  304. package/out/zql/src/ivm/memory-storage.d.ts.map +1 -0
  305. package/out/zql/src/{zql/ivm → ivm}/operator.d.ts +5 -5
  306. package/out/zql/src/ivm/operator.d.ts.map +1 -0
  307. package/out/zql/src/ivm/operator.js.map +1 -0
  308. package/out/zql/src/ivm/schema.d.ts +15 -0
  309. package/out/zql/src/ivm/schema.d.ts.map +1 -0
  310. package/out/zql/src/ivm/schema.js +2 -0
  311. package/out/zql/src/ivm/schema.js.map +1 -0
  312. package/out/zql/src/{zql/ivm → ivm}/skip.d.ts +3 -3
  313. package/out/zql/src/ivm/skip.d.ts.map +1 -0
  314. package/out/zql/src/{zql/ivm → ivm}/skip.js +2 -2
  315. package/out/zql/src/ivm/skip.js.map +1 -0
  316. package/out/zql/src/{zql/ivm → ivm}/source.d.ts +2 -2
  317. package/out/zql/src/ivm/source.d.ts.map +1 -0
  318. package/out/zql/src/ivm/source.js.map +1 -0
  319. package/out/zql/src/ivm/stream.d.ts.map +1 -0
  320. package/out/zql/src/ivm/stream.js.map +1 -0
  321. package/out/zql/src/{zql/ivm → ivm}/take.d.ts +3 -3
  322. package/out/zql/src/ivm/take.d.ts.map +1 -0
  323. package/out/zql/src/{zql/ivm → ivm}/take.js +13 -9
  324. package/out/zql/src/ivm/take.js.map +1 -0
  325. package/out/zql/src/ivm/view-apply-change.d.ts +5 -0
  326. package/out/zql/src/ivm/view-apply-change.d.ts.map +1 -0
  327. package/out/zql/src/{zql/ivm → ivm}/view.d.ts +2 -2
  328. package/out/zql/src/ivm/view.d.ts.map +1 -0
  329. package/out/zql/src/query/auth-query.d.ts +24 -0
  330. package/out/zql/src/query/auth-query.d.ts.map +1 -0
  331. package/out/zql/src/query/dnf.d.ts +10 -0
  332. package/out/zql/src/query/dnf.d.ts.map +1 -0
  333. package/out/zql/src/query/escape-like.d.ts.map +1 -0
  334. package/out/zql/src/query/expression.d.ts +41 -0
  335. package/out/zql/src/query/expression.d.ts.map +1 -0
  336. package/out/zql/src/{zql/query → query}/query-impl.d.ts +9 -8
  337. package/out/zql/src/query/query-impl.d.ts.map +1 -0
  338. package/out/zql/src/{zql/query → query}/query-internal.d.ts +1 -1
  339. package/out/zql/src/query/query-internal.d.ts.map +1 -0
  340. package/out/zql/src/query/query.d.ts +98 -0
  341. package/out/zql/src/query/query.d.ts.map +1 -0
  342. package/out/zql/src/{zql/query → query}/typed-view.d.ts +1 -1
  343. package/out/zql/src/query/typed-view.d.ts.map +1 -0
  344. package/out/zqlite/src/db.d.ts.map +1 -1
  345. package/out/zqlite/src/db.js +19 -6
  346. package/out/zqlite/src/db.js.map +1 -1
  347. package/out/zqlite/src/table-source.d.ts +24 -3
  348. package/out/zqlite/src/table-source.d.ts.map +1 -1
  349. package/out/zqlite/src/table-source.js +117 -18
  350. package/out/zqlite/src/table-source.js.map +1 -1
  351. package/package.json +11 -6
  352. package/out/chunk-TBA526RR.js.map +0 -7
  353. package/out/datadog/src/datadog-log-sink.js +0 -231
  354. package/out/datadog/src/datadog-log-sink.js.map +0 -1
  355. package/out/datadog/src/mod.js +0 -2
  356. package/out/datadog/src/mod.js.map +0 -1
  357. package/out/replicache/src/async-iterable-to-array.js +0 -8
  358. package/out/replicache/src/async-iterable-to-array.js.map +0 -1
  359. package/out/replicache/src/bg-interval.js +0 -38
  360. package/out/replicache/src/bg-interval.js.map +0 -1
  361. package/out/replicache/src/binary-search.js +0 -31
  362. package/out/replicache/src/binary-search.js.map +0 -1
  363. package/out/replicache/src/broadcast-channel.js +0 -29
  364. package/out/replicache/src/broadcast-channel.js.map +0 -1
  365. package/out/replicache/src/btree/diff.js +0 -6
  366. package/out/replicache/src/btree/diff.js.map +0 -1
  367. package/out/replicache/src/btree/node.js +0 -392
  368. package/out/replicache/src/btree/node.js.map +0 -1
  369. package/out/replicache/src/btree/read.js +0 -227
  370. package/out/replicache/src/btree/read.js.map +0 -1
  371. package/out/replicache/src/btree/splice.js +0 -79
  372. package/out/replicache/src/btree/splice.js.map +0 -1
  373. package/out/replicache/src/btree/write.js +0 -154
  374. package/out/replicache/src/btree/write.js.map +0 -1
  375. package/out/replicache/src/call-default-fetch.js +0 -37
  376. package/out/replicache/src/call-default-fetch.js.map +0 -1
  377. package/out/replicache/src/config.js +0 -13
  378. package/out/replicache/src/config.js.map +0 -1
  379. package/out/replicache/src/connection-loop-delegates.js +0 -30
  380. package/out/replicache/src/connection-loop-delegates.js.map +0 -1
  381. package/out/replicache/src/connection-loop.js +0 -268
  382. package/out/replicache/src/connection-loop.js.map +0 -1
  383. package/out/replicache/src/cookies.js +0 -41
  384. package/out/replicache/src/cookies.js.map +0 -1
  385. package/out/replicache/src/dag/chunk.js +0 -60
  386. package/out/replicache/src/dag/chunk.js.map +0 -1
  387. package/out/replicache/src/dag/gc.js +0 -126
  388. package/out/replicache/src/dag/gc.js.map +0 -1
  389. package/out/replicache/src/dag/key-type-enum.js +0 -6
  390. package/out/replicache/src/dag/key-type-enum.js.map +0 -1
  391. package/out/replicache/src/dag/key.js +0 -54
  392. package/out/replicache/src/dag/key.js.map +0 -1
  393. package/out/replicache/src/dag/lazy-store.js +0 -532
  394. package/out/replicache/src/dag/lazy-store.js.map +0 -1
  395. package/out/replicache/src/dag/store-impl.js +0 -175
  396. package/out/replicache/src/dag/store-impl.js.map +0 -1
  397. package/out/replicache/src/dag/store.js +0 -22
  398. package/out/replicache/src/dag/store.js.map +0 -1
  399. package/out/replicache/src/dag/visitor.js +0 -22
  400. package/out/replicache/src/dag/visitor.js.map +0 -1
  401. package/out/replicache/src/db/commit.js +0 -443
  402. package/out/replicache/src/db/commit.js.map +0 -1
  403. package/out/replicache/src/db/index-operation-enum.js +0 -4
  404. package/out/replicache/src/db/index-operation-enum.js.map +0 -1
  405. package/out/replicache/src/db/index.js +0 -170
  406. package/out/replicache/src/db/index.js.map +0 -1
  407. package/out/replicache/src/db/meta-type-enum.js +0 -7
  408. package/out/replicache/src/db/meta-type-enum.js.map +0 -1
  409. package/out/replicache/src/db/read.js +0 -59
  410. package/out/replicache/src/db/read.js.map +0 -1
  411. package/out/replicache/src/db/rebase.js +0 -56
  412. package/out/replicache/src/db/rebase.js.map +0 -1
  413. package/out/replicache/src/db/scan.js +0 -2
  414. package/out/replicache/src/db/scan.js.map +0 -1
  415. package/out/replicache/src/db/write.js +0 -260
  416. package/out/replicache/src/db/write.js.map +0 -1
  417. package/out/replicache/src/error-responses.js +0 -30
  418. package/out/replicache/src/error-responses.js.map +0 -1
  419. package/out/replicache/src/filter-async-iterable.js +0 -15
  420. package/out/replicache/src/filter-async-iterable.js.map +0 -1
  421. package/out/replicache/src/format-version-enum.js +0 -9
  422. package/out/replicache/src/format-version-enum.js.map +0 -1
  423. package/out/replicache/src/format-version.js +0 -8
  424. package/out/replicache/src/format-version.js.map +0 -1
  425. package/out/replicache/src/frozen-json.js +0 -151
  426. package/out/replicache/src/frozen-json.js.map +0 -1
  427. package/out/replicache/src/get-default-puller.js +0 -74
  428. package/out/replicache/src/get-default-puller.js.map +0 -1
  429. package/out/replicache/src/get-default-pusher.js +0 -36
  430. package/out/replicache/src/get-default-pusher.js.map +0 -1
  431. package/out/replicache/src/hash.js +0 -73
  432. package/out/replicache/src/hash.js.map +0 -1
  433. package/out/replicache/src/http-request-info.js +0 -7
  434. package/out/replicache/src/http-request-info.js.map +0 -1
  435. package/out/replicache/src/impl.js +0 -2
  436. package/out/replicache/src/impl.js.map +0 -1
  437. package/out/replicache/src/index-defs.js +0 -28
  438. package/out/replicache/src/index-defs.js.map +0 -1
  439. package/out/replicache/src/invoke-kind-enum.js +0 -4
  440. package/out/replicache/src/invoke-kind-enum.js.map +0 -1
  441. package/out/replicache/src/iterable-union.js +0 -5
  442. package/out/replicache/src/iterable-union.js.map +0 -1
  443. package/out/replicache/src/kv/idb-store-with-mem-fallback.js +0 -93
  444. package/out/replicache/src/kv/idb-store-with-mem-fallback.js.map +0 -1
  445. package/out/replicache/src/kv/idb-store.js +0 -179
  446. package/out/replicache/src/kv/idb-store.js.map +0 -1
  447. package/out/replicache/src/kv/mem-store.js +0 -61
  448. package/out/replicache/src/kv/mem-store.js.map +0 -1
  449. package/out/replicache/src/kv/read-impl.js +0 -23
  450. package/out/replicache/src/kv/read-impl.js.map +0 -1
  451. package/out/replicache/src/kv/store.js +0 -2
  452. package/out/replicache/src/kv/store.js.map +0 -1
  453. package/out/replicache/src/kv/write-impl-base.js +0 -48
  454. package/out/replicache/src/kv/write-impl-base.js.map +0 -1
  455. package/out/replicache/src/kv/write-impl.js +0 -25
  456. package/out/replicache/src/kv/write-impl.js.map +0 -1
  457. package/out/replicache/src/lazy.js +0 -10
  458. package/out/replicache/src/lazy.js.map +0 -1
  459. package/out/replicache/src/log-options.js +0 -13
  460. package/out/replicache/src/log-options.js.map +0 -1
  461. package/out/replicache/src/merge-async-iterables.js +0 -61
  462. package/out/replicache/src/merge-async-iterables.js.map +0 -1
  463. package/out/replicache/src/mod.js +0 -14
  464. package/out/replicache/src/mod.js.map +0 -1
  465. package/out/replicache/src/mutation-recovery.js +0 -439
  466. package/out/replicache/src/mutation-recovery.js.map +0 -1
  467. package/out/replicache/src/new-client-channel.js +0 -77
  468. package/out/replicache/src/new-client-channel.js.map +0 -1
  469. package/out/replicache/src/on-persist-channel.js +0 -33
  470. package/out/replicache/src/on-persist-channel.js.map +0 -1
  471. package/out/replicache/src/patch-operation.js +0 -37
  472. package/out/replicache/src/patch-operation.js.map +0 -1
  473. package/out/replicache/src/pending-mutations.js +0 -18
  474. package/out/replicache/src/pending-mutations.js.map +0 -1
  475. package/out/replicache/src/persist/client-gc.js +0 -38
  476. package/out/replicache/src/persist/client-gc.js.map +0 -1
  477. package/out/replicache/src/persist/client-group-gc.js +0 -38
  478. package/out/replicache/src/persist/client-group-gc.js.map +0 -1
  479. package/out/replicache/src/persist/client-groups.js +0 -180
  480. package/out/replicache/src/persist/client-groups.js.map +0 -1
  481. package/out/replicache/src/persist/clients.js +0 -390
  482. package/out/replicache/src/persist/clients.js.map +0 -1
  483. package/out/replicache/src/persist/collect-idb-databases.js +0 -174
  484. package/out/replicache/src/persist/collect-idb-databases.js.map +0 -1
  485. package/out/replicache/src/persist/gather-mem-only-visitor.js +0 -25
  486. package/out/replicache/src/persist/gather-mem-only-visitor.js.map +0 -1
  487. package/out/replicache/src/persist/gather-not-cached-visitor.js +0 -35
  488. package/out/replicache/src/persist/gather-not-cached-visitor.js.map +0 -1
  489. package/out/replicache/src/persist/heartbeat.js +0 -37
  490. package/out/replicache/src/persist/heartbeat.js.map +0 -1
  491. package/out/replicache/src/persist/idb-databases-store-db-name.js +0 -18
  492. package/out/replicache/src/persist/idb-databases-store-db-name.js.map +0 -1
  493. package/out/replicache/src/persist/idb-databases-store.js +0 -90
  494. package/out/replicache/src/persist/idb-databases-store.js.map +0 -1
  495. package/out/replicache/src/persist/make-client-id.js +0 -13
  496. package/out/replicache/src/persist/make-client-id.js.map +0 -1
  497. package/out/replicache/src/persist/persist.js +0 -132
  498. package/out/replicache/src/persist/persist.js.map +0 -1
  499. package/out/replicache/src/persist/refresh.js +0 -147
  500. package/out/replicache/src/persist/refresh.js.map +0 -1
  501. package/out/replicache/src/process-scheduler.js +0 -93
  502. package/out/replicache/src/process-scheduler.js.map +0 -1
  503. package/out/replicache/src/puller.js +0 -2
  504. package/out/replicache/src/puller.js.map +0 -1
  505. package/out/replicache/src/pusher.js +0 -32
  506. package/out/replicache/src/pusher.js.map +0 -1
  507. package/out/replicache/src/replicache-impl.js +0 -1007
  508. package/out/replicache/src/replicache-impl.js.map +0 -1
  509. package/out/replicache/src/replicache-options.js +0 -2
  510. package/out/replicache/src/replicache-options.js.map +0 -1
  511. package/out/replicache/src/replicache.js +0 -387
  512. package/out/replicache/src/replicache.js.map +0 -1
  513. package/out/replicache/src/request-idle.js +0 -15
  514. package/out/replicache/src/request-idle.js.map +0 -1
  515. package/out/replicache/src/scan-iterator.js +0 -202
  516. package/out/replicache/src/scan-iterator.js.map +0 -1
  517. package/out/replicache/src/scan-options.js +0 -45
  518. package/out/replicache/src/scan-options.js.map +0 -1
  519. package/out/replicache/src/set-interval-with-signal.js +0 -7
  520. package/out/replicache/src/set-interval-with-signal.js.map +0 -1
  521. package/out/replicache/src/size-of-value.js +0 -77
  522. package/out/replicache/src/size-of-value.js.map +0 -1
  523. package/out/replicache/src/subscriptions.js +0 -357
  524. package/out/replicache/src/subscriptions.js.map +0 -1
  525. package/out/replicache/src/sync/diff.js +0 -75
  526. package/out/replicache/src/sync/diff.js.map +0 -1
  527. package/out/replicache/src/sync/handle-pull-response-result-type-enum.js +0 -5
  528. package/out/replicache/src/sync/handle-pull-response-result-type-enum.js.map +0 -1
  529. package/out/replicache/src/sync/ids.js +0 -4
  530. package/out/replicache/src/sync/ids.js.map +0 -1
  531. package/out/replicache/src/sync/patch.js +0 -41
  532. package/out/replicache/src/sync/patch.js.map +0 -1
  533. package/out/replicache/src/sync/pull-error.js +0 -16
  534. package/out/replicache/src/sync/pull-error.js.map +0 -1
  535. package/out/replicache/src/sync/pull.js +0 -375
  536. package/out/replicache/src/sync/pull.js.map +0 -1
  537. package/out/replicache/src/sync/push.js +0 -141
  538. package/out/replicache/src/sync/push.js.map +0 -1
  539. package/out/replicache/src/sync/request-id.js +0 -31
  540. package/out/replicache/src/sync/request-id.js.map +0 -1
  541. package/out/replicache/src/sync/sync-head-name.js +0 -2
  542. package/out/replicache/src/sync/sync-head-name.js.map +0 -1
  543. package/out/replicache/src/test-license-key.js +0 -3
  544. package/out/replicache/src/test-license-key.js.map +0 -1
  545. package/out/replicache/src/to-error.js +0 -7
  546. package/out/replicache/src/to-error.js.map +0 -1
  547. package/out/replicache/src/transaction-closed-error.js +0 -17
  548. package/out/replicache/src/transaction-closed-error.js.map +0 -1
  549. package/out/replicache/src/transactions.js +0 -144
  550. package/out/replicache/src/transactions.js.map +0 -1
  551. package/out/replicache/src/types.js +0 -2
  552. package/out/replicache/src/types.js.map +0 -1
  553. package/out/replicache/src/version.js +0 -6
  554. package/out/replicache/src/version.js.map +0 -1
  555. package/out/replicache/src/with-transactions.js +0 -28
  556. package/out/replicache/src/with-transactions.js.map +0 -1
  557. package/out/shared/src/browser-env.js +0 -14
  558. package/out/shared/src/browser-env.js.map +0 -1
  559. package/out/shared/src/document-visible.js +0 -76
  560. package/out/shared/src/document-visible.js.map +0 -1
  561. package/out/shared/src/immutable.js +0 -2
  562. package/out/shared/src/immutable.js.map +0 -1
  563. package/out/shared/src/navigator.js +0 -3
  564. package/out/shared/src/navigator.js.map +0 -1
  565. package/out/shared/src/random-uint64.js +0 -8
  566. package/out/shared/src/random-uint64.js.map +0 -1
  567. package/out/shared/src/sorted-entries.js +0 -6
  568. package/out/shared/src/sorted-entries.js.map +0 -1
  569. package/out/shared/src/types.js +0 -2
  570. package/out/shared/src/types.js.map +0 -1
  571. package/out/shared/src/writable.js +0 -2
  572. package/out/shared/src/writable.js.map +0 -1
  573. package/out/zero/src/config.d.ts +0 -2
  574. package/out/zero/src/config.d.ts.map +0 -1
  575. package/out/zero/src/config.js +0 -2
  576. package/out/zero/src/config.js.map +0 -1
  577. package/out/zero-cache/src/config/config-query.d.ts +0 -19
  578. package/out/zero-cache/src/config/config-query.d.ts.map +0 -1
  579. package/out/zero-cache/src/config/config-query.js +0 -22
  580. package/out/zero-cache/src/config/config-query.js.map +0 -1
  581. package/out/zero-cache/src/config/define-config.d.ts +0 -43
  582. package/out/zero-cache/src/config/define-config.d.ts.map +0 -1
  583. package/out/zero-cache/src/config/define-config.js +0 -120
  584. package/out/zero-cache/src/config/define-config.js.map +0 -1
  585. package/out/zero-cache/src/config/refs.d.ts +0 -3
  586. package/out/zero-cache/src/config/refs.d.ts.map +0 -1
  587. package/out/zero-cache/src/config/refs.js +0 -14
  588. package/out/zero-cache/src/config/refs.js.map +0 -1
  589. package/out/zero-client/src/client/context.js +0 -113
  590. package/out/zero-client/src/client/context.js.map +0 -1
  591. package/out/zero-client/src/client/crud.js +0 -181
  592. package/out/zero-client/src/client/crud.js.map +0 -1
  593. package/out/zero-client/src/client/enable-analytics.js +0 -21
  594. package/out/zero-client/src/client/enable-analytics.js.map +0 -1
  595. package/out/zero-client/src/client/http-string.js +0 -14
  596. package/out/zero-client/src/client/http-string.js.map +0 -1
  597. package/out/zero-client/src/client/keys.js +0 -32
  598. package/out/zero-client/src/client/keys.js.map +0 -1
  599. package/out/zero-client/src/client/log-options.js +0 -57
  600. package/out/zero-client/src/client/log-options.js.map +0 -1
  601. package/out/zero-client/src/client/metrics.js +0 -268
  602. package/out/zero-client/src/client/metrics.js.map +0 -1
  603. package/out/zero-client/src/client/normalized-schema.d.ts.map +0 -1
  604. package/out/zero-client/src/client/normalized-schema.js +0 -31
  605. package/out/zero-client/src/client/normalized-schema.js.map +0 -1
  606. package/out/zero-client/src/client/options.js +0 -2
  607. package/out/zero-client/src/client/options.js.map +0 -1
  608. package/out/zero-client/src/client/query-manager.js +0 -146
  609. package/out/zero-client/src/client/query-manager.js.map +0 -1
  610. package/out/zero-client/src/client/reload-error-handler.js +0 -23
  611. package/out/zero-client/src/client/reload-error-handler.js.map +0 -1
  612. package/out/zero-client/src/client/replicache-types.js +0 -2
  613. package/out/zero-client/src/client/replicache-types.js.map +0 -1
  614. package/out/zero-client/src/client/server-error.js +0 -22
  615. package/out/zero-client/src/client/server-error.js.map +0 -1
  616. package/out/zero-client/src/client/server-option.js +0 -37
  617. package/out/zero-client/src/client/server-option.js.map +0 -1
  618. package/out/zero-client/src/client/version.js +0 -6
  619. package/out/zero-client/src/client/version.js.map +0 -1
  620. package/out/zero-client/src/client/zero-poke-handler.js +0 -240
  621. package/out/zero-client/src/client/zero-poke-handler.js.map +0 -1
  622. package/out/zero-client/src/client/zero.js +0 -1233
  623. package/out/zero-client/src/client/zero.js.map +0 -1
  624. package/out/zero-client/src/mod.js +0 -7
  625. package/out/zero-client/src/mod.js.map +0 -1
  626. package/out/zero-client/src/util/nanoid.js +0 -34
  627. package/out/zero-client/src/util/nanoid.js.map +0 -1
  628. package/out/zero-client/src/util/socket.js +0 -4
  629. package/out/zero-client/src/util/socket.js.map +0 -1
  630. package/out/zero-protocol/src/ast-hash.js +0 -14
  631. package/out/zero-protocol/src/ast-hash.js.map +0 -1
  632. package/out/zql/src/zql/builder/builder.d.ts.map +0 -1
  633. package/out/zql/src/zql/builder/builder.js.map +0 -1
  634. package/out/zql/src/zql/builder/error.d.ts.map +0 -1
  635. package/out/zql/src/zql/builder/error.js.map +0 -1
  636. package/out/zql/src/zql/builder/filter.d.ts +0 -6
  637. package/out/zql/src/zql/builder/filter.d.ts.map +0 -1
  638. package/out/zql/src/zql/builder/filter.js.map +0 -1
  639. package/out/zql/src/zql/builder/like.d.ts +0 -3
  640. package/out/zql/src/zql/builder/like.d.ts.map +0 -1
  641. package/out/zql/src/zql/builder/like.js.map +0 -1
  642. package/out/zql/src/zql/ivm/array-view.d.ts.map +0 -1
  643. package/out/zql/src/zql/ivm/array-view.js +0 -70
  644. package/out/zql/src/zql/ivm/array-view.js.map +0 -1
  645. package/out/zql/src/zql/ivm/change.d.ts.map +0 -1
  646. package/out/zql/src/zql/ivm/change.js +0 -2
  647. package/out/zql/src/zql/ivm/change.js.map +0 -1
  648. package/out/zql/src/zql/ivm/data.d.ts.map +0 -1
  649. package/out/zql/src/zql/ivm/data.js.map +0 -1
  650. package/out/zql/src/zql/ivm/fan-in.d.ts.map +0 -1
  651. package/out/zql/src/zql/ivm/fan-in.js.map +0 -1
  652. package/out/zql/src/zql/ivm/fan-out.d.ts.map +0 -1
  653. package/out/zql/src/zql/ivm/fan-out.js.map +0 -1
  654. package/out/zql/src/zql/ivm/filter.d.ts.map +0 -1
  655. package/out/zql/src/zql/ivm/filter.js.map +0 -1
  656. package/out/zql/src/zql/ivm/join.d.ts.map +0 -1
  657. package/out/zql/src/zql/ivm/join.js.map +0 -1
  658. package/out/zql/src/zql/ivm/lookahead-iterator.d.ts.map +0 -1
  659. package/out/zql/src/zql/ivm/lookahead-iterator.js.map +0 -1
  660. package/out/zql/src/zql/ivm/maybe-split-and-push-edit-change.d.ts.map +0 -1
  661. package/out/zql/src/zql/ivm/maybe-split-and-push-edit-change.js.map +0 -1
  662. package/out/zql/src/zql/ivm/memory-source.d.ts.map +0 -1
  663. package/out/zql/src/zql/ivm/memory-source.js.map +0 -1
  664. package/out/zql/src/zql/ivm/memory-storage.d.ts.map +0 -1
  665. package/out/zql/src/zql/ivm/memory-storage.js +0 -33
  666. package/out/zql/src/zql/ivm/memory-storage.js.map +0 -1
  667. package/out/zql/src/zql/ivm/operator.d.ts.map +0 -1
  668. package/out/zql/src/zql/ivm/operator.js.map +0 -1
  669. package/out/zql/src/zql/ivm/schema.d.ts +0 -29
  670. package/out/zql/src/zql/ivm/schema.d.ts.map +0 -1
  671. package/out/zql/src/zql/ivm/schema.js +0 -3
  672. package/out/zql/src/zql/ivm/schema.js.map +0 -1
  673. package/out/zql/src/zql/ivm/skip.d.ts.map +0 -1
  674. package/out/zql/src/zql/ivm/skip.js.map +0 -1
  675. package/out/zql/src/zql/ivm/source.d.ts.map +0 -1
  676. package/out/zql/src/zql/ivm/source.js.map +0 -1
  677. package/out/zql/src/zql/ivm/stream.d.ts.map +0 -1
  678. package/out/zql/src/zql/ivm/stream.js.map +0 -1
  679. package/out/zql/src/zql/ivm/take.d.ts.map +0 -1
  680. package/out/zql/src/zql/ivm/take.js.map +0 -1
  681. package/out/zql/src/zql/ivm/view-apply-change.d.ts +0 -5
  682. package/out/zql/src/zql/ivm/view-apply-change.d.ts.map +0 -1
  683. package/out/zql/src/zql/ivm/view-apply-change.js +0 -156
  684. package/out/zql/src/zql/ivm/view-apply-change.js.map +0 -1
  685. package/out/zql/src/zql/ivm/view.d.ts.map +0 -1
  686. package/out/zql/src/zql/ivm/view.js +0 -2
  687. package/out/zql/src/zql/ivm/view.js.map +0 -1
  688. package/out/zql/src/zql/query/escape-like.d.ts.map +0 -1
  689. package/out/zql/src/zql/query/escape-like.js +0 -4
  690. package/out/zql/src/zql/query/escape-like.js.map +0 -1
  691. package/out/zql/src/zql/query/expression.d.ts +0 -25
  692. package/out/zql/src/zql/query/expression.d.ts.map +0 -1
  693. package/out/zql/src/zql/query/expression.js +0 -115
  694. package/out/zql/src/zql/query/expression.js.map +0 -1
  695. package/out/zql/src/zql/query/normalize-table-schema.d.ts.map +0 -1
  696. package/out/zql/src/zql/query/normalize-table-schema.js +0 -116
  697. package/out/zql/src/zql/query/normalize-table-schema.js.map +0 -1
  698. package/out/zql/src/zql/query/query-impl.d.ts.map +0 -1
  699. package/out/zql/src/zql/query/query-impl.js +0 -289
  700. package/out/zql/src/zql/query/query-impl.js.map +0 -1
  701. package/out/zql/src/zql/query/query-internal.d.ts.map +0 -1
  702. package/out/zql/src/zql/query/query-internal.js +0 -2
  703. package/out/zql/src/zql/query/query-internal.js.map +0 -1
  704. package/out/zql/src/zql/query/query.d.ts +0 -142
  705. package/out/zql/src/zql/query/query.d.ts.map +0 -1
  706. package/out/zql/src/zql/query/query.js +0 -3
  707. package/out/zql/src/zql/query/query.js.map +0 -1
  708. package/out/zql/src/zql/query/schema.d.ts.map +0 -1
  709. package/out/zql/src/zql/query/schema.js.map +0 -1
  710. package/out/zql/src/zql/query/typed-view.d.ts.map +0 -1
  711. package/out/zql/src/zql/query/typed-view.js +0 -2
  712. package/out/zql/src/zql/query/typed-view.js.map +0 -1
  713. /package/out/{internal.js.map → advanced.js.map} +0 -0
  714. /package/out/zql/src/{zql/builder → builder}/error.d.ts +0 -0
  715. /package/out/zql/src/{zql/builder → builder}/error.js +0 -0
  716. /package/out/zql/src/{zql/ivm → ivm}/array-view.d.ts +0 -0
  717. /package/out/zql/src/{zql/ivm → ivm}/lookahead-iterator.d.ts +0 -0
  718. /package/out/zql/src/{zql/ivm → ivm}/lookahead-iterator.js +0 -0
  719. /package/out/zql/src/{zql/ivm → ivm}/maybe-split-and-push-edit-change.js +0 -0
  720. /package/out/zql/src/{zql/ivm → ivm}/operator.js +0 -0
  721. /package/out/zql/src/{zql/ivm → ivm}/source.js +0 -0
  722. /package/out/zql/src/{zql/ivm → ivm}/stream.d.ts +0 -0
  723. /package/out/zql/src/{zql/ivm → ivm}/stream.js +0 -0
  724. /package/out/zql/src/{zql/query → query}/escape-like.d.ts +0 -0
@@ -12,11 +12,16 @@ import { initReplicationState, ZERO_VERSION_COLUMN_NAME, } from '../../replicato
12
12
  import { toLexiVersion } from './lsn.js';
13
13
  import { initShardSchema } from './schema/init.js';
14
14
  import { getPublicationInfo } from './schema/published.js';
15
- import { getShardConfig } from './schema/shard.js';
15
+ import { getInternalShardConfig, setInitialSchema, validatePublications, } from './schema/shard.js';
16
+ // https://www.postgresql.org/docs/current/warm-standby.html#STREAMING-REPLICATION-SLOTS-MANIPULATION
17
+ const ALLOWED_SHARD_ID_CHARACTERS = /^[a-z0-9_]+$/;
16
18
  export function replicationSlot(shardID) {
17
19
  return `zero_${shardID}`;
18
20
  }
19
21
  export async function initialSync(lc, shard, tx, upstreamURI) {
22
+ if (!ALLOWED_SHARD_ID_CHARACTERS.test(shard.id)) {
23
+ throw new Error('A shard ID may only consist of lower-case letters, numbers, and the underscore character');
24
+ }
20
25
  const upstreamDB = pgClient(lc, upstreamURI, {
21
26
  max: MAX_WORKERS,
22
27
  });
@@ -27,25 +32,35 @@ export async function initialSync(lc, shard, tx, upstreamURI) {
27
32
  });
28
33
  try {
29
34
  await checkUpstreamConfig(upstreamDB);
30
- const { publications, tables, indices } = await ensurePublishedTables(lc, upstreamDB, shard);
31
- const pubNames = publications.map(p => p.pubname);
32
- lc.info?.(`Upstream is setup with publications [${pubNames}]`);
33
- createLiteTables(tx, tables);
34
- createLiteIndices(tx, indices);
35
+ const { publications } = await ensurePublishedTables(lc, upstreamDB, shard);
36
+ lc.info?.(`Upstream is setup with publications [${publications}]`);
35
37
  const { database, host } = upstreamDB.options;
36
38
  lc.info?.(`opening replication session to ${database}@${host}`);
37
39
  const { snapshot_name: snapshot, consistent_point: lsn } = await createReplicationSlot(lc, shard.id, replicationSession);
38
40
  // Run up to MAX_WORKERS to copy of tables at the replication slot's snapshot.
39
- const copiers = startTableCopyWorkers(lc, upstreamDB, tables.length, snapshot);
40
- await Promise.all(tables.map(table => copiers.process(db => copy(lc, table, db, tx).then(() => []))));
41
- copiers.setDone();
42
- initReplicationState(tx, pubNames, toLexiVersion(lsn));
41
+ const copiers = startTableCopyWorkers(lc, upstreamDB, snapshot);
42
+ let published;
43
+ try {
44
+ // Retrieve the published schema at the consistent_point.
45
+ published = await copiers.processReadTask(db => getPublicationInfo(db, publications));
46
+ // Note: If this throws, initial-sync is aborted.
47
+ validatePublications(lc, shard.id, published);
48
+ // Now that tables have been validated, kick off the copiers.
49
+ const { tables, indexes } = published;
50
+ createLiteTables(tx, tables);
51
+ createLiteIndices(tx, indexes);
52
+ await Promise.all(tables.map(table => copiers.process(db => copy(lc, table, db, tx).then(() => []))));
53
+ }
54
+ finally {
55
+ copiers.setDone();
56
+ }
57
+ await setInitialSchema(upstreamDB, shard.id, published);
58
+ initReplicationState(tx, publications, toLexiVersion(lsn));
43
59
  initChangeLog(tx);
44
- lc.info?.(`Synced initial data from ${pubNames} up to ${lsn}`);
60
+ lc.info?.(`Synced initial data from ${publications} up to ${lsn}`);
45
61
  await copiers.done();
46
62
  }
47
63
  finally {
48
- // Close the upstream connections.
49
64
  await replicationSession.end();
50
65
  await upstreamDB.end();
51
66
  }
@@ -66,8 +81,7 @@ async function ensurePublishedTables(lc, upstreamDB, shard) {
66
81
  const { database, host } = upstreamDB.options;
67
82
  lc.info?.(`Ensuring upstream PUBLICATION on ${database}@${host}`);
68
83
  await initShardSchema(lc, upstreamDB, shard);
69
- const { publications } = await getShardConfig(upstreamDB, shard.id);
70
- return getPublicationInfo(upstreamDB, publications);
84
+ return getInternalShardConfig(upstreamDB, shard.id);
71
85
  }
72
86
  /* eslint-enable @typescript-eslint/naming-convention */
73
87
  async function createReplicationSlot(lc, shardID, session) {
@@ -88,19 +102,19 @@ async function createReplicationSlot(lc, shardID, session) {
88
102
  lc.info?.(`Dropping existing replication slot ${slotName}`);
89
103
  await session.unsafe(`DROP_REPLICATION_SLOT ${slotName} WAIT`);
90
104
  }
91
- const slot = (await session.unsafe(`CREATE_REPLICATION_SLOT ${slotName} LOGICAL pgoutput`))[0];
105
+ const slot = (await session.unsafe(`CREATE_REPLICATION_SLOT "${slotName}" LOGICAL pgoutput`))[0];
92
106
  lc.info?.(`Created replication slot ${slotName}`, slot);
93
107
  return slot;
94
108
  }
95
109
  // TODO: Consider parameterizing these.
96
110
  const MAX_WORKERS = 5;
97
111
  const BATCH_SIZE = 100_000;
98
- function startTableCopyWorkers(lc, db, numTables, snapshot) {
112
+ function startTableCopyWorkers(lc, db, snapshot) {
99
113
  const { init } = importSnapshot(snapshot);
100
- const numWorkers = Math.min(numTables, MAX_WORKERS);
114
+ const numWorkers = MAX_WORKERS;
101
115
  const tableCopiers = new TransactionPool(lc, Mode.READONLY, init, undefined, numWorkers);
102
116
  tableCopiers.run(db);
103
- lc.info?.(`Started ${numWorkers} workers to copy ${numTables} tables`);
117
+ lc.info?.(`Started ${numWorkers} workers to copy tables`);
104
118
  return tableCopiers;
105
119
  }
106
120
  function createLiteTables(tx, tables) {
@@ -1 +1 @@
1
- {"version":3,"file":"initial-sync.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/pg/initial-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initial-sync.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/pg/initial-sync.ts"],"names":[],"mappings":"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"}
@@ -1,40 +1,12 @@
1
1
  import * as v from '../../../../../../shared/src/valita.js';
2
2
  export declare const PROTOCOL_VERSION = 1;
3
- declare const publishedSchema: v.ObjectType<{
4
- tables: v.ArrayType<v.ObjectType<Omit<Omit<{
5
- name: v.Type<string>;
6
- columns: v.Type<Record<string, {
7
- characterMaximumLength?: number | null | undefined;
8
- notNull?: boolean | null | undefined;
9
- dflt?: string | null | undefined;
10
- pos: number;
11
- dataType: string;
12
- }>>;
13
- primaryKey: v.ArrayType<v.Type<string>>;
14
- }, "schema"> & {
15
- schema: v.Type<string>;
16
- }, "publications"> & {
17
- publications: v.Type<Record<string, {
18
- rowFilter: string | null;
19
- }>>;
20
- }, undefined>>;
21
- indexes: v.ArrayType<v.ObjectType<Omit<{
22
- name: v.Type<string>;
23
- tableName: v.Type<string>;
24
- unique: v.Type<boolean>;
25
- columns: v.Type<Record<string, "ASC" | "DESC">>;
26
- }, "schema"> & {
27
- schema: v.Type<string>;
28
- }, undefined>>;
29
- }, undefined>;
30
- export type PublishedSchema = v.Infer<typeof publishedSchema>;
31
3
  export declare const ddlEventSchema: v.ObjectType<Omit<{
32
4
  context: v.ObjectType<{
33
5
  query: v.Type<string>;
34
6
  }, v.Type<string>>;
35
7
  }, "schema" | "version"> & {
36
8
  version: v.Type<1>;
37
- schema: v.ObjectType<{
9
+ schema: v.ObjectType<Omit<{
38
10
  tables: v.ArrayType<v.ObjectType<Omit<Omit<{
39
11
  name: v.Type<string>;
40
12
  columns: v.Type<Record<string, {
@@ -47,11 +19,21 @@ export declare const ddlEventSchema: v.ObjectType<Omit<{
47
19
  primaryKey: v.ArrayType<v.Type<string>>;
48
20
  }, "schema"> & {
49
21
  schema: v.Type<string>;
50
- }, "publications"> & {
22
+ }, "publications" | "columns" | "oid"> & {
23
+ oid: v.Type<number>;
24
+ columns: v.Type<Record<string, {
25
+ characterMaximumLength?: number | null | undefined;
26
+ notNull?: boolean | null | undefined;
27
+ dflt?: string | null | undefined;
28
+ pos: number;
29
+ dataType: string;
30
+ typeOID: number;
31
+ }>>;
51
32
  publications: v.Type<Record<string, {
52
33
  rowFilter: string | null;
53
34
  }>>;
54
35
  }, undefined>>;
36
+ }, "indexes"> & {
55
37
  indexes: v.ArrayType<v.ObjectType<Omit<{
56
38
  name: v.Type<string>;
57
39
  tableName: v.Type<string>;
@@ -68,7 +50,7 @@ export declare const ddlStartEventSchema: v.ObjectType<Omit<Omit<{
68
50
  }, v.Type<string>>;
69
51
  }, "schema" | "version"> & {
70
52
  version: v.Type<1>;
71
- schema: v.ObjectType<{
53
+ schema: v.ObjectType<Omit<{
72
54
  tables: v.ArrayType<v.ObjectType<Omit<Omit<{
73
55
  name: v.Type<string>;
74
56
  columns: v.Type<Record<string, {
@@ -81,11 +63,21 @@ export declare const ddlStartEventSchema: v.ObjectType<Omit<Omit<{
81
63
  primaryKey: v.ArrayType<v.Type<string>>;
82
64
  }, "schema"> & {
83
65
  schema: v.Type<string>;
84
- }, "publications"> & {
66
+ }, "publications" | "columns" | "oid"> & {
67
+ oid: v.Type<number>;
68
+ columns: v.Type<Record<string, {
69
+ characterMaximumLength?: number | null | undefined;
70
+ notNull?: boolean | null | undefined;
71
+ dflt?: string | null | undefined;
72
+ pos: number;
73
+ dataType: string;
74
+ typeOID: number;
75
+ }>>;
85
76
  publications: v.Type<Record<string, {
86
77
  rowFilter: string | null;
87
78
  }>>;
88
79
  }, undefined>>;
80
+ }, "indexes"> & {
89
81
  indexes: v.ArrayType<v.ObjectType<Omit<{
90
82
  name: v.Type<string>;
91
83
  tableName: v.Type<string>;
@@ -117,7 +109,7 @@ export declare const ddlUpdateEventSchema: v.ObjectType<Omit<Omit<{
117
109
  }, v.Type<string>>;
118
110
  }, "schema" | "version"> & {
119
111
  version: v.Type<1>;
120
- schema: v.ObjectType<{
112
+ schema: v.ObjectType<Omit<{
121
113
  tables: v.ArrayType<v.ObjectType<Omit<Omit<{
122
114
  name: v.Type<string>;
123
115
  columns: v.Type<Record<string, {
@@ -130,11 +122,21 @@ export declare const ddlUpdateEventSchema: v.ObjectType<Omit<Omit<{
130
122
  primaryKey: v.ArrayType<v.Type<string>>;
131
123
  }, "schema"> & {
132
124
  schema: v.Type<string>;
133
- }, "publications"> & {
125
+ }, "publications" | "columns" | "oid"> & {
126
+ oid: v.Type<number>;
127
+ columns: v.Type<Record<string, {
128
+ characterMaximumLength?: number | null | undefined;
129
+ notNull?: boolean | null | undefined;
130
+ dflt?: string | null | undefined;
131
+ pos: number;
132
+ dataType: string;
133
+ typeOID: number;
134
+ }>>;
134
135
  publications: v.Type<Record<string, {
135
136
  rowFilter: string | null;
136
137
  }>>;
137
138
  }, undefined>>;
139
+ }, "indexes"> & {
138
140
  indexes: v.ArrayType<v.ObjectType<Omit<{
139
141
  name: v.Type<string>;
140
142
  tableName: v.Type<string>;
@@ -171,7 +173,7 @@ export declare const replicationEventSchema: v.UnionType<[v.ObjectType<Omit<Omit
171
173
  }, v.Type<string>>;
172
174
  }, "schema" | "version"> & {
173
175
  version: v.Type<1>;
174
- schema: v.ObjectType<{
176
+ schema: v.ObjectType<Omit<{
175
177
  tables: v.ArrayType<v.ObjectType<Omit<Omit<{
176
178
  name: v.Type<string>;
177
179
  columns: v.Type<Record<string, {
@@ -184,11 +186,21 @@ export declare const replicationEventSchema: v.UnionType<[v.ObjectType<Omit<Omit
184
186
  primaryKey: v.ArrayType<v.Type<string>>;
185
187
  }, "schema"> & {
186
188
  schema: v.Type<string>;
187
- }, "publications"> & {
189
+ }, "publications" | "columns" | "oid"> & {
190
+ oid: v.Type<number>;
191
+ columns: v.Type<Record<string, {
192
+ characterMaximumLength?: number | null | undefined;
193
+ notNull?: boolean | null | undefined;
194
+ dflt?: string | null | undefined;
195
+ pos: number;
196
+ dataType: string;
197
+ typeOID: number;
198
+ }>>;
188
199
  publications: v.Type<Record<string, {
189
200
  rowFilter: string | null;
190
201
  }>>;
191
202
  }, undefined>>;
203
+ }, "indexes"> & {
192
204
  indexes: v.ArrayType<v.ObjectType<Omit<{
193
205
  name: v.Type<string>;
194
206
  tableName: v.Type<string>;
@@ -206,7 +218,7 @@ export declare const replicationEventSchema: v.UnionType<[v.ObjectType<Omit<Omit
206
218
  }, v.Type<string>>;
207
219
  }, "schema" | "version"> & {
208
220
  version: v.Type<1>;
209
- schema: v.ObjectType<{
221
+ schema: v.ObjectType<Omit<{
210
222
  tables: v.ArrayType<v.ObjectType<Omit<Omit<{
211
223
  name: v.Type<string>;
212
224
  columns: v.Type<Record<string, {
@@ -219,11 +231,21 @@ export declare const replicationEventSchema: v.UnionType<[v.ObjectType<Omit<Omit
219
231
  primaryKey: v.ArrayType<v.Type<string>>;
220
232
  }, "schema"> & {
221
233
  schema: v.Type<string>;
222
- }, "publications"> & {
234
+ }, "publications" | "columns" | "oid"> & {
235
+ oid: v.Type<number>;
236
+ columns: v.Type<Record<string, {
237
+ characterMaximumLength?: number | null | undefined;
238
+ notNull?: boolean | null | undefined;
239
+ dflt?: string | null | undefined;
240
+ pos: number;
241
+ dataType: string;
242
+ typeOID: number;
243
+ }>>;
223
244
  publications: v.Type<Record<string, {
224
245
  rowFilter: string | null;
225
246
  }>>;
226
247
  }, undefined>>;
248
+ }, "indexes"> & {
227
249
  indexes: v.ArrayType<v.ObjectType<Omit<{
228
250
  name: v.Type<string>;
229
251
  tableName: v.Type<string>;
@@ -254,6 +276,7 @@ export declare const replicationEventSchema: v.UnionType<[v.ObjectType<Omit<Omit
254
276
  }, undefined>]>;
255
277
  }, undefined>]>;
256
278
  export type ReplicationEvent = v.Infer<typeof replicationEventSchema>;
279
+ export declare function append(shardID: string): (name: string) => string;
280
+ export declare const TAGS: readonly ["CREATE TABLE", "ALTER TABLE", "CREATE INDEX", "DROP TABLE", "DROP INDEX", "ALTER PUBLICATION"];
257
281
  export declare function createEventTriggerStatements(shardID: string, publications: string[]): string;
258
- export {};
259
282
  //# sourceMappingURL=ddl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ddl.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/ddl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,wCAAwC,CAAC;AAW5D,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAQlC,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;aAGnB,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAI9D,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;AAiMtE,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EAAE,UAgDvB"}
1
+ {"version":3,"file":"ddl.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/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;AAsLD,eAAO,MAAM,IAAI,2GAOP,CAAC;AAEX,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EAAE,UAsCvB"}
@@ -1,8 +1,7 @@
1
1
  import { literal as lit } from 'pg-format';
2
2
  import * as v from '../../../../../../shared/src/valita.js';
3
- import { filteredTableSpec, indexSpec } from '../../../../db/specs.js';
4
3
  import { id } from '../../../../types/sql.js';
5
- import { indexDefinitionsQuery, publishedTableQuery } from './published.js';
4
+ import { indexDefinitionsQuery, publishedSchema, publishedTableQuery, } from './published.js';
6
5
  // Sent in the 'version' tag of "ddlStart" and "ddlUpdate" event messages.
7
6
  // This is used to ensure that the message constructed in the upstream
8
7
  // Trigger function is compatible with the code processing it in the zero-cache.
@@ -13,12 +12,6 @@ export const PROTOCOL_VERSION = 1;
13
12
  const triggerEvent = v.object({
14
13
  context: v.object({ query: v.string() }).rest(v.string()),
15
14
  });
16
- // The Schema type encapsulates a snapshot of the tables and indexes that
17
- // are published / relevant to the shard.
18
- const publishedSchema = v.object({
19
- tables: v.array(filteredTableSpec),
20
- indexes: v.array(indexSpec),
21
- });
22
15
  // All DDL events contain a snapshot of the current tables and indexes that
23
16
  // are published / relevant to the shard.
24
17
  export const ddlEventSchema = triggerEvent.extend({
@@ -104,7 +97,7 @@ export const ddlUpdateEventSchema = ddlEventSchema.extend({
104
97
  });
105
98
  export const replicationEventSchema = v.union(ddlStartEventSchema, ddlUpdateEventSchema);
106
99
  // Creates a function that appends `_SHARD_ID` to the input.
107
- function append(shardID) {
100
+ export function append(shardID) {
108
101
  return (name) => id(name + '_' + shardID);
109
102
  }
110
103
  /**
@@ -258,9 +251,11 @@ BEGIN
258
251
 
259
252
  -- Construct and emit the DdlUpdateEvent message.
260
253
 
261
- IF target IS NOT NULL
262
- THEN
254
+ IF target IS NOT NULL THEN
263
255
  SELECT json_build_object('tag', tag, cmd.object_type, target) INTO event;
256
+ ELSIF tag LIKE 'CREATE %' THEN
257
+ PERFORM ${schema}.notice_ignore('noop ' || tag);
258
+ RETURN;
264
259
  ELSE
265
260
  SELECT json_build_object('tag', tag) INTO event;
266
261
  END IF;
@@ -280,7 +275,8 @@ END
280
275
  $$ LANGUAGE plpgsql;
281
276
  `;
282
277
  }
283
- const TAGS = [
278
+ // Exported for testing.
279
+ export const TAGS = [
284
280
  'CREATE TABLE',
285
281
  'ALTER TABLE',
286
282
  'CREATE INDEX',
@@ -321,34 +317,6 @@ CREATE EVENT TRIGGER ${sharded(`zero_${tagID}`)}
321
317
  EXECUTE PROCEDURE ${schema}.emit_${tagID}();
322
318
  `);
323
319
  }
324
- // Delete legacy triggers/functions. This should be removable once all early
325
- // testers have updated.
326
- for (const trigger of LEGACY_TRIGGER_NAMES) {
327
- triggers.push(`DROP EVENT TRIGGER IF EXISTS ${sharded(trigger)};`);
328
- }
329
- for (const fn of LEGACY_FUNCTION_NAMES) {
330
- triggers.push(`DROP FUNCTION IF EXISTS zero.${fn};`);
331
- triggers.push(`DROP FUNCTION IF EXISTS zero.${sharded(fn)};`);
332
- }
333
320
  return triggers.join('');
334
321
  }
335
- const LEGACY_TRIGGER_NAMES = [
336
- 'zero_replicate_create_or_alter_table',
337
- 'zero_replicate_create_index',
338
- 'zero_replicate_alter_publication',
339
- 'zero_replicate_alter_publication_drop',
340
- 'zero_replicate_drop_table',
341
- 'zero_replicate_drop_index',
342
- ];
343
- const LEGACY_FUNCTION_NAMES = [
344
- 'replicate_create_or_alter_table',
345
- 'replicate_create_index',
346
- 'replicate_alter_publication',
347
- 'replicate_alter_publication_drop',
348
- 'replicate_drop_event',
349
- 'replicate_drop_table',
350
- 'replicate_drop_index',
351
- 'get_trigger_context',
352
- 'emit_all_publications',
353
- ];
354
322
  //# sourceMappingURL=ddl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ddl.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/ddl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ddl.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/ddl.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,13 @@
1
1
  import type { LogContext } from '@rocicorp/logger';
2
2
  import type { PostgresDB } from '../../../../types/pg.js';
3
3
  import type { ShardConfig } from '../shard-config.js';
4
+ /**
5
+ * Initializes a shard for initial sync.
6
+ * This will drop any existing shard setup.
7
+ */
4
8
  export declare function initShardSchema(lc: LogContext, db: PostgresDB, shardConfig: ShardConfig): Promise<void>;
9
+ /**
10
+ * Updates the schema for an existing shard.
11
+ */
12
+ export declare function updateShardSchema(lc: LogContext, db: PostgresDB, shardConfig: ShardConfig): Promise<void>;
5
13
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAMjD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAGpD,wBAAsB,eAAe,CACnC,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,UAAU,EACd,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,IAAI,CAAC,CAuBf"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAMjD,OAAO,KAAK,EAAC,UAAU,EAAsB,MAAM,yBAAyB,CAAC;AAC7E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAQpD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,UAAU,EACd,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,UAAU,EACd,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,IAAI,CAAC,CAkBf"}
@@ -1,18 +1,51 @@
1
1
  import { runSchemaMigrations, } from '../../../../db/migration.js';
2
- import { setupTablesAndReplication, unescapedSchema } from './shard.js';
2
+ import { getPublicationInfo } from './published.js';
3
+ import { dropShard, setupTablesAndReplication, unescapedSchema, } from './shard.js';
4
+ /**
5
+ * Initializes a shard for initial sync.
6
+ * This will drop any existing shard setup.
7
+ */
3
8
  export async function initShardSchema(lc, db, shardConfig) {
9
+ await db.unsafe(dropShard(shardConfig.id));
10
+ return updateShardSchema(lc, db, shardConfig);
11
+ }
12
+ /**
13
+ * Updates the schema for an existing shard.
14
+ */
15
+ export async function updateShardSchema(lc, db, shardConfig) {
4
16
  const setupMigration = {
5
17
  migrateSchema: (lc, tx) => setupTablesAndReplication(lc, tx, shardConfig),
6
18
  minSafeVersion: 1,
7
19
  };
8
20
  const schemaVersionMigrationMap = {
9
- 1: setupMigration,
10
- // There are no incremental migrations yet, but if we were to, say introduce
11
- // another column, setupTablesAndReplication would be updated the table with
12
- // the new column, and then there would be an incremental migration here at
13
- // version `2` that adds the column for databases that were initialized to
14
- // version `1`.
21
+ 2: { migrateSchema: (_, tx) => migrateV1toV2(tx, shardConfig.id) },
15
22
  };
16
- await runSchemaMigrations(lc, 'upstream-shard', unescapedSchema(shardConfig.id), db, setupMigration, schemaVersionMigrationMap);
23
+ await runSchemaMigrations(lc, `upstream-shard-${shardConfig.id}`, unescapedSchema(shardConfig.id), db, setupMigration, schemaVersionMigrationMap);
24
+ }
25
+ // v1 required superuser / event trigger installation.
26
+ // Therefore, to migrate from v1 to v2:
27
+ //
28
+ // - Add the "ddlDetection" and "initialSchema" columns to "shardConfig"
29
+ // - Set "ddlDetection" to true
30
+ // - Populate the "initialSchema" to the current published schema
31
+ //
32
+ // The last step technically may not match the "initial" schema, but
33
+ // currently it is only used for "ddlDetection = false" setups, so
34
+ // it does not matter.
35
+ async function migrateV1toV2(tx, shardID) {
36
+ const s = unescapedSchema(shardID);
37
+ const [{ publications }] = await tx `
38
+ SELECT publications FROM ${tx(s)}."shardConfig"
39
+ `;
40
+ const { tables, indexes } = await getPublicationInfo(tx, publications);
41
+ const publishedSchema = { tables, indexes };
42
+ void tx `
43
+ ALTER TABLE ${tx(s)}."shardConfig" ADD "ddlDetection" BOOL`.execute();
44
+ void tx `
45
+ ALTER TABLE ${tx(s)}."shardConfig" ADD "initialSchema" JSON`.execute();
46
+ await tx `
47
+ UPDATE ${tx(s)}."shardConfig"
48
+ SET "ddlDetection" = true,
49
+ "initialSchema" = ${publishedSchema}`;
17
50
  }
18
51
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/init.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,GAGpB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAC,yBAAyB,EAAE,eAAe,EAAC,MAAM,YAAY,CAAC;AAEtE,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,EAAc,EACd,EAAc,EACd,WAAwB;IAExB,MAAM,cAAc,GAAc;QAChC,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,yBAAyB,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC;QACzE,cAAc,EAAE,CAAC;KAClB,CAAC;IAEF,MAAM,yBAAyB,GAA4B;QACzD,CAAC,EAAE,cAAc;QACjB,4EAA4E;QAC5E,4EAA4E;QAC5E,2EAA2E;QAC3E,0EAA0E;QAC1E,eAAe;KAChB,CAAC;IAEF,MAAM,mBAAmB,CACvB,EAAE,EACF,gBAAgB,EAChB,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC,EAC/B,EAAE,EACF,cAAc,EACd,yBAAyB,CAC1B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-streamer/pg/schema/init.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,GAGpB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAC,kBAAkB,EAAuB,MAAM,gBAAgB,CAAC;AACxE,OAAO,EACL,SAAS,EACT,yBAAyB,EACzB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,EAAc,EACd,EAAc,EACd,WAAwB;IAExB,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,OAAO,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,EAAc,EACd,EAAc,EACd,WAAwB;IAExB,MAAM,cAAc,GAAc;QAChC,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,yBAAyB,CAAC,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC;QACzE,cAAc,EAAE,CAAC;KAClB,CAAC;IAEF,MAAM,yBAAyB,GAA4B;QACzD,CAAC,EAAE,EAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,EAAC;KACjE,CAAC;IAEF,MAAM,mBAAmB,CACvB,EAAE,EACF,kBAAkB,WAAW,CAAC,EAAE,EAAE,EAClC,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC,EAC/B,EAAE,EACF,cAAc,EACd,yBAAyB,CAC1B,CAAC;AACJ,CAAC;AAED,sDAAsD;AACtD,uCAAuC;AACvC,EAAE;AACF,wEAAwE;AACxE,+BAA+B;AAC/B,iEAAiE;AACjE,EAAE;AACF,oEAAoE;AACpE,kEAAkE;AAClE,sBAAsB;AACtB,KAAK,UAAU,aAAa,CAAC,EAAuB,EAAE,OAAe;IACnE,MAAM,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,CAAC,EAAC,YAAY,EAAC,CAAC,GAAG,MAAM,EAAE,CAA4B;+BAChC,EAAE,CAAC,CAAC,CAAC;GACjC,CAAC;IACF,MAAM,EAAC,MAAM,EAAE,OAAO,EAAC,GAAG,MAAM,kBAAkB,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IACrE,MAAM,eAAe,GAAoB,EAAC,MAAM,EAAE,OAAO,EAAC,CAAC;IAE3D,KAAK,EAAE,CAAA;gBACO,EAAE,CAAC,CAAC,CAAC,wCAAwC,CAAC,OAAO,EAAE,CAAC;IACtE,KAAK,EAAE,CAAA;gBACO,EAAE,CAAC,CAAC,CAAC,yCAAyC,CAAC,OAAO,EAAE,CAAC;IACvE,MAAM,EAAE,CAAA;aACG,EAAE,CAAC,CAAC,CAAC;;8BAEY,eAAe,EAAE,CAAC;AAChD,CAAC"}