@rocicorp/zero 0.24.2025092500 → 0.24.2025093000
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/run-ast.d.ts.map +1 -1
- package/out/analyze-query/src/run-ast.js +8 -0
- package/out/analyze-query/src/run-ast.js.map +1 -1
- package/out/ast-to-zql/src/ast-to-zql.js +5 -4
- package/out/ast-to-zql/src/ast-to-zql.js.map +1 -1
- package/out/{chunk-N4QOJO4J.js → chunk-CWBP2EI4.js} +94 -151
- package/out/{chunk-N4QOJO4J.js.map → chunk-CWBP2EI4.js.map} +4 -4
- package/out/{chunk-576ADFNS.js → chunk-HMS3EZCQ.js} +3 -3
- package/out/{chunk-576ADFNS.js.map → chunk-HMS3EZCQ.js.map} +2 -2
- package/out/{chunk-QZPMFA73.js → chunk-YXYKEMHQ.js} +893 -263
- package/out/chunk-YXYKEMHQ.js.map +7 -0
- package/out/{lazy-inspector-TOTYUTBC.js → lazy-inspector-A5VQLZYJ.js} +7 -6
- package/out/lazy-inspector-A5VQLZYJ.js.map +7 -0
- package/out/react.js +2 -2
- package/out/solid.js +3 -3
- package/out/zero/package.json +1 -1
- package/out/zero-cache/src/services/replicator/replication-status.d.ts.map +1 -1
- package/out/zero-cache/src/services/replicator/replication-status.js +10 -6
- package/out/zero-cache/src/services/replicator/replication-status.js.map +1 -1
- package/out/zero-events/src/status.d.ts +44 -18
- package/out/zero-events/src/status.d.ts.map +1 -1
- package/out/zero-events/src/status.js +8 -3
- package/out/zero-events/src/status.js.map +1 -1
- package/out/zero-protocol/src/ast.d.ts +1 -2
- package/out/zero-protocol/src/ast.d.ts.map +1 -1
- package/out/zero-protocol/src/ast.js +1 -2
- package/out/zero-protocol/src/ast.js.map +1 -1
- package/out/zero-protocol/src/protocol-version.d.ts +1 -1
- package/out/zero-protocol/src/protocol-version.d.ts.map +1 -1
- package/out/zero-protocol/src/protocol-version.js +2 -1
- package/out/zero-protocol/src/protocol-version.js.map +1 -1
- package/out/zero.js +3 -3
- package/out/zql/src/builder/builder.d.ts +2 -0
- package/out/zql/src/builder/builder.d.ts.map +1 -1
- package/out/zql/src/builder/builder.js +123 -42
- package/out/zql/src/builder/builder.js.map +1 -1
- package/out/zql/src/ivm/constraint.d.ts +6 -0
- package/out/zql/src/ivm/constraint.d.ts.map +1 -1
- package/out/zql/src/ivm/constraint.js +13 -0
- package/out/zql/src/ivm/constraint.js.map +1 -1
- package/out/zql/src/ivm/exists.d.ts.map +1 -1
- package/out/zql/src/ivm/exists.js +5 -5
- package/out/zql/src/ivm/exists.js.map +1 -1
- package/out/zql/src/ivm/fan-in.d.ts.map +1 -1
- package/out/zql/src/ivm/fan-in.js +1 -1
- package/out/zql/src/ivm/fan-in.js.map +1 -1
- package/out/zql/src/ivm/fan-out.js +1 -1
- package/out/zql/src/ivm/fan-out.js.map +1 -1
- package/out/zql/src/ivm/filter-operators.js +2 -2
- package/out/zql/src/ivm/filter-operators.js.map +1 -1
- package/out/zql/src/ivm/filter-push.d.ts +2 -2
- package/out/zql/src/ivm/filter-push.d.ts.map +1 -1
- package/out/zql/src/ivm/filter-push.js +5 -5
- package/out/zql/src/ivm/filter-push.js.map +1 -1
- package/out/zql/src/ivm/filter.js +1 -1
- package/out/zql/src/ivm/filter.js.map +1 -1
- package/out/zql/src/ivm/flipped-join.d.ts.map +1 -1
- package/out/zql/src/ivm/flipped-join.js +42 -49
- package/out/zql/src/ivm/flipped-join.js.map +1 -1
- package/out/zql/src/ivm/join.d.ts.map +1 -1
- package/out/zql/src/ivm/join.js +5 -5
- package/out/zql/src/ivm/join.js.map +1 -1
- package/out/zql/src/ivm/maybe-split-and-push-edit-change.d.ts +2 -2
- package/out/zql/src/ivm/maybe-split-and-push-edit-change.d.ts.map +1 -1
- package/out/zql/src/ivm/maybe-split-and-push-edit-change.js +4 -4
- package/out/zql/src/ivm/maybe-split-and-push-edit-change.js.map +1 -1
- package/out/zql/src/ivm/memory-source.d.ts +2 -2
- package/out/zql/src/ivm/memory-source.d.ts.map +1 -1
- package/out/zql/src/ivm/memory-source.js +55 -66
- package/out/zql/src/ivm/memory-source.js.map +1 -1
- package/out/zql/src/ivm/operator.d.ts +1 -1
- package/out/zql/src/ivm/operator.d.ts.map +1 -1
- package/out/zql/src/ivm/push-accumulated.d.ts +2 -2
- package/out/zql/src/ivm/push-accumulated.d.ts.map +1 -1
- package/out/zql/src/ivm/push-accumulated.js +8 -8
- package/out/zql/src/ivm/push-accumulated.js.map +1 -1
- package/out/zql/src/ivm/skip.js +2 -2
- package/out/zql/src/ivm/skip.js.map +1 -1
- package/out/zql/src/ivm/take.d.ts.map +1 -1
- package/out/zql/src/ivm/take.js +17 -17
- package/out/zql/src/ivm/take.js.map +1 -1
- package/out/zql/src/ivm/union-fan-in.d.ts +19 -0
- package/out/zql/src/ivm/union-fan-in.d.ts.map +1 -0
- package/out/zql/src/ivm/union-fan-in.js +146 -0
- package/out/zql/src/ivm/union-fan-in.js.map +1 -0
- package/out/zql/src/ivm/union-fan-out.d.ts +18 -0
- package/out/zql/src/ivm/union-fan-out.d.ts.map +1 -0
- package/out/zql/src/ivm/union-fan-out.js +48 -0
- package/out/zql/src/ivm/union-fan-out.js.map +1 -0
- package/out/zql/src/query/measure-push-operator.js +1 -1
- package/out/zql/src/query/measure-push-operator.js.map +1 -1
- package/out/zql/src/query/named.d.ts +2 -1
- package/out/zql/src/query/named.d.ts.map +1 -1
- package/out/zql/src/query/named.js.map +1 -1
- package/out/zql/src/query/query-impl.js +3 -3
- package/out/zql/src/query/query-impl.js.map +1 -1
- package/out/zql/src/query/query.d.ts +1 -1
- package/out/zql/src/query/query.d.ts.map +1 -1
- package/out/zqlite/src/table-source.d.ts.map +1 -1
- package/out/zqlite/src/table-source.js +6 -7
- package/out/zqlite/src/table-source.js.map +1 -1
- package/package.json +1 -1
- package/out/chunk-QZPMFA73.js.map +0 -7
- package/out/lazy-inspector-TOTYUTBC.js.map +0 -7
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { assert, unreachable } from "../../../shared/src/asserts.js";
|
|
2
2
|
import { binarySearch } from "../../../shared/src/binary-search.js";
|
|
3
|
+
import { emptyArray } from "../../../shared/src/sentinels.js";
|
|
4
|
+
import { constraintsAreCompatible } from "./constraint.js";
|
|
3
5
|
import { generateWithOverlay, isJoinMatch, rowEqualsForCompoundKey, } from "./join-utils.js";
|
|
4
6
|
import { throwOutput, } from "./operator.js";
|
|
5
7
|
import { first } from "./stream.js";
|
|
@@ -75,7 +77,7 @@ export class FlippedJoin {
|
|
|
75
77
|
if (this.#inprogressChildChange?.change.type === 'remove') {
|
|
76
78
|
const removedNode = this.#inprogressChildChange.change.node;
|
|
77
79
|
const compare = this.#child.getSchema().compareRows;
|
|
78
|
-
const insertPos = binarySearch(childNodes.length, i => compare(childNodes[i].row
|
|
80
|
+
const insertPos = binarySearch(childNodes.length, i => compare(removedNode.row, childNodes[i].row));
|
|
79
81
|
childNodes.splice(insertPos, 0, removedNode);
|
|
80
82
|
}
|
|
81
83
|
const parentIterators = [];
|
|
@@ -84,20 +86,26 @@ export class FlippedJoin {
|
|
|
84
86
|
for (const childNode of childNodes) {
|
|
85
87
|
// TODO: consider adding the ability to pass a set of
|
|
86
88
|
// ids to fetch, and have them applied to sqlite using IN.
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
89
|
+
const constraintFromChild = {};
|
|
90
|
+
for (let i = 0; i < this.#parentKey.length; i++) {
|
|
91
|
+
constraintFromChild[this.#parentKey[i]] =
|
|
92
|
+
childNode.row[this.#childKey[i]];
|
|
93
|
+
}
|
|
94
|
+
if (req.constraint &&
|
|
95
|
+
!constraintsAreCompatible(constraintFromChild, req.constraint)) {
|
|
96
|
+
parentIterators.push(emptyArray[Symbol.iterator]());
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
const stream = this.#parent.fetch({
|
|
100
|
+
...req,
|
|
101
|
+
constraint: {
|
|
102
|
+
...req.constraint,
|
|
103
|
+
...constraintFromChild,
|
|
104
|
+
},
|
|
105
|
+
});
|
|
106
|
+
const iterator = stream[Symbol.iterator]();
|
|
107
|
+
parentIterators.push(iterator);
|
|
108
|
+
}
|
|
101
109
|
}
|
|
102
110
|
const nextParentNodes = [];
|
|
103
111
|
for (let i = 0; i < parentIterators.length; i++) {
|
|
@@ -145,16 +153,17 @@ export class FlippedJoin {
|
|
|
145
153
|
if (this.#inprogressChildChange &&
|
|
146
154
|
this.#inprogressChildChange.position &&
|
|
147
155
|
isJoinMatch(this.#inprogressChildChange.change.node.row, this.#childKey, minParentNode.row, this.#parentKey)) {
|
|
156
|
+
const hasInprogressChildChangeBeenPushedForMinParentNode = this.#parent
|
|
157
|
+
.getSchema()
|
|
158
|
+
.compareRows(minParentNode.row, this.#inprogressChildChange.position) <= 0;
|
|
148
159
|
if (this.#inprogressChildChange.change.type === 'remove') {
|
|
149
|
-
if (
|
|
150
|
-
|
|
151
|
-
|
|
160
|
+
if (hasInprogressChildChangeBeenPushedForMinParentNode) {
|
|
161
|
+
// Remove form relatedChildNodes since the removed child
|
|
162
|
+
// was inserted into childNodes above.
|
|
152
163
|
overlaidRelatedChildNodes = relatedChildNodes.filter(n => n !== this.#inprogressChildChange?.change.node);
|
|
153
164
|
}
|
|
154
165
|
}
|
|
155
|
-
else if (
|
|
156
|
-
.getSchema()
|
|
157
|
-
.compareRows(minParentNode.row, this.#inprogressChildChange.position) > 0) {
|
|
166
|
+
else if (!hasInprogressChildChangeBeenPushedForMinParentNode) {
|
|
158
167
|
overlaidRelatedChildNodes = [
|
|
159
168
|
...generateWithOverlay(relatedChildNodes, this.#inprogressChildChange.change, this.#child.getSchema()),
|
|
160
169
|
];
|
|
@@ -248,7 +257,7 @@ export class FlippedJoin {
|
|
|
248
257
|
relationshipName: this.#relationshipName,
|
|
249
258
|
change,
|
|
250
259
|
},
|
|
251
|
-
});
|
|
260
|
+
}, this);
|
|
252
261
|
}
|
|
253
262
|
else {
|
|
254
263
|
this.#output.push({
|
|
@@ -260,7 +269,7 @@ export class FlippedJoin {
|
|
|
260
269
|
[this.#relationshipName]: () => [change.node],
|
|
261
270
|
},
|
|
262
271
|
},
|
|
263
|
-
});
|
|
272
|
+
}, this);
|
|
264
273
|
}
|
|
265
274
|
}
|
|
266
275
|
}
|
|
@@ -294,43 +303,27 @@ export class FlippedJoin {
|
|
|
294
303
|
[this.#relationshipName]: childNodeStream(node),
|
|
295
304
|
},
|
|
296
305
|
});
|
|
306
|
+
// If no related child don't push as this is an inner join.
|
|
307
|
+
if (first(childNodeStream(change.node)()) === undefined) {
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
297
310
|
switch (change.type) {
|
|
298
311
|
case 'add':
|
|
299
312
|
case 'remove':
|
|
300
313
|
case 'child': {
|
|
301
|
-
if (first(childNodeStream(change.node)()) === undefined) {
|
|
302
|
-
return;
|
|
303
|
-
}
|
|
304
314
|
this.#output.push({
|
|
305
315
|
...change,
|
|
306
316
|
node: flip(change.node),
|
|
307
|
-
});
|
|
317
|
+
}, this);
|
|
308
318
|
break;
|
|
309
319
|
}
|
|
310
320
|
case 'edit': {
|
|
311
|
-
const oldHasChild = first(childNodeStream(change.oldNode)()) !== undefined;
|
|
312
|
-
const hasChild = first(childNodeStream(change.node)()) !== undefined;
|
|
313
321
|
assert(rowEqualsForCompoundKey(change.oldNode.row, change.node.row, this.#parentKey), `Parent edit must not change relationship.`);
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
});
|
|
320
|
-
break;
|
|
321
|
-
}
|
|
322
|
-
if (oldHasChild) {
|
|
323
|
-
this.#output.push({
|
|
324
|
-
type: 'remove',
|
|
325
|
-
node: flip(change.node),
|
|
326
|
-
});
|
|
327
|
-
}
|
|
328
|
-
if (hasChild) {
|
|
329
|
-
this.#output.push({
|
|
330
|
-
type: 'add',
|
|
331
|
-
node: flip(change.node),
|
|
332
|
-
});
|
|
333
|
-
}
|
|
322
|
+
this.#output.push({
|
|
323
|
+
type: 'edit',
|
|
324
|
+
oldNode: flip(change.oldNode),
|
|
325
|
+
node: flip(change.node),
|
|
326
|
+
}, this);
|
|
334
327
|
break;
|
|
335
328
|
}
|
|
336
329
|
default:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flipped-join.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/flipped-join.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"flipped-join.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/flipped-join.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/join.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,WAAW,EAAE,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAC,GAAG,EAAE,KAAK,EAAC,MAAM,oCAAoC,CAAC;AACnE,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,2CAA2C,CAAC;AAE1E,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAOpC,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,OAAO,EACb,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAO,KAAK,MAAM,EAAC,MAAM,aAAa,CAAC;AAE9C,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,KAAK,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/join.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,WAAW,EAAE,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAC,GAAG,EAAE,KAAK,EAAC,MAAM,oCAAoC,CAAC;AACnE,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,2CAA2C,CAAC;AAE1E,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAOpC,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,OAAO,EACb,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAO,KAAK,MAAM,EAAC,MAAM,aAAa,CAAC;AAE9C,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,KAAK,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IAEjB,SAAS,EAAE,WAAW,CAAC;IACvB,QAAQ,EAAE,WAAW,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;;GASG;AACH,qBAAa,IAAK,YAAW,KAAK;;gBAapB,EACV,MAAM,EACN,KAAK,EACL,OAAO,EACP,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,MAAM,EACN,MAAM,GACP,EAAE,IAAI;IAmCP,OAAO,IAAI,IAAI;IAKf,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,SAAS,IAAI,YAAY;IAIxB,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;IAUtC,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;CAoO1C;AAID,4BAA4B;AAC5B,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,GAAG,MAAM,CAGxE;AAED,4BAA4B;AAC5B,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CAEvE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,WAAW,EAChB,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,GAAG,GACP,MAAM,CAMR"}
|
package/out/zql/src/ivm/join.js
CHANGED
|
@@ -77,20 +77,20 @@ export class Join {
|
|
|
77
77
|
this.#output.push({
|
|
78
78
|
type: 'add',
|
|
79
79
|
node: this.#processParentNode(change.node.row, change.node.relationships, 'fetch'),
|
|
80
|
-
});
|
|
80
|
+
}, this);
|
|
81
81
|
break;
|
|
82
82
|
case 'remove':
|
|
83
83
|
this.#output.push({
|
|
84
84
|
type: 'remove',
|
|
85
85
|
node: this.#processParentNode(change.node.row, change.node.relationships, 'cleanup'),
|
|
86
|
-
});
|
|
86
|
+
}, this);
|
|
87
87
|
break;
|
|
88
88
|
case 'child':
|
|
89
89
|
this.#output.push({
|
|
90
90
|
type: 'child',
|
|
91
91
|
node: this.#processParentNode(change.node.row, change.node.relationships, 'fetch'),
|
|
92
92
|
child: change.child,
|
|
93
|
-
});
|
|
93
|
+
}, this);
|
|
94
94
|
break;
|
|
95
95
|
case 'edit': {
|
|
96
96
|
// Assert the edit could not change the relationship.
|
|
@@ -99,7 +99,7 @@ export class Join {
|
|
|
99
99
|
type: 'edit',
|
|
100
100
|
oldNode: this.#processParentNode(change.oldNode.row, change.oldNode.relationships, 'cleanup'),
|
|
101
101
|
node: this.#processParentNode(change.node.row, change.node.relationships, 'fetch'),
|
|
102
|
-
});
|
|
102
|
+
}, this);
|
|
103
103
|
break;
|
|
104
104
|
}
|
|
105
105
|
default:
|
|
@@ -126,7 +126,7 @@ export class Join {
|
|
|
126
126
|
change,
|
|
127
127
|
},
|
|
128
128
|
};
|
|
129
|
-
this.#output.push(childChange);
|
|
129
|
+
this.#output.push(childChange, this);
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
132
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"join.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/join.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,gCAAgC,CAAC;AAMnE,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,uBAAuB,GAExB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,WAAW,GAKZ,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAC,IAAI,EAAc,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"join.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/join.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { Row } from '../../../zero-protocol/src/data.ts';
|
|
2
2
|
import type { EditChange } from './change.ts';
|
|
3
|
-
import type { Output } from './operator.ts';
|
|
3
|
+
import type { InputBase, Output } from './operator.ts';
|
|
4
4
|
/**
|
|
5
5
|
* This takes an {@linkcode EditChange} and a predicate that determines if a row
|
|
6
6
|
* should be present based on the row's data. It then splits the change and
|
|
7
7
|
* pushes the appropriate changes to the output based on the predicate.
|
|
8
8
|
*/
|
|
9
|
-
export declare function maybeSplitAndPushEditChange(change: EditChange, predicate: (row: Row) => boolean, output: Output): void;
|
|
9
|
+
export declare function maybeSplitAndPushEditChange(change: EditChange, predicate: (row: Row) => boolean, output: Output, pusher: InputBase): void;
|
|
10
10
|
//# sourceMappingURL=maybe-split-and-push-edit-change.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maybe-split-and-push-edit-change.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/maybe-split-and-push-edit-change.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,oCAAoC,CAAC;AAC5D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"maybe-split-and-push-edit-change.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/maybe-split-and-push-edit-change.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,oCAAoC,CAAC;AAC5D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AAErD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,EAChC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,SAAS,QAwBlB"}
|
|
@@ -3,23 +3,23 @@
|
|
|
3
3
|
* should be present based on the row's data. It then splits the change and
|
|
4
4
|
* pushes the appropriate changes to the output based on the predicate.
|
|
5
5
|
*/
|
|
6
|
-
export function maybeSplitAndPushEditChange(change, predicate, output) {
|
|
6
|
+
export function maybeSplitAndPushEditChange(change, predicate, output, pusher) {
|
|
7
7
|
const oldWasPresent = predicate(change.oldNode.row);
|
|
8
8
|
const newIsPresent = predicate(change.node.row);
|
|
9
9
|
if (oldWasPresent && newIsPresent) {
|
|
10
|
-
output.push(change);
|
|
10
|
+
output.push(change, pusher);
|
|
11
11
|
}
|
|
12
12
|
else if (oldWasPresent && !newIsPresent) {
|
|
13
13
|
output.push({
|
|
14
14
|
type: 'remove',
|
|
15
15
|
node: change.oldNode,
|
|
16
|
-
});
|
|
16
|
+
}, pusher);
|
|
17
17
|
}
|
|
18
18
|
else if (!oldWasPresent && newIsPresent) {
|
|
19
19
|
output.push({
|
|
20
20
|
type: 'add',
|
|
21
21
|
node: change.node,
|
|
22
|
-
});
|
|
22
|
+
}, pusher);
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
//# sourceMappingURL=maybe-split-and-push-edit-change.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maybe-split-and-push-edit-change.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/maybe-split-and-push-edit-change.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAkB,EAClB,SAAgC,EAChC,MAAc;
|
|
1
|
+
{"version":3,"file":"maybe-split-and-push-edit-change.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/maybe-split-and-push-edit-change.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAkB,EAClB,SAAgC,EAChC,MAAc,EACd,MAAiB;IAEjB,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEhD,IAAI,aAAa,IAAI,YAAY,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;SAAM,IAAI,aAAa,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CACT;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,MAAM,CAAC,OAAO;SACrB,EACD,MAAM,CACP,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,aAAa,IAAI,YAAY,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CACT;YACE,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,EACD,MAAM,CACP,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -52,7 +52,7 @@ export declare class MemorySource implements Source {
|
|
|
52
52
|
push(change: SourceChange | SourceChangeSet): void;
|
|
53
53
|
genPush(change: SourceChange | SourceChangeSet): Generator<undefined, void, unknown>;
|
|
54
54
|
}
|
|
55
|
-
export declare function
|
|
55
|
+
export declare function genPushAndWriteWithSplitEdit(connections: readonly Connection[], change: SourceChange, exists: (row: Row) => boolean, setOverlay: (o: Overlay | undefined) => Overlay | undefined, writeChange: (c: SourceChange) => void): Generator<undefined, void, unknown>;
|
|
56
56
|
export declare function generateWithStart(nodes: Iterable<Node>, start: Start | undefined, compare: (r1: Row, r2: Row) => number): Stream<Node>;
|
|
57
57
|
/**
|
|
58
58
|
* Takes an iterator and overlay.
|
|
@@ -66,7 +66,7 @@ export declare function generateWithStart(nodes: Iterable<Node>, start: Start |
|
|
|
66
66
|
* @param overlay - the overlay values to splice in
|
|
67
67
|
* @param compare - the comparator to use to find the position for the overlay
|
|
68
68
|
*/
|
|
69
|
-
export declare function generateWithOverlay(startAt: Row | undefined, rows: Iterable<Row>, constraint: Constraint | undefined, overlay: Overlay | undefined,
|
|
69
|
+
export declare function generateWithOverlay(startAt: Row | undefined, rows: Iterable<Row>, constraint: Constraint | undefined, overlay: Overlay | undefined, connectionIndex: number, compare: Comparator, filterPredicate?: (row: Row) => boolean | undefined): Generator<{
|
|
70
70
|
row: Readonly<Record<string, import("../../../shared/src/json.ts").ReadonlyJSONValue | undefined>>;
|
|
71
71
|
relationships: {};
|
|
72
72
|
}, void, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-source.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/memory-source.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,kCAAkC,CAAC;AAE1D,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;AAE1E,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,IAAI,EACV,MAAM,WAAW,CAAC;AAEnB,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,KAAK,EACX,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EACV,MAAM,EACN,YAAY,
|
|
1
|
+
{"version":3,"file":"memory-source.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/memory-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,6 @@ export class MemorySource {
|
|
|
23
23
|
#indexes = new Map();
|
|
24
24
|
#connections = [];
|
|
25
25
|
#overlay;
|
|
26
|
-
#splitEditOverlay;
|
|
27
26
|
constructor(tableName, columns, primaryKey, primaryIndexData) {
|
|
28
27
|
this.#tableName = tableName;
|
|
29
28
|
this.#columns = columns;
|
|
@@ -208,7 +207,7 @@ export class MemorySource {
|
|
|
208
207
|
// use `req.constraint` here and not `fetchOrPkConstraint` since `fetchOrPkConstraint` could be the
|
|
209
208
|
// primary key constraint. The primary key constraint comes from filters and is acting as a filter
|
|
210
209
|
// rather than as the fetch constraint.
|
|
211
|
-
req.constraint, this.#overlay,
|
|
210
|
+
req.constraint, this.#overlay, callingConnectionIndex,
|
|
212
211
|
// Use indexComparator, generateWithOverlayInner has a subtle dependency
|
|
213
212
|
// on this. Since generateWithConstraint is done after
|
|
214
213
|
// generateWithOverlay, the generator consumed by generateWithOverlayInner
|
|
@@ -240,7 +239,7 @@ export class MemorySource {
|
|
|
240
239
|
const { data } = primaryIndex;
|
|
241
240
|
const exists = (row) => data.has(row);
|
|
242
241
|
const setOverlay = (o) => (this.#overlay = o);
|
|
243
|
-
const
|
|
242
|
+
const writeChange = (c) => this.#writeChange(c);
|
|
244
243
|
if (change.type === 'set') {
|
|
245
244
|
const existing = data.get(change.row);
|
|
246
245
|
if (existing !== undefined) {
|
|
@@ -257,9 +256,9 @@ export class MemorySource {
|
|
|
257
256
|
};
|
|
258
257
|
}
|
|
259
258
|
}
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
259
|
+
yield* genPushAndWriteWithSplitEdit(this.#connections, change, exists, setOverlay, writeChange);
|
|
260
|
+
}
|
|
261
|
+
#writeChange(change) {
|
|
263
262
|
for (const { data } of this.#indexes.values()) {
|
|
264
263
|
switch (change.type) {
|
|
265
264
|
case 'add': {
|
|
@@ -306,7 +305,41 @@ function* generateWithFilter(it, filter) {
|
|
|
306
305
|
}
|
|
307
306
|
}
|
|
308
307
|
}
|
|
309
|
-
export function*
|
|
308
|
+
export function* genPushAndWriteWithSplitEdit(connections, change, exists, setOverlay, writeChange) {
|
|
309
|
+
let shouldSplitEdit = false;
|
|
310
|
+
if (change.type === 'edit') {
|
|
311
|
+
for (const { splitEditKeys } of connections) {
|
|
312
|
+
if (splitEditKeys) {
|
|
313
|
+
for (const key of splitEditKeys) {
|
|
314
|
+
if (!valuesEqual(change.row[key], change.oldRow[key])) {
|
|
315
|
+
shouldSplitEdit = true;
|
|
316
|
+
break;
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
if (change.type === 'edit' && shouldSplitEdit) {
|
|
323
|
+
yield* genPushAndWrite(connections, {
|
|
324
|
+
type: 'remove',
|
|
325
|
+
row: change.oldRow,
|
|
326
|
+
}, exists, setOverlay, writeChange);
|
|
327
|
+
yield* genPushAndWrite(connections, {
|
|
328
|
+
type: 'add',
|
|
329
|
+
row: change.row,
|
|
330
|
+
}, exists, setOverlay, writeChange);
|
|
331
|
+
}
|
|
332
|
+
else {
|
|
333
|
+
yield* genPushAndWrite(connections, change, exists, setOverlay, writeChange);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
function* genPushAndWrite(connections, change, exists, setOverlay, writeChange) {
|
|
337
|
+
for (const x of genPush(connections, change, exists, setOverlay)) {
|
|
338
|
+
yield x;
|
|
339
|
+
}
|
|
340
|
+
writeChange(change);
|
|
341
|
+
}
|
|
342
|
+
function* genPush(connections, change, exists, setOverlay) {
|
|
310
343
|
switch (change.type) {
|
|
311
344
|
case 'add':
|
|
312
345
|
assert(!exists(change.row), () => `Row already exists ${stringify(change)}`);
|
|
@@ -320,71 +353,30 @@ export function* genPush(change, exists, connections, setOverlay, setSplitEditOv
|
|
|
320
353
|
default:
|
|
321
354
|
unreachable(change);
|
|
322
355
|
}
|
|
323
|
-
for (const [outputIndex, { output,
|
|
356
|
+
for (const [outputIndex, { output, filters, input }] of connections.entries()) {
|
|
324
357
|
if (output) {
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
break;
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
if (splitEdit) {
|
|
335
|
-
assert(change.type === 'edit');
|
|
336
|
-
setSplitEditOverlay({
|
|
337
|
-
outputIndex,
|
|
338
|
-
change: {
|
|
339
|
-
type: 'remove',
|
|
358
|
+
setOverlay({ outputIndex, change });
|
|
359
|
+
const outputChange = change.type === 'edit'
|
|
360
|
+
? {
|
|
361
|
+
type: change.type,
|
|
362
|
+
oldNode: {
|
|
340
363
|
row: change.oldRow,
|
|
364
|
+
relationships: {},
|
|
341
365
|
},
|
|
342
|
-
});
|
|
343
|
-
const outputRemove = {
|
|
344
|
-
type: 'remove',
|
|
345
366
|
node: {
|
|
346
|
-
row: change.
|
|
367
|
+
row: change.row,
|
|
347
368
|
relationships: {},
|
|
348
369
|
},
|
|
349
|
-
}
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
setSplitEditOverlay(undefined);
|
|
353
|
-
setOverlay({ outputIndex, change });
|
|
354
|
-
const outputAdd = {
|
|
355
|
-
type: 'add',
|
|
370
|
+
}
|
|
371
|
+
: {
|
|
372
|
+
type: change.type,
|
|
356
373
|
node: {
|
|
357
374
|
row: change.row,
|
|
358
375
|
relationships: {},
|
|
359
376
|
},
|
|
360
377
|
};
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
}
|
|
364
|
-
else {
|
|
365
|
-
setOverlay({ outputIndex, change });
|
|
366
|
-
const outputChange = change.type === 'edit'
|
|
367
|
-
? {
|
|
368
|
-
type: change.type,
|
|
369
|
-
oldNode: {
|
|
370
|
-
row: change.oldRow,
|
|
371
|
-
relationships: {},
|
|
372
|
-
},
|
|
373
|
-
node: {
|
|
374
|
-
row: change.row,
|
|
375
|
-
relationships: {},
|
|
376
|
-
},
|
|
377
|
-
}
|
|
378
|
-
: {
|
|
379
|
-
type: change.type,
|
|
380
|
-
node: {
|
|
381
|
-
row: change.row,
|
|
382
|
-
relationships: {},
|
|
383
|
-
},
|
|
384
|
-
};
|
|
385
|
-
filterPush(outputChange, output, filters?.predicate);
|
|
386
|
-
yield;
|
|
387
|
-
}
|
|
378
|
+
filterPush(outputChange, output, input, filters?.predicate);
|
|
379
|
+
yield;
|
|
388
380
|
}
|
|
389
381
|
}
|
|
390
382
|
setOverlay(undefined);
|
|
@@ -425,12 +417,9 @@ export function* generateWithStart(nodes, start, compare) {
|
|
|
425
417
|
* @param overlay - the overlay values to splice in
|
|
426
418
|
* @param compare - the comparator to use to find the position for the overlay
|
|
427
419
|
*/
|
|
428
|
-
export function* generateWithOverlay(startAt, rows, constraint, overlay,
|
|
420
|
+
export function* generateWithOverlay(startAt, rows, constraint, overlay, connectionIndex, compare, filterPredicate) {
|
|
429
421
|
let overlayToApply = undefined;
|
|
430
|
-
if (
|
|
431
|
-
overlayToApply = splitEditOverlay;
|
|
432
|
-
}
|
|
433
|
-
else if (overlay && connectionIndex <= overlay.outputIndex) {
|
|
422
|
+
if (overlay && connectionIndex <= overlay.outputIndex) {
|
|
434
423
|
overlayToApply = overlay;
|
|
435
424
|
}
|
|
436
425
|
const overlays = computeOverlays(startAt, constraint, overlayToApply, compare, filterPredicate);
|