@rocicorp/zero 0.12.2025012801 → 0.12.2025012901
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.
- package/out/{chunk-TYCUDFUS.js → chunk-VYAI3OU4.js} +2 -2
- package/out/solid.js +1 -1
- package/out/zero-cache/src/config/zero-config.d.ts +10 -0
- package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
- package/out/zero-cache/src/config/zero-config.js +10 -0
- package/out/zero-cache/src/config/zero-config.js.map +1 -1
- package/out/zero-cache/src/db/specs.d.ts +6 -6
- package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
- package/out/zero-cache/src/server/change-streamer.js +5 -2
- package/out/zero-cache/src/server/change-streamer.js.map +1 -1
- package/out/zero-cache/src/server/multi/config.d.ts +5 -0
- package/out/zero-cache/src/server/multi/config.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/custom/change-source.d.ts +27 -0
- package/out/zero-cache/src/services/change-source/custom/change-source.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-source/custom/change-source.js +169 -0
- package/out/zero-cache/src/services/change-source/custom/change-source.js.map +1 -0
- package/out/zero-cache/src/services/change-source/custom/sync-schema.d.ts +4 -0
- package/out/zero-cache/src/services/change-source/custom/sync-schema.d.ts.map +1 -0
- package/out/zero-cache/src/services/change-source/custom/sync-schema.js +13 -0
- package/out/zero-cache/src/services/change-source/custom/sync-schema.js.map +1 -0
- package/out/zero-cache/src/services/change-source/pg/change-source.d.ts +1 -1
- package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/change-source.js +2 -2
- package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/ddl.d.ts +15 -15
- package/out/zero-cache/src/services/change-source/pg/schema/published.d.ts +6 -6
- package/out/zero-cache/src/services/change-source/pg/schema/shard.d.ts +1 -1
- package/out/zero-cache/src/services/change-source/protocol/current/data.d.ts +8 -8
- package/out/zero-cache/src/services/change-source/protocol/current/downstream.d.ts +12 -12
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +2 -2
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +4 -4
- package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +1 -1
- package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +1 -1
- package/out/zero-cache/src/services/dispatcher/websocket-handoff.js +2 -2
- package/out/zero-cache/src/services/dispatcher/websocket-handoff.js.map +1 -1
- package/out/zero-cache/src/services/replicator/change-processor.d.ts +1 -1
- package/out/zero-cache/src/services/replicator/change-processor.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/change-processor.js +31 -9
- package/out/zero-cache/src/services/replicator/change-processor.js.map +1 -1
- package/out/zero-cache/src/types/streams.d.ts +11 -1
- package/out/zero-cache/src/types/streams.d.ts.map +1 -1
- package/out/zero-cache/src/types/streams.js +98 -0
- package/out/zero-cache/src/types/streams.js.map +1 -1
- package/out/zero-cache/src/types/subscription.d.ts +1 -2
- package/out/zero-cache/src/types/subscription.d.ts.map +1 -1
- package/out/zero-cache/src/types/ws.d.ts +4 -1
- package/out/zero-cache/src/types/ws.d.ts.map +1 -1
- package/out/zero-cache/src/types/ws.js +7 -3
- package/out/zero-cache/src/types/ws.js.map +1 -1
- package/out/zero-client/src/mod.d.ts +1 -0
- package/out/zero-client/src/mod.d.ts.map +1 -1
- package/out/zero.js +1 -1
- package/out/zqlite/src/db.d.ts.map +1 -1
- package/out/zqlite/src/db.js +1 -0
- package/out/zqlite/src/db.js.map +1 -1
- package/out/zqlite/src/table-source.d.ts.map +1 -1
- package/out/zqlite/src/table-source.js +6 -1
- package/out/zqlite/src/table-source.js.map +1 -1
- package/package.json +1 -1
- /package/out/{chunk-TYCUDFUS.js.map → chunk-VYAI3OU4.js.map} +0 -0
|
@@ -13418,7 +13418,7 @@ function makeMessage(message, context, logLevel) {
|
|
|
13418
13418
|
}
|
|
13419
13419
|
|
|
13420
13420
|
// ../zero-client/src/client/version.ts
|
|
13421
|
-
var version2 = "0.12.
|
|
13421
|
+
var version2 = "0.12.2025012901";
|
|
13422
13422
|
|
|
13423
13423
|
// ../zero-client/src/client/log-options.ts
|
|
13424
13424
|
var LevelFilterLogSink = class {
|
|
@@ -15485,4 +15485,4 @@ export {
|
|
|
15485
15485
|
escapeLike,
|
|
15486
15486
|
Zero
|
|
15487
15487
|
};
|
|
15488
|
-
//# sourceMappingURL=chunk-
|
|
15488
|
+
//# sourceMappingURL=chunk-VYAI3OU4.js.map
|
package/out/solid.js
CHANGED
|
@@ -62,6 +62,11 @@ export declare const zeroOptions: {
|
|
|
62
62
|
type: v.Type<string>;
|
|
63
63
|
desc: string[];
|
|
64
64
|
};
|
|
65
|
+
type: {
|
|
66
|
+
type: v.Type<"pg" | "custom">;
|
|
67
|
+
desc: string[];
|
|
68
|
+
hidden: boolean;
|
|
69
|
+
};
|
|
65
70
|
maxConns: {
|
|
66
71
|
type: v.Type<number>;
|
|
67
72
|
desc: string[];
|
|
@@ -243,6 +248,11 @@ export declare function getDebugConfig(env?: NodeJS.ProcessEnv, argv?: string[])
|
|
|
243
248
|
type: v.Type<string>;
|
|
244
249
|
desc: string[];
|
|
245
250
|
};
|
|
251
|
+
type: {
|
|
252
|
+
type: v.Type<"pg" | "custom">;
|
|
253
|
+
desc: string[];
|
|
254
|
+
hidden: boolean;
|
|
255
|
+
};
|
|
246
256
|
maxConns: {
|
|
247
257
|
type: v.Type<number>;
|
|
248
258
|
desc: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zero-config.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/config/zero-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAe,KAAK,MAAM,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,CAAC,MAAM,+BAA+B,CAAC;AAInD;;GAEG;AACH,QAAA,MAAM,YAAY;;;;;;;;;;CAqCjB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;AAEtD,QAAA,MAAM,UAAU;;;;;;;;;;CAyBf,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,UAAU,CAAC,CAAC;AAElD,QAAA,MAAM,oBAAoB;;;;;;;;;CAczB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE5D,QAAA,MAAM,WAAW;;;;;;;;;;;;;CAmBhB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAKpD,eAAO,MAAM,WAAW
|
|
1
|
+
{"version":3,"file":"zero-config.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/config/zero-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAe,KAAK,MAAM,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,CAAC,MAAM,+BAA+B,CAAC;AAInD;;GAEG;AACH,QAAA,MAAM,YAAY;;;;;;;;;;CAqCjB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,YAAY,CAAC,CAAC;AAEtD,QAAA,MAAM,UAAU;;;;;;;;;;CAyBf,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,UAAU,CAAC,CAAC;AAElD,QAAA,MAAM,oBAAoB;;;;;;;;;CAczB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE5D,QAAA,MAAM,WAAW;;;;;;;;;;;;;CAmBhB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAKpD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyQvB,CAAC;AAsBF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAEpD,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAI3C,wBAAgB,aAAa,CAC3B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,WAAwB,GAC3B,UAAU,CAUZ;AAED,wBAAgB,cAAc,CAC5B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,IAAI,WAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAG7B"}
|
|
@@ -111,6 +111,16 @@ export const zeroOptions = {
|
|
|
111
111
|
`In the future we will support other types of upstream besides PG.`,
|
|
112
112
|
],
|
|
113
113
|
},
|
|
114
|
+
type: {
|
|
115
|
+
type: v.union(v.literal('pg'), v.literal('custom')).default('pg'),
|
|
116
|
+
desc: [
|
|
117
|
+
`The meaning of the {bold upstream-db} depends on the upstream type:`,
|
|
118
|
+
`* {bold pg}: The connection database string, e.g. "postgres://..."`,
|
|
119
|
+
`* {bold custom}: The base URI of the change source "endpoint, e.g.`,
|
|
120
|
+
` "https://my-change-source.dev/changes/v0/stream?apiKey=..."`,
|
|
121
|
+
],
|
|
122
|
+
hidden: true, // TODO: Unhide when ready to officially support.
|
|
123
|
+
},
|
|
114
124
|
maxConns: {
|
|
115
125
|
type: v.number().default(20),
|
|
116
126
|
desc: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zero-config.js","sourceRoot":"","sources":["../../../../../zero-cache/src/config/zero-config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"zero-config.js","sourceRoot":"","sources":["../../../../../zero-cache/src/config/zero-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ export declare const pgReplicaIdentitySchema: v.UnionType<[v.Type<"d">, v.Type<"
|
|
|
7
7
|
export declare const columnSpec: v.ObjectType<{
|
|
8
8
|
pos: v.Type<number>;
|
|
9
9
|
dataType: v.Type<string>;
|
|
10
|
-
pgTypeClass: v.Optional<"
|
|
10
|
+
pgTypeClass: v.Optional<"d" | "b" | "c" | "e" | "p" | "r" | "m">;
|
|
11
11
|
characterMaximumLength: v.Optional<number | null>;
|
|
12
12
|
notNull: v.Optional<boolean | null>;
|
|
13
13
|
dflt: v.Optional<string | null>;
|
|
@@ -16,7 +16,7 @@ export type ColumnSpec = Readonly<v.Infer<typeof columnSpec>>;
|
|
|
16
16
|
export declare const liteTableSpec: v.ObjectType<{
|
|
17
17
|
name: v.Type<string>;
|
|
18
18
|
columns: v.Type<Record<string, {
|
|
19
|
-
pgTypeClass?: "
|
|
19
|
+
pgTypeClass?: "d" | "b" | "c" | "e" | "p" | "r" | "m" | undefined;
|
|
20
20
|
characterMaximumLength?: number | null | undefined;
|
|
21
21
|
notNull?: boolean | null | undefined;
|
|
22
22
|
dflt?: string | null | undefined;
|
|
@@ -28,7 +28,7 @@ export declare const liteTableSpec: v.ObjectType<{
|
|
|
28
28
|
export declare const tableSpec: v.ObjectType<Omit<{
|
|
29
29
|
name: v.Type<string>;
|
|
30
30
|
columns: v.Type<Record<string, {
|
|
31
|
-
pgTypeClass?: "
|
|
31
|
+
pgTypeClass?: "d" | "b" | "c" | "e" | "p" | "r" | "m" | undefined;
|
|
32
32
|
characterMaximumLength?: number | null | undefined;
|
|
33
33
|
notNull?: boolean | null | undefined;
|
|
34
34
|
dflt?: string | null | undefined;
|
|
@@ -42,7 +42,7 @@ export declare const tableSpec: v.ObjectType<Omit<{
|
|
|
42
42
|
export declare const publishedTableSpec: v.ObjectType<Omit<Omit<{
|
|
43
43
|
name: v.Type<string>;
|
|
44
44
|
columns: v.Type<Record<string, {
|
|
45
|
-
pgTypeClass?: "
|
|
45
|
+
pgTypeClass?: "d" | "b" | "c" | "e" | "p" | "r" | "m" | undefined;
|
|
46
46
|
characterMaximumLength?: number | null | undefined;
|
|
47
47
|
notNull?: boolean | null | undefined;
|
|
48
48
|
dflt?: string | null | undefined;
|
|
@@ -52,10 +52,10 @@ export declare const publishedTableSpec: v.ObjectType<Omit<Omit<{
|
|
|
52
52
|
primaryKey: v.Optional<string[]>;
|
|
53
53
|
}, "schema"> & {
|
|
54
54
|
schema: v.Type<string>;
|
|
55
|
-
}, "publications" | "
|
|
55
|
+
}, "publications" | "columns" | "oid" | "replicaIdentity"> & {
|
|
56
56
|
oid: v.Type<number>;
|
|
57
57
|
columns: v.Type<Record<string, {
|
|
58
|
-
pgTypeClass?: "
|
|
58
|
+
pgTypeClass?: "d" | "b" | "c" | "e" | "p" | "r" | "m" | undefined;
|
|
59
59
|
characterMaximumLength?: number | null | undefined;
|
|
60
60
|
notNull?: boolean | null | undefined;
|
|
61
61
|
dflt?: string | null | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-streamer.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/server/change-streamer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"change-streamer.d.ts","sourceRoot":"","sources":["../../../../../zero-cache/src/server/change-streamer.ts"],"names":[],"mappings":"AAaA,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,uBAAuB,CAAC;AAG/B,wBAA8B,SAAS,CACrC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,CAAC,UAAU,GACrB,OAAO,CAAC,IAAI,CAAC,CA4Ef"}
|
|
@@ -3,7 +3,8 @@ import { must } from "../../../shared/src/must.js";
|
|
|
3
3
|
import { DatabaseInitError } from "../../../zqlite/src/db.js";
|
|
4
4
|
import { getZeroConfig } from "../config/zero-config.js";
|
|
5
5
|
import { deleteLiteDB } from "../db/delete-lite-db.js";
|
|
6
|
-
import {
|
|
6
|
+
import { initializeCustomChangeSource } from "../services/change-source/custom/change-source.js";
|
|
7
|
+
import { initializePostgresChangeSource } from "../services/change-source/pg/change-source.js";
|
|
7
8
|
import { ChangeStreamerHttpServer } from "../services/change-streamer/change-streamer-http.js";
|
|
8
9
|
import { initializeStreamer } from "../services/change-streamer/change-streamer-service.js";
|
|
9
10
|
import { AutoResetSignal } from "../services/change-streamer/schema/tables.js";
|
|
@@ -26,7 +27,9 @@ export default async function runWorker(parent, env) {
|
|
|
26
27
|
for (const first of [true, false]) {
|
|
27
28
|
try {
|
|
28
29
|
// Note: This performs initial sync of the replica if necessary.
|
|
29
|
-
const { changeSource, replicationConfig } =
|
|
30
|
+
const { changeSource, replicationConfig } = config.upstream.type === 'pg'
|
|
31
|
+
? await initializePostgresChangeSource(lc, config.upstream.db, config.shard, config.replicaFile, config.initialSync)
|
|
32
|
+
: await initializeCustomChangeSource(lc, config.upstream.db, config.shard, config.replicaFile);
|
|
30
33
|
changeStreamer = await initializeStreamer(lc, changeDB, changeSource, replicationConfig, autoReset ?? false);
|
|
31
34
|
break;
|
|
32
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-streamer.js","sourceRoot":"","sources":["../../../../../zero-cache/src/server/change-streamer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,gCAAgC,CAAC;AACtD,OAAO,EAAC,IAAI,EAAC,MAAM,6BAA6B,CAAC;AACjD,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"change-streamer.js","sourceRoot":"","sources":["../../../../../zero-cache/src/server/change-streamer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/server/multi/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,CAAC,MAAM,kCAAkC,CAAC;AAKtD,eAAO,MAAM,iBAAiB
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/server/multi/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,MAAM,EACZ,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,CAAC,MAAM,kCAAkC,CAAC;AAKtD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6C7B,CAAC;AA8BF,QAAA,MAAM,aAAa;;;;;;;;;;;;;EAkBf,CAAC;AAEL,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,GACzD,IAAI,CAAC,MAAM,CAAC,OAAO,iBAAiB,CAAC,EAAE,aAAa,CAAC,CAAC;AAExD,wBAAgB,kBAAkB,CAChC,UAAU,GAAE,MAAM,CAAC,UAAwB,EAC3C,IAAI,WAAwB,GAC3B;IAAC,MAAM,EAAE,eAAe,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;CAAC,CAgBnD"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { LogContext } from '@rocicorp/logger';
|
|
2
|
+
import { Database } from '../../../../../zqlite/src/db.ts';
|
|
3
|
+
import type { ChangeSource } from '../../change-streamer/change-streamer-service.ts';
|
|
4
|
+
import { type ReplicationConfig } from '../../change-streamer/schema/tables.ts';
|
|
5
|
+
import type { ShardConfig } from '../pg/shard-config.ts';
|
|
6
|
+
/**
|
|
7
|
+
* Initializes a Postgres change source, including the initial sync of the
|
|
8
|
+
* replica, before streaming changes from the corresponding logical replication
|
|
9
|
+
* stream.
|
|
10
|
+
*/
|
|
11
|
+
export declare function initializeCustomChangeSource(lc: LogContext, upstreamURI: string, shard: ShardConfig, replicaDbFile: string): Promise<{
|
|
12
|
+
replicationConfig: ReplicationConfig;
|
|
13
|
+
changeSource: ChangeSource;
|
|
14
|
+
}>;
|
|
15
|
+
/**
|
|
16
|
+
* Initial sync for a custom change source makes a request to the
|
|
17
|
+
* change source endpoint with no `replicaVersion` or `lastWatermark`.
|
|
18
|
+
* The initial transaction returned by the endpoint is treated as
|
|
19
|
+
* the initial sync, and the commit watermark of that transaction
|
|
20
|
+
* becomes the `replicaVersion` of the initialized replica.
|
|
21
|
+
*
|
|
22
|
+
* Note that this is equivalent to how the LSN of the Postgres WAL
|
|
23
|
+
* at initial sync time is the `replicaVersion` (and starting
|
|
24
|
+
* version for all initially-synced rows).
|
|
25
|
+
*/
|
|
26
|
+
export declare function initialSync(lc: LogContext, shard: ShardConfig, tx: Database, upstreamURI: string): Promise<void>;
|
|
27
|
+
//# sourceMappingURL=change-source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change-source.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-source/custom/change-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAK5C,OAAO,EAAC,QAAQ,EAAC,MAAM,iCAAiC,CAAC;AAKzD,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAC,KAAK,iBAAiB,EAAC,MAAM,wCAAwC,CAAC;AAO9E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAKvD;;;;GAIG;AACH,wBAAsB,4BAA4B,CAChD,EAAE,EAAE,UAAU,EACd,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,WAAW,EAClB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC;IAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAAC,YAAY,EAAE,YAAY,CAAA;CAAC,CAAC,CAgC7E;AAsDD;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,WAAW,EAClB,EAAE,EAAE,QAAQ,EACZ,WAAW,EAAE,MAAM,iBAyDpB"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { LogContext } from '@rocicorp/logger';
|
|
2
|
+
import { WebSocket } from 'ws';
|
|
3
|
+
import { assert, unreachable } from "../../../../../shared/src/asserts.js";
|
|
4
|
+
import { deepEqual } from "../../../../../shared/src/json.js";
|
|
5
|
+
import { Database } from "../../../../../zqlite/src/db.js";
|
|
6
|
+
import { computeZqlSpecs } from "../../../db/lite-tables.js";
|
|
7
|
+
import { StatementRunner } from "../../../db/statements.js";
|
|
8
|
+
import { stringify } from "../../../types/bigint-json.js";
|
|
9
|
+
import { stream } from "../../../types/streams.js";
|
|
10
|
+
import {} from "../../change-streamer/schema/tables.js";
|
|
11
|
+
import { ChangeProcessor } from "../../replicator/change-processor.js";
|
|
12
|
+
import { initChangeLog } from "../../replicator/schema/change-log.js";
|
|
13
|
+
import { getSubscriptionState, initReplicationState, } from "../../replicator/schema/replication-state.js";
|
|
14
|
+
import { changeStreamMessageSchema } from "../protocol/current/downstream.js";
|
|
15
|
+
import {} from "../protocol/current/upstream.js";
|
|
16
|
+
import { initSyncSchema } from "./sync-schema.js";
|
|
17
|
+
/**
|
|
18
|
+
* Initializes a Postgres change source, including the initial sync of the
|
|
19
|
+
* replica, before streaming changes from the corresponding logical replication
|
|
20
|
+
* stream.
|
|
21
|
+
*/
|
|
22
|
+
export async function initializeCustomChangeSource(lc, upstreamURI, shard, replicaDbFile) {
|
|
23
|
+
await initSyncSchema(lc, `replica-${shard.id}`, shard, replicaDbFile, upstreamURI);
|
|
24
|
+
const replica = new Database(lc, replicaDbFile);
|
|
25
|
+
const replicationConfig = getSubscriptionState(new StatementRunner(replica));
|
|
26
|
+
replica.close();
|
|
27
|
+
if (shard.publications.length) {
|
|
28
|
+
// Verify that the publications match what has been synced.
|
|
29
|
+
const requested = [...shard.publications].sort();
|
|
30
|
+
const replicated = replicationConfig.publications.sort();
|
|
31
|
+
if (!deepEqual(requested, replicated)) {
|
|
32
|
+
throw new Error(`Invalid ShardConfig. Requested publications [${requested}] do not match synced publications: [${replicated}]`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
const changeSource = new CustomChangeSource(lc, upstreamURI, shard.id, replicationConfig);
|
|
36
|
+
return { replicationConfig, changeSource };
|
|
37
|
+
}
|
|
38
|
+
class CustomChangeSource {
|
|
39
|
+
#lc;
|
|
40
|
+
#upstreamUri;
|
|
41
|
+
#shardID;
|
|
42
|
+
#replicationConfig;
|
|
43
|
+
constructor(lc, upstreamUri, shardID, replicationConfig) {
|
|
44
|
+
this.#lc = lc.withContext('component', 'change-source');
|
|
45
|
+
this.#upstreamUri = upstreamUri;
|
|
46
|
+
this.#shardID = shardID;
|
|
47
|
+
this.#replicationConfig = replicationConfig;
|
|
48
|
+
}
|
|
49
|
+
initialSync() {
|
|
50
|
+
return this.#startStream();
|
|
51
|
+
}
|
|
52
|
+
startStream(clientWatermark) {
|
|
53
|
+
return Promise.resolve(this.#startStream(clientWatermark));
|
|
54
|
+
}
|
|
55
|
+
#startStream(clientWatermark) {
|
|
56
|
+
const { publications, replicaVersion } = this.#replicationConfig;
|
|
57
|
+
const url = new URL(this.#upstreamUri);
|
|
58
|
+
url.searchParams.set('shardID', this.#shardID);
|
|
59
|
+
for (const pub of publications) {
|
|
60
|
+
url.searchParams.append('shardPublications', pub);
|
|
61
|
+
}
|
|
62
|
+
if (clientWatermark) {
|
|
63
|
+
assert(replicaVersion.length);
|
|
64
|
+
url.searchParams.set('lastWatermark', clientWatermark);
|
|
65
|
+
url.searchParams.set('replicaVersion', replicaVersion);
|
|
66
|
+
}
|
|
67
|
+
const ws = new WebSocket(url);
|
|
68
|
+
const { instream, outstream } = stream(this.#lc, ws, changeStreamMessageSchema,
|
|
69
|
+
// Upstream acks coalesce. If upstream exhibits back-pressure,
|
|
70
|
+
// only the last ACK is kept / buffered.
|
|
71
|
+
{ coalesce: (curr) => curr });
|
|
72
|
+
return { changes: instream, acks: outstream };
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Initial sync for a custom change source makes a request to the
|
|
77
|
+
* change source endpoint with no `replicaVersion` or `lastWatermark`.
|
|
78
|
+
* The initial transaction returned by the endpoint is treated as
|
|
79
|
+
* the initial sync, and the commit watermark of that transaction
|
|
80
|
+
* becomes the `replicaVersion` of the initialized replica.
|
|
81
|
+
*
|
|
82
|
+
* Note that this is equivalent to how the LSN of the Postgres WAL
|
|
83
|
+
* at initial sync time is the `replicaVersion` (and starting
|
|
84
|
+
* version for all initially-synced rows).
|
|
85
|
+
*/
|
|
86
|
+
export async function initialSync(lc, shard, tx, upstreamURI) {
|
|
87
|
+
const { id, publications } = shard;
|
|
88
|
+
const changeSource = new CustomChangeSource(lc, upstreamURI, id, {
|
|
89
|
+
replicaVersion: '', // ignored for initialSync()
|
|
90
|
+
publications,
|
|
91
|
+
});
|
|
92
|
+
const { changes } = changeSource.initialSync();
|
|
93
|
+
const processor = new ChangeProcessor(new StatementRunner(tx), 'INITIAL-SYNC', (_, err) => {
|
|
94
|
+
throw err;
|
|
95
|
+
});
|
|
96
|
+
let num = 0;
|
|
97
|
+
for await (const change of changes) {
|
|
98
|
+
const [tag] = change;
|
|
99
|
+
switch (tag) {
|
|
100
|
+
case 'begin': {
|
|
101
|
+
const { commitWatermark } = change[2];
|
|
102
|
+
lc.info?.(`initial sync of shard ${id} at replicaVersion ${commitWatermark}`);
|
|
103
|
+
initReplicationState(tx, [...publications].sort(), commitWatermark);
|
|
104
|
+
initChangeLog(tx);
|
|
105
|
+
processor.processMessage(lc, change);
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
case 'data':
|
|
109
|
+
processor.processMessage(lc, change);
|
|
110
|
+
if (++num % 1000 === 0) {
|
|
111
|
+
lc.debug?.(`processed ${num} changes`);
|
|
112
|
+
}
|
|
113
|
+
break;
|
|
114
|
+
case 'commit':
|
|
115
|
+
processor.processMessage(lc, change);
|
|
116
|
+
validateInitiallySyncedData(lc, tx, id);
|
|
117
|
+
lc.info?.(`finished initial-sync of ${num} changes`);
|
|
118
|
+
return;
|
|
119
|
+
case 'status':
|
|
120
|
+
break; // Ignored
|
|
121
|
+
case 'control':
|
|
122
|
+
case 'rollback':
|
|
123
|
+
throw new Error(`unexpected message during initial-sync: ${stringify(change)}`);
|
|
124
|
+
default:
|
|
125
|
+
unreachable(change);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
throw new Error(`change source ${upstreamURI} closed before initial-sync completed`);
|
|
129
|
+
}
|
|
130
|
+
// Verify that the upstream tables expected by the sync logic
|
|
131
|
+
// have been properly initialized.
|
|
132
|
+
function getRequiredTables(shardID) {
|
|
133
|
+
return {
|
|
134
|
+
[`zero_${shardID}.clients`]: {
|
|
135
|
+
clientGroupID: { type: 'string' },
|
|
136
|
+
clientID: { type: 'string' },
|
|
137
|
+
lastMutationID: { type: 'number' },
|
|
138
|
+
userID: { type: 'string' },
|
|
139
|
+
},
|
|
140
|
+
[`zero.schemaVersions`]: {
|
|
141
|
+
minSupportedVersion: { type: 'number' },
|
|
142
|
+
maxSupportedVersion: { type: 'number' },
|
|
143
|
+
},
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
function validateInitiallySyncedData(lc, db, shardID) {
|
|
147
|
+
const tables = computeZqlSpecs(lc, db);
|
|
148
|
+
const required = getRequiredTables(shardID);
|
|
149
|
+
for (const [name, columns] of Object.entries(required)) {
|
|
150
|
+
const table = tables.get(name)?.zqlSpec;
|
|
151
|
+
if (!table) {
|
|
152
|
+
throw new Error(`Upstream is missing the "${name}" table. (Found ${[
|
|
153
|
+
...tables.keys(),
|
|
154
|
+
]})` +
|
|
155
|
+
`Please ensure that each table has a unique index over one ` +
|
|
156
|
+
`or more non-null columns.`);
|
|
157
|
+
}
|
|
158
|
+
for (const [col, { type }] of Object.entries(columns)) {
|
|
159
|
+
const found = table[col];
|
|
160
|
+
if (!found) {
|
|
161
|
+
throw new Error(`Upstream "${table}" table is missing the "${col}" column`);
|
|
162
|
+
}
|
|
163
|
+
if (found.type !== type) {
|
|
164
|
+
throw new Error(`Upstream "${table}.${col}" column is a ${found.type} type but must be a ${type} type.`);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=change-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"change-source.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-source/custom/change-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAC,SAAS,EAAC,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAC,SAAS,EAAC,MAAM,mCAAmC,CAAC;AAE5D,OAAO,EAAC,QAAQ,EAAC,MAAM,iCAAiC,CAAC;AACzD,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAC,SAAS,EAAC,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAC,MAAM,EAAC,MAAM,2BAA2B,CAAC;AAKjD,OAAO,EAAwB,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAC,eAAe,EAAC,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAC,aAAa,EAAC,MAAM,uCAAuC,CAAC;AACpE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EAAC,yBAAyB,EAAC,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAA2B,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,EAAc,EACd,WAAmB,EACnB,KAAkB,EAClB,aAAqB;IAErB,MAAM,cAAc,CAClB,EAAE,EACF,WAAW,KAAK,CAAC,EAAE,EAAE,EACrB,KAAK,EACL,aAAa,EACb,WAAW,CACZ,CAAC;IAEF,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;IAChD,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7E,OAAO,CAAC,KAAK,EAAE,CAAC;IAEhB,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QAC9B,2DAA2D;QAC3D,MAAM,SAAS,GAAG,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,iBAAiB,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACzD,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,gDAAgD,SAAS,wCAAwC,UAAU,GAAG,CAC/G,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,kBAAkB,CACzC,EAAE,EACF,WAAW,EACX,KAAK,CAAC,EAAE,EACR,iBAAiB,CAClB,CAAC;IAEF,OAAO,EAAC,iBAAiB,EAAE,YAAY,EAAC,CAAC;AAC3C,CAAC;AAED,MAAM,kBAAkB;IACb,GAAG,CAAa;IAChB,YAAY,CAAS;IACrB,QAAQ,CAAS;IACjB,kBAAkB,CAAoB;IAE/C,YACE,EAAc,EACd,WAAmB,EACnB,OAAe,EACf,iBAAoC;QAEpC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACxD,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;IAC9C,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IAED,WAAW,CAAC,eAAuB;QACjC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,YAAY,CAAC,eAAwB;QACnC,MAAM,EAAC,YAAY,EAAE,cAAc,EAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAC/D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/C,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC9B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;YACvD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,EAAC,QAAQ,EAAE,SAAS,EAAC,GAAG,MAAM,CAClC,IAAI,CAAC,GAAG,EACR,EAAE,EACF,yBAAyB;QACzB,8DAA8D;QAC9D,wCAAwC;QACxC,EAAC,QAAQ,EAAE,CAAC,IAA0B,EAAE,EAAE,CAAC,IAAI,EAAC,CACjD,CAAC;QACF,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC;IAC9C,CAAC;CACF;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,EAAc,EACd,KAAkB,EAClB,EAAY,EACZ,WAAmB;IAEnB,MAAM,EAAC,EAAE,EAAE,YAAY,EAAC,GAAG,KAAK,CAAC;IACjC,MAAM,YAAY,GAAG,IAAI,kBAAkB,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;QAC/D,cAAc,EAAE,EAAE,EAAE,4BAA4B;QAChD,YAAY;KACb,CAAC,CAAC;IACH,MAAM,EAAC,OAAO,EAAC,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;IAE7C,MAAM,SAAS,GAAG,IAAI,eAAe,CACnC,IAAI,eAAe,CAAC,EAAE,CAAC,EACvB,cAAc,EACd,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QACT,MAAM,GAAG,CAAC;IACZ,CAAC,CACF,CAAC;IAEF,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QACrB,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,EAAC,eAAe,EAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACpC,EAAE,CAAC,IAAI,EAAE,CACP,yBAAyB,EAAE,sBAAsB,eAAe,EAAE,CACnE,CAAC;gBACF,oBAAoB,CAAC,EAAE,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,eAAe,CAAC,CAAC;gBACpE,aAAa,CAAC,EAAE,CAAC,CAAC;gBAClB,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gBACrC,MAAM;YACR,CAAC;YACD,KAAK,MAAM;gBACT,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gBACrC,IAAI,EAAE,GAAG,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC;oBACvB,EAAE,CAAC,KAAK,EAAE,CAAC,aAAa,GAAG,UAAU,CAAC,CAAC;gBACzC,CAAC;gBACD,MAAM;YACR,KAAK,QAAQ;gBACX,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gBACrC,2BAA2B,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACxC,EAAE,CAAC,IAAI,EAAE,CAAC,4BAA4B,GAAG,UAAU,CAAC,CAAC;gBACrD,OAAO;YAET,KAAK,QAAQ;gBACX,MAAM,CAAC,UAAU;YACnB,KAAK,SAAS,CAAC;YACf,KAAK,UAAU;gBACb,MAAM,IAAI,KAAK,CACb,2CAA2C,SAAS,CAAC,MAAM,CAAC,EAAE,CAC/D,CAAC;YACJ;gBACE,WAAW,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CACb,iBAAiB,WAAW,uCAAuC,CACpE,CAAC;AACJ,CAAC;AAED,6DAA6D;AAC7D,kCAAkC;AAClC,SAAS,iBAAiB,CACxB,OAAe;IAEf,OAAO;QACL,CAAC,QAAQ,OAAO,UAAU,CAAC,EAAE;YAC3B,aAAa,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;YAC/B,QAAQ,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;YAC1B,cAAc,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;YAChC,MAAM,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;SACzB;QACD,CAAC,qBAAqB,CAAC,EAAE;YACvB,mBAAmB,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;YACrC,mBAAmB,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;SACtC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAClC,EAAc,EACd,EAAY,EACZ,OAAe;IAEf,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5C,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QACxC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,4BAA4B,IAAI,mBAAmB;gBACjD,GAAG,MAAM,CAAC,IAAI,EAAE;aACjB,GAAG;gBACF,4DAA4D;gBAC5D,2BAA2B,CAC9B,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,EAAC,IAAI,EAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CACb,aAAa,KAAK,2BAA2B,GAAG,UAAU,CAC3D,CAAC;YACJ,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACb,aAAa,KAAK,IAAI,GAAG,iBAAiB,KAAK,CAAC,IAAI,uBAAuB,IAAI,QAAQ,CACxF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { LogContext } from '@rocicorp/logger';
|
|
2
|
+
import type { ShardConfig } from '../pg/shard-config.ts';
|
|
3
|
+
export declare function initSyncSchema(log: LogContext, debugName: string, shard: ShardConfig, dbPath: string, upstreamURI: string): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=sync-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-schema.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-source/custom/sync-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAOjD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAGvD,wBAAsB,cAAc,CAClC,GAAG,EAAE,UAAU,EACf,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAiBf"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { runSchemaMigrations, } from "../../../db/migration-lite.js";
|
|
2
|
+
import { initialSync } from "./change-source.js";
|
|
3
|
+
export async function initSyncSchema(log, debugName, shard, dbPath, upstreamURI) {
|
|
4
|
+
const setupMigration = {
|
|
5
|
+
migrateSchema: (log, tx) => initialSync(log, shard, tx, upstreamURI),
|
|
6
|
+
minSafeVersion: 1,
|
|
7
|
+
};
|
|
8
|
+
const schemaVersionMigrationMap = {
|
|
9
|
+
1: setupMigration,
|
|
10
|
+
};
|
|
11
|
+
await runSchemaMigrations(log, debugName, dbPath, setupMigration, schemaVersionMigrationMap);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=sync-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-schema.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-source/custom/sync-schema.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mBAAmB,GAGpB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAe,EACf,SAAiB,EACjB,KAAkB,EAClB,MAAc,EACd,WAAmB;IAEnB,MAAM,cAAc,GAAc;QAChC,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,CAAC;QACpE,cAAc,EAAE,CAAC;KAClB,CAAC;IAEF,MAAM,yBAAyB,GAA4B;QACzD,CAAC,EAAE,cAAc;KAClB,CAAC;IAEF,MAAM,mBAAmB,CACvB,GAAG,EACH,SAAS,EACT,MAAM,EACN,cAAc,EACd,yBAAyB,CAC1B,CAAC;AACJ,CAAC"}
|
|
@@ -13,7 +13,7 @@ import type { ShardConfig } from './shard-config.ts';
|
|
|
13
13
|
* replica, before streaming changes from the corresponding logical replication
|
|
14
14
|
* stream.
|
|
15
15
|
*/
|
|
16
|
-
export declare function
|
|
16
|
+
export declare function initializePostgresChangeSource(lc: LogContext, upstreamURI: string, shard: ShardConfig, replicaDbFile: string, syncOptions: InitialSyncOptions): Promise<{
|
|
17
17
|
replicationConfig: ReplicationConfig;
|
|
18
18
|
changeSource: ChangeSource;
|
|
19
19
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-source.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-source/pg/change-source.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EACL,yBAAyB,EAG1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAEV,eAAe,EAChB,MAAM,uEAAuE,CAAC;AAc/E,OAAO,KAAK,EAEV,kBAAkB,EAEnB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAW,KAAK,WAAW,EAAC,MAAM,gCAAgC,CAAC;AAO1E,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,wCAAwC,CAAC;AAYhD,OAAO,EAAkB,KAAK,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAI3E,OAAO,EAAqB,KAAK,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAQ/E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAMnD;;;;GAIG;AACH,wBAAsB,
|
|
1
|
+
{"version":3,"file":"change-source.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-source/pg/change-source.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EACL,yBAAyB,EAG1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAEV,eAAe,EAChB,MAAM,uEAAuE,CAAC;AAc/E,OAAO,KAAK,EAEV,kBAAkB,EAEnB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAW,KAAK,WAAW,EAAC,MAAM,gCAAgC,CAAC;AAO1E,OAAO,KAAK,EACV,YAAY,EAEb,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,wCAAwC,CAAC;AAYhD,OAAO,EAAkB,KAAK,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAI3E,OAAO,EAAqB,KAAK,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAQ/E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAMnD;;;;GAIG;AACH,wBAAsB,8BAA8B,CAClD,EAAE,EAAE,UAAU,EACd,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,WAAW,EAClB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,kBAAkB,GAC9B,OAAO,CAAC;IAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAAC,YAAY,EAAE,YAAY,CAAA;CAAC,CAAC,CA4C7E;AA+ND,qBAAa,KAAK;;gBAIJ,OAAO,EAAE,yBAAyB;IAI9C,SAAS;IAiBT,GAAG,CAAC,SAAS,EAAE,WAAW;CAa3B;AAoZD,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,eAAe,EAClB,CAAC,EAAE,eAAe,EAClB,EAAE,CAAC,EAAE,UAAU,WAchB;AAMD,wBAAgB,eAAe,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,kBAAkB,WAsB3E;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,eAAe,WAkB1E;AAwBD,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,QAAQ,CAAC,IAAI,kCAAkC;;CAOhD"}
|
|
@@ -35,7 +35,7 @@ registerPostgresTypeParsers();
|
|
|
35
35
|
* replica, before streaming changes from the corresponding logical replication
|
|
36
36
|
* stream.
|
|
37
37
|
*/
|
|
38
|
-
export async function
|
|
38
|
+
export async function initializePostgresChangeSource(lc, upstreamURI, shard, replicaDbFile, syncOptions) {
|
|
39
39
|
await initSyncSchema(lc, `replica-${shard.id}`, shard, replicaDbFile, upstreamURI, syncOptions);
|
|
40
40
|
const replica = new Database(lc, replicaDbFile);
|
|
41
41
|
const replicationConfig = getSubscriptionState(new StatementRunner(replica));
|
|
@@ -203,7 +203,7 @@ class PostgresChangeSource {
|
|
|
203
203
|
service
|
|
204
204
|
.subscribe(new PgoutputPlugin({
|
|
205
205
|
protoVersion: 1,
|
|
206
|
-
publicationNames: this.#replicationConfig.publications,
|
|
206
|
+
publicationNames: [...this.#replicationConfig.publications],
|
|
207
207
|
messages: true,
|
|
208
208
|
}), slot, fromLexiVersion(clientStart))
|
|
209
209
|
.then(() => changes.cancel(), handleError);
|