@rocicorp/zero 0.16.2025022800 → 0.17.2025030300

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 (217) hide show
  1. package/out/{chunk-CC4BCASH.js → chunk-BBNRRMOA.js} +132 -103
  2. package/out/{chunk-CC4BCASH.js.map → chunk-BBNRRMOA.js.map} +2 -2
  3. package/out/react.js +1 -4
  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/shared/src/types.js +2 -0
  8. package/out/shared/src/types.js.map +1 -0
  9. package/out/solid.js +1 -1
  10. package/out/z2s/src/compiler.d.ts +26 -0
  11. package/out/z2s/src/compiler.d.ts.map +1 -0
  12. package/out/z2s/src/compiler.js +155 -0
  13. package/out/z2s/src/compiler.js.map +1 -0
  14. package/out/z2s/src/sql.d.ts +12 -0
  15. package/out/z2s/src/sql.d.ts.map +1 -0
  16. package/out/z2s/src/sql.js +18 -0
  17. package/out/z2s/src/sql.js.map +1 -0
  18. package/out/zero/src/pg.d.ts +2 -0
  19. package/out/zero/src/pg.d.ts.map +1 -0
  20. package/out/zero/src/pg.js +3 -0
  21. package/out/zero/src/pg.js.map +1 -0
  22. package/out/zero-cache/src/auth/load-permissions.d.ts +2 -2
  23. package/out/zero-cache/src/auth/load-permissions.d.ts.map +1 -1
  24. package/out/zero-cache/src/auth/load-permissions.js +6 -6
  25. package/out/zero-cache/src/auth/load-permissions.js.map +1 -1
  26. package/out/zero-cache/src/auth/write-authorizer.d.ts +1 -1
  27. package/out/zero-cache/src/auth/write-authorizer.d.ts.map +1 -1
  28. package/out/zero-cache/src/auth/write-authorizer.js +4 -2
  29. package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
  30. package/out/zero-cache/src/config/zero-config.d.ts +25 -9
  31. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  32. package/out/zero-cache/src/config/zero-config.js +49 -20
  33. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  34. package/out/zero-cache/src/db/migration.d.ts +1 -1
  35. package/out/zero-cache/src/db/migration.d.ts.map +1 -1
  36. package/out/zero-cache/src/db/migration.js +16 -5
  37. package/out/zero-cache/src/db/migration.js.map +1 -1
  38. package/out/zero-cache/src/scripts/deploy-permissions.js +35 -19
  39. package/out/zero-cache/src/scripts/deploy-permissions.js.map +1 -1
  40. package/out/zero-cache/src/scripts/permissions.d.ts +17 -0
  41. package/out/zero-cache/src/scripts/permissions.d.ts.map +1 -1
  42. package/out/zero-cache/src/scripts/permissions.js +3 -1
  43. package/out/zero-cache/src/scripts/permissions.js.map +1 -1
  44. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  45. package/out/zero-cache/src/server/change-streamer.js +5 -3
  46. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  47. package/out/zero-cache/src/server/main.d.ts.map +1 -1
  48. package/out/zero-cache/src/server/main.js +3 -1
  49. package/out/zero-cache/src/server/main.js.map +1 -1
  50. package/out/zero-cache/src/server/multi/config.d.ts +13 -3
  51. package/out/zero-cache/src/server/multi/config.d.ts.map +1 -1
  52. package/out/zero-cache/src/server/multi/config.js +1 -1
  53. package/out/zero-cache/src/server/multi/config.js.map +1 -1
  54. package/out/zero-cache/src/server/syncer.d.ts.map +1 -1
  55. package/out/zero-cache/src/server/syncer.js +5 -3
  56. package/out/zero-cache/src/server/syncer.js.map +1 -1
  57. package/out/zero-cache/src/services/change-source/custom/change-source.d.ts +3 -3
  58. package/out/zero-cache/src/services/change-source/custom/change-source.d.ts.map +1 -1
  59. package/out/zero-cache/src/services/change-source/custom/change-source.js +21 -19
  60. package/out/zero-cache/src/services/change-source/custom/change-source.js.map +1 -1
  61. package/out/zero-cache/src/services/change-source/custom/sync-schema.d.ts +1 -1
  62. package/out/zero-cache/src/services/change-source/custom/sync-schema.d.ts.map +1 -1
  63. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts +3 -3
  64. package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -1
  65. package/out/zero-cache/src/services/change-source/pg/change-source.js +29 -29
  66. package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
  67. package/out/zero-cache/src/services/change-source/pg/decommission.d.ts +4 -0
  68. package/out/zero-cache/src/services/change-source/pg/decommission.d.ts.map +1 -0
  69. package/out/zero-cache/src/services/change-source/pg/decommission.js +21 -0
  70. package/out/zero-cache/src/services/change-source/pg/decommission.js.map +1 -0
  71. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts +2 -2
  72. package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts.map +1 -1
  73. package/out/zero-cache/src/services/change-source/pg/initial-sync.js +9 -10
  74. package/out/zero-cache/src/services/change-source/pg/initial-sync.js.map +1 -1
  75. package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts +3 -2
  76. package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts.map +1 -1
  77. package/out/zero-cache/src/services/change-source/pg/schema/ddl.js +39 -18
  78. package/out/zero-cache/src/services/change-source/pg/schema/ddl.js.map +1 -1
  79. package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts +4 -3
  80. package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts.map +1 -1
  81. package/out/zero-cache/src/services/change-source/pg/schema/init.js +52 -12
  82. package/out/zero-cache/src/services/change-source/pg/schema/init.js.map +1 -1
  83. package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts +3 -5
  84. package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts.map +1 -1
  85. package/out/zero-cache/src/services/change-source/pg/schema/published.js +1 -3
  86. package/out/zero-cache/src/services/change-source/pg/schema/published.js.map +1 -1
  87. package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts +10 -14
  88. package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts.map +1 -1
  89. package/out/zero-cache/src/services/change-source/pg/schema/shard.js +69 -66
  90. package/out/zero-cache/src/services/change-source/pg/schema/shard.js.map +1 -1
  91. package/out/zero-cache/src/services/change-source/pg/schema/validation.d.ts +1 -0
  92. package/out/zero-cache/src/services/change-source/pg/schema/validation.d.ts.map +1 -1
  93. package/out/zero-cache/src/services/change-source/pg/schema/validation.js +1 -0
  94. package/out/zero-cache/src/services/change-source/pg/schema/validation.js.map +1 -1
  95. package/out/zero-cache/src/services/change-source/pg/sync-schema.d.ts +1 -1
  96. package/out/zero-cache/src/services/change-source/pg/sync-schema.d.ts.map +1 -1
  97. package/out/zero-cache/src/services/change-source/pg/sync-schema.js.map +1 -1
  98. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +3 -2
  99. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +1 -1
  100. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +11 -11
  101. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
  102. package/out/zero-cache/src/services/change-streamer/schema/init.d.ts +3 -2
  103. package/out/zero-cache/src/services/change-streamer/schema/init.d.ts.map +1 -1
  104. package/out/zero-cache/src/services/change-streamer/schema/init.js +25 -14
  105. package/out/zero-cache/src/services/change-streamer/schema/init.js.map +1 -1
  106. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +6 -5
  107. package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -1
  108. package/out/zero-cache/src/services/change-streamer/schema/tables.js +28 -26
  109. package/out/zero-cache/src/services/change-streamer/schema/tables.js.map +1 -1
  110. package/out/zero-cache/src/services/change-streamer/storer.d.ts +4 -2
  111. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  112. package/out/zero-cache/src/services/change-streamer/storer.js +20 -12
  113. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  114. package/out/zero-cache/src/services/mutagen/mutagen.d.ts +3 -2
  115. package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
  116. package/out/zero-cache/src/services/mutagen/mutagen.js +19 -17
  117. package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
  118. package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts +7 -5
  119. package/out/zero-cache/src/services/replicator/schema/replication-state.d.ts.map +1 -1
  120. package/out/zero-cache/src/services/replicator/schema/replication-state.js.map +1 -1
  121. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts +2 -1
  122. package/out/zero-cache/src/services/view-syncer/client-handler.d.ts.map +1 -1
  123. package/out/zero-cache/src/services/view-syncer/client-handler.js +6 -6
  124. package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -1
  125. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +3 -1
  126. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
  127. package/out/zero-cache/src/services/view-syncer/cvr-store.js +20 -10
  128. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  129. package/out/zero-cache/src/services/view-syncer/cvr.d.ts +6 -3
  130. package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
  131. package/out/zero-cache/src/services/view-syncer/cvr.js +106 -62
  132. package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
  133. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +3 -2
  134. package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
  135. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +5 -3
  136. package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
  137. package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts +3 -2
  138. package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts.map +1 -1
  139. package/out/zero-cache/src/services/view-syncer/row-record-cache.js +5 -3
  140. package/out/zero-cache/src/services/view-syncer/row-record-cache.js.map +1 -1
  141. package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts +3 -5
  142. package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts.map +1 -1
  143. package/out/zero-cache/src/services/view-syncer/schema/cvr.js +38 -40
  144. package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -1
  145. package/out/zero-cache/src/services/view-syncer/schema/init.d.ts +2 -1
  146. package/out/zero-cache/src/services/view-syncer/schema/init.d.ts.map +1 -1
  147. package/out/zero-cache/src/services/view-syncer/schema/init.js +7 -6
  148. package/out/zero-cache/src/services/view-syncer/schema/init.js.map +1 -1
  149. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +26 -18
  150. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts.map +1 -1
  151. package/out/zero-cache/src/services/view-syncer/schema/types.js +12 -9
  152. package/out/zero-cache/src/services/view-syncer/schema/types.js.map +1 -1
  153. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts +5 -3
  154. package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +1 -1
  155. package/out/zero-cache/src/services/view-syncer/snapshotter.js +25 -23
  156. package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -1
  157. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +10 -1
  158. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  159. package/out/zero-cache/src/services/view-syncer/view-syncer.js +159 -29
  160. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  161. package/out/zero-cache/src/types/shards.d.ts +33 -0
  162. package/out/zero-cache/src/types/shards.d.ts.map +1 -0
  163. package/out/zero-cache/src/types/shards.js +44 -0
  164. package/out/zero-cache/src/types/shards.js.map +1 -0
  165. package/out/zero-client/src/client/custom.d.ts +1 -1
  166. package/out/zero-client/src/client/custom.d.ts.map +1 -1
  167. package/out/zero-client/src/client/zero.d.ts +1 -1
  168. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  169. package/out/zero-client/src/mod.d.ts +1 -0
  170. package/out/zero-client/src/mod.d.ts.map +1 -1
  171. package/out/zero-pg/src/custom.d.ts +42 -0
  172. package/out/zero-pg/src/custom.d.ts.map +1 -0
  173. package/out/zero-pg/src/custom.js +99 -0
  174. package/out/zero-pg/src/custom.js.map +1 -0
  175. package/out/zero-pg/src/db.d.ts +27 -0
  176. package/out/zero-pg/src/db.d.ts.map +1 -0
  177. package/out/zero-pg/src/db.js +2 -0
  178. package/out/zero-pg/src/db.js.map +1 -0
  179. package/out/zero-pg/src/logging.d.ts +3 -0
  180. package/out/zero-pg/src/logging.d.ts.map +1 -0
  181. package/out/zero-pg/src/logging.js +5 -0
  182. package/out/zero-pg/src/logging.js.map +1 -0
  183. package/out/zero-pg/src/mod.d.ts +6 -0
  184. package/out/zero-pg/src/mod.d.ts.map +1 -0
  185. package/out/zero-pg/src/mod.js +2 -0
  186. package/out/zero-pg/src/mod.js.map +1 -0
  187. package/out/zero-pg/src/query.d.ts +22 -0
  188. package/out/zero-pg/src/query.d.ts.map +1 -0
  189. package/out/zero-pg/src/query.js +54 -0
  190. package/out/zero-pg/src/query.js.map +1 -0
  191. package/out/zero-pg/src/web.d.ts +16 -0
  192. package/out/zero-pg/src/web.d.ts.map +1 -0
  193. package/out/zero-pg/src/web.js +115 -0
  194. package/out/zero-pg/src/web.js.map +1 -0
  195. package/out/zero-react/src/use-zero.d.ts +5 -4
  196. package/out/zero-react/src/use-zero.d.ts.map +1 -1
  197. package/out/zero.js +1 -1
  198. package/out/zql/src/ivm/exists.d.ts.map +1 -1
  199. package/out/zql/src/ivm/exists.js +138 -122
  200. package/out/zql/src/ivm/exists.js.map +1 -1
  201. package/out/zql/src/mutate/custom.js +10 -0
  202. package/out/zql/src/mutate/custom.js.map +1 -0
  203. package/out/zql/src/query/query-impl.d.ts +2 -2
  204. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  205. package/out/zql/src/query/query-impl.js +1 -1
  206. package/out/zql/src/query/query-impl.js.map +1 -1
  207. package/out/zql/src/query/query.d.ts +1 -1
  208. package/out/zql/src/query/query.d.ts.map +1 -1
  209. package/out/zql/src/query/static-query.d.ts +1 -1
  210. package/out/zql/src/query/static-query.d.ts.map +1 -1
  211. package/out/zql/src/query/static-query.js +3 -3
  212. package/out/zql/src/query/static-query.js.map +1 -1
  213. package/package.json +5 -1
  214. package/out/zero-cache/src/services/change-source/pg/shard-config.d.ts +0 -19
  215. package/out/zero-cache/src/services/change-source/pg/shard-config.d.ts.map +0 -1
  216. package/out/zero-cache/src/services/change-source/pg/shard-config.js +0 -2
  217. package/out/zero-cache/src/services/change-source/pg/shard-config.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"published.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/pg/schema/published.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"published.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/pg/schema/published.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,18 @@
