@rocicorp/zero 1.12.0-canary.4 → 1.12.0-canary.5
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/analyze-query/src/analyze-cli.d.ts.map +1 -1
- package/out/analyze-query/src/analyze-cli.js +2 -1
- package/out/analyze-query/src/analyze-cli.js.map +1 -1
- package/out/analyze-query/src/bin-transform.js +1 -1
- package/out/analyze-query/src/zql-chain.d.ts +23 -0
- package/out/analyze-query/src/zql-chain.d.ts.map +1 -0
- package/out/analyze-query/src/zql-chain.js +162 -0
- package/out/analyze-query/src/zql-chain.js.map +1 -0
- package/out/ast-to-zql/src/bin.js +1 -1
- package/out/zero/package.js +21 -22
- package/out/zero/package.js.map +1 -1
- package/out/zero-cache/src/auth/load-permissions.js +1 -1
- package/out/zero-cache/src/auth/write-authorizer.js +1 -1
- package/out/zero-cache/src/scripts/decommission.js +1 -1
- package/out/zero-cache/src/scripts/deploy-permissions.js +1 -1
- package/out/zero-cache/src/server/change-streamer.js +1 -1
- package/out/zero-cache/src/server/replicator.js +1 -1
- package/out/zero-cache/src/server/syncer.js +3 -3
- package/out/zero-cache/src/services/analyze.js +2 -2
- package/out/zero-cache/src/services/change-source/common/backfill-manager.js +1 -1
- package/out/zero-cache/src/services/change-source/common/replica-schema.js +1 -1
- package/out/zero-cache/src/services/change-source/custom/change-source.js +1 -1
- package/out/zero-cache/src/services/change-source/pg/backfill-stream.js +1 -1
- package/out/zero-cache/src/services/change-source/pg/change-source-init.js +2 -2
- package/out/zero-cache/src/services/change-source/pg/change-source.js +2 -2
- package/out/zero-cache/src/services/change-source/pg/initial-sync.js +4 -4
- package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.js +2 -2
- package/out/zero-cache/src/services/change-source/pg/schema/ddl.js +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/init.js +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/published.js +1 -1
- package/out/zero-cache/src/services/change-source/pg/schema/shard.js +1 -1
- package/out/zero-cache/src/services/change-streamer/change-log-initializer.js +1 -1
- package/out/zero-cache/src/services/change-streamer/replica-poller.js +1 -1
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-writer.js +2 -2
- package/out/zero-cache/src/services/change-streamer/storer.js +1 -1
- package/out/zero-cache/src/services/life-cycle.js +1 -1
- package/out/zero-cache/src/services/litestream/commands.js +2 -2
- package/out/zero-cache/src/services/plannerz.js +2 -2
- package/out/zero-cache/src/services/replicator/change-log-db.js +1 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.js +3 -3
- package/out/zero-cache/src/services/replicator/schema/backfilling.js +1 -1
- package/out/zero-cache/src/services/replicator/write-worker.js +3 -3
- package/out/zero-cache/src/services/run-ast.js +1 -1
- package/out/zero-cache/src/services/statz.js +2 -2
- package/out/zero-cache/src/services/view-syncer/cvr-store.js +1 -1
- package/out/zero-cache/src/services/view-syncer/inspect-handler.js +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +5 -5
- package/out/zero-cache/src/services/view-syncer/row-record-cache.js +1 -1
- package/out/zero-cache/src/services/view-syncer/snapshotter.js +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.js +6 -6
- package/out/zero-cache/src/types/profiler.js +1 -1
- package/out/zero-client/src/client/version.js +1 -1
- package/out/zql/src/ivm/cap.d.ts +1 -1
- package/out/zql/src/ivm/cap.d.ts.map +1 -1
- package/out/zql/src/ivm/cap.js +10 -0
- package/out/zql/src/ivm/cap.js.map +1 -1
- package/out/zql/src/ivm/data.d.ts +15 -1
- package/out/zql/src/ivm/data.d.ts.map +1 -1
- package/out/zql/src/ivm/data.js +15 -1
- package/out/zql/src/ivm/data.js.map +1 -1
- package/out/zql/src/ivm/exists.d.ts.map +1 -1
- package/out/zql/src/ivm/exists.js +12 -4
- package/out/zql/src/ivm/exists.js.map +1 -1
- package/out/zql/src/ivm/filter-operators.d.ts +5 -0
- package/out/zql/src/ivm/filter-operators.d.ts.map +1 -1
- package/out/zql/src/ivm/filter-operators.js.map +1 -1
- package/out/zql/src/ivm/join.d.ts.map +1 -1
- package/out/zql/src/ivm/join.js +6 -3
- package/out/zql/src/ivm/join.js.map +1 -1
- package/out/zql/src/ivm/memory-source.js +1 -1
- package/out/zql/src/ivm/operator.d.ts +6 -0
- package/out/zql/src/ivm/operator.d.ts.map +1 -1
- package/out/zql/src/ivm/operator.js.map +1 -1
- package/out/zql/src/ivm/take.d.ts.map +1 -1
- package/out/zql/src/ivm/take.js +4 -3
- package/out/zql/src/ivm/take.js.map +1 -1
- package/out/zqlite/src/table-source.js +1 -1
- package/package.json +21 -22
- package/out/analyze-query/src/bin-analyze.d.ts +0 -2
- package/out/analyze-query/src/bin-analyze.d.ts.map +0 -1
- package/out/analyze-query/src/bin-analyze.js +0 -285
- package/out/analyze-query/src/bin-analyze.js.map +0 -1
- package/out/zero/src/analyze-query.d.ts +0 -3
- package/out/zero/src/analyze-query.d.ts.map +0 -1
- package/out/zero/src/analyze-query.js +0 -3
|
@@ -5,10 +5,10 @@ import { Debug } from "../../../zql/src/builder/debug-delegate.js";
|
|
|
5
5
|
import { Database } from "../../../zqlite/src/db.js";
|
|
6
6
|
import { TableSource } from "../../../zqlite/src/table-source.js";
|
|
7
7
|
import { computeZqlSpecs, mustGetTableSpec } from "../db/lite-tables.js";
|
|
8
|
+
import _usingCtx from "../../../_virtual/_@oxc-project_runtime@0.154.0/helpers/esm/usingCtx.js";
|
|
8
9
|
import { createSQLiteCostModel } from "../../../zqlite/src/sqlite-cost-model.js";
|
|
9
|
-
import { MAX_ANALYZE_ROWS, runAst } from "./run-ast.js";
|
|
10
10
|
import { explainQueries } from "../../../zqlite/src/explain-queries.js";
|
|
11
|
-
import
|
|
11
|
+
import { MAX_ANALYZE_ROWS, runAst } from "./run-ast.js";
|
|
12
12
|
import { TimeSliceTimer } from "./view-syncer/view-syncer.js";
|
|
13
13
|
//#region ../zero-cache/src/services/analyze.ts
|
|
14
14
|
var TIME_SLICE_LAP_THRESHOLD_MS = 200;
|
|
@@ -3,8 +3,8 @@ import { AbortError } from "../../../../../shared/src/abort-error.js";
|
|
|
3
3
|
import { must } from "../../../../../shared/src/must.js";
|
|
4
4
|
import { promiseOrAbort } from "../../../../../shared/src/promise-race.js";
|
|
5
5
|
import { stringify } from "../../../../../shared/src/bigint-json.js";
|
|
6
|
-
import "../../../types/lite.js";
|
|
7
6
|
import { randInt } from "../../../../../shared/src/rand.js";
|
|
7
|
+
import "../../../types/lite.js";
|
|
8
8
|
import { stateVersionFromString, stateVersionToString } from "../../../types/state-version.js";
|
|
9
9
|
import { Queue } from "../../../../../shared/src/queue.js";
|
|
10
10
|
import { CustomKeyMap } from "../../../../../shared/src/custom-key-map.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { isSQLiteCorruption, logSQLiteCorruptionDiagnostics } from "../../../db/sqlite-corruption.js";
|
|
1
2
|
import { populateFromExistingTables } from "../../replicator/schema/column-metadata.js";
|
|
2
3
|
import { listTables } from "../../../db/lite-tables.js";
|
|
3
4
|
import { BACKFILLING_TABLE, populateBackfillingFromColumnMetadata } from "../../replicator/schema/backfilling.js";
|
|
4
5
|
import { CREATE_RUNTIME_EVENTS_TABLE, recordEvent } from "../../replicator/schema/replication-state.js";
|
|
5
|
-
import { isSQLiteCorruption, logSQLiteCorruptionDiagnostics } from "../../../db/sqlite-corruption.js";
|
|
6
6
|
import { deleteLiteDB } from "../../../db/delete-lite-db.js";
|
|
7
7
|
import { AutoResetSignal } from "../../change-streamer/schema/tables.js";
|
|
8
8
|
import { runSchemaMigrations } from "../../../db/migration-lite.js";
|
|
@@ -5,8 +5,8 @@ import { changeStreamMessageSchema } from "../protocol/current/downstream.js";
|
|
|
5
5
|
import "../protocol/current/upstream.js";
|
|
6
6
|
import { Database } from "../../../../../zqlite/src/db.js";
|
|
7
7
|
import { computeZqlSpecs } from "../../../db/lite-tables.js";
|
|
8
|
-
import { createReplicationStateTables, getSubscriptionState, initReplicationState } from "../../replicator/schema/replication-state.js";
|
|
9
8
|
import { StatementRunner } from "../../../db/statements.js";
|
|
9
|
+
import { createReplicationStateTables, getSubscriptionState, initReplicationState } from "../../replicator/schema/replication-state.js";
|
|
10
10
|
import { stream } from "../../../types/streams.js";
|
|
11
11
|
import { AutoResetSignal } from "../../change-streamer/schema/tables.js";
|
|
12
12
|
import { ChangeProcessor } from "../../replicator/change-processor.js";
|
|
@@ -3,11 +3,11 @@ import { parse } from "../../../../../shared/src/valita.js";
|
|
|
3
3
|
import { must } from "../../../../../shared/src/must.js";
|
|
4
4
|
import { randomCharacters } from "../../../../../shared/src/random-values.js";
|
|
5
5
|
import { equals } from "../../../../../shared/src/set-utils.js";
|
|
6
|
-
import { id } from "../../../types/sql.js";
|
|
7
6
|
import { connectPgClient, pgClient } from "../../../types/pg.js";
|
|
8
7
|
import { toStateVersionString } from "./lsn.js";
|
|
9
8
|
import { READONLY } from "../../../db/mode-enum.js";
|
|
10
9
|
import { getPublicationInfo } from "./schema/published.js";
|
|
10
|
+
import { id } from "../../../types/sql.js";
|
|
11
11
|
import { Queue } from "../../../../../shared/src/queue.js";
|
|
12
12
|
import { resumePoint } from "../protocol/backfill-progress.js";
|
|
13
13
|
import { SchemaIncompatibilityError } from "../common/backfill-manager.js";
|
|
@@ -4,9 +4,9 @@ import { promiseVoid } from "../../../../../shared/src/resolved-promises.js";
|
|
|
4
4
|
import { sleep } from "../../../../../shared/src/sleep.js";
|
|
5
5
|
import { must } from "../../../../../shared/src/must.js";
|
|
6
6
|
import { Database } from "../../../../../zqlite/src/db.js";
|
|
7
|
-
import { getSubscriptionStateAndContext } from "../../replicator/schema/replication-state.js";
|
|
8
|
-
import { StatementRunner } from "../../../db/statements.js";
|
|
9
7
|
import { connectPgClient } from "../../../types/pg.js";
|
|
8
|
+
import { StatementRunner } from "../../../db/statements.js";
|
|
9
|
+
import { getSubscriptionStateAndContext } from "../../replicator/schema/replication-state.js";
|
|
10
10
|
import { toBigInt, toStateVersionString } from "./lsn.js";
|
|
11
11
|
import "./schema/replica-stage-enum.js";
|
|
12
12
|
import { dropShard, getActiveReplicas, getReplicaAtVersion, getRestoreCandidates, initRestoreReplica, internalPublicationPrefix } from "./schema/shard.js";
|
|
@@ -7,10 +7,10 @@ import { mapValues } from "../../../../../shared/src/objects.js";
|
|
|
7
7
|
import { equals, intersection, symmetricDifferences } from "../../../../../shared/src/set-utils.js";
|
|
8
8
|
import { stringify } from "../../../../../shared/src/bigint-json.js";
|
|
9
9
|
import { upstreamSchema } from "../../../types/shards.js";
|
|
10
|
-
import { UnsupportedColumnDefaultError, mapPostgresToLiteColumn } from "../../../db/pg-to-lite.js";
|
|
11
|
-
import { getOrCreateCounter } from "../../../observability/metrics.js";
|
|
12
10
|
import { isPostgresError, pgClient } from "../../../types/pg.js";
|
|
11
|
+
import { getOrCreateCounter } from "../../../observability/metrics.js";
|
|
13
12
|
import { UnrecoverableError } from "../../running-state.js";
|
|
13
|
+
import { UnsupportedColumnDefaultError, mapPostgresToLiteColumn } from "../../../db/pg-to-lite.js";
|
|
14
14
|
import { majorVersionFromString, majorVersionToString } from "../../../types/state-version.js";
|
|
15
15
|
import { fromBigInt, toBigInt, toStateVersionString } from "./lsn.js";
|
|
16
16
|
import { getPublicationInfo, warnForSkippedIndexes } from "./schema/published.js";
|
|
@@ -3,20 +3,20 @@ import { must } from "../../../../../shared/src/must.js";
|
|
|
3
3
|
import { equals } from "../../../../../shared/src/set-utils.js";
|
|
4
4
|
import { ALLOWED_APP_ID_CHARACTERS } from "../../../types/shards.js";
|
|
5
5
|
import { Database } from "../../../../../zqlite/src/db.js";
|
|
6
|
+
import { connectPgClient } from "../../../types/pg.js";
|
|
7
|
+
import { getOrCreateCounter, getOrCreateHistogram } from "../../../observability/metrics.js";
|
|
6
8
|
import { liteValue } from "../../../types/lite.js";
|
|
7
9
|
import { liteTableName } from "../../../types/names.js";
|
|
8
10
|
import { mapPostgresToLite, mapPostgresToLiteIndex } from "../../../db/pg-to-lite.js";
|
|
9
11
|
import { ColumnMetadataStore } from "../../replicator/schema/column-metadata.js";
|
|
10
12
|
import { listIndexes, listTables } from "../../../db/lite-tables.js";
|
|
11
|
-
import { getOrCreateCounter, getOrCreateHistogram } from "../../../observability/metrics.js";
|
|
12
13
|
import { initReplicationState } from "../../replicator/schema/replication-state.js";
|
|
13
|
-
import { id } from "../../../types/sql.js";
|
|
14
|
-
import { connectPgClient } from "../../../types/pg.js";
|
|
15
14
|
import { CpuProfiler } from "../../../types/profiler.js";
|
|
16
15
|
import { toStateVersionString } from "./lsn.js";
|
|
17
16
|
import { READONLY } from "../../../db/mode-enum.js";
|
|
18
17
|
import { runTx } from "../../../db/run-transaction.js";
|
|
19
18
|
import { getPublicationInfo, warnForSkippedIndexes } from "./schema/published.js";
|
|
19
|
+
import { id } from "../../../types/sql.js";
|
|
20
20
|
import "./schema/replica-stage-enum.js";
|
|
21
21
|
import { dropShard, getInternalShardConfig, getReplicaState, initInitialSyncReplica, validatePublications } from "./schema/shard.js";
|
|
22
22
|
import { createLiteIndexStatement, createLiteTableStatement } from "../../../db/create.js";
|
|
@@ -31,8 +31,8 @@ import { endSession } from "./logical-replication/stream.js";
|
|
|
31
31
|
import { createReplicaAndSlot } from "./replication-slots.js";
|
|
32
32
|
import { ensureShardSchema } from "./schema/init.js";
|
|
33
33
|
import { platform, tmpdir } from "node:os";
|
|
34
|
-
import { join } from "node:path";
|
|
35
34
|
import { mkdtemp, rm } from "node:fs/promises";
|
|
35
|
+
import { join } from "node:path";
|
|
36
36
|
import { Writable } from "node:stream";
|
|
37
37
|
import { pipeline as pipeline$1 } from "node:stream/promises";
|
|
38
38
|
//#region ../zero-cache/src/services/change-source/pg/initial-sync.ts
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { sleep } from "../../../../../../shared/src/sleep.js";
|
|
2
2
|
import { childWorker } from "../../../../types/processes.js";
|
|
3
|
-
import { getOrCreateHistogram } from "../../../../observability/metrics.js";
|
|
4
|
-
import { id, lit } from "../../../../types/sql.js";
|
|
5
3
|
import "../../../../types/pg.js";
|
|
4
|
+
import { getOrCreateHistogram } from "../../../../observability/metrics.js";
|
|
6
5
|
import { SLOT_KEEPER_URL } from "../../../../server/worker-urls.js";
|
|
7
6
|
import { fromBigInt, toBigInt } from "../lsn.js";
|
|
7
|
+
import { id, lit } from "../../../../types/sql.js";
|
|
8
8
|
import { Subscription } from "../../../../types/subscription.js";
|
|
9
9
|
import { pipe } from "../../../../types/streams.js";
|
|
10
10
|
import { AutoResetSignal } from "../../../change-streamer/schema/tables.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { assert } from "../../../../../../shared/src/asserts.js";
|
|
2
2
|
import { literalUnion, valita_exports } from "../../../../../../shared/src/valita.js";
|
|
3
3
|
import { upstreamSchema } from "../../../../types/shards.js";
|
|
4
|
-
import { id } from "../../../../types/sql.js";
|
|
5
4
|
import { publishedSchema, publishedSchemaQuery } from "./published.js";
|
|
5
|
+
import { id } from "../../../../types/sql.js";
|
|
6
6
|
import { literal } from "pg-format";
|
|
7
7
|
var versionSchema = literalUnion(1, 2);
|
|
8
8
|
var ddlEventSchema = valita_exports.object({ context: valita_exports.object({ query: valita_exports.string() }).rest(valita_exports.string()) }).extend({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { assert } from "../../../../../../shared/src/asserts.js";
|
|
2
2
|
import { parse, valita_exports } from "../../../../../../shared/src/valita.js";
|
|
3
3
|
import { upstreamSchema } from "../../../../types/shards.js";
|
|
4
|
-
import { id } from "../../../../types/sql.js";
|
|
5
4
|
import { publishedSchema } from "./published.js";
|
|
5
|
+
import { id } from "../../../../types/sql.js";
|
|
6
6
|
import "./replica-stage-enum.js";
|
|
7
7
|
import { getMutationsTableDefinition, legacyReplicationSlot, metadataPublicationName, setupTablesAndReplication, setupTriggers } from "./shard.js";
|
|
8
8
|
import { AutoResetSignal } from "../../../change-streamer/schema/tables.js";
|
|
@@ -3,10 +3,10 @@ import { parse, valita_exports } from "../../../../../../shared/src/valita.js";
|
|
|
3
3
|
import { equals } from "../../../../../../shared/src/set-utils.js";
|
|
4
4
|
import { BigIntJSON } from "../../../../../../shared/src/bigint-json.js";
|
|
5
5
|
import { publishedColumnSpec, publishedIndexSpec, publishedTableSpec } from "../../../../db/specs.js";
|
|
6
|
+
import { getOrCreateCounter } from "../../../../observability/metrics.js";
|
|
6
7
|
import { liteTableName } from "../../../../types/names.js";
|
|
7
8
|
import { mapPostgresToLite, mapPostgresToLiteIndex } from "../../../../db/pg-to-lite.js";
|
|
8
9
|
import { computeZqlSpecsFromLiteSpecs } from "../../../../db/lite-tables.js";
|
|
9
|
-
import { getOrCreateCounter } from "../../../../observability/metrics.js";
|
|
10
10
|
import { translatePostgresIndexPredicate } from "./index-predicate.js";
|
|
11
11
|
import { literal } from "pg-format";
|
|
12
12
|
//#region ../zero-cache/src/services/change-source/pg/schema/published.ts
|
|
@@ -2,8 +2,8 @@ import { assert } from "../../../../../../shared/src/asserts.js";
|
|
|
2
2
|
import { parse, valita_exports } from "../../../../../../shared/src/valita.js";
|
|
3
3
|
import { jsonObjectSchema, stringify } from "../../../../../../shared/src/bigint-json.js";
|
|
4
4
|
import { appSchema, check, upstreamSchema } from "../../../../types/shards.js";
|
|
5
|
-
import { id } from "../../../../types/sql.js";
|
|
6
5
|
import { getPublicationInfo, publishedSchema } from "./published.js";
|
|
6
|
+
import { id } from "../../../../types/sql.js";
|
|
7
7
|
import { createEventFunctionStatements, createEventTriggerStatements } from "./ddl.js";
|
|
8
8
|
import { replicaStageSchema } from "./replica-stage-enum.js";
|
|
9
9
|
import { validate } from "./validation.js";
|
|
@@ -4,10 +4,10 @@ import { BigIntJSON } from "../../../../shared/src/bigint-json.js";
|
|
|
4
4
|
import { schemaChangeTags } from "../change-source/protocol/current/schema-change-tags.js";
|
|
5
5
|
import { Database } from "../../../../zqlite/src/db.js";
|
|
6
6
|
import { getOrCreateCounter } from "../../observability/metrics.js";
|
|
7
|
+
import { StatementRunner } from "../../db/statements.js";
|
|
7
8
|
import { backfillRequestsFrom, foldCookies } from "../replicator/change-log-cookies.js";
|
|
8
9
|
import { readBackfillRequests, readReplicaCookies } from "../replicator/schema/backfilling.js";
|
|
9
10
|
import { getReplicationState } from "../replicator/schema/replication-state.js";
|
|
10
|
-
import { StatementRunner } from "../../db/statements.js";
|
|
11
11
|
import { CHANGE_LOG_STREAM_TABLE } from "../replicator/change-log-db.js";
|
|
12
12
|
import { SQLITE_CHANGE_LOG_BOUNDARY_SQL } from "./sqlite-change-log-reader.js";
|
|
13
13
|
//#region ../zero-cache/src/services/change-streamer/change-log-initializer.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Database } from "../../../../zqlite/src/db.js";
|
|
2
|
-
import { getReplicationState } from "../replicator/schema/replication-state.js";
|
|
3
2
|
import { StatementRunner } from "../../db/statements.js";
|
|
3
|
+
import { getReplicationState } from "../replicator/schema/replication-state.js";
|
|
4
4
|
import { Subscription } from "../../types/subscription.js";
|
|
5
5
|
import { assert } from "console";
|
|
6
6
|
import { clearInterval } from "timers";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { assert } from "../../../../shared/src/asserts.js";
|
|
2
2
|
import { must } from "../../../../shared/src/must.js";
|
|
3
3
|
import { h32 } from "../../../../shared/src/hash.js";
|
|
4
|
-
import { readCookieRowCounts, readCookies } from "../replicator/change-log-cookies.js";
|
|
5
|
-
import { StatementRunner } from "../../db/statements.js";
|
|
6
4
|
import { isSQLiteCorruption, logSQLiteCorruptionDiagnostics } from "../../db/sqlite-corruption.js";
|
|
5
|
+
import { StatementRunner } from "../../db/statements.js";
|
|
6
|
+
import { readCookieRowCounts, readCookies } from "../replicator/change-log-cookies.js";
|
|
7
7
|
import { ChangeLogRebuildRequired, changeLogFileName, changeLogWipeReason, deleteChangeLogDB, openChangeLogDBForWriting, readChangeLogHead, rebuildChangeLogDBForWriting, reconcileChangeLog } from "../replicator/change-log-db.js";
|
|
8
8
|
import { extractChangeSubstring } from "./change-log-codec.js";
|
|
9
9
|
import { ChangeLogStreamWriter } from "../replicator/change-log-stream-writer.js";
|
|
@@ -9,9 +9,9 @@ import { isDataChange, isSchemaChange } from "../change-source/protocol/current/
|
|
|
9
9
|
import "../change-source/protocol/current/downstream.js";
|
|
10
10
|
import { backfillRequestSchema } from "../change-source/protocol/current/upstream.js";
|
|
11
11
|
import "../change-source/protocol/current.js";
|
|
12
|
-
import { cookieOps } from "../replicator/change-log-cookies.js";
|
|
13
12
|
import "../../types/pg.js";
|
|
14
13
|
import { orTimeout } from "../../types/timeout.js";
|
|
14
|
+
import { cookieOps } from "../replicator/change-log-cookies.js";
|
|
15
15
|
import { READONLY, READ_COMMITTED } from "../../db/mode-enum.js";
|
|
16
16
|
import { runTx } from "../../db/run-transaction.js";
|
|
17
17
|
import { Queue } from "../../../../shared/src/queue.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { AbortError } from "../../../shared/src/abort-error.js";
|
|
2
2
|
import { singleProcessMode } from "../types/processes.js";
|
|
3
|
-
import { LONG_DURATION_HISTOGRAM_BOUNDARIES_S, getOrCreateHistogram } from "../observability/metrics.js";
|
|
4
3
|
import { ConfigurationError } from "../types/configuration-error.js";
|
|
5
4
|
import { logLastChanceSQLiteCorruptionDiagnostics } from "../db/sqlite-corruption.js";
|
|
5
|
+
import { LONG_DURATION_HISTOGRAM_BOUNDARIES_S, getOrCreateHistogram } from "../observability/metrics.js";
|
|
6
6
|
import { orTimeout } from "../types/timeout.js";
|
|
7
7
|
import { RunningState } from "./running-state.js";
|
|
8
8
|
import { resolver } from "@rocicorp/resolver";
|
|
@@ -2,9 +2,9 @@ import { parse, valita_exports } from "../../../../shared/src/valita.js";
|
|
|
2
2
|
import { must } from "../../../../shared/src/must.js";
|
|
3
3
|
import "../../config/normalize.js";
|
|
4
4
|
import { Database } from "../../../../zqlite/src/db.js";
|
|
5
|
-
import { getSubscriptionState } from "../replicator/schema/replication-state.js";
|
|
6
|
-
import { StatementRunner } from "../../db/statements.js";
|
|
7
5
|
import { isSQLiteCorruption, logSQLiteCorruptionDiagnostics } from "../../db/sqlite-corruption.js";
|
|
6
|
+
import { StatementRunner } from "../../db/statements.js";
|
|
7
|
+
import { getSubscriptionState } from "../replicator/schema/replication-state.js";
|
|
8
8
|
import { deleteLiteDB } from "../../db/delete-lite-db.js";
|
|
9
9
|
import { deleteChangeLogDB } from "../replicator/change-log-db.js";
|
|
10
10
|
import { litestreamSocketPath } from "./litestream-controller.js";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { getOperatorAccess, getServerVersion } from "../config/zero-config.js";
|
|
2
2
|
import { Database } from "../../../zqlite/src/db.js";
|
|
3
|
-
import { computeZqlSpecsFromLiteSpecs, listIndexes, listTables } from "../db/lite-tables.js";
|
|
4
3
|
import { decodeSampleKinds } from "../../../zqlite/src/sqlite-stat4-sample.js";
|
|
5
|
-
import {
|
|
4
|
+
import { computeZqlSpecsFromLiteSpecs, listIndexes, listTables } from "../db/lite-tables.js";
|
|
6
5
|
import { StatementRunner } from "../db/statements.js";
|
|
6
|
+
import { getReplicationState } from "./replicator/schema/replication-state.js";
|
|
7
7
|
import _usingCtx from "../../../_virtual/_@oxc-project_runtime@0.154.0/helpers/esm/usingCtx.js";
|
|
8
8
|
import auth from "basic-auth";
|
|
9
9
|
//#region ../zero-cache/src/services/plannerz.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Database } from "../../../../zqlite/src/db.js";
|
|
2
|
-
import { CREATE_CHANGE_LOG_COOKIE_SCHEMA, DROP_CHANGE_LOG_COOKIE_TABLES, replaceCookies } from "./change-log-cookies.js";
|
|
3
2
|
import { isSQLiteCorruption, logSQLiteCorruptionDiagnostics } from "../../db/sqlite-corruption.js";
|
|
3
|
+
import { CREATE_CHANGE_LOG_COOKIE_SCHEMA, DROP_CHANGE_LOG_COOKIE_TABLES, replaceCookies } from "./change-log-cookies.js";
|
|
4
4
|
import { deleteLiteDB } from "../../db/delete-lite-db.js";
|
|
5
5
|
import { existsSync } from "node:fs";
|
|
6
6
|
/** https://www.sqlite.org/pragma.html#pragma_auto_vacuum */
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { AbortError } from "../../../../shared/src/abort-error.js";
|
|
2
2
|
import { Database } from "../../../../zqlite/src/db.js";
|
|
3
|
-
import { mapPostgresToLiteIndex } from "../../db/pg-to-lite.js";
|
|
4
3
|
import { getOrCreateCounter } from "../../observability/metrics.js";
|
|
4
|
+
import { RunningState } from "../running-state.js";
|
|
5
|
+
import { mapPostgresToLiteIndex } from "../../db/pg-to-lite.js";
|
|
6
|
+
import { StatementRunner } from "../../db/statements.js";
|
|
5
7
|
import { readReplicaBackfills } from "./schema/backfilling.js";
|
|
6
8
|
import { getSubscriptionState } from "./schema/replication-state.js";
|
|
7
|
-
import { StatementRunner } from "../../db/statements.js";
|
|
8
|
-
import { RunningState } from "../running-state.js";
|
|
9
9
|
import { IndexingProgress } from "./replication-status.js";
|
|
10
10
|
import { errorTypeToReadableName } from "../change-streamer/change-streamer.js";
|
|
11
11
|
import { Notifier } from "./notifier.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { unreachable } from "../../../../../shared/src/asserts.js";
|
|
2
2
|
import { BigIntJSON } from "../../../../../shared/src/bigint-json.js";
|
|
3
|
-
import { liteTableName } from "../../../types/names.js";
|
|
4
3
|
import { getOrCreateCounter } from "../../../observability/metrics.js";
|
|
4
|
+
import { liteTableName } from "../../../types/names.js";
|
|
5
5
|
import { backfillRequestsFrom, cookieOps } from "../change-log-cookies.js";
|
|
6
6
|
//#region ../zero-cache/src/services/replicator/schema/backfilling.ts
|
|
7
7
|
var BACKFILLING_TABLE = "_zero.backfilling";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { assert } from "../../../../shared/src/asserts.js";
|
|
2
2
|
import { must } from "../../../../shared/src/must.js";
|
|
3
3
|
import { Database } from "../../../../zqlite/src/db.js";
|
|
4
|
-
import { readReplicaBackfills } from "./schema/backfilling.js";
|
|
5
|
-
import { getSubscriptionState } from "./schema/replication-state.js";
|
|
6
|
-
import { StatementRunner } from "../../db/statements.js";
|
|
7
4
|
import { isSQLiteCorruption, logSQLiteCorruptionDiagnostics, registerSQLiteCorruptionDiagnosticTarget } from "../../db/sqlite-corruption.js";
|
|
8
5
|
import { createLogContext } from "../../server/logging.js";
|
|
6
|
+
import { StatementRunner } from "../../db/statements.js";
|
|
7
|
+
import { readReplicaBackfills } from "./schema/backfilling.js";
|
|
8
|
+
import { getSubscriptionState } from "./schema/replication-state.js";
|
|
9
9
|
import { deleteLiteDB } from "../../db/delete-lite-db.js";
|
|
10
10
|
import { ChangeProcessor } from "./change-processor.js";
|
|
11
11
|
import { LitestreamController } from "../litestream/litestream-controller.js";
|
|
@@ -6,9 +6,9 @@ import { hashOfAST } from "../../../zero-protocol/src/query-hash.js";
|
|
|
6
6
|
import { buildPipeline } from "../../../zql/src/builder/builder.js";
|
|
7
7
|
import { astToZQL } from "../../../ast-to-zql/src/ast-to-zql.js";
|
|
8
8
|
import { formatOutput } from "../../../ast-to-zql/src/format.js";
|
|
9
|
+
import { transformAndHashQuery } from "../auth/read-authorizer.js";
|
|
9
10
|
import { computeZqlSpecs } from "../db/lite-tables.js";
|
|
10
11
|
import { resolveSimpleScalarSubqueries } from "../../../zqlite/src/resolve-scalar-subqueries.js";
|
|
11
|
-
import { transformAndHashQuery } from "../auth/read-authorizer.js";
|
|
12
12
|
import { fetchScalarValue, hydrate } from "./view-syncer/pipeline-driver.js";
|
|
13
13
|
//#region ../zero-cache/src/services/run-ast.ts
|
|
14
14
|
/**
|
|
@@ -2,9 +2,9 @@ import { BigIntJSON } from "../../../shared/src/bigint-json.js";
|
|
|
2
2
|
import { getShardID, upstreamSchema } from "../types/shards.js";
|
|
3
3
|
import { getOperatorAccess } from "../config/zero-config.js";
|
|
4
4
|
import { Database } from "../../../zqlite/src/db.js";
|
|
5
|
-
import { getReplicationState } from "./replicator/schema/replication-state.js";
|
|
6
|
-
import { StatementRunner } from "../db/statements.js";
|
|
7
5
|
import { pgClient } from "../types/pg.js";
|
|
6
|
+
import { StatementRunner } from "../db/statements.js";
|
|
7
|
+
import { getReplicationState } from "./replicator/schema/replication-state.js";
|
|
8
8
|
import { fromStateVersionString } from "./change-source/pg/lsn.js";
|
|
9
9
|
import os from "os";
|
|
10
10
|
import fs from "fs";
|
|
@@ -13,7 +13,6 @@ import { startAsyncSpan } from "../../../../otel/src/span.js";
|
|
|
13
13
|
import { version } from "../../../../otel/src/version.js";
|
|
14
14
|
import { getOrCreateCounter, getOrCreateLatencyHistogram } from "../../observability/metrics.js";
|
|
15
15
|
import { rowIDString } from "../../types/row-key.js";
|
|
16
|
-
import { formatSignature, parseSignature } from "./row-set-signature.js";
|
|
17
16
|
import { READONLY, READ_COMMITTED } from "../../db/mode-enum.js";
|
|
18
17
|
import { runTx } from "../../db/run-transaction.js";
|
|
19
18
|
import { CustomKeyMap } from "../../../../shared/src/custom-key-map.js";
|
|
@@ -23,6 +22,7 @@ import { ttlClockAsNumber, ttlClockFromNumber } from "./ttl-clock.js";
|
|
|
23
22
|
import { EMPTY_CVR_VERSION, cmpVersions, queryRecordToQueryRow, versionFromString, versionString } from "./schema/types.js";
|
|
24
23
|
import "./schema/cvr.js";
|
|
25
24
|
import { ProtocolErrorWithLevel } from "../../types/error-with-level.js";
|
|
25
|
+
import { formatSignature, parseSignature } from "./row-set-signature.js";
|
|
26
26
|
import { CustomKeySet } from "../../../../shared/src/custom-key-set.js";
|
|
27
27
|
import { RowRecordCache } from "./row-record-cache.js";
|
|
28
28
|
import { trace } from "@opentelemetry/api";
|
|
@@ -4,9 +4,9 @@ import { must } from "../../../../shared/src/must.js";
|
|
|
4
4
|
import { TDigest } from "../../../../shared/src/tdigest.js";
|
|
5
5
|
import { getServerVersion, isAdminPasswordValid } from "../../config/zero-config.js";
|
|
6
6
|
import { Database } from "../../../../zqlite/src/db.js";
|
|
7
|
-
import { loadPermissions } from "../../auth/load-permissions.js";
|
|
8
7
|
import { StatementRunner } from "../../db/statements.js";
|
|
9
8
|
import _usingCtx from "../../../../_virtual/_@oxc-project_runtime@0.154.0/helpers/esm/usingCtx.js";
|
|
9
|
+
import { loadPermissions } from "../../auth/load-permissions.js";
|
|
10
10
|
import { inspectAnalyzeQueryUpSchema, unparsedInspectUpBodySchema } from "../../../../zero-protocol/src/inspect-up.js";
|
|
11
11
|
import { analyzeQuery } from "../analyze.js";
|
|
12
12
|
//#region ../zero-cache/src/services/view-syncer/inspect-handler.ts
|
|
@@ -10,16 +10,16 @@ import { makeSourceChangeAdd, makeSourceChangeEdit, makeSourceChangeRemove } fro
|
|
|
10
10
|
import { buildPipeline } from "../../../../zql/src/builder/builder.js";
|
|
11
11
|
import { Debug, runtimeDebugFlags } from "../../../../zql/src/builder/debug-delegate.js";
|
|
12
12
|
import { TableSource } from "../../../../zqlite/src/table-source.js";
|
|
13
|
+
import { randInt } from "../../../../shared/src/rand.js";
|
|
14
|
+
import { getOrCreateCounter, getOrCreateLatencyHistogram } from "../../observability/metrics.js";
|
|
13
15
|
import { ZERO_VERSION_COLUMN_NAME } from "../replicator/schema/constants.js";
|
|
14
16
|
import { computeZqlSpecs, mustGetTableSpec } from "../../db/lite-tables.js";
|
|
17
|
+
import "../../types/row-key.js";
|
|
18
|
+
import { getSubscriptionState } from "../replicator/schema/replication-state.js";
|
|
19
|
+
import { reloadPermissionsIfChanged } from "../../auth/load-permissions.js";
|
|
15
20
|
import { resolveSimpleScalarSubqueries } from "../../../../zqlite/src/resolve-scalar-subqueries.js";
|
|
16
|
-
import { randInt } from "../../../../shared/src/rand.js";
|
|
17
21
|
import { createSQLiteCostModel } from "../../../../zqlite/src/sqlite-cost-model.js";
|
|
18
|
-
import { reloadPermissionsIfChanged } from "../../auth/load-permissions.js";
|
|
19
22
|
import { LogThrottle } from "../../observability/log-throttle.js";
|
|
20
|
-
import { getOrCreateCounter, getOrCreateLatencyHistogram } from "../../observability/metrics.js";
|
|
21
|
-
import "../../types/row-key.js";
|
|
22
|
-
import { getSubscriptionState } from "../replicator/schema/replication-state.js";
|
|
23
23
|
import { checkClientSchema } from "./client-schema.js";
|
|
24
24
|
import { planWarningMessage } from "./plan-warnings.js";
|
|
25
25
|
import { PushCutoff } from "./push-cutoff.js";
|
|
@@ -2,9 +2,9 @@ import { promiseVoid } from "../../../../shared/src/resolved-promises.js";
|
|
|
2
2
|
import { must } from "../../../../shared/src/must.js";
|
|
3
3
|
import { cvrSchema } from "../../types/shards.js";
|
|
4
4
|
import { startAsyncSpan } from "../../../../otel/src/span.js";
|
|
5
|
+
import "../../types/pg.js";
|
|
5
6
|
import { getOrCreateCounter, getOrCreateLatencyHistogram } from "../../observability/metrics.js";
|
|
6
7
|
import { rowIDString } from "../../types/row-key.js";
|
|
7
|
-
import "../../types/pg.js";
|
|
8
8
|
import { READONLY, READ_COMMITTED } from "../../db/mode-enum.js";
|
|
9
9
|
import { runTx } from "../../db/run-transaction.js";
|
|
10
10
|
import { CustomKeyMap } from "../../../../shared/src/custom-key-map.js";
|
|
@@ -5,10 +5,10 @@ import { Database } from "../../../../zqlite/src/db.js";
|
|
|
5
5
|
import { recordIndexUsage } from "../../../../zqlite/src/index-usage.js";
|
|
6
6
|
import { fromSQLiteTypes } from "../../../../zqlite/src/table-source.js";
|
|
7
7
|
import "../replicator/schema/constants.js";
|
|
8
|
+
import { StatementRunner } from "../../db/statements.js";
|
|
8
9
|
import { normalizedKeyOrder } from "../../types/row-key.js";
|
|
9
10
|
import { parseChangeLogEntry } from "../replicator/schema/change-log.js";
|
|
10
11
|
import { getReplicationState } from "../replicator/schema/replication-state.js";
|
|
11
|
-
import { StatementRunner } from "../../db/statements.js";
|
|
12
12
|
import { id } from "../../types/sql.js";
|
|
13
13
|
//#region ../zero-cache/src/services/view-syncer/snapshotter.ts
|
|
14
14
|
/**
|
|
@@ -9,23 +9,23 @@ import { ProtocolError, isProtocolError } from "../../../../zero-protocol/src/er
|
|
|
9
9
|
import { normalizeClientSchema } from "../../../../zero-protocol/src/client-schema.js";
|
|
10
10
|
import { MAX_TTL_MS, clampTTL } from "../../../../zql/src/query/ttl.js";
|
|
11
11
|
import { manualSpan, startAsyncSpan, startSpan } from "../../../../otel/src/span.js";
|
|
12
|
-
import { ZERO_VERSION_COLUMN_NAME } from "../replicator/schema/constants.js";
|
|
13
12
|
import { transformAndHashQuery } from "../../auth/read-authorizer.js";
|
|
14
13
|
import { randInt } from "../../../../shared/src/rand.js";
|
|
15
|
-
import { LogThrottle } from "../../observability/log-throttle.js";
|
|
16
14
|
import { getOrCreateCounter, getOrCreateLatencyHistogram, getOrCreateNativeHistogram, getOrCreateUpDownCounter, getOrCreateValueHistogram } from "../../observability/metrics.js";
|
|
15
|
+
import { ZERO_VERSION_COLUMN_NAME } from "../replicator/schema/constants.js";
|
|
17
16
|
import { rowIDString } from "../../types/row-key.js";
|
|
18
17
|
import "../replicator/schema/replication-state.js";
|
|
19
|
-
import { planWarningMessage } from "./plan-warnings.js";
|
|
20
|
-
import { shouldCutOffPush } from "./push-cutoff.js";
|
|
21
|
-
import { queryShape } from "./query-shape.js";
|
|
22
|
-
import { ResetPipelinesSignal } from "./snapshotter.js";
|
|
23
18
|
import { Subscription } from "../../types/subscription.js";
|
|
24
19
|
import { CustomKeyMap } from "../../../../shared/src/custom-key-map.js";
|
|
25
20
|
import { ttlClockAsNumber, ttlClockFromNumber } from "./ttl-clock.js";
|
|
26
21
|
import { EMPTY_CVR_VERSION, cmpVersions, versionFromString, versionString, versionToCookie } from "./schema/types.js";
|
|
27
22
|
import { ProtocolErrorWithLevel, getLogLevel, wrapWithProtocolError } from "../../types/error-with-level.js";
|
|
28
23
|
import { isAuthErrorBody } from "../../auth/auth.js";
|
|
24
|
+
import { LogThrottle } from "../../observability/log-throttle.js";
|
|
25
|
+
import { planWarningMessage } from "./plan-warnings.js";
|
|
26
|
+
import { shouldCutOffPush } from "./push-cutoff.js";
|
|
27
|
+
import { queryShape } from "./query-shape.js";
|
|
28
|
+
import { ResetPipelinesSignal } from "./snapshotter.js";
|
|
29
29
|
import { AdvancementMetrics } from "./advancement-metrics.js";
|
|
30
30
|
import { ClientHandler, startPoke } from "./client-handler.js";
|
|
31
31
|
import { tracer } from "./tracer.js";
|
package/out/zql/src/ivm/cap.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Change } from './change.ts';
|
|
2
|
-
import type
|
|
2
|
+
import { type Node } from './data.ts';
|
|
3
3
|
import { type FetchRequest, type Input, type InputBase, type Operator, type Output, type Storage } from './operator.ts';
|
|
4
4
|
import type { SourceSchema } from './schema.ts';
|
|
5
5
|
import { type Stream } from './stream.ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cap.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/cap.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,KAAK,MAAM,EAAkB,MAAM,aAAa,CAAC;AAExE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"cap.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/cap.ts"],"names":[],"mappings":"AAMA,OAAO,EAAgB,KAAK,MAAM,EAAkB,MAAM,aAAa,CAAC;AAExE,OAAO,EAA8B,KAAK,IAAI,EAAC,MAAM,WAAW,CAAC;AACjE,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,OAAO,EACb,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,KAAK,MAAM,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,WAAW,CAAC;AAcnB;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,GAAI,YAAW,QAAQ;;IAUlC,YACE,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,EAW5B;IAED,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE9B;IAED,SAAS,IAAI,YAAY,CAExB;IAEA,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,CA+ChD;IAsDA,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAiFrC;IAsCD,OAAO,IAAI,IAAI,CAGd;IAEA,SAAS,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAI9C;CACF"}
|
package/out/zql/src/ivm/cap.js
CHANGED
|
@@ -2,6 +2,7 @@ import { assert } from "../../../shared/src/asserts.js";
|
|
|
2
2
|
import { emptyArray } from "../../../shared/src/sentinels.js";
|
|
3
3
|
import { throwOutput } from "./operator.js";
|
|
4
4
|
import { makeAddChange } from "./change.js";
|
|
5
|
+
import { valueToKey } from "./data.js";
|
|
5
6
|
import { constraintMatchesPartitionKey, makePartitionKeyComparator } from "./take.js";
|
|
6
7
|
//#region ../zql/src/ivm/cap.ts
|
|
7
8
|
/**
|
|
@@ -55,6 +56,10 @@ var Cap = class {
|
|
|
55
56
|
return;
|
|
56
57
|
}
|
|
57
58
|
if (capState.size === 0) return;
|
|
59
|
+
if (req.countOnly) {
|
|
60
|
+
for (let i = 0; i < capState.size; i++) yield placeholderNode;
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
58
63
|
for (const pk of capState.pks) {
|
|
59
64
|
const pkConstraint = deserializePKToConstraint(pk, this.#primaryKey);
|
|
60
65
|
const constraint = req.constraint ? {
|
|
@@ -193,7 +198,12 @@ var Cap = class {
|
|
|
193
198
|
if (this.#output.reconcile) yield* this.#output.reconcile(this);
|
|
194
199
|
}
|
|
195
200
|
};
|
|
201
|
+
var placeholderNode = Object.freeze({
|
|
202
|
+
row: Object.freeze({}),
|
|
203
|
+
relationships: Object.freeze({})
|
|
204
|
+
});
|
|
196
205
|
function getCapStateKey(partitionKey, rowOrConstraint) {
|
|
206
|
+
if (partitionKey?.length === 1 && rowOrConstraint) return "cap:" + valueToKey(rowOrConstraint[partitionKey[0]]);
|
|
197
207
|
const partitionValues = [];
|
|
198
208
|
if (partitionKey && rowOrConstraint) for (const key of partitionKey) partitionValues.push(rowOrConstraint[key]);
|
|
199
209
|
return JSON.stringify(["cap", ...partitionValues]);
|