@rocicorp/zero 0.7.2024120704 → 0.8.2024121000

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.
@@ -3,4 +3,5 @@
3
3
  * Otherwise returns a new array with only defined elements in `arr`.
4
4
  */
5
5
  export declare function defined<T>(arr: (T | undefined)[]): T[];
6
+ export declare function areEqual<T>(arr1: readonly T[], arr2: readonly T[]): boolean;
6
7
  //# sourceMappingURL=arrays.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"arrays.d.ts","sourceRoot":"","sources":["../../../../shared/src/arrays.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,CActD"}
1
+ {"version":3,"file":"arrays.d.ts","sourceRoot":"","sources":["../../../../shared/src/arrays.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,EAAE,GAAG,CAAC,EAAE,CActD;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,GAAG,OAAO,CAE3E"}
@@ -17,4 +17,7 @@ export function defined(arr) {
17
17
  }
18
18
  return defined;
19
19
  }
20
+ export function areEqual(arr1, arr2) {
21
+ return arr1.length === arr2.length && arr1.every((e, i) => e === arr2[i]);
22
+ }
20
23
  //# sourceMappingURL=arrays.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../../../shared/src/arrays.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAI,GAAsB;IAC/C,kCAAkC;IAClC,IAAI,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACV,OAAO,GAAU,CAAC;IACpB,CAAC;IACD,MAAM,OAAO,GAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAQ,CAAC;IAC5C,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"arrays.js","sourceRoot":"","sources":["../../../../shared/src/arrays.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAI,GAAsB;IAC/C,kCAAkC;IAClC,IAAI,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACV,OAAO,GAAU,CAAC;IACpB,CAAC;IACD,MAAM,OAAO,GAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAQ,CAAC;IAC5C,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,QAAQ,CAAI,IAAkB,EAAE,IAAkB;IAChE,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC"}
package/out/solid.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Zero
3
- } from "./chunk-O2GO2VH4.js";
3
+ } from "./chunk-K2WATPQV.js";
4
4
  import "./chunk-HARIWJ2J.js";
5
5
  import "./chunk-ULOTOBTC.js";