1
1
  import type { LogContext } from '@rocicorp/logger';
2
2
  import * as v from '../../../../../../shared/src/valita.ts';
3
3
  import type { PostgresDB, PostgresTransaction } from '../../../../types/pg.ts';
4
- import type { ShardConfig } from '../shard-config.ts';
4
+ import type { AppID, ShardConfig, ShardID } from '../../../../types/shards.ts';
5
5
  import { type PublicationInfo, type PublishedSchema } from './published.ts';
6
- export declare function append(shardID: string): (name: string) => string;
7
- export declare function schemaFor(shardID: string): string;
8
- export declare function unescapedSchema(shardID: string): string;
9
- export declare const APP_PUBLICATION_PREFIX = "zero_";
10
- export declare const INTERNAL_PUBLICATION_PREFIX = "_zero_";
11
- export declare const METADATA_PUBLICATION_PREFIX: string;
12
- export declare const GLOBAL_SETUP = "\n CREATE SCHEMA IF NOT EXISTS zero;\n\n CREATE TABLE IF NOT EXISTS zero.\"schemaVersions\" (\n \"minSupportedVersion\" INT4,\n \"maxSupportedVersion\" INT4,\n\n -- Ensure that there is only a single row in the table.\n -- Application code can be agnostic to this column, and\n -- simply invoke UPDATE statements on the version columns.\n \"lock\" BOOL PRIMARY KEY DEFAULT true,\n CONSTRAINT zero_schema_versions_single_row_constraint CHECK (lock)\n );\n\n INSERT INTO zero.\"schemaVersions\" (\"lock\", \"minSupportedVersion\", \"maxSupportedVersion\")\n VALUES (true, 1, 1) ON CONFLICT DO NOTHING;\n\n CREATE TABLE IF NOT EXISTS zero.permissions (\n \"permissions\" JSONB,\n \"hash\" TEXT,\n\n -- Ensure that there is only a single row in the table.\n -- Application code can be agnostic to this column, and\n -- simply invoke UPDATE statements on the version columns.\n \"lock\" BOOL PRIMARY KEY DEFAULT true,\n CONSTRAINT zero_permissions_single_row_constraint CHECK (lock)\n );\n\n CREATE OR REPLACE FUNCTION zero.set_permissions_hash()\n RETURNS TRIGGER AS $$\n BEGIN\n NEW.hash = md5(NEW.permissions::text);\n RETURN NEW;\n END;\n $$ LANGUAGE plpgsql;\n\n CREATE OR REPLACE TRIGGER on_set_permissions \n BEFORE INSERT OR UPDATE ON zero.permissions\n FOR EACH ROW\n EXECUTE FUNCTION zero.set_permissions_hash();\n\n INSERT INTO zero.permissions (permissions) VALUES (NULL) ON CONFLICT DO NOTHING;\n";
13
- export declare function ensureGlobalTables(db: PostgresDB): Promise<void>;
6
+ export declare function internalPublicationPrefix({ appID }: AppID): string;
7
+ export declare function ensureGlobalTables(db: PostgresDB, appID: AppID): Promise<void>;
14
8
  export declare function getClientsTableDefinition(schema: string): string;
