@rocicorp/zero 0.0.0-202410031711 → 0.0.2024100501
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/react.js +8 -2
- package/out/react.js.map +2 -2
- package/out/replicache/src/btree/node.d.ts +5 -5
- package/out/replicache/src/btree/node.d.ts.map +1 -1
- package/out/replicache/src/btree/read.d.ts +1 -1
- package/out/replicache/src/btree/read.d.ts.map +1 -1
- package/out/replicache/src/btree/write.d.ts +1 -1
- package/out/replicache/src/btree/write.d.ts.map +1 -1
- package/out/replicache/src/config.d.ts +1 -1
- package/out/replicache/src/connection-loop.d.ts +1 -1
- package/out/replicache/src/cookies.d.ts +1 -1
- package/out/replicache/src/dag/gc.d.ts +1 -1
- package/out/replicache/src/dag/key-type-enum.d.ts +10 -0
- package/out/replicache/src/dag/key-type-enum.d.ts.map +1 -0
- package/out/replicache/src/dag/key.d.ts +1 -6
- package/out/replicache/src/dag/key.d.ts.map +1 -1
- package/out/replicache/src/dag/lazy-store.d.ts +1 -1
- package/out/replicache/src/db/commit.d.ts +1 -7
- package/out/replicache/src/db/commit.d.ts.map +1 -1
- package/out/replicache/src/db/index-operation-enum.d.ts +6 -0
- package/out/replicache/src/db/index-operation-enum.d.ts.map +1 -0
- package/out/replicache/src/db/index.d.ts +2 -5
- package/out/replicache/src/db/index.d.ts.map +1 -1
- package/out/replicache/src/db/meta-type-enum.d.ts +12 -0
- package/out/replicache/src/db/meta-type-enum.d.ts.map +1 -0
- package/out/replicache/src/db/read.d.ts +1 -1
- package/out/replicache/src/db/read.d.ts.map +1 -1
- package/out/replicache/src/db/rebase.d.ts +3 -3
- package/out/replicache/src/db/rebase.d.ts.map +1 -1
- package/out/replicache/src/db/scan.d.ts +1 -1
- package/out/replicache/src/db/write.d.ts +7 -7
- package/out/replicache/src/db/write.d.ts.map +1 -1
- package/out/replicache/src/format-version-enum.d.ts +13 -0
- package/out/replicache/src/format-version-enum.d.ts.map +1 -0
- package/out/replicache/src/format-version.d.ts +2 -8
- package/out/replicache/src/format-version.d.ts.map +1 -1
- package/out/replicache/src/frozen-json.d.ts +1 -1
- package/out/replicache/src/hash.d.ts +1 -1
- package/out/replicache/src/index-defs.d.ts +1 -1
- package/out/replicache/src/invoke-kind-enum.d.ts +6 -0
- package/out/replicache/src/invoke-kind-enum.d.ts.map +1 -0
- package/out/replicache/src/kv/store.d.ts +1 -1
- package/out/replicache/src/kv/write-impl-base.d.ts +1 -1
- package/out/replicache/src/mod.d.ts +2 -2
- package/out/replicache/src/mutation-recovery.d.ts +1 -1
- package/out/replicache/src/mutation-recovery.d.ts.map +1 -1
- package/out/replicache/src/patch-operation.d.ts +1 -1
- package/out/replicache/src/pending-mutations.d.ts +1 -1
- package/out/replicache/src/persist/client-groups.d.ts +1 -1
- package/out/replicache/src/persist/clients.d.ts +2 -2
- package/out/replicache/src/persist/clients.d.ts.map +1 -1
- package/out/replicache/src/persist/persist.d.ts +1 -1
- package/out/replicache/src/persist/persist.d.ts.map +1 -1
- package/out/replicache/src/persist/refresh.d.ts +1 -1
- package/out/replicache/src/persist/refresh.d.ts.map +1 -1
- package/out/replicache/src/puller.d.ts +1 -1
- package/out/replicache/src/replicache-impl.d.ts +1 -1
- package/out/replicache/src/replicache-impl.d.ts.map +1 -1
- package/out/replicache/src/replicache.d.ts +1 -1
- package/out/replicache/src/scan-iterator.d.ts +1 -1
- package/out/replicache/src/subscriptions.d.ts +4 -7
- package/out/replicache/src/subscriptions.d.ts.map +1 -1
- package/out/replicache/src/sync/diff.d.ts +1 -1
- package/out/replicache/src/sync/diff.d.ts.map +1 -1
- package/out/replicache/src/sync/handle-pull-response-result-type-enum.d.ts +8 -0
- package/out/replicache/src/sync/handle-pull-response-result-type-enum.d.ts.map +1 -0
- package/out/replicache/src/sync/ids.d.ts +1 -1
- package/out/replicache/src/sync/pull.d.ts +8 -12
- package/out/replicache/src/sync/pull.d.ts.map +1 -1
- package/out/replicache/src/sync/push.d.ts +1 -1
- package/out/replicache/src/transactions.d.ts +1 -1
- package/out/replicache/src/types.d.ts +1 -1
- package/out/zero/src/react.d.ts +1 -1
- package/out/zero/src/zero.d.ts +1 -1
- package/out/zero-cache/src/db/statements.d.ts +1 -0
- package/out/zero-cache/src/db/statements.d.ts.map +1 -1
- package/out/zero-cache/src/db/statements.js +3 -0
- package/out/zero-cache/src/db/statements.js.map +1 -1
- package/out/zero-cache/src/server/main.js.map +1 -1
- package/out/zero-cache/src/server/replicator.d.ts.map +1 -1
- package/out/zero-cache/src/server/replicator.js +6 -6
- package/out/zero-cache/src/server/replicator.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/change-source.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/pg/change-source.js +5 -0
- package/out/zero-cache/src/services/change-streamer/pg/change-source.js.map +1 -1
- package/out/zero-cache/src/services/limiter/sliding-window-limiter.d.ts.map +1 -1
- package/out/zero-cache/src/services/limiter/sliding-window-limiter.js +15 -8
- package/out/zero-cache/src/services/limiter/sliding-window-limiter.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts +5 -1
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.js +5 -2
- package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +6 -5
- package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.js +33 -27
- package/out/zero-cache/src/services/replicator/incremental-sync.js.map +1 -1
- package/out/zero-cache/src/services/replicator/replicator.d.ts +4 -13
- package/out/zero-cache/src/services/replicator/replicator.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/replicator.js +2 -2
- package/out/zero-cache/src/services/replicator/replicator.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +0 -3
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +0 -10
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts +0 -7
- package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/snapshotter.js +2 -21
- package/out/zero-cache/src/services/view-syncer/snapshotter.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.js +13 -35
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
- package/out/zero-cache/src/types/processes.d.ts +0 -1
- package/out/zero-cache/src/types/processes.d.ts.map +1 -1
- package/out/zero-cache/src/types/processes.js +0 -1
- package/out/zero-cache/src/types/processes.js.map +1 -1
- package/out/zero-cache/src/workers/connection.js +3 -3
- package/out/zero-cache/src/workers/connection.js.map +1 -1
- package/out/zero-cache/src/workers/replicator.d.ts +3 -3
- package/out/zero-cache/src/workers/replicator.d.ts.map +1 -1
- package/out/zero-cache/src/workers/replicator.js +3 -31
- package/out/zero-cache/src/workers/replicator.js.map +1 -1
- package/out/zero-cache/src/workers/syncer.d.ts.map +1 -1
- package/out/zero-cache/src/workers/syncer.js +7 -1
- package/out/zero-cache/src/workers/syncer.js.map +1 -1
- package/out/zero-client/src/client/context.d.ts +7 -7
- package/out/zero-client/src/client/context.d.ts.map +1 -1
- package/out/zero-client/src/client/crud.d.ts +6 -6
- package/out/zero-client/src/client/keys.d.ts +1 -1
- package/out/zero-client/src/client/log-options.d.ts +1 -1
- package/out/zero-client/src/client/log-options.d.ts.map +1 -1
- package/out/zero-client/src/client/metrics.d.ts +1 -1
- package/out/zero-client/src/client/metrics.d.ts.map +1 -1
- package/out/zero-client/src/client/options.d.ts +2 -2
- package/out/zero-client/src/client/options.d.ts.map +1 -1
- package/out/zero-client/src/client/query-manager.d.ts +2 -2
- package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
- package/out/zero-client/src/client/replicache-types.d.ts +1 -1
- package/out/zero-client/src/client/replicache-types.d.ts.map +1 -1
- package/out/zero-client/src/client/server-error.d.ts.map +1 -1
- package/out/zero-client/src/client/zero-poke-handler.d.ts +2 -2
- package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -1
- package/out/zero-client/src/client/zero.d.ts +6 -7
- package/out/zero-client/src/client/zero.d.ts.map +1 -1
- package/out/zero-client/src/mod.d.ts +6 -6
- package/out/zero-client/src/util/socket.d.ts +1 -1
- package/out/zero-protocol/src/ast.d.ts +2 -2
- package/out/zero-protocol/src/change-desired-queries.d.ts +3 -3
- package/out/zero-protocol/src/clients-patch.d.ts +1 -1
- package/out/zero-protocol/src/connect.d.ts +3 -3
- package/out/zero-protocol/src/delete-clients.d.ts +1 -1
- package/out/zero-protocol/src/down.d.ts +5 -5
- package/out/zero-protocol/src/entities-patch.d.ts +7 -7
- package/out/zero-protocol/src/entity.d.ts +1 -1
- package/out/zero-protocol/src/error.d.ts +4 -2
- package/out/zero-protocol/src/error.d.ts.map +1 -1
- package/out/zero-protocol/src/error.js +3 -1
- package/out/zero-protocol/src/error.js.map +1 -1
- package/out/zero-protocol/src/ping.d.ts +1 -1
- package/out/zero-protocol/src/poke.d.ts +9 -9
- package/out/zero-protocol/src/pong.d.ts +1 -1
- package/out/zero-protocol/src/pull.d.ts +1 -1
- package/out/zero-protocol/src/push.d.ts +26 -26
- package/out/zero-protocol/src/queries-patch.d.ts +4 -4
- package/out/zero-protocol/src/up.d.ts +7 -7
- package/out/zero-protocol/src/version.d.ts +1 -1
- package/out/zero-react/src/use-query.d.ts +1 -1
- package/out/zero-react/src/use-query.d.ts.map +1 -1
- package/out/zero-react/src/use-zero.d.ts +1 -1
- package/out/zero-react/src/use-zero.d.ts.map +1 -1
- package/out/zero.js +9320 -520
- package/out/zero.js.map +4 -4
- package/out/zql/src/zql/builder/builder.d.ts +2 -2
- package/out/zql/src/zql/builder/builder.d.ts.map +1 -1
- package/out/zql/src/zql/builder/builder.js +3 -0
- package/out/zql/src/zql/builder/builder.js.map +1 -1
- package/out/zql/src/zql/ivm/array-view.d.ts +1 -1
- package/out/zql/src/zql/ivm/memory-storage.d.ts +1 -1
- package/out/zql/src/zql/ivm/operator.d.ts +1 -1
- package/out/zql/src/zql/query/query.d.ts +1 -1
- package/out/zql/src/zql/query/query.d.ts.map +1 -1
- package/out/zql/src/zql/query/typed-view.d.ts +1 -1
- package/package.json +8 -4
- package/out/datadog/src/mod.d.ts +0 -2
- package/out/datadog/src/mod.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/checkpointer.d.ts +0 -79
- package/out/zero-cache/src/services/replicator/checkpointer.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/checkpointer.js +0 -124
- package/out/zero-cache/src/services/replicator/checkpointer.js.map +0 -1
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import type { LogContext } from '@rocicorp/logger';
|
|
2
2
|
import type { JWTPayload } from 'jose';
|
|
3
3
|
import postgres from 'postgres';
|
|
4
|
+
import { ErrorKind } from '../../../../zero-protocol/src/mod.js';
|
|
4
5
|
import { type CreateOp, type Mutation, type SetOp } from '../../../../zero-protocol/src/push.js';
|
|
5
6
|
import { type ZeroConfig } from '../../config/zero-config.js';
|
|
6
7
|
import type { PostgresDB } from '../../types/pg.js';
|
|
7
8
|
import type { Service } from '../service.js';
|
|
8
9
|
import { type WriteAuthorizer } from './write-authorizer.js';
|
|
9
|
-
export type MutationError =
|
|
10
|
+
export type MutationError = [
|
|
11
|
+
kind: ErrorKind.MutationFailed | ErrorKind.MutationRateLimited,
|
|
12
|
+
desc: string
|
|
13
|
+
];
|
|
10
14
|
export interface Mutagen {
|
|
11
15
|
processMutation(mutation: Mutation, authData: JWTPayload): Promise<MutationError | undefined>;
|
|
12
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutagen.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/mutagen/mutagen.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AACrC,OAAO,QAAQ,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"mutagen.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/mutagen/mutagen.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AACrC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAGhC,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AACxC,OAAO,EAGL,KAAK,QAAQ,EAEb,KAAK,QAAQ,EACb,KAAK,KAAK,EAEX,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAC,KAAK,UAAU,EAAC,MAAM,6BAA6B,CAAC;AAE5D,OAAO,KAAK,EAAC,UAAU,EAAsB,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAsB,KAAK,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAKhF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,SAAS,CAAC,cAAc,GAAG,SAAS,CAAC,mBAAmB;IAC9D,IAAI,EAAE,MAAM;CACb,CAAC;AAEF,MAAM,WAAW,OAAO;IACtB,eAAe,CACb,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,UAAU,GACnB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;CACvC;AAED,qBAAa,cAAe,YAAW,OAAO,EAAE,OAAO;;IACrD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;gBAUlB,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,UAAU;IA2BpB,eAAe,CACb,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,UAAU,GACnB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAkBrC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAItB;AAID,wBAAsB,eAAe,CACnC,EAAE,EAAE,UAAU,GAAG,SAAS,EAC1B,QAAQ,EAAE,UAAU,EACpB,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EAChC,SAAS,CAAC,EAAE,MAAM,IAAI,GACrB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAmGpC;AAsED,wBAAgB,YAAY,CAC1B,EAAE,EAAE,QAAQ,CAAC,cAAc,EAC3B,MAAM,EAAE,QAAQ,GACf,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAUvC;AAED,wBAAgB,SAAS,CACvB,EAAE,EAAE,QAAQ,CAAC,cAAc,EAC3B,GAAG,EAAE,KAAK,GACT,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CASvC"}
|
|
@@ -37,7 +37,10 @@ export class MutagenService {
|
|
|
37
37
|
}
|
|
38
38
|
processMutation(mutation, authData) {
|
|
39
39
|
if (this.#limiter?.canDo() === false) {
|
|
40
|
-
return Promise.resolve(
|
|
40
|
+
return Promise.resolve([
|
|
41
|
+
ErrorKind.MutationRateLimited,
|
|
42
|
+
'Rate limit exceeded',
|
|
43
|
+
]);
|
|
41
44
|
}
|
|
42
45
|
return processMutation(this.#lc, authData, this.#upstream, this.#shardID, this.id, mutation, this.#writeAuthorizer);
|
|
43
46
|
}
|
|
@@ -122,7 +125,7 @@ export async function processMutation(lc, authData, db, shardID, clientGroupID,
|
|
|
122
125
|
lc?.info?.(i < MAX_SERIALIZATION_ATTEMPTS ? `Retrying` : '', e);
|
|
123
126
|
continue; // Retry up to MAX_SERIALIZATION_ATTEMPTS.
|
|
124
127
|
}
|
|
125
|
-
result = String(e);
|
|
128
|
+
result = [ErrorKind.MutationFailed, String(e)];
|
|
126
129
|
if (errorMode) {
|
|
127
130
|
break;
|
|
128
131
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mutagen.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/mutagen/mutagen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAC,MAAM,gCAAgC,CAAC;AAExE,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAE5C,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAC,IAAI,EAAC,MAAM,uCAAuC,CAAC;AAC3D,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AACxC,OAAO,EACL,YAAY,GAOb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAiB,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAC;AAG/D,OAAO,EAAC,mBAAmB,EAAuB,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAC,oBAAoB,EAAC,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"mutagen.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/mutagen/mutagen.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@ import { StatementRunner } from '../../../../zero-cache/src/db/statements.js';
|
|
|
3
3
|
import { Database } from '../../../../zqlite/src/db.js';
|
|
4
4
|
import type { Source } from '../../types/streams.js';
|
|
5
5
|
import type { ChangeStreamer, DownstreamChange } from '../change-streamer/change-streamer.js';
|
|
6
|
-
import type { Checkpointer } from './checkpointer.js';
|
|
7
6
|
import type { ReplicaState } from './replicator.js';
|
|
7
|
+
type TransactionMode = 'DEFAULT' | 'CONCURRENT';
|
|
8
8
|
/**
|
|
9
9
|
* The {@link IncrementalSyncer} manages a logical replication stream from upstream,
|
|
10
10
|
* handling application lifecycle events (start, stop) and retrying the
|
|
@@ -13,7 +13,7 @@ import type { ReplicaState } from './replicator.js';
|
|
|
13
13
|
*/
|
|
14
14
|
export declare class IncrementalSyncer {
|
|
15
15
|
#private;
|
|
16
|
-
constructor(id: string, changeStreamer: ChangeStreamer, replica: Database,
|
|
16
|
+
constructor(id: string, changeStreamer: ChangeStreamer, replica: Database, txMode: TransactionMode);
|
|
17
17
|
run(lc: LogContext): Promise<void>;
|
|
18
18
|
subscribe(): Source<ReplicaState>;
|
|
19
19
|
stop(lc: LogContext, err?: unknown): Promise<void>;
|
|
@@ -31,9 +31,10 @@ export declare class IncrementalSyncer {
|
|
|
31
31
|
*/
|
|
32
32
|
export declare class MessageProcessor {
|
|
33
33
|
#private;
|
|
34
|
-
constructor(db: StatementRunner, acknowledge: (watermark: string) => unknown, failService: (lc: LogContext, err: unknown) => void);
|
|
34
|
+
constructor(db: StatementRunner, txMode: TransactionMode, acknowledge: (watermark: string) => unknown, failService: (lc: LogContext, err: unknown) => void);
|
|
35
35
|
abort(lc: LogContext, err?: unknown): void;
|
|
36
|
-
/** @return
|
|
37
|
-
processMessage(lc: LogContext, downstream: DownstreamChange):
|
|
36
|
+
/** @return If a transaction was committed. */
|
|
37
|
+
processMessage(lc: LogContext, downstream: DownstreamChange): boolean;
|
|
38
38
|
}
|
|
39
|
+
export {};
|
|
39
40
|
//# sourceMappingURL=incremental-sync.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"incremental-sync.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/replicator/incremental-sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAKjD,OAAO,EAAC,eAAe,EAAC,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAI1C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EACjB,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"incremental-sync.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/replicator/incremental-sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAKjD,OAAO,EAAC,eAAe,EAAC,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAI1C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EACjB,MAAM,uCAAuC,CAAC;AAW/C,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AASlD,KAAK,eAAe,GAAG,SAAS,GAAG,YAAY,CAAC;AAEhD;;;;;GAKG;AACH,qBAAa,iBAAiB;;gBAW1B,EAAE,EAAE,MAAM,EACV,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,eAAe;IASnB,GAAG,CAAC,EAAE,EAAE,UAAU;IAkDxB,SAAS,IAAI,MAAM,CAAC,YAAY,CAAC;IAI3B,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,OAAO;CAIzC;AAoBD;;;;;;;;;;GAUG;AAEH,qBAAa,gBAAgB;;gBAWzB,EAAE,EAAE,eAAe,EACnB,MAAM,EAAE,eAAe,EACvB,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,EAC3C,WAAW,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI;IAyBrD,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,OAAO;IAInC,8CAA8C;IAC9C,cAAc,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,GAAG,OAAO;CA0EtE"}
|
|
@@ -21,16 +21,16 @@ export class IncrementalSyncer {
|
|
|
21
21
|
#id;
|
|
22
22
|
#changeStreamer;
|
|
23
23
|
#replica;
|
|
24
|
+
#txMode;
|
|
24
25
|
#notifier;
|
|
25
|
-
#checkpointer;
|
|
26
26
|
#state = new RunningState('IncrementalSyncer');
|
|
27
27
|
#service;
|
|
28
|
-
constructor(id, changeStreamer, replica,
|
|
28
|
+
constructor(id, changeStreamer, replica, txMode) {
|
|
29
29
|
this.#id = id;
|
|
30
30
|
this.#changeStreamer = changeStreamer;
|
|
31
31
|
this.#replica = new StatementRunner(replica);
|
|
32
|
+
this.#txMode = txMode;
|
|
32
33
|
this.#notifier = new Notifier();
|
|
33
|
-
this.#checkpointer = checkpointer;
|
|
34
34
|
}
|
|
35
35
|
async run(lc) {
|
|
36
36
|
lc.info?.(`Starting IncrementalSyncer`);
|
|
@@ -45,7 +45,7 @@ export class IncrementalSyncer {
|
|
|
45
45
|
replicaVersion,
|
|
46
46
|
initial: watermark === initialWatermark,
|
|
47
47
|
});
|
|
48
|
-
const processor = new MessageProcessor(this.#replica, (_watermark) => { }, // TODO: Add ACKs to ChangeStreamer API
|
|
48
|
+
const processor = new MessageProcessor(this.#replica, this.#txMode, (_watermark) => { }, // TODO: Add ACKs to ChangeStreamer API
|
|
49
49
|
(lc, err) => this.stop(lc, err));
|
|
50
50
|
const unregister = this.#state.cancelOnStop(downstream);
|
|
51
51
|
try {
|
|
@@ -56,10 +56,8 @@ export class IncrementalSyncer {
|
|
|
56
56
|
break;
|
|
57
57
|
}
|
|
58
58
|
this.#state.resetBackoff();
|
|
59
|
-
|
|
60
|
-
if (committed > 0) {
|
|
59
|
+
if (processor.processMessage(lc, message)) {
|
|
61
60
|
this.#notifier.notifySubscribers({ state: 'version-ready' });
|
|
62
|
-
await this.#checkpointer.maybeCheckpoint(committed, this.#notifier);
|
|
63
61
|
}
|
|
64
62
|
}
|
|
65
63
|
processor.abort(lc);
|
|
@@ -81,7 +79,6 @@ export class IncrementalSyncer {
|
|
|
81
79
|
}
|
|
82
80
|
async stop(lc, err) {
|
|
83
81
|
this.#state.stop(lc, err);
|
|
84
|
-
this.#checkpointer.stop();
|
|
85
82
|
await this.#service?.stop();
|
|
86
83
|
}
|
|
87
84
|
}
|
|
@@ -114,13 +111,14 @@ class ReplayedTransactionError extends Error {
|
|
|
114
111
|
// Exported for testing.
|
|
115
112
|
export class MessageProcessor {
|
|
116
113
|
#db;
|
|
114
|
+
#txMode;
|
|
117
115
|
#acknowledge;
|
|
118
116
|
#failService;
|
|
119
117
|
#currentTx = null;
|
|
120
|
-
#pendingChanges = 0;
|
|
121
118
|
#failure;
|
|
122
|
-
constructor(db, acknowledge, failService) {
|
|
119
|
+
constructor(db, txMode, acknowledge, failService) {
|
|
123
120
|
this.#db = db;
|
|
121
|
+
this.#txMode = txMode;
|
|
124
122
|
this.#acknowledge = acknowledge;
|
|
125
123
|
this.#failService = failService;
|
|
126
124
|
}
|
|
@@ -142,12 +140,12 @@ export class MessageProcessor {
|
|
|
142
140
|
abort(lc, err) {
|
|
143
141
|
this.#fail(lc, err ?? new AbortError());
|
|
144
142
|
}
|
|
145
|
-
/** @return
|
|
143
|
+
/** @return If a transaction was committed. */
|
|
146
144
|
processMessage(lc, downstream) {
|
|
147
145
|
const [type, message] = downstream;
|
|
148
146
|
if (this.#failure) {
|
|
149
147
|
lc.debug?.(`Dropping ${message.tag}`);
|
|
150
|
-
return
|
|
148
|
+
return false;
|
|
151
149
|
}
|
|
152
150
|
try {
|
|
153
151
|
const watermark = type === 'commit' ? downstream[2].watermark : undefined;
|
|
@@ -162,7 +160,7 @@ export class MessageProcessor {
|
|
|
162
160
|
this.#fail(lc, e);
|
|
163
161
|
}
|
|
164
162
|
}
|
|
165
|
-
return
|
|
163
|
+
return false;
|
|
166
164
|
}
|
|
167
165
|
/** @return The number of changes committed. */
|
|
168
166
|
#processMessage(lc, msg, watermark) {
|
|
@@ -170,8 +168,8 @@ export class MessageProcessor {
|
|
|
170
168
|
if (this.#currentTx) {
|
|
171
169
|
throw new Error(`Already in a transaction ${stringify(msg)}`);
|
|
172
170
|
}
|
|
173
|
-
this.#currentTx = new TransactionProcessor(this.#db);
|
|
174
|
-
return
|
|
171
|
+
this.#currentTx = new TransactionProcessor(this.#db, this.#txMode);
|
|
172
|
+
return false;
|
|
175
173
|
}
|
|
176
174
|
// For non-begin messages, there should be a #currentTx set.
|
|
177
175
|
const tx = this.#currentTx;
|
|
@@ -185,9 +183,8 @@ export class MessageProcessor {
|
|
|
185
183
|
const elapsedMs = tx.processCommit(msg, watermark);
|
|
186
184
|
lc.debug?.(`Committed tx (${elapsedMs} ms)`);
|
|
187
185
|
this.#acknowledge(watermark);
|
|
188
|
-
return
|
|
186
|
+
return true;
|
|
189
187
|
}
|
|
190
|
-
this.#pendingChanges++;
|
|
191
188
|
switch (msg.tag) {
|
|
192
189
|
case 'insert':
|
|
193
190
|
tx.processInsert(msg);
|
|
@@ -204,7 +201,7 @@ export class MessageProcessor {
|
|
|
204
201
|
default:
|
|
205
202
|
unreachable(msg);
|
|
206
203
|
}
|
|
207
|
-
return
|
|
204
|
+
return false;
|
|
208
205
|
}
|
|
209
206
|
}
|
|
210
207
|
/**
|
|
@@ -232,16 +229,25 @@ class TransactionProcessor {
|
|
|
232
229
|
#startMs;
|
|
233
230
|
#db;
|
|
234
231
|
#version;
|
|
235
|
-
constructor(db) {
|
|
232
|
+
constructor(db, txMode) {
|
|
236
233
|
this.#startMs = Date.now();
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
234
|
+
if (txMode === 'CONCURRENT') {
|
|
235
|
+
// Although the Replicator / Incremental Syncer is the only writer of the replica,
|
|
236
|
+
// a `BEGIN CONCURRENT` transaction is used to allow View Syncers to simulate
|
|
237
|
+
// (i.e. and `ROLLBACK`) changes on historic snapshots of the database for the
|
|
238
|
+
// purpose of IVM).
|
|
239
|
+
//
|
|
240
|
+
// This TransactionProcessor is the only logic that will actually
|
|
241
|
+
// `COMMIT` any transactions to the replica.
|
|
242
|
+
db.beginConcurrent();
|
|
243
|
+
}
|
|
244
|
+
else {
|
|
245
|
+
// For the backup-replicator (i.e. replication-manager), there are no View Syncers
|
|
246
|
+
// and thus BEGIN CONCURRENT is not necessary. In fact, BEGIN CONCURRENT can cause
|
|
247
|
+
// deadlocks with forced wal-checkpoints (which `litestream replicate` performs),
|
|
248
|
+
// so it is important to use vanilla transactions in this configuration.
|
|
249
|
+
db.begin();
|
|
250
|
+
}
|
|
245
251
|
const { nextStateVersion } = getReplicationVersions(db);
|
|
246
252
|
this.#db = db;
|
|
247
253
|
this.#version = nextStateVersion;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"incremental-sync.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/replicator/incremental-sync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"incremental-sync.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/replicator/incremental-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,20 +4,10 @@ import { Database } from '../../../../zqlite/src/db.js';
|
|
|
4
4
|
import type { Source } from '../../types/streams.js';
|
|
5
5
|
import type { ChangeStreamer } from '../change-streamer/change-streamer.js';
|
|
6
6
|
import type { Service } from '../service.js';
|
|
7
|
-
import type { Checkpointer } from './checkpointer.js';
|
|
8
7
|
/** See {@link ReplicaStateNotifier.subscribe()}. */
|
|
9
8
|
export type ReplicaState = {
|
|
10
|
-
readonly state: 'version-ready'
|
|
11
|
-
|
|
12
|
-
* An optional random integer indicating that the notifier requests
|
|
13
|
-
* an ACK from all (transitive) subscribers. As the Subscription class
|
|
14
|
-
* uses the AsyncIterable paradigm to automatically handle ACKs for
|
|
15
|
-
* in-process communication, this field is primarily for IPC-level
|
|
16
|
-
* logic to perform additional communication between processes.
|
|
17
|
-
*
|
|
18
|
-
* It follows that application logic can largely ignore this field.
|
|
19
|
-
*/
|
|
20
|
-
readonly ack?: number | undefined;
|
|
9
|
+
readonly state: 'version-ready';
|
|
10
|
+
readonly testSeqNum?: number;
|
|
21
11
|
};
|
|
22
12
|
export interface ReplicaStateNotifier {
|
|
23
13
|
/**
|
|
@@ -51,10 +41,11 @@ export interface Replicator extends ReplicaStateNotifier {
|
|
|
51
41
|
*/
|
|
52
42
|
status(): Promise<ReadonlyJSONObject>;
|
|
53
43
|
}
|
|
44
|
+
export type ReplicatorMode = 'backup' | 'serving';
|
|
54
45
|
export declare class ReplicatorService implements Replicator, Service {
|
|
55
46
|
#private;
|
|
56
47
|
readonly id: string;
|
|
57
|
-
constructor(lc: LogContext, id: string, changeStreamer: ChangeStreamer, replica: Database
|
|
48
|
+
constructor(lc: LogContext, id: string, mode: ReplicatorMode, changeStreamer: ChangeStreamer, replica: Database);
|
|
58
49
|
status(): Promise<{
|
|
59
50
|
status: string;
|
|
60
51
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replicator.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/replicator/replicator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"replicator.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/replicator/replicator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAG3C,oDAAoD;AACpD,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAIhC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,SAAS,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,UAAW,SAAQ,oBAAoB;IACtD;;;;OAIG;IACH,MAAM,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACvC;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;AAElD,qBAAa,iBAAkB,YAAW,UAAU,EAAE,OAAO;;IAC3D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;gBAKlB,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,cAAc,EACpB,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,QAAQ;IAenB,MAAM;;;IAIN,GAAG;IAIH,SAAS,IAAI,MAAM,CAAC,YAAY,CAAC;IAI3B,IAAI;CAGX"}
|
|
@@ -4,12 +4,12 @@ export class ReplicatorService {
|
|
|
4
4
|
id;
|
|
5
5
|
#lc;
|
|
6
6
|
#incrementalSyncer;
|
|
7
|
-
constructor(lc, id, changeStreamer, replica
|
|
7
|
+
constructor(lc, id, mode, changeStreamer, replica) {
|
|
8
8
|
this.id = id;
|
|
9
9
|
this.#lc = lc
|
|
10
10
|
.withContext('component', 'replicator')
|
|
11
11
|
.withContext('serviceID', this.id);
|
|
12
|
-
this.#incrementalSyncer = new IncrementalSyncer(id, changeStreamer, replica,
|
|
12
|
+
this.#incrementalSyncer = new IncrementalSyncer(id, changeStreamer, replica, mode === 'serving' ? 'CONCURRENT' : 'DEFAULT');
|
|
13
13
|
}
|
|
14
14
|
status() {
|
|
15
15
|
return Promise.resolve({ status: 'ok' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replicator.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/replicator/replicator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"replicator.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/replicator/replicator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAI1C,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AA+CxD,MAAM,OAAO,iBAAiB;IACnB,EAAE,CAAS;IACX,GAAG,CAAa;IAChB,kBAAkB,CAAoB;IAE/C,YACE,EAAc,EACd,EAAU,EACV,IAAoB,EACpB,cAA8B,EAC9B,OAAiB;QAEjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,GAAG,EAAE;aACV,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC;aACtC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAErC,IAAI,CAAC,kBAAkB,GAAG,IAAI,iBAAiB,CAC7C,EAAE,EACF,cAAc,EACd,OAAO,EACP,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAC9C,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,OAAO,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC,CAAC;IACzC,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC;CACF"}
|
|
@@ -55,7 +55,6 @@ export declare class PipelineDriver {
|
|
|
55
55
|
* iteration has begun.
|
|
56
56
|
*/
|
|
57
57
|
currentVersion(): string;
|
|
58
|
-
release(): void;
|
|
59
58
|
advanceWithoutDiff(): string;
|
|
60
59
|
/**
|
|
61
60
|
* Clears storage used for the pipelines. Call this when the
|
|
@@ -79,8 +78,6 @@ export declare class PipelineDriver {
|
|
|
79
78
|
* was not added.
|
|
80
79
|
*/
|
|
81
80
|
removeQuery(hash: string): void;
|
|
82
|
-
/** Removes pipelines for all queries. */
|
|
83
|
-
clear(): void;
|
|
84
81
|
/**
|
|
85
82
|
* Returns the value of the row with the given primary key `pk`,
|
|
86
83
|
* or `undefined` if there is no such row. The pipeline must have been
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline-driver.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/pipeline-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAK5C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,iCAAiC,CAAC;AAC5D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,wBAAwB,CAAC;AAGhD,OAAO,KAAK,EAAO,GAAG,EAAC,MAAM,yBAAyB,CAAC;AAKvD,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAoB,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAEhE,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAErD,8DAA8D;AAC9D,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG;IAC5C,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACnC,CAAC;AAEF,wBAAgB,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,mBAAmB,CAcnE;AAED;;GAEG;AACH,qBAAa,cAAc;;gBAWvB,EAAE,EAAE,UAAU,EACd,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,kBAAkB;IAO7B;;;;;OAKG;IACH,IAAI;IASJ;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;;;OAIG;IACH,cAAc,IAAI,MAAM;IAKxB,
|
|
1
|
+
{"version":3,"file":"pipeline-driver.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/pipeline-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAK5C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,iCAAiC,CAAC;AAC5D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,wBAAwB,CAAC;AAGhD,OAAO,KAAK,EAAO,GAAG,EAAC,MAAM,yBAAyB,CAAC;AAKvD,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAoB,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAEhE,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAErD,8DAA8D;AAC9D,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG;IAC5C,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACnC,CAAC;AAEF,wBAAgB,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,mBAAmB,CAcnE;AAED;;GAEG;AACH,qBAAa,cAAc;;gBAWvB,EAAE,EAAE,UAAU,EACd,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,kBAAkB;IAO7B;;;;;OAKG;IACH,IAAI;IASJ;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;;;OAIG;IACH,cAAc,IAAI,MAAM;IAKxB,kBAAkB,IAAI,MAAM;IAQ5B;;;OAGG;IACH,OAAO;IAKP,6DAA6D;IAC7D,YAAY,IAAI,GAAG,CAAC,MAAM,CAAC;IAI3B;;;;;;;;OAQG;IACF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC;IA2BxD;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM;IAQxB;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS;IAMlD;;;;;;OAMG;IACH,OAAO,IAAI;QACT,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;KAC9B;CA+FF"}
|
|
@@ -61,9 +61,6 @@ export class PipelineDriver {
|
|
|
61
61
|
assert(this.initialized(), 'Not yet initialized');
|
|
62
62
|
return this.#snapshotter.current().version;
|
|
63
63
|
}
|
|
64
|
-
release() {
|
|
65
|
-
this.#snapshotter.release();
|
|
66
|
-
}
|
|
67
64
|
advanceWithoutDiff() {
|
|
68
65
|
const { db, version } = this.#snapshotter.advance().curr;
|
|
69
66
|
for (const table of this.#tables.values()) {
|
|
@@ -123,13 +120,6 @@ export class PipelineDriver {
|
|
|
123
120
|
input.destroy();
|
|
124
121
|
}
|
|
125
122
|
}
|
|
126
|
-
/** Removes pipelines for all queries. */
|
|
127
|
-
clear() {
|
|
128
|
-
for (const input of this.#pipelines.values()) {
|
|
129
|
-
input.destroy();
|
|
130
|
-
}
|
|
131
|
-
this.#pipelines.clear();
|
|
132
|
-
}
|
|
133
123
|
/**
|
|
134
124
|
* Returns the value of the row with the given primary key `pk`,
|
|
135
125
|
* or `undefined` if there is no such row. The pipeline must have been
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline-driver.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/pipeline-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAC,IAAI,EAAC,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAC,UAAU,EAAC,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAC,+BAA+B,EAAC,MAAM,8BAA8B,CAAC;AAI7E,OAAO,EAAC,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAM7D,OAAO,EAAC,WAAW,EAAC,MAAM,4BAA4B,CAAC;AAEvD,OAAO,EAAoB,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAiChE,MAAM,UAAU,SAAS,CAAC,SAAoB;IAC5C,MAAM,EAAC,UAAU,EAAE,OAAO,EAAC,GAAG,SAAS,CAAC;IACxC,OAAO;QACL,GAAG,SAAS;QACZ,sDAAsD;QACtD,qDAAqD;QACrD,uCAAuC;QACvC,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,EAAE;QAClC,WAAW,EAAE,IAAI,GAAG,CAClB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;aACpB,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC;aAC/C,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CACvB;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,cAAc;IAChB,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IACzC,UAAU,GAAG,IAAI,GAAG,EAAiB,CAAC;IAEtC,GAAG,CAAa;IAChB,YAAY,CAAc;IAC1B,QAAQ,CAAqB;IACtC,WAAW,GAA4C,IAAI,CAAC;IAC5D,SAAS,GAAoB,IAAI,CAAC;IAElC,YACE,EAAc,EACd,WAAwB,EACxB,OAA2B;QAE3B,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,IAAI;QACF,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,qBAAqB,CAAC,CAAC;QAEhE,MAAM,EAAC,EAAE,EAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAChD,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,CACxB,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAC5D,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,cAAc;QACZ,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,qBAAqB,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC;IAC7C,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"pipeline-driver.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/pipeline-driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -113,13 +113,6 @@ export declare class Snapshotter {
|
|
|
113
113
|
* the iteration.
|
|
114
114
|
*/
|
|
115
115
|
advance(): SnapshotDiff;
|
|
116
|
-
/**
|
|
117
|
-
* Releases all locks on the database. Call {@link advance()}
|
|
118
|
-
* to reestablish a snapshot.
|
|
119
|
-
*
|
|
120
|
-
* This must only be called if the Snapshotter has been initialized.
|
|
121
|
-
*/
|
|
122
|
-
release(): void;
|
|
123
116
|
/**
|
|
124
117
|
* Call this to close the database connections when the Snapshotter is
|
|
125
118
|
* no longer needed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshotter.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/snapshotter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAI5C,OAAO,EAAC,eAAe,EAAC,MAAM,iCAAiC,CAAC;AAKhE,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,iCAAiC,CAAC;AAYzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,qBAAa,WAAW;;gBAMV,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;IAK1C;;;;OAIG;IACH,IAAI,IAAI,IAAI;IAOZ,WAAW,IAAI,OAAO;IAItB,+EAA+E;IAC/E,OAAO,IAAI;QAAC,EAAE,EAAE,eAAe,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC;IAKjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,OAAO,IAAI,YAAY;IAUvB
|
|
1
|
+
{"version":3,"file":"snapshotter.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/snapshotter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAI5C,OAAO,EAAC,eAAe,EAAC,MAAM,iCAAiC,CAAC;AAKhE,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,iCAAiC,CAAC;AAYzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,qBAAa,WAAW;;gBAMV,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;IAK1C;;;;OAIG;IACH,IAAI,IAAI,IAAI;IAOZ,WAAW,IAAI,OAAO;IAItB,+EAA+E;IAC/E,OAAO,IAAI;QAAC,EAAE,EAAE,eAAe,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC;IAKjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,OAAO,IAAI,YAAY;IAUvB;;;OAGG;IACH,OAAO;CAKR;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;CAC/C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,YAAa,SAAQ,QAAQ,CAAC,MAAM,CAAC;IACpD,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC;QAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC;QAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC;IAEF;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAmQD,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,GAAG,EAAE,MAAM;CAGxB"}
|
|
@@ -92,7 +92,7 @@ export class Snapshotter {
|
|
|
92
92
|
}
|
|
93
93
|
/** Returns the current snapshot. Asserts if {@link initialized()} is false. */
|
|
94
94
|
current() {
|
|
95
|
-
assert(this.#curr
|
|
95
|
+
assert(this.#curr !== undefined, 'Snapshotter has not been initialized');
|
|
96
96
|
return this.#curr;
|
|
97
97
|
}
|
|
98
98
|
/**
|
|
@@ -141,17 +141,6 @@ export class Snapshotter {
|
|
|
141
141
|
this.#curr = next;
|
|
142
142
|
return new Diff(this.#prev, this.#curr);
|
|
143
143
|
}
|
|
144
|
-
/**
|
|
145
|
-
* Releases all locks on the database. Call {@link advance()}
|
|
146
|
-
* to reestablish a snapshot.
|
|
147
|
-
*
|
|
148
|
-
* This must only be called if the Snapshotter has been initialized.
|
|
149
|
-
*/
|
|
150
|
-
release() {
|
|
151
|
-
assert(this.#curr !== undefined, 'Snapshotter has not been initialized');
|
|
152
|
-
this.#curr.release();
|
|
153
|
-
this.#prev?.release();
|
|
154
|
-
}
|
|
155
144
|
/**
|
|
156
145
|
* Call this to close the database connections when the Snapshotter is
|
|
157
146
|
* no longer needed.
|
|
@@ -212,16 +201,8 @@ class Snapshot {
|
|
|
212
201
|
cleanup: () => this.db.statementCache.return(cached),
|
|
213
202
|
};
|
|
214
203
|
}
|
|
215
|
-
get hasLock() {
|
|
216
|
-
return this.db.db.inTransaction;
|
|
217
|
-
}
|
|
218
|
-
release() {
|
|
219
|
-
if (this.hasLock) {
|
|
220
|
-
this.db.rollback();
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
204
|
resetToHead() {
|
|
224
|
-
this.
|
|
205
|
+
this.db.rollback();
|
|
225
206
|
this.db.beginConcurrent();
|
|
226
207
|
const { stateVersion } = getReplicationVersions(this.db);
|
|
227
208
|
return new Snapshot(this.db, stateVersion);
|