6
6
  import {
@@ -1 +1 @@
1
- {"version":3,"file":"change-source.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/pg/change-source.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAO5C,OAAO,KAAK,EAEV,eAAe,EAChB,MAAM,uEAAuE,CAAC;AAc/E,OAAO,KAAK,EAEV,kBAAkB,EAEnB,MAAM,sBAAsB,CAAC;AAW9B,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,+BAA+B,CAAC;AAGvC,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAK3D,OAAO,EAAqB,KAAK,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAO/E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAMnD;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,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,CAkC7E;AAynBD,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"}
1
+ {"version":3,"file":"change-source.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/pg/change-source.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAO5C,OAAO,KAAK,EAEV,eAAe,EAChB,MAAM,uEAAuE,CAAC;AAc/E,OAAO,KAAK,EAEV,kBAAkB,EAEnB,MAAM,sBAAsB,CAAC;AAW9B,OAAO,KAAK,EACV,YAAY,EAGb,MAAM,+BAA+B,CAAC;AAGvC,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAK3D,OAAO,EAAqB,KAAK,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAO/E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAMnD;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,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,CAkC7E;AA6nBD,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"}
@@ -73,6 +73,7 @@ class PostgresChangeSource {
73
73
  const slot = replicationSlot(this.#shardID);
74
74
  const clientStart = oneAfter(clientWatermark);
75
75
  try {
76
+ await this.#stopExistingReplicationSlotSubscriber(db, slot);
76
77
  // Perform any shard schema updates
77
78
  await updateShardSchema(this.#lc, db, {
78
79
  id: this.#shardID,
@@ -88,7 +89,6 @@ class PostgresChangeSource {
88
89
  this.#lc.debug?.(`connecting with ssl=${useSSL} ${url.search}`);
89
90
  for (let i = 0; i < MAX_ATTEMPTS_IF_REPLICATION_SLOT_ACTIVE; i++) {
90
91
  try {
91
- await this.#stopExistingReplicationSlotSubscriber(db, slot);
92
92
  // Unlike the postgres.js client, the pg client does not have an option to
93
93
  // only use SSL if the server supports it. We achieve it manually by
94
94
  // trying SSL first, and then falling back to connecting without SSL.
@@ -99,6 +99,7 @@ class PostgresChangeSource {
99
99
  this.#lc.info?.('retrying upstream connection without SSL');
100
100
  useSSL = false;
101
101
  i--; // don't use up an attempt.
102
+ await this.#stopExistingReplicationSlotSubscriber(db, slot); // Send another SIGTERM to the process
102
103
  }
103
104
  else if (
104
105
  // error: replication slot "zero_slot_change_source_test_id" is active for PID 268
@@ -184,12 +185,12 @@ class PostgresChangeSource {
184
185
  async #stopExistingReplicationSlotSubscriber(db, slot) {
185
186
  const result = await db `
186
187
  SELECT pg_terminate_backend(active_pid), active_pid as pid
187
- FROM pg_replication_slots WHERE slot_name = ${slot} and active = true`;
188
+ FROM pg_replication_slots WHERE slot_name = ${slot}`;
188
189
  if (result.length === 0) {
189
- this.#lc.debug?.(`no existing subscriber to replication slot`);
190
+ throw new Error(`replication slot ${slot} is missing. Delete the replica and resync.`);
190
191
  }
191
- else {
192
- const { pid } = result[0];
192
+ const { pid } = result[0];
193
+ if (pid) {
193
194
  this.#lc.info?.(`signaled subscriber ${pid} to shut down`);
194
195
  }
195
196
  }
@@ -1 +1 @@
1
- {"version":3,"file":"change-source.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/pg/change-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"change-source.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/change-streamer/pg/change-source.ts"],"names":[],"mappings":"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"}
package/out/zero.js CHANGED
@@ -10,7 +10,7 @@ import {
10
10
  escapeLike,
11
11
  getDefaultPuller,
12
12
  makeIDBName
13
- } from "./chunk-O2GO2VH4.js";
13
+ } from "./chunk-K2WATPQV.js";
14
14
  import "./chunk-HARIWJ2J.js";
15
15
  import "./chunk-6HXO6VMP.js";
16
16
  import "./chunk-F5QR3K72.js";
@@ -1,9 +1,10 @@
1
1
  import type { JSONValue } from '../../../shared/src/json.js';
2
- import type { AST, Ordering } from '../../../zero-protocol/src/ast.js';
2
+ import type { AST, Condition, Disjunction, Ordering } from '../../../zero-protocol/src/ast.js';
3
3
  import type { Row } from '../../../zero-protocol/src/data.js';
4
4
  import type { PrimaryKey } from '../../../zero-protocol/src/primary-key.js';
5
5
  import type { Input, Storage } from '../ivm/operator.js';
6
6
  import type { Source } from '../ivm/source.js';
7
+ import { type NoSubqueryCondition } from './filter.js';
7
8
  export type StaticQueryParameters = {
8
9
  authData: Record<string, JSONValue>;
9
10
  preMutationRow?: Row | undefined;
@@ -51,5 +52,8 @@ export interface BuilderDelegate {
51
52
  */
52
53
  export declare function buildPipeline(ast: AST, delegate: BuilderDelegate): Input;
53
54
  export declare function bindStaticParameters(ast: AST, staticQueryParameters: StaticQueryParameters | undefined): AST;
55
+ export declare function applyOr(input: Input, condition: Disjunction, appliedFilters: boolean, delegate: BuilderDelegate): Input;
56
+ export declare function groupSubqueryConditions(condition: Disjunction): [subqueryConditions: Condition[], otherConditions: NoSubqueryCondition[]];
57
+ export declare function isNotAndDoesNotContainSubquery(condition: Condition): condition is NoSubqueryCondition;
54
58
  export declare function assertOrderingIncludesPK(ordering: Ordering, pk: PrimaryKey): void;
55
59
  //# sourceMappingURL=builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../../zql/src/builder/builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,6BAA6B,CAAC;AAE3D,OAAO,KAAK,EACV,GAAG,EASH,QAAQ,EAIT,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,oCAAoC,CAAC;AAC5D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,2CAA2C,CAAC;AAM1E,OAAO,KAAK,EAAC,KAAK,EAAE,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAC;AAI7C,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAEjD;;;OAGG;IACH,aAAa,IAAI,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,GAAG,KAAK,CAExE;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,GAAG,EACR,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,OAqDzD;AA0KD,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,UAAU,GACb,IAAI,CAeN"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../../zql/src/builder/builder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,6BAA6B,CAAC;AAE3D,OAAO,KAAK,EACV,GAAG,EAGH,SAAS,EAIT,WAAW,EAEX,QAAQ,EAIT,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,oCAAoC,CAAC;AAC5D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,2CAA2C,CAAC;AAM1E,OAAO,KAAK,EAAC,KAAK,EAAE,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAkB,KAAK,mBAAmB,EAAC,MAAM,aAAa,CAAC;AAEtE,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;CAClC,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAEjD;;;OAGG;IACH,aAAa,IAAI,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,GAAG,KAAK,CAExE;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,GAAG,EACR,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,OAqDzD;AA+ED,wBAAgB,OAAO,CACrB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,WAAW,EACtB,cAAc,EAAE,OAAO,EACvB,QAAQ,EAAE,eAAe,GACxB,KAAK,CAkCP;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,WAAW,6EAa7D;AAED,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,SAAS,GACnB,SAAS,IAAI,mBAAmB,CASlC;AAwFD,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,UAAU,GACb,IAAI,CAeN"}
@@ -133,11 +133,49 @@ function applyAnd(input, condition, appliedFilters, delegate) {
133
133
  }
134
134
  return input;
135
135
  }
136
- function applyOr(input, condition, appliedFilters, delegate) {
136
+ export function applyOr(input, condition, appliedFilters, delegate) {
137
+ const [subqueryConditions, otherConditions] = groupSubqueryConditions(condition);
138
+ // if there are no subquery conditions, no fan-in / fan-out is needed
139
+ if (subqueryConditions.length === 0) {
140
+ return otherConditions.length > 0
141
+ ? new Filter(input, appliedFilters ? 'push-only' : 'all', createPredicate({
142
+ type: 'or',
143
+ conditions: otherConditions,
144
+ }))
145
+ : new FanIn(new FanOut(input), []);
146
+ }
137
147
  const fanOut = new FanOut(input);
138
- const branches = condition.conditions.map(subCondition => applyWhere(fanOut, subCondition, appliedFilters, delegate));
148
+ const branches = subqueryConditions.map(subCondition => applyWhere(fanOut, subCondition, appliedFilters, delegate));
149
+ if (otherConditions.length > 0) {
150
+ branches.push(new Filter(fanOut, appliedFilters ? 'push-only' : 'all', createPredicate({
151
+ type: 'or',
152
+ conditions: otherConditions,
153
+ })));
154
+ }
139
155
  return new FanIn(fanOut, branches);
140
156
  }
157
+ export function groupSubqueryConditions(condition) {
158
+ const partitioned = [[], []];
159
+ for (const subCondition of condition.conditions) {
160
+ if (isNotAndDoesNotContainSubquery(subCondition)) {
161
+ partitioned[1].push(subCondition);
162
+ }
163
+ else {
164
+ partitioned[0].push(subCondition);
165
+ }
166
+ }
167
+ return partitioned;
168
+ }
169
+ export function isNotAndDoesNotContainSubquery(condition) {
170
+ if (condition.type === 'correlatedSubquery') {
171
+ return false;
172
+ }
173
+ if (condition.type === 'and') {
174
+ return condition.conditions.every(isNotAndDoesNotContainSubquery);
175
+ }
176
+ assert(condition.type !== 'or', 'where conditions are expected to be in DNF');
177
+ return true;
178
+ }
141
179
  function applySimpleCondition(input, condition, appliedFilters) {
142
180
  return new Filter(input, appliedFilters ? 'push-only' : 'all', createPredicate(condition));
143
181
  }
@@ -158,7 +196,7 @@ function applyCorrelatedSubQuery(sq, delegate, end) {
158
196
  }
159
197
  function applyCorrelatedSubqueryCondition(input, condition, delegate) {
160
198
  assert(condition.op === 'EXISTS' || condition.op === 'NOT EXISTS');
161
- return new Exists(input, delegate.createStorage(), must(condition.related.subquery.alias), condition.op);
199
+ return new Exists(input, delegate.createStorage(), must(condition.related.subquery.alias), condition.related.correlation.parentField, condition.op);
162
200
  }
163
201
  function gatherCorrelatedSubqueryQueriesFromCondition(condition) {
164
202
  const csqs = [];
@@ -167,7 +205,12 @@ function gatherCorrelatedSubqueryQueriesFromCondition(condition) {
167
205
  assert(condition.op === 'EXISTS' || condition.op === 'NOT EXISTS');
168
206
  csqs.push({
169
207
  ...condition.related,
170
- subquery: { ...condition.related.subquery, limit: EXISTS_LIMIT },
208
+ subquery: {
209
+ ...condition.related.subquery,
210
+ limit: condition.related.system === 'permissions'
211
+ ? PERMISSIONS_EXISTS_LIMIT
212
+ : EXISTS_LIMIT,
213
+ },
171
214
  });
172
215
  return;
173
216
  }
@@ -184,6 +227,7 @@ function gatherCorrelatedSubqueryQueriesFromCondition(condition) {
184
227
  return csqs;
185
228
  }
186
229
  const EXISTS_LIMIT = 3;
230
+ const PERMISSIONS_EXISTS_LIMIT = 1;
187
231
  export function assertOrderingIncludesPK(ordering, pk) {
188
232
  const orderingFields = ordering.map(([field]) => field);
189
233
  const missingFields = pk.filter(pkField => !orderingFields.includes(pkField));
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../../zql/src/builder/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../../../zql/src/builder/builder.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { CompoundKey } from '../../../zero-protocol/src/ast.js';
1
2
  import { type Change } from './change.js';
2
3
  import type { FetchRequest, Input, Operator, Output, Storage } from './operator.js';
3
4
  import type { SourceSchema } from './schema.js';
@@ -7,7 +8,7 @@ import type { SourceSchema } from './schema.js';
7
8
  */
8
9
  export declare class Exists implements Operator {
9
10
  #private;
10
- constructor(input: Input, storage: Storage, relationshipName: string, type: 'EXISTS' | 'NOT EXISTS');
11
+ constructor(input: Input, storage: Storage, relationshipName: string, parentJoinKey: CompoundKey, type: 'EXISTS' | 'NOT EXISTS');
11
12
  setOutput(output: Output): void;
12
13
  destroy(): void;
13
14
  getSchema(): SourceSchema;
@@ -1 +1 @@
1
- {"version":3,"file":"exists.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/exists.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,KAAK,MAAM,EAAC,MAAM,aAAa,CAAC;AAEtD,OAAO,KAAK,EACV,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,MAAM,EACN,OAAO,EACR,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAS9C;;;GAGG;AACH,qBAAa,MAAO,YAAW,QAAQ;;gBASnC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,QAAQ,GAAG,YAAY;IAU/B,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,OAAO,IAAI,IAAI;IAIf,SAAS,IAAI,YAAY;IAIxB,KAAK,CAAC,GAAG,EAAE,YAAY;IAQvB,OAAO,CAAC,GAAG,EAAE,YAAY;IAS1B,IAAI,CAAC,MAAM,EAAE,MAAM;CAwLpB"}
1
+ {"version":3,"file":"exists.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/exists.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,mCAAmC,CAAC;AAEnE,OAAO,EAAe,KAAK,MAAM,EAAC,MAAM,aAAa,CAAC;AAEtD,OAAO,KAAK,EACV,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,MAAM,EACN,OAAO,EACR,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAa9C;;;GAGG;AACH,qBAAa,MAAO,YAAW,QAAQ;;gBAWnC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,WAAW,EAC1B,IAAI,EAAE,QAAQ,GAAG,YAAY;IAiB/B,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,OAAO,IAAI,IAAI;IAIf,SAAS,IAAI,YAAY;IAIxB,KAAK,CAAC,GAAG,EAAE,YAAY;IAQvB,OAAO,CAAC,GAAG,EAAE,YAAY;IAS1B,IAAI,CAAC,MAAM,EAAE,MAAM;CAyOpB"}
@@ -1,3 +1,4 @@
1
+ import { areEqual } from '../../../shared/src/arrays.js';
1
2
  import { assert, unreachable } from '../../../shared/src/asserts.js';
2
3
  import { must } from '../../../shared/src/must.js';
3
4
  import { rowForChange } from './change.js';
@@ -12,14 +13,19 @@ export class Exists {
12
13
  #relationshipName;
13
14
  #storage;
14
15
  #not;
16
+ #parentJoinKey;
17
+ #skipCache;
15
18
  #output;
16
- constructor(input, storage, relationshipName, type) {
19
+ constructor(input, storage, relationshipName, parentJoinKey, type) {
17
20
  this.#input = input;
18
21
  this.#relationshipName = relationshipName;
19
22
  this.#input.setOutput(this);
20
23
  this.#storage = storage;
21
24
  assert(this.#input.getSchema().relationships[relationshipName]);
22
25
  this.#not = type === 'NOT EXISTS';
26
+ this.#parentJoinKey = parentJoinKey;
27
+ // If the parentJoinKey is the primary key, no sense in caching.
28
+ this.#skipCache = areEqual(parentJoinKey, this.#input.getSchema().primaryKey);
23
29
  }
24
30
  setOutput(output) {
25
31
  this.#output = output;
@@ -85,6 +91,7 @@ export class Exists {
85
91
  let size = this.#getSize(change.row);
86
92
  if (size !== undefined) {
87
93
  size++;
94
+ this.#setCachedSize(change.row, size);
88
95
  this.#setSize(change.row, size);
89
96
  }
90
97
  else {
@@ -115,6 +122,7 @@ export class Exists {
115
122
  if (size !== undefined) {
116
123
  assert(size > 0);
117
124
  size--;
125
+ this.#setCachedSize(change.row, size);
118
126
  this.#setSize(change.row, size);
119
127
  }
120
128
  else {
@@ -172,8 +180,26 @@ export class Exists {
172
180
  #setSize(row, size) {
173
181
  this.#storage.set(this.#makeSizeStorageKey(row), size);
174
182
  }
183
+ #setCachedSize(row, size) {
184
+ if (this.#skipCache) {
185
+ return;
186
+ }
187
+ this.#storage.set(this.#makeCacheStorageKey(row), size);
188
+ }
189
+ #getCachedSize(row) {
190
+ if (this.#skipCache) {
191
+ return undefined;
192
+ }
193
+ return this.#storage.get(this.#makeCacheStorageKey(row));
194
+ }
175
195
  #delSize(row) {
176
196
  this.#storage.del(this.#makeSizeStorageKey(row));
197
+ if (!this.#skipCache) {
198
+ const cacheKey = this.#makeCacheStorageKey(row);
199
+ if (first(this.#storage.scan({ prefix: `${cacheKey}/` })) === undefined) {
200
+ this.#storage.del(cacheKey);
201
+ }
202
+ }
177
203
  }
178
204
  #getOrFetchSize(row) {
179
205
  const size = this.#getSize(row);
@@ -187,12 +213,18 @@ export class Exists {
187
213
  return this.#fetchSize(row);
188
214
  }
189
215
  #fetchSize(row) {
216
+ const cachedSize = this.#getCachedSize(row);
217
+ if (cachedSize !== undefined) {
218
+ this.#setSize(row, cachedSize);
219
+ return cachedSize;
220
+ }
190
221
  const relationship = this.#fetchNodeForRow(row).relationships[this.#relationshipName];
191
222
  assert(relationship);
192
223
  let size = 0;
193
224
  for (const _relatedNode of relationship) {
194
225
  size++;
195
226
  }
227
+ this.#setCachedSize(row, size);
196
228
  this.#setSize(row, size);
197
229
  return size;
198
230
  }
@@ -203,12 +235,20 @@ export class Exists {
203
235
  assert(this.getSchema().compareRows(row, fetched.row) === 0, () => `fetchNodeForRow returned unexpected row, expected ${JSON.stringify(row)}, received ${JSON.stringify(fetched.row)}`);
204
236
  return fetched;
205
237
  }
238
+ #makeCacheStorageKey(row) {
239
+ return `row/${JSON.stringify(this.#getKeyValues(row, this.#parentJoinKey))}`;
240
+ }
206
241
  #makeSizeStorageKey(row) {
207
- const primaryKey = [];
208
- for (const key of this.#input.getSchema().primaryKey) {
209
- primaryKey.push(normalizeUndefined(row[key]));
242
+ return `row/${this.#skipCache
243
+ ? ''
244
+ : JSON.stringify(this.#getKeyValues(row, this.#parentJoinKey))}/${JSON.stringify(this.#getKeyValues(row, this.#input.getSchema().primaryKey))}`;
245
+ }
246
+ #getKeyValues(row, def) {
247
+ const values = [];
248
+ for (const key of def) {
249
+ values.push(normalizeUndefined(row[key]));
210
250
  }
211
- return JSON.stringify(['size', primaryKey]);
251
+ return values;
212
252
  }
213
253
  }
214
254
  //# sourceMappingURL=exists.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exists.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/exists.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exists.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/exists.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory-source.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/memory-source.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,SAAS,EACT,QAAQ,EAET,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAC,GAAG,EAAQ,MAAM,oCAAoC,CAAC;AACnE,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,2CAA2C,CAAC;AAC1E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AAQ1E,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,IAAI,EACV,MAAM,WAAW,CAAC;AACnB,OAAO,EAIL,KAAK,KAAK,EACX,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAC,MAAM,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,OAAO,GAAG;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,EAAE,GAAG,GAAG,SAAS,CAAC;IACrB,MAAM,EAAE,GAAG,GAAG,SAAS,CAAC;CACzB,CAAC;AAqBF;;;;;;GAMG;AACH,qBAAa,YAAa,YAAW,MAAM;;gBAWvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACpC,UAAU,EAAE,UAAU;IAgBxB,aAAa;;;;;IAqBb,OAAO,CACL,IAAI,EAAE,QAAQ,EACd,eAAe,CAAC,EAAE,SAAS,GAAG,SAAS,GACtC,WAAW;IA4Fd,YAAY,IAAI,MAAM,EAAE;IA+GxB,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAM/B,OAAO,CAAC,MAAM,EAAE,YAAY;CAsF9B;AAsBD,wBAAiB,iBAAiB,CAChC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EACrB,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,KAAK,MAAM,GACpC,MAAM,CAAC,IAAI,CAAC,CAsBd;AAED;;;;;;;;;;;GAWG;AACH,wBAAiB,mBAAmB,CAClC,OAAO,EAAE,GAAG,GAAG,SAAS,EACxB,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,EACnB,UAAU,EAAE,UAAU,GAAG,SAAS,EAClC,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,OAAO,EAAE,UAAU,EACnB,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,GAAG,SAAS;;;kBAUpD;AAiDD,OAAO,EAAC,kBAAkB,IAAI,yBAAyB,EAAC,CAAC;AAEzD,iBAAS,kBAAkB,CACzB,EAAC,GAAG,EAAE,MAAM,EAAC,EAAE,QAAQ,EACvB,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,UAAU,GAClB,QAAQ,CAOV;AAED,OAAO,EAAC,qBAAqB,IAAI,4BAA4B,EAAC,CAAC;AAE/D,iBAAS,qBAAqB,CAC5B,EAAC,GAAG,EAAE,MAAM,EAAC,EAAE,QAAQ,EACvB,UAAU,EAAE,UAAU,GACrB,QAAQ,CAUV;AAeD,wBAAiB,wBAAwB,CACvC,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,EAC1B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,KAAK,MAAM;;;kBA0BtC"}
1
+ {"version":3,"file":"memory-source.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/memory-source.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,SAAS,EACT,QAAQ,EAET,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAC,GAAG,EAAQ,MAAM,oCAAoC,CAAC;AACnE,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,2CAA2C,CAAC;AAC1E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AAQ1E,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,IAAI,EACV,MAAM,WAAW,CAAC;AACnB,OAAO,EAIL,KAAK,KAAK,EACX,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAC,MAAM,EAAE,YAAY,EAAE,WAAW,EAAC,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,OAAO,GAAG;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,EAAE,GAAG,GAAG,SAAS,CAAC;IACrB,MAAM,EAAE,GAAG,GAAG,SAAS,CAAC;CACzB,CAAC;AAqBF;;;;;;GAMG;AACH,qBAAa,YAAa,YAAW,MAAM;;gBAWvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACpC,UAAU,EAAE,UAAU;IAgBxB,aAAa;;;;;IAqBb,OAAO,CACL,IAAI,EAAE,QAAQ,EACd,eAAe,CAAC,EAAE,SAAS,GAAG,SAAS,GACtC,WAAW;IA4Fd,YAAY,IAAI,MAAM,EAAE;IAkGxB,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAM/B,OAAO,CAAC,MAAM,EAAE,YAAY;CAsF9B;AAsBD,wBAAiB,iBAAiB,CAChC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EACrB,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,KAAK,MAAM,GACpC,MAAM,CAAC,IAAI,CAAC,CAsBd;AAED;;;;;;;;;;;GAWG;AACH,wBAAiB,mBAAmB,CAClC,OAAO,EAAE,GAAG,GAAG,SAAS,EACxB,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,EACnB,UAAU,EAAE,UAAU,GAAG,SAAS,EAClC,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,OAAO,EAAE,UAAU,EACnB,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,GAAG,SAAS;;;kBAUpD;AAiDD,OAAO,EAAC,kBAAkB,IAAI,yBAAyB,EAAC,CAAC;AAEzD,iBAAS,kBAAkB,CACzB,EAAC,GAAG,EAAE,MAAM,EAAC,EAAE,QAAQ,EACvB,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,UAAU,GAClB,QAAQ,CAOV;AAED,OAAO,EAAC,qBAAqB,IAAI,4BAA4B,EAAC,CAAC;AAE/D,iBAAS,qBAAqB,CAC5B,EAAC,GAAG,EAAE,MAAM,EAAC,EAAE,QAAQ,EACvB,UAAU,EAAE,UAAU,GACrB,QAAQ,CAUV;AAeD,wBAAiB,wBAAwB,CACvC,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,EAC1B,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,KAAK,MAAM;;;kBA0BtC"}
@@ -169,19 +169,7 @@ export class MemorySource {
169
169
  overlay = this.#overlay;
170
170
  }
171
171
  }
172
- const { constraint } = req;
173
- const matchesConstraint = constraint
174
- ? (row) => constraintMatchesRow(constraint, row)
175
- : (_) => true;
176
172
  const startAt = req.start?.row;
177
- if (startAt) {
178
- if (req.constraint) {
179
- // There's no problem supporting startAt outside of constraints, but I
180
- // don't think we have a use case for this – if we see it, it's probably
181
- // a bug.
182
- assert(matchesConstraint(startAt), 'Start row must match constraint');
183
- }
184
- }
185
173
  // If there is a constraint, we want to start our scan at the first row that
186
174
  // matches the constraint. But because the next OrderPart can be `desc`,
187
175
  // it's not true that {[constraintKey]: constraintValue} is the first