15
- export declare function shardSetup(shardID: string, publications: string[]): string;
16
- export declare function dropShard(shardID: string): string;
9
+ export declare const SHARD_CONFIG_TABLE = "shardConfig";
10
+ export declare function shardSetup(shardConfig: ShardConfig, metadataPublication: string): string;
11
+ export declare function dropShard(appID: string, shardID: string | number): string;
17
12
  declare const internalShardConfigSchema: v.ObjectType<{
18
13
  publications: v.ArrayType<v.Type<string>>;
19
14
  ddlDetection: v.Type<boolean>;
15
+ replicaVersion: v.Type<string | null>;
20
16
  initialSchema: v.Type<{
21
17
  tables: {
22
18
  primaryKey?: string[] | undefined;
@@ -49,13 +45,13 @@ declare const internalShardConfigSchema: v.ObjectType<{
49
45
  } | null>;
50
46
  }, undefined>;
51
47
  export type InternalShardConfig = v.Infer<typeof internalShardConfigSchema>;
52
- export declare function setInitialSchema(db: PostgresDB, shardID: string, { tables, indexes }: PublishedSchema): Promise<void>;
53
- export declare function getInternalShardConfig(db: PostgresDB, shardID: string): Promise<InternalShardConfig>;
48
+ export declare function setInitialSchema(db: PostgresDB, shard: ShardID, replicaVersion: string, { tables, indexes }: PublishedSchema): Promise<void>;
49
+ export declare function getInternalShardConfig(db: PostgresDB, shard: ShardID): Promise<InternalShardConfig>;
54
50
  /**
55
51
  * Sets up and returns all publications (including internal ones) for
56
52
  * the given shard.
57
53
  */
58
- export declare function setupTablesAndReplication(lc: LogContext, tx: PostgresTransaction, { id, publications }: ShardConfig): Promise<void>;
54
+ export declare function setupTablesAndReplication(lc: LogContext, tx: PostgresTransaction, requested: ShardConfig): Promise<void>;
59
55
  export declare function validatePublications(lc: LogContext, published: PublicationInfo): void;
60
56
  type ReplicaIdentities = {
61
57
  apply(lc: LogContext, db: PostgresDB): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"shard.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/pg/schema/shard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAIjD,OAAO,KAAK,CAAC,MAAM,wCAAwC,CAAC;AAE5D,OAAO,KAAK,EAAC,UAAU,EAAE,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AAE7E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAC;AAIxB,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,UACtB,MAAM,YACrB;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,UAExC;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,UAE9C;AAED,eAAO,MAAM,sBAAsB,UAAU,CAAC;AAC9C,eAAO,MAAM,2BAA2B,WAAW,CAAC;AAGpD,eAAO,MAAM,2BAA2B,QACG,CAAC;AAI5C,eAAO,MAAM,YAAY,q9CA0CxB,CAAC;AAEF,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,UAAU,iBAEtD;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,UAQvD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,CAmC1E;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAYjD;AAED,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAI7B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAc5E,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,MAAM,EACf,EAAC,MAAM,EAAE,OAAO,EAAC,EAAE,eAAe,iBAKnC;AAED,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,mBAAmB,CAAC,CAO9B;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,mBAAmB,EACvB,EAAC,EAAE,EAAE,YAAY,EAAC,EAAE,WAAW,iBAiEhC;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,UAAU,EACd,SAAS,EAAE,eAAe,QAkB3B;AAED,KAAK,iBAAiB,GAAG;IACvB,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD,CAAC;AAEF,wBAAgB,4CAA4C,CAC1D,IAAI,EAAE,eAAe,GACpB,iBAAiB,GAAG,SAAS,CA+C/B"}
1
+ {"version":3,"file":"shard.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/pg/schema/shard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAIjD,OAAO,KAAK,CAAC,MAAM,wCAAwC,CAAC;AAE5D,OAAO,KAAK,EAAC,UAAU,EAAE,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AAC7E,OAAO,KAAK,EAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAC,MAAM,6BAA6B,CAAC;AAI7E,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAC;AAGxB,wBAAgB,yBAAyB,CAAC,EAAC,KAAK,EAAC,EAAE,KAAK,UAEvD;AAyDD,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,iBAEpE;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,UAQvD;AAED,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAEhD,wBAAgB,UAAU,CACxB,WAAW,EAAE,WAAW,EACxB,mBAAmB,EAAE,MAAM,GAC1B,MAAM,CAkCR;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAYzE;AAED,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAK7B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAc5E,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,OAAO,EACd,cAAc,EAAE,MAAM,EACtB,EAAC,MAAM,EAAE,OAAO,EAAC,EAAE,eAAe,iBAQnC;AAED,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,mBAAmB,CAAC,CAO9B;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,mBAAmB,EACvB,SAAS,EAAE,WAAW,iBA0EvB;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,UAAU,EACd,SAAS,EAAE,eAAe,QAkB3B;AAED,KAAK,iBAAiB,GAAG;IACvB,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtD,CAAC;AAEF,wBAAgB,4CAA4C,CAC1D,IAAI,EAAE,eAAe,GACpB,iBAAiB,GAAG,SAAS,CA+C/B"}
@@ -4,55 +4,50 @@ import postgres from 'postgres';
4
4
  import { assert } from "../../../../../../shared/src/asserts.js";
5
5
  import * as v from "../../../../../../shared/src/valita.js";
6
6
  import { Default } from "../../../../db/postgres-replica-identity-enum.js";
7
+ import { appSchema, upstreamSchema } from "../../../../types/shards.js";
7
8
  import { id } from "../../../../types/sql.js";
8
9
  import { createEventTriggerStatements } from "./ddl.js";
9
10
  import { getPublicationInfo, publishedSchema, } from "./published.js";
10
11
  import { validate } from "./validation.js";
11
- // Creates a function that appends `_SHARD_ID` to the input.
12
- export function append(shardID) {
13
- return (name) => id(name + '_' + shardID);
12
+ export function internalPublicationPrefix({ appID }) {
13
+ return `_${appID}_`;
14
14
  }
15
- export function schemaFor(shardID) {
16
- return append(shardID)('zero');
15
+ function defaultPublicationName(appID, shardID) {
16
+ return `_${appID}_public_${shardID}`;
17
17
  }
18
- export function unescapedSchema(shardID) {
19
- return `zero_${shardID}`;
18
+ function metadataPublicationName(appID, shardID) {
19
+ return `_${appID}_metadata_${shardID}`;
20
20
  }
21
- export const APP_PUBLICATION_PREFIX = 'zero_';
22
- export const INTERNAL_PUBLICATION_PREFIX = '_zero_';
23
- const DEFAULT_PUBLICATION_PREFIX = INTERNAL_PUBLICATION_PREFIX + 'public_';
24
- export const METADATA_PUBLICATION_PREFIX = INTERNAL_PUBLICATION_PREFIX + 'metadata_';
25
21
  // The GLOBAL_SETUP must be idempotent as it can be run multiple times for different shards.
26
- // Exported for testing.
27
- export const GLOBAL_SETUP = `
28
- CREATE SCHEMA IF NOT EXISTS zero;
22
+ function globalSetup(appID) {
23
+ const app = id(appSchema(appID));
24
+ return `
25
+ CREATE SCHEMA IF NOT EXISTS ${app};
29
26
 
30
- CREATE TABLE IF NOT EXISTS zero."schemaVersions" (
27
+ CREATE TABLE IF NOT EXISTS ${app}."schemaVersions" (
31
28
  "minSupportedVersion" INT4,
32
29
  "maxSupportedVersion" INT4,
33
30
 
34
31
  -- Ensure that there is only a single row in the table.
35
32
  -- Application code can be agnostic to this column, and
36
33
  -- simply invoke UPDATE statements on the version columns.
37
- "lock" BOOL PRIMARY KEY DEFAULT true,
38
- CONSTRAINT zero_schema_versions_single_row_constraint CHECK (lock)
34
+ "lock" BOOL PRIMARY KEY DEFAULT true CHECK (lock)
39
35
  );
40
36
 
41
- INSERT INTO zero."schemaVersions" ("lock", "minSupportedVersion", "maxSupportedVersion")
37
+ INSERT INTO ${app}."schemaVersions" ("lock", "minSupportedVersion", "maxSupportedVersion")
42
38
  VALUES (true, 1, 1) ON CONFLICT DO NOTHING;
43
39
 
44
- CREATE TABLE IF NOT EXISTS zero.permissions (
40
+ CREATE TABLE IF NOT EXISTS ${app}.permissions (
45
41
  "permissions" JSONB,
46
42
  "hash" TEXT,
47
43
 
48
44
  -- Ensure that there is only a single row in the table.
49
45
  -- Application code can be agnostic to this column, and
50
46
  -- simply invoke UPDATE statements on the version columns.
51
- "lock" BOOL PRIMARY KEY DEFAULT true,
52
- CONSTRAINT zero_permissions_single_row_constraint CHECK (lock)
47
+ "lock" BOOL PRIMARY KEY DEFAULT true CHECK (lock)
53
48
  );
54
49
 
55
- CREATE OR REPLACE FUNCTION zero.set_permissions_hash()
50
+ CREATE OR REPLACE FUNCTION ${app}.set_permissions_hash()
56
51
  RETURNS TRIGGER AS $$
57
52
  BEGIN
58
53
  NEW.hash = md5(NEW.permissions::text);
@@ -61,14 +56,15 @@ export const GLOBAL_SETUP = `
61
56
  $$ LANGUAGE plpgsql;
62
57
 
63
58
  CREATE OR REPLACE TRIGGER on_set_permissions
64
- BEFORE INSERT OR UPDATE ON zero.permissions
59
+ BEFORE INSERT OR UPDATE ON ${app}.permissions
65
60
  FOR EACH ROW
66
- EXECUTE FUNCTION zero.set_permissions_hash();
61
+ EXECUTE FUNCTION ${app}.set_permissions_hash();
67
62
 
68
- INSERT INTO zero.permissions (permissions) VALUES (NULL) ON CONFLICT DO NOTHING;
63
+ INSERT INTO ${app}.permissions (permissions) VALUES (NULL) ON CONFLICT DO NOTHING;
69
64
  `;
70
- export async function ensureGlobalTables(db) {
71
- await db.unsafe(GLOBAL_SETUP);
65
+ }
66
+ export async function ensureGlobalTables(db, appID) {
67
+ await db.unsafe(globalSetup(appID));
72
68
  }
73
69
  export function getClientsTableDefinition(schema) {
74
70
  return `CREATE TABLE ${schema}."clients" (
@@ -79,74 +75,79 @@ export function getClientsTableDefinition(schema) {
79
75
  PRIMARY KEY("clientGroupID", "clientID")
80
76
  );`;
81
77
  }
82
- export function shardSetup(shardID, publications) {
83
- const sharded = append(shardID);
84
- const schema = schemaFor(shardID);
85
- const metadataPublication = METADATA_PUBLICATION_PREFIX + shardID;
86
- publications.push(metadataPublication);
87
- publications.sort();
78
+ export const SHARD_CONFIG_TABLE = 'shardConfig';
79
+ export function shardSetup(shardConfig, metadataPublication) {
80
+ const app = id(appSchema(shardConfig));
81
+ const shard = id(upstreamSchema(shardConfig));
82
+ const pubs = [...shardConfig.publications].sort();
83
+ assert(pubs.includes(metadataPublication));
88
84
  return `
89
- CREATE SCHEMA IF NOT EXISTS ${schema};
85
+ CREATE SCHEMA IF NOT EXISTS ${shard};
90
86
 
91
- ${getClientsTableDefinition(schema)}
87
+ ${getClientsTableDefinition(shard)}
92
88
 
93
89
  CREATE PUBLICATION ${id(metadataPublication)}
94
- FOR TABLE zero."schemaVersions", zero."permissions", TABLE ${schema}."clients";
90
+ FOR TABLE ${app}."schemaVersions", ${app}."permissions", TABLE ${shard}."clients";
95
91
 
96
- CREATE TABLE ${schema}."shardConfig" (
92
+ CREATE TABLE ${shard}."${SHARD_CONFIG_TABLE}" (
97
93
  "publications" TEXT[] NOT NULL,
98
94
  "ddlDetection" BOOL NOT NULL,
95
+ "replicaVersion" TEXT,
99
96
  "initialSchema" JSON,
100
97
 
101
98
  -- Ensure that there is only a single row in the table.
102
- "lock" BOOL PRIMARY KEY DEFAULT true,
103
- CONSTRAINT ${sharded('single_row_shard_config')} CHECK (lock)
99
+ "lock" BOOL PRIMARY KEY DEFAULT true CHECK (lock)
104
100
  );
105
101
 
106
- INSERT INTO ${schema}."shardConfig"
107
- ("lock", "publications", "ddlDetection", "initialSchema")
102
+ INSERT INTO ${shard}."${SHARD_CONFIG_TABLE}"
103
+ ("lock", "publications", "ddlDetection", "replicaVersion", "initialSchema")
108
104
  VALUES (true,
109
- ARRAY[${literal(publications)}],
105
+ ARRAY[${literal(pubs)}],
110
106
  false, -- set in SAVEPOINT with triggerSetup() statements
111
- null -- set in initial-sync at consistent_point LSN.
107
+ null, -- set in initial-sync at consistent_point LSN.
108
+ null -- set in initial-sync at consistent_ponit LSN.
112
109
  );
113
110
  `;
114
111
  }
115
- export function dropShard(shardID) {
116
- const schema = schemaFor(shardID);
117
- const metadataPublication = METADATA_PUBLICATION_PREFIX + shardID;
118
- const defaultPublication = DEFAULT_PUBLICATION_PREFIX + shardID;
112
+ export function dropShard(appID, shardID) {
113
+ const schema = `${appID}_${shardID}`;
114
+ const metadataPublication = metadataPublicationName(appID, shardID);
115
+ const defaultPublication = defaultPublicationName(appID, shardID);
119
116
  // DROP SCHEMA ... CASCADE does not drop dependent PUBLICATIONS,
120
117
  // so PUBLICATIONs must be dropped explicitly.
121
118
  return `
122
119
  DROP PUBLICATION IF EXISTS ${id(defaultPublication)};
123
120
  DROP PUBLICATION IF EXISTS ${id(metadataPublication)};
124
- DROP SCHEMA IF EXISTS ${schema} CASCADE;
121
+ DROP SCHEMA IF EXISTS ${id(schema)} CASCADE;
125
122
  `;
126
123
  }
127
124
  const internalShardConfigSchema = v.object({
128
125
  publications: v.array(v.string()),
129
126
  ddlDetection: v.boolean(),
127
+ replicaVersion: v.string().nullable(),
130
128
  initialSchema: publishedSchema.nullable(),
131
129
  });
132
130
  // triggerSetup is run separately in a sub-transaction (i.e. SAVEPOINT) so
133
131
  // that a failure (e.g. due to lack of superuser permissions) can be handled
134
132
  // by continuing in a degraded mode (ddlDetection = false).
135
- function triggerSetup(shardID, publications) {
136
- const schema = schemaFor(shardID);
137
- return (createEventTriggerStatements(shardID, publications) +
133
+ function triggerSetup(shard) {
134
+ const schema = id(upstreamSchema(shard));
135
+ return (createEventTriggerStatements(shard) +
138
136
  `UPDATE ${schema}."shardConfig" SET "ddlDetection" = true;`);
139
137
  }
140
138
  // Called in initial-sync to store the exact schema that was initially synced.
141
- export async function setInitialSchema(db, shardID, { tables, indexes }) {
142
- const schema = unescapedSchema(shardID);
139
+ export async function setInitialSchema(db, shard, replicaVersion, { tables, indexes }) {
140
+ const schema = upstreamSchema(shard);
143
141
  const synced = { tables, indexes };
144
- await db `UPDATE ${db(schema)}."shardConfig" SET "initialSchema" = ${synced}`;
142
+ await db `
143
+ UPDATE ${db(schema)}."shardConfig"
144
+ SET "replicaVersion" = ${replicaVersion},
145
+ "initialSchema" = ${synced}`;
145
146
  }
146
- export async function getInternalShardConfig(db, shardID) {
147
+ export async function getInternalShardConfig(db, shard) {
147
148
  const result = await db `
148
- SELECT "publications", "ddlDetection", "initialSchema"
149
- FROM ${db(unescapedSchema(shardID))}."shardConfig";
149
+ SELECT "publications", "ddlDetection", "replicaVersion", "initialSchema"
150
+ FROM ${db(upstreamSchema(shard))}."shardConfig";
150
151
  `;
151
152
  assert(result.length === 1);
152
153
  return v.parse(result[0], internalShardConfigSchema, 'passthrough');
@@ -155,14 +156,13 @@ export async function getInternalShardConfig(db, shardID) {
155
156
  * Sets up and returns all publications (including internal ones) for
156
157
  * the given shard.
157
158
  */
158
- export async function setupTablesAndReplication(lc, tx, { id, publications }) {
159
+ export async function setupTablesAndReplication(lc, tx, requested) {
160
+ const { publications } = requested;
159
161
  // Validate requested publications.
160
162
  for (const pub of publications) {
161
- // Note: Having all publications follow a naming convention facilitates
162
- // looking up all zero publications, e.g. for cross-shard logic
163
- // such as permissions validation.
164
- if (!pub.startsWith(APP_PUBLICATION_PREFIX)) {
165
- throw new Error(`Publication ${pub} does not start with ${APP_PUBLICATION_PREFIX}`);
163
+ if (pub.startsWith('_')) {
164
+ throw new Error(`Publication names starting with "_" are reserved for internal use.\n` +
165
+ `Please use a different name for publication "${pub}".`);
166
166
  }
167
167
  }
168
168
  const allPublications = [];
@@ -176,7 +176,7 @@ export async function setupTablesAndReplication(lc, tx, { id, publications }) {
176
176
  allPublications.push(...publications);
177
177
  }
178
178
  else {
179
- const defaultPublication = DEFAULT_PUBLICATION_PREFIX + id;
179
+ const defaultPublication = defaultPublicationName(requested.appID, requested.shardNum);
180
180
  // Note: For re-syncing, this publication is dropped in dropShard(), so an existence
181
181
  // check is unnecessary.
182
182
  await tx `
@@ -185,12 +185,15 @@ export async function setupTablesAndReplication(lc, tx, { id, publications }) {
185
185
  WITH (publish_via_partition_root = true)`;
186
186
  allPublications.push(defaultPublication);
187
187
  }
188
+ const metadataPublication = metadataPublicationName(requested.appID, requested.shardNum);
189
+ allPublications.push(metadataPublication);
190
+ const shard = { ...requested, publications: allPublications };
188
191
  // Setup the global tables and shard tables / publications.
189
- await tx.unsafe(GLOBAL_SETUP + shardSetup(id, allPublications));
192
+ await tx.unsafe(globalSetup(shard) + shardSetup(shard, metadataPublication));
190
193
  const pubs = await getPublicationInfo(tx, allPublications);
191
194
  await replicaIdentitiesForTablesWithoutPrimaryKeys(pubs)?.apply(lc, tx);
192
195
  try {
193
- await tx.savepoint(sub => sub.unsafe(triggerSetup(id, allPublications)));
196
+ await tx.savepoint(sub => sub.unsafe(triggerSetup(shard)));
194
197
  }
195
198
  catch (e) {
196
199
  if (!(e instanceof postgres.PostgresError &&
@@ -1 +1 @@
1
- {"version":3,"file":"shard.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/pg/schema/shard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shard.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/pg/schema/shard.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { LogContext } from '@rocicorp/logger';
2
2
  import type { PublishedTableSpec } from '../../../../db/specs.ts';
3
+ export declare const ALLOWED_APP_ID_CHARACTERS: RegExp;
3
4
  export declare function validate(lc: LogContext, table: PublishedTableSpec): void;
4
5
  export declare class UnsupportedTableSchemaError extends Error {
5
6
  readonly name = "UnsupportedTableSchemaError";
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/pg/schema/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAMjD,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAKhE,wBAAgB,QAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,QA2BjE;AAED,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,QAAQ,CAAC,IAAI,iCAAiC;gBAElC,GAAG,EAAE,MAAM;CAGxB"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/pg/schema/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAMjD,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAGhE,eAAO,MAAM,yBAAyB,QAAiB,CAAC;AAIxD,wBAAgB,QAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,QA2BjE;AAED,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,QAAQ,CAAC,IAAI,iCAAiC;gBAElC,GAAG,EAAE,MAAM;CAGxB"}
@@ -1,6 +1,7 @@
1
1
  import { mapPostgresToLite, warnIfDataTypeSupported, } from "../../../../db/pg-to-lite.js";
2
2
  import { Default } from "../../../../db/postgres-replica-identity-enum.js";
3
3
  import { ZERO_VERSION_COLUMN_NAME } from "../../../replicator/schema/replication-state.js";
4
+ export const ALLOWED_APP_ID_CHARACTERS = /^[a-z0-9_]+$/;
4
5
  const ALLOWED_IDENTIFIER_CHARS = /^[A-Za-z_]+[A-Za-z0-9_-]*$/;
5
6
  export function validate(lc, table) {
6
7
  if (ZERO_VERSION_COLUMN_NAME in table.columns) {
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/pg/schema/validation.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAC,OAAO,EAAC,MAAM,kDAAkD,CAAC;AAEzE,OAAO,EAAC,wBAAwB,EAAC,MAAM,iDAAiD,CAAC;AAEzF,MAAM,wBAAwB,GAAG,4BAA4B,CAAC;AAE9D,MAAM,UAAU,QAAQ,CAAC,EAAc,EAAE,KAAyB;IAChE,IAAI,wBAAwB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC9C,MAAM,IAAI,2BAA2B,CACnC,UAAU,KAAK,CAAC,IAAI,gCAAgC,wBAAwB,GAAG,CAChF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,IAAI,KAAK,CAAC,eAAe,KAAK,OAAO,EAAE,CAAC;QACnE,EAAE,CAAC,IAAI,EAAE,CACP,QAAQ;YACN,UAAU,KAAK,CAAC,IAAI,0DAA0D;YAC9E,8BAA8B,KAAK,CAAC,IAAI,2BAA2B;YACnE,QAAQ,CACX,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,2BAA2B,CACnC,UAAU,KAAK,CAAC,IAAI,2BAA2B,CAChD,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3E,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,2BAA2B,CACnC,WAAW,GAAG,eAAe,KAAK,CAAC,IAAI,2BAA2B,CACnE,CAAC;QACJ,CAAC;QACD,uBAAuB,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAC3C,IAAI,GAAG,6BAA6B,CAAC;IAE9C,YAAY,GAAW;QACrB,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../../../../../zero-cache/src/services/change-source/pg/schema/validation.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAC,OAAO,EAAC,MAAM,kDAAkD,CAAC;AAEzE,OAAO,EAAC,wBAAwB,EAAC,MAAM,iDAAiD,CAAC;AAEzF,MAAM,CAAC,MAAM,yBAAyB,GAAG,cAAc,CAAC;AAExD,MAAM,wBAAwB,GAAG,4BAA4B,CAAC;AAE9D,MAAM,UAAU,QAAQ,CAAC,EAAc,EAAE,KAAyB;IAChE,IAAI,wBAAwB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC9C,MAAM,IAAI,2BAA2B,CACnC,UAAU,KAAK,CAAC,IAAI,gCAAgC,wBAAwB,GAAG,CAChF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,IAAI,KAAK,CAAC,eAAe,KAAK,OAAO,EAAE,CAAC;QACnE,EAAE,CAAC,IAAI,EAAE,CACP,QAAQ;YACN,UAAU,KAAK,CAAC,IAAI,0DAA0D;YAC9E,8BAA8B,KAAK,CAAC,IAAI,2BAA2B;YACnE,QAAQ,CACX,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,2BAA2B,CACnC,UAAU,KAAK,CAAC,IAAI,2BAA2B,CAChD,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3E,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,2BAA2B,CACnC,WAAW,GAAG,eAAe,KAAK,CAAC,IAAI,2BAA2B,CACnE,CAAC;QACJ,CAAC;QACD,uBAAuB,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAC3C,IAAI,GAAG,6BAA6B,CAAC;IAE9C,YAAY,GAAW;QACrB,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
1
  import type { LogContext } from '@rocicorp/logger';
2
+ import type { ShardConfig } from '../../../types/shards.ts';
2
3
  import { type InitialSyncOptions } from './initial-sync.ts';
3
- import type { ShardConfig } from './shard-config.ts';
4
4
  export declare function initSyncSchema(log: LogContext, debugName: string, shard: ShardConfig, dbPath: string, upstreamURI: string, syncOptions: InitialSyncOptions): Promise<void>;
5
5
  //# sourceMappingURL=sync-schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync-schema.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-source/pg/sync-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAQjD,OAAO,EAAc,KAAK,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAEnD,wBAAsB,cAAc,CAClC,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,kBAAkB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAwBf"}
1
+ {"version":3,"file":"sync-schema.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-source/pg/sync-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAOjD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAc,KAAK,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAEvE,wBAAsB,cAAc,CAClC,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,kBAAkB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAwBf"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync-schema.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-source/pg/sync-schema.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,GAGpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAC,eAAe,EAAC,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAC,WAAW,EAA0B,MAAM,mBAAmB,CAAC;AAGvE,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAe,EACf,SAAiB,EACjB,KAAkB,EAClB,MAAc,EACd,WAAmB,EACnB,WAA+B;IAE/B,MAAM,cAAc,GAAc;QAChC,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CACzB,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC;QACvD,cAAc,EAAE,CAAC;KAClB,CAAC;IAEF,MAAM,yBAAyB,GAA4B;QACzD,oEAAoE;QACpE,CAAC,EAAE;YACD,aAAa,EAAE,GAAG,EAAE;gBAClB,MAAM,IAAI,eAAe,CAAC,iCAAiC,CAAC,CAAC;YAC/D,CAAC;YACD,cAAc,EAAE,CAAC;SAClB;KACF,CAAC;IAEF,MAAM,mBAAmB,CACvB,GAAG,EACH,SAAS,EACT,MAAM,EACN,cAAc,EACd,yBAAyB,CAC1B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"sync-schema.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-source/pg/sync-schema.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,GAGpB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAC,eAAe,EAAC,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAC,WAAW,EAA0B,MAAM,mBAAmB,CAAC;AAEvE,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAe,EACf,SAAiB,EACjB,KAAkB,EAClB,MAAc,EACd,WAAmB,EACnB,WAA+B;IAE/B,MAAM,cAAc,GAAc;QAChC,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CACzB,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC;QACvD,cAAc,EAAE,CAAC;KAClB,CAAC;IAEF,MAAM,yBAAyB,GAA4B;QACzD,oEAAoE;QACpE,CAAC,EAAE;YACD,aAAa,EAAE,GAAG,EAAE;gBAClB,MAAM,IAAI,eAAe,CAAC,iCAAiC,CAAC,CAAC;YAC/D,CAAC;YACD,cAAc,EAAE,CAAC;SAClB;KACF,CAAC;IAEF,MAAM,mBAAmB,CACvB,GAAG,EACH,SAAS,EACT,MAAM,EACN,cAAc,EACd,yBAAyB,CAC1B,CAAC;AACJ,CAAC"}
@@ -1,14 +1,15 @@
1
1
  import { LogContext } from '@rocicorp/logger';
2
2
  import type { PostgresDB } from '../../types/pg.ts';
3
+ import type { ShardID } from '../../types/shards.ts';
3
4
  import type { Sink, Source } from '../../types/streams.ts';
4
5
  import { type ChangeStreamData, type ChangeStreamMessage } from '../change-source/protocol/current/downstream.ts';
5
6
  import type { ChangeSourceUpstream } from '../change-source/protocol/current/upstream.ts';
7
+ import type { SubscriptionState } from '../replicator/schema/replication-state.ts';
6
8
  import { type ChangeStreamerService } from './change-streamer.ts';
7
- import { type ReplicationConfig } from './schema/tables.ts';
8
9
  /**
9
10
  * Performs initialization and schema migrations to initialize a ChangeStreamerImpl.
10
11
  */
11
- export declare function initializeStreamer(lc: LogContext, shardID: string, taskID: string, changeDB: PostgresDB, changeSource: ChangeSource, replicationConfig: ReplicationConfig, autoReset: boolean, setTimeoutFn?: typeof setTimeout): Promise<ChangeStreamerService>;
12
+ export declare function initializeStreamer(lc: LogContext, shard: ShardID, taskID: string, changeDB: PostgresDB, changeSource: ChangeSource, subscriptionState: SubscriptionState, autoReset: boolean, setTimeoutFn?: typeof setTimeout): Promise<ChangeStreamerService>;
12
13
  /**
13
14
  * Internally all Downstream messages (not just commits) are given a watermark.
14
15
  * These are used for internal ordering for:
@@ -1 +1 @@
1
- {"version":3,"file":"change-streamer-service.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/change-streamer-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAQ5C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACzB,MAAM,iDAAiD,CAAC;AACzD,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,+CAA+C,CAAC;AAMxF,OAAO,EACL,KAAK,qBAAqB,EAG3B,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,oBAAoB,CAAC;AAI5B;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,YAAY,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,OAAO,EAClB,YAAY,oBAAa,GACxB,OAAO,CAAC,qBAAqB,CAAC,CAsBhC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAEtE,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAErC;;;;OAIG;IACH,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;CAClC,CAAC;AAEF,+EAA+E;AAC/E,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC5D"}
1
+ {"version":3,"file":"change-streamer-service.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/change-streamer-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAQ5C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACzB,MAAM,iDAAiD,CAAC;AACzD,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,+CAA+C,CAAC;AACxF,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,2CAA2C,CAAC;AAMjF,OAAO,EACL,KAAK,qBAAqB,EAG3B,MAAM,sBAAsB,CAAC;AAY9B;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,YAAY,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,OAAO,EAClB,YAAY,oBAAa,GACxB,OAAO,CAAC,qBAAqB,CAAC,CAsBhC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;AAEtE,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAErC;;;;OAIG;IACH,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;CAClC,CAAC;AAEF,+EAA+E;AAC/E,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC5D"}
@@ -16,12 +16,12 @@ import { Subscriber } from "./subscriber.js";
16
16
  /**
17
17
  * Performs initialization and schema migrations to initialize a ChangeStreamerImpl.
18
18
  */
19
- export async function initializeStreamer(lc, shardID, taskID, changeDB, changeSource, replicationConfig, autoReset, setTimeoutFn = setTimeout) {
19
+ export async function initializeStreamer(lc, shard, taskID, changeDB, changeSource, subscriptionState, autoReset, setTimeoutFn = setTimeout) {
20
20
  // Make sure the ChangeLog DB is set up.
21
- await initChangeStreamerSchema(lc, changeDB, shardID);
22
- await ensureReplicationConfig(lc, changeDB, replicationConfig, shardID, autoReset);
23
- const { replicaVersion } = replicationConfig;
24
- return new ChangeStreamerImpl(lc, shardID, taskID, changeDB, replicaVersion, changeSource, autoReset, setTimeoutFn);
21
+ await initChangeStreamerSchema(lc, changeDB, shard);
22
+ await ensureReplicationConfig(lc, changeDB, subscriptionState, shard, autoReset);
23
+ const { replicaVersion } = subscriptionState;
24
+ return new ChangeStreamerImpl(lc, shard, taskID, changeDB, replicaVersion, changeSource, autoReset, setTimeoutFn);
25
25
  }
26
26
  /**
27
27
  * The maximum time to wait for a serving request before taking
@@ -169,7 +169,7 @@ const MAX_SERVING_DELAY = 30_000;
169
169
  class ChangeStreamerImpl {
170
170
  id;
171
171
  #lc;
172
- #shardID;
172
+ #shard;
173
173
  #changeDB;
174
174
  #replicaVersion;
175
175
  #source;
@@ -188,14 +188,14 @@ class ChangeStreamerImpl {
188
188
  // load-balancing / routing logic has begun routing requests to this task.
189
189
  #serving = resolver();
190
190
  #stream;
191
- constructor(lc, shardID, taskID, changeDB, replicaVersion, source, autoReset, setTimeoutFn = setTimeout) {
191
+ constructor(lc, shard, taskID, changeDB, replicaVersion, source, autoReset, setTimeoutFn = setTimeout) {
192
192
  this.id = `change-streamer`;
193
193
  this.#lc = lc.withContext('component', 'change-streamer');
194
- this.#shardID = shardID;
194
+ this.#shard = shard;
195
195
  this.#changeDB = changeDB;
196
196
  this.#replicaVersion = replicaVersion;
197
197
  this.#source = source;
198
- this.#storer = new Storer(lc, shardID, taskID, changeDB, replicaVersion, consumed => this.#stream?.acks.push(['status', consumed[1], consumed[2]]));
198
+ this.#storer = new Storer(lc, shard, taskID, changeDB, replicaVersion, consumed => this.#stream?.acks.push(['status', consumed[1], consumed[2]]), err => this.stop(err));
199
199
  this.#forwarder = new Forwarder();
200
200
  this.#autoReset = autoReset;
201
201
  this.#state = new RunningState(this.id, undefined, setTimeoutFn);
@@ -267,7 +267,7 @@ class ChangeStreamerImpl {
267
267
  const { tag } = msg;
268
268
  switch (tag) {
269
269
  case 'reset-required':
270
- await markResetRequired(this.#changeDB, this.#shardID);
270
+ await markResetRequired(this.#changeDB, this.#shard);
271
271
  if (this.#autoReset) {
272
272
  this.#lc.warn?.('shutting down for auto-reset');
273
273
  await this.stop(new AutoResetSignal());
@@ -293,7 +293,7 @@ class ChangeStreamerImpl {
293
293
  else {
294
294
  this.#lc.debug?.(`adding subscriber ${subscriber.id}`);
295
295
  this.#forwarder.add(subscriber);
296
- this.#storer.catchup(subscriber);
296
+ this.#storer.catchup(subscriber, mode);
297
297
  if (initial) {
298
298
  this.#scheduleCleanup(watermark);
299
299
  }
@@ -1 +1 @@
1
- {"version":3,"file":"change-streamer-service.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/change-streamer-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"change-streamer-service.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/change-streamer/change-streamer-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAC,WAAW,EAAC,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EACL,GAAG,GAGJ,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAIN,MAAM,iDAAiD,CAAC;AAGzD,OAAO,EACL,0BAA0B,EAC1B,YAAY,EACZ,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAIN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,SAAS,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,wBAAwB,EAAC,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAE3C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,EAAc,EACd,KAAc,EACd,MAAc,EACd,QAAoB,EACpB,YAA0B,EAC1B,iBAAoC,EACpC,SAAkB,EAClB,YAAY,GAAG,UAAU;IAEzB,wCAAwC;IACxC,MAAM,wBAAwB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,uBAAuB,CAC3B,EAAE,EACF,QAAQ,EACR,iBAAiB,EACjB,KAAK,EACL,SAAS,CACV,CAAC;IAEF,MAAM,EAAC,cAAc,EAAC,GAAG,iBAAiB,CAAC;IAC3C,OAAO,IAAI,kBAAkB,CAC3B,EAAE,EACF,KAAK,EACL,MAAM,EACN,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,SAAS,EACT,YAAY,CACb,CAAC;AACJ,CAAC;AAkCD;;;GAGG;AACH,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyIG;AACH,MAAM,kBAAkB;IACb,EAAE,CAAS;IACX,GAAG,CAAa;IAChB,MAAM,CAAU;IAChB,SAAS,CAAa;IACtB,eAAe,CAAS;IACxB,OAAO,CAAe;IACtB,OAAO,CAAS;IAChB,UAAU,CAAY;IAEtB,UAAU,CAAU;IACpB,MAAM,CAAe;IACrB,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IAEhD,uEAAuE;IACvE,mEAAmE;IACnE,wEAAwE;IACxE,qEAAqE;IACrE,EAAE;IACF,wEAAwE;IACxE,oEAAoE;IACpE,0EAA0E;IACjE,QAAQ,GAAG,QAAQ,EAAE,CAAC;IAE/B,OAAO,CAA2B;IAElC,YACE,EAAc,EACd,KAAc,EACd,MAAc,EACd,QAAoB,EACpB,cAAsB,EACtB,MAAoB,EACpB,SAAkB,EAClB,YAAY,GAAG,UAAU;QAEzB,IAAI,CAAC,EAAE,GAAG,iBAAiB,CAAC;QAC5B,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CACvB,EAAE,EACF,KAAK,EACL,MAAM,EACN,QAAQ,EACR,cAAc,EACd,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EACzE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CACtB,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,mCAAmC,CAAC,CAAC;QACrD,IACE,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;YAC3D,WAAW,EACX,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,wBAAwB,CAAC,CAAC;QAE1C,mEAAmE;QACnE,kCAAkC;QAClC,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QACrC,iEAAiE;QACjE,qCAAqC;QACrC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAE5C,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;YAC/B,IAAI,GAAY,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBACzD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAC1D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;gBAE3B,IAAI,SAAS,GAAkB,IAAI,CAAC;gBAEpC,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC1C,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC;oBAC3B,QAAQ,IAAI,EAAE,CAAC;wBACb,KAAK,QAAQ;4BACX,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,6CAA6C;4BAC1E,SAAS;wBACX,KAAK,SAAS;4BACZ,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;4BACtC,SAAS,CAAC,4CAA4C;wBACxD,KAAK,OAAO;4BACV,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;4BACtC,MAAM;wBACR,KAAK,QAAQ;4BACX,IAAI,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;gCACtC,MAAM,IAAI,kBAAkB,CAC1B,oBAAoB,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,qCAAqC,SAAS,EAAE,CACxF,CAAC;4BACJ,CAAC;4BACD,MAAM;wBACR;4BACE,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gCACvB,MAAM,IAAI,kBAAkB,CAC1B,GAAG,IAAI,YAAY,GAAG,CAAC,GAAG,mCAAmC,CAC9D,CAAC;4BACJ,CAAC;4BACD,MAAM;oBACV,CAAC;oBAED,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;oBACxC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;oBAE7C,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACtB,SAAS,GAAG,IAAI,CAAC;oBACnB,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,GAAG,GAAG,CAAC,CAAC;YACV,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC/B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YAC3B,CAAC;YAED,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,GAA2B;QACrD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;QACjD,MAAM,EAAC,GAAG,EAAC,GAAG,GAAG,CAAC;QAElB,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,gBAAgB;gBACnB,MAAM,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,8BAA8B,CAAC,CAAC;oBAChD,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;gBACzC,CAAC;gBACD,MAAM;YACR;gBACE,WAAW,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,SAAS,CAAC,GAAsB;QAC9B,MAAM,EAAC,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO,EAAC,GAAG,GAAG,CAAC;QAC3D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;QACD,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAa;YACjD,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC;SAClD,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAC7D,IAAI,cAAc,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CACb,2CAA2C,cAAc,EAAE,CAC5D,CAAC;YACF,UAAU,CAAC,KAAK,CACd,SAAS,CAAC,mBAAmB,EAC7B,8BACE,IAAI,CAAC,eACP,eAAe,cAAc,GAAG,CACjC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,qBAAqB,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;YAEvD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAEvC,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAED,gBAAgB,CAAC,SAAiB;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;QAC9C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEvC,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC7C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,4CAA4C,CAAC,CAAC,CAAC,gBAAgB;YAC/E,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,gFAAgF;YAChF,mBAAmB;YACnB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,mCAAmC,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,GAAG,CAAC,GAAI,OAAmC,CAAC,CAAC;YACrE,MAAM,eAAe,GAAG,GAAG,CAAC,GAAI,OAAmC,CAAC,CAAC;YACrE,IAAI,eAAe,GAAG,eAAe,EAAE,CAAC;gBACtC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CACb,yCAAyC,eAAe,MAAM,eAAe,GAAG,CACjF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;gBACvE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,OAAO,mBAAmB,eAAe,EAAE,CAAC,CAAC;gBACvE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;gBACjC,sEAAsE;gBACtE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,gBAAgB,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAa;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;CACF;AAED,iEAAiE;AACjE,gEAAgE;AAChE,4EAA4E;AAC5E,EAAE;AACF,2EAA2E;AAC3E,qEAAqE;AACrE,2EAA2E;AAC3E,0DAA0D;AAC1D,EAAE;AACF,6EAA6E;AAC7E,wEAAwE;AACxE,oEAAoE;AACpE,6EAA6E;AAC7E,4EAA4E;AAC5E,qDAAqD;AACrD,MAAM,gBAAgB,GAAG,0BAA0B,GAAG,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { LogContext } from '@rocicorp/logger';
2
2
  import type { PostgresDB } from '../../../types/pg.ts';
3
- export declare function initChangeStreamerSchema(log: LogContext, db: PostgresDB, shardID: string): Promise<void>;
4
- export declare function getLastWatermarkV2(db: PostgresDB, shardID: string): Promise<string>;
3
+ import { type ShardID } from '../../../types/shards.ts';
4
+ export declare function initChangeStreamerSchema(log: LogContext, db: PostgresDB, shard: ShardID): Promise<void>;
5
+ export declare function getLastWatermarkV2(db: PostgresDB, shard: ShardID): Promise<string>;
5
6
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/schema/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAMjD,OAAO,KAAK,EAAC,UAAU,EAAsB,MAAM,sBAAsB,CAAC;AAmB1E,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAmDf;AAED,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAajB"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/schema/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAMjD,OAAO,KAAK,EAAC,UAAU,EAAsB,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAY,KAAK,OAAO,EAAC,MAAM,0BAA0B,CAAC;AA6BjE,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,IAAI,CAAC,CA0Df;AAED,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,MAAM,CAAC,CAajB"}