@rocicorp/zero 0.12.2025012902 → 0.12.2025013000
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/advanced.js +1 -1
- package/out/{chunk-HQA4Z25K.js → chunk-UEPZPKPV.js} +125 -171
- package/out/{chunk-HQA4Z25K.js.map → chunk-UEPZPKPV.js.map} +4 -4
- package/out/{chunk-QAAJZ32T.js → chunk-ZVLXEWWB.js} +71 -11
- package/out/chunk-ZVLXEWWB.js.map +7 -0
- package/out/solid.js +2 -2
- package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/change-source.js +86 -117
- package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
- package/out/zero-cache/src/services/change-streamer/storer.js +3 -2
- package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.js +26 -2
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
- package/out/zero.js +2 -2
- package/out/zql/src/ivm/change.d.ts +4 -4
- package/out/zql/src/ivm/change.d.ts.map +1 -1
- package/out/zql/src/ivm/change.js +1 -4
- package/out/zql/src/ivm/change.js.map +1 -1
- package/out/zql/src/ivm/data.d.ts +2 -1
- package/out/zql/src/ivm/data.d.ts.map +1 -1
- package/out/zql/src/ivm/data.js +7 -0
- package/out/zql/src/ivm/data.js.map +1 -1
- package/out/zql/src/ivm/exists.d.ts +3 -2
- package/out/zql/src/ivm/exists.d.ts.map +1 -1
- package/out/zql/src/ivm/exists.js +55 -64
- package/out/zql/src/ivm/exists.js.map +1 -1
- package/out/zql/src/ivm/filter-push.js +1 -1
- package/out/zql/src/ivm/filter-push.js.map +1 -1
- package/out/zql/src/ivm/filter.d.ts +2 -3
- package/out/zql/src/ivm/filter.d.ts.map +1 -1
- package/out/zql/src/ivm/filter.js +12 -7
- package/out/zql/src/ivm/filter.js.map +1 -1
- package/out/zql/src/ivm/join.d.ts +4 -1
- package/out/zql/src/ivm/join.d.ts.map +1 -1
- package/out/zql/src/ivm/join.js +32 -25
- package/out/zql/src/ivm/join.js.map +1 -1
- package/out/zql/src/ivm/skip.d.ts.map +1 -1
- package/out/zql/src/ivm/skip.js +1 -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 +4 -3
- package/out/zql/src/ivm/take.js.map +1 -1
- package/out/zql/src/ivm/view-apply-change.d.ts.map +1 -1
- package/out/zql/src/ivm/view-apply-change.js +4 -10
- package/out/zql/src/ivm/view-apply-change.js.map +1 -1
- package/package.json +2 -1
- package/out/chunk-QAAJZ32T.js.map +0 -7
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { areEqual } from "../../../shared/src/arrays.js";
|
|
2
2
|
import { assert, unreachable } from "../../../shared/src/asserts.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { normalizeUndefined } from "./data.js";
|
|
3
|
+
import {} from "./change.js";
|
|
4
|
+
import { drainStreams, normalizeUndefined, } from "./data.js";
|
|
6
5
|
import { throwOutput, } from "./operator.js";
|
|
7
6
|
import { first } from "./stream.js";
|
|
8
7
|
/**
|
|
@@ -39,17 +38,20 @@ export class Exists {
|
|
|
39
38
|
}
|
|
40
39
|
*fetch(req) {
|
|
41
40
|
for (const node of this.#input.fetch(req)) {
|
|
42
|
-
if (this.#filter(node
|
|
41
|
+
if (this.#filter(node)) {
|
|
43
42
|
yield node;
|
|
44
43
|
}
|
|
45
44
|
}
|
|
46
45
|
}
|
|
47
46
|
*cleanup(req) {
|
|
48
47
|
for (const node of this.#input.cleanup(req)) {
|
|
49
|
-
if (this.#filter(node
|
|
48
|
+
if (this.#filter(node)) {
|
|
50
49
|
yield node;
|
|
51
50
|
}
|
|
52
|
-
|
|
51
|
+
else {
|
|
52
|
+
drainStreams(node);
|
|
53
|
+
}
|
|
54
|
+
this.#delSize(node);
|
|
53
55
|
}
|
|
54
56
|
}
|
|
55
57
|
push(change) {
|
|
@@ -62,17 +64,17 @@ export class Exists {
|
|
|
62
64
|
return;
|
|
63
65
|
}
|
|
64
66
|
case 'remove': {
|
|
65
|
-
const size = this.#getSize(change.node
|
|
67
|
+
const size = this.#getSize(change.node);
|
|
66
68
|
// If size is undefined, this operator has not output
|
|
67
69
|
// this row before and so it is unnecessary to output a remove for
|
|
68
|
-
// it. Which is fortunate, since #fetchSize
|
|
70
|
+
// it. Which is fortunate, since #fetchSize would
|
|
69
71
|
// not be able to fetch a Node for this change since it is
|
|
70
72
|
// removed from the source.
|
|
71
73
|
if (size === undefined) {
|
|
72
74
|
return;
|
|
73
75
|
}
|
|
74
76
|
this.#pushWithFilter(change, size);
|
|
75
|
-
this.#delSize(change.node
|
|
77
|
+
this.#delSize(change.node);
|
|
76
78
|
return;
|
|
77
79
|
}
|
|
78
80
|
case 'child':
|
|
@@ -88,14 +90,14 @@ export class Exists {
|
|
|
88
90
|
}
|
|
89
91
|
switch (change.child.change.type) {
|
|
90
92
|
case 'add': {
|
|
91
|
-
let size = this.#getSize(change.
|
|
93
|
+
let size = this.#getSize(change.node);
|
|
92
94
|
if (size !== undefined) {
|
|
93
95
|
size++;
|
|
94
|
-
this.#setCachedSize(change.
|
|
95
|
-
this.#setSize(change.
|
|
96
|
+
this.#setCachedSize(change.node, size);
|
|
97
|
+
this.#setSize(change.node, size);
|
|
96
98
|
}
|
|
97
99
|
else {
|
|
98
|
-
size = this.#fetchSize(change.
|
|
100
|
+
size = this.#fetchSize(change.node);
|
|
99
101
|
}
|
|
100
102
|
if (size === 1) {
|
|
101
103
|
const type = this.#not ? 'remove' : 'add';
|
|
@@ -109,7 +111,7 @@ export class Exists {
|
|
|
109
111
|
}
|
|
110
112
|
this.#output.push({
|
|
111
113
|
type,
|
|
112
|
-
node:
|
|
114
|
+
node: change.node,
|
|
113
115
|
});
|
|
114
116
|
}
|
|
115
117
|
else {
|
|
@@ -118,7 +120,7 @@ export class Exists {
|
|
|
118
120
|
return;
|
|
119
121
|
}
|
|
120
122
|
case 'remove': {
|
|
121
|
-
let size = this.#getSize(change.
|
|
123
|
+
let size = this.#getSize(change.node);
|
|
122
124
|
if (size !== undefined) {
|
|
123
125
|
// Work around for issue https://bugs.rocicorp.dev/issue/3204
|
|
124
126
|
// assert(size > 0);
|
|
@@ -126,11 +128,11 @@ export class Exists {
|
|
|
126
128
|
return;
|
|
127
129
|
}
|
|
128
130
|
size--;
|
|
129
|
-
this.#setCachedSize(change.
|
|
130
|
-
this.#setSize(change.
|
|
131
|
+
this.#setCachedSize(change.node, size);
|
|
132
|
+
this.#setSize(change.node, size);
|
|
131
133
|
}
|
|
132
134
|
else {
|
|
133
|
-
size = this.#fetchSize(change.
|
|
135
|
+
size = this.#fetchSize(change.node);
|
|
134
136
|
}
|
|
135
137
|
if (size === 0) {
|
|
136
138
|
const type = this.#not ? 'add' : 'remove';
|
|
@@ -143,7 +145,7 @@ export class Exists {
|
|
|
143
145
|
}
|
|
144
146
|
this.#output.push({
|
|
145
147
|
type,
|
|
146
|
-
node:
|
|
148
|
+
node: change.node,
|
|
147
149
|
});
|
|
148
150
|
}
|
|
149
151
|
else {
|
|
@@ -158,99 +160,88 @@ export class Exists {
|
|
|
158
160
|
}
|
|
159
161
|
}
|
|
160
162
|
/**
|
|
161
|
-
* Returns whether or not the
|
|
163
|
+
* Returns whether or not the node's this.#relationshipName
|
|
162
164
|
* relationship passes the exist/not exists filter condition.
|
|
163
165
|
* If the optional `size` is passed it is used.
|
|
164
166
|
* Otherwise, if there is a stored size for the row it is used.
|
|
165
|
-
* Otherwise the size is computed by
|
|
166
|
-
* this.#
|
|
167
|
+
* Otherwise the size is computed by streaming the node's
|
|
168
|
+
* relationship with this.#relationshipName (this computed size is also
|
|
169
|
+
* stored).
|
|
167
170
|
*/
|
|
168
|
-
#filter(
|
|
169
|
-
const exists = (size ?? this.#getOrFetchSize(
|
|
171
|
+
#filter(node, size) {
|
|
172
|
+
const exists = (size ?? this.#getOrFetchSize(node)) > 0;
|
|
170
173
|
return this.#not ? !exists : exists;
|
|
171
174
|
}
|
|
172
175
|
/**
|
|
173
176
|
* Pushes a change if this.#filter is true for its row.
|
|
174
177
|
*/
|
|
175
178
|
#pushWithFilter(change, size) {
|
|
176
|
-
|
|
177
|
-
if (this.#filter(row, size)) {
|
|
179
|
+
if (this.#filter(change.node, size)) {
|
|
178
180
|
this.#output.push(change);
|
|
179
181
|
}
|
|
180
182
|
}
|
|
181
|
-
#getSize(
|
|
182
|
-
return this.#storage.get(this.#makeSizeStorageKey(
|
|
183
|
+
#getSize(node) {
|
|
184
|
+
return this.#storage.get(this.#makeSizeStorageKey(node));
|
|
183
185
|
}
|
|
184
|
-
#setSize(
|
|
185
|
-
this.#storage.set(this.#makeSizeStorageKey(
|
|
186
|
+
#setSize(node, size) {
|
|
187
|
+
this.#storage.set(this.#makeSizeStorageKey(node), size);
|
|
186
188
|
}
|
|
187
|
-
#setCachedSize(
|
|
189
|
+
#setCachedSize(node, size) {
|
|
188
190
|
if (this.#skipCache) {
|
|
189
191
|
return;
|
|
190
192
|
}
|
|
191
|
-
this.#storage.set(this.#makeCacheStorageKey(
|
|
193
|
+
this.#storage.set(this.#makeCacheStorageKey(node), size);
|
|
192
194
|
}
|
|
193
|
-
#getCachedSize(
|
|
195
|
+
#getCachedSize(node) {
|
|
194
196
|
if (this.#skipCache) {
|
|
195
197
|
return undefined;
|
|
196
198
|
}
|
|
197
|
-
return this.#storage.get(this.#makeCacheStorageKey(
|
|
199
|
+
return this.#storage.get(this.#makeCacheStorageKey(node));
|
|
198
200
|
}
|
|
199
|
-
#delSize(
|
|
200
|
-
this.#storage.del(this.#makeSizeStorageKey(
|
|
201
|
+
#delSize(node) {
|
|
202
|
+
this.#storage.del(this.#makeSizeStorageKey(node));
|
|
201
203
|
if (!this.#skipCache) {
|
|
202
|
-
const cacheKey = this.#makeCacheStorageKey(
|
|
204
|
+
const cacheKey = this.#makeCacheStorageKey(node);
|
|
203
205
|
if (first(this.#storage.scan({ prefix: `${cacheKey}/` })) === undefined) {
|
|
204
206
|
this.#storage.del(cacheKey);
|
|
205
207
|
}
|
|
206
208
|
}
|
|
207
209
|
}
|
|
208
|
-
#getOrFetchSize(
|
|
209
|
-
const size = this.#getSize(
|
|
210
|
+
#getOrFetchSize(node) {
|
|
211
|
+
const size = this.#getSize(node);
|
|
210
212
|
if (size !== undefined) {
|
|
211
213
|
return size;
|
|
212
214
|
}
|
|
213
|
-
|
|
214
|
-
// determine its size (we can't consume the relationship of
|
|
215
|
-
// the node we are going to push or return via fetch to
|
|
216
|
-
// our output, because the relationships are one time use streams).
|
|
217
|
-
return this.#fetchSize(row);
|
|
215
|
+
return this.#fetchSize(node);
|
|
218
216
|
}
|
|
219
|
-
#fetchSize(
|
|
220
|
-
const cachedSize = this.#getCachedSize(
|
|
217
|
+
#fetchSize(node) {
|
|
218
|
+
const cachedSize = this.#getCachedSize(node);
|
|
221
219
|
if (cachedSize !== undefined) {
|
|
222
|
-
this.#setSize(
|
|
220
|
+
this.#setSize(node, cachedSize);
|
|
223
221
|
return cachedSize;
|
|
224
222
|
}
|
|
225
|
-
const relationship =
|
|
223
|
+
const relationship = node.relationships[this.#relationshipName];
|
|
226
224
|
assert(relationship);
|
|
227
225
|
let size = 0;
|
|
228
|
-
for (const _relatedNode of relationship) {
|
|
226
|
+
for (const _relatedNode of relationship()) {
|
|
229
227
|
size++;
|
|
230
228
|
}
|
|
231
|
-
this.#setCachedSize(
|
|
232
|
-
this.#setSize(
|
|
229
|
+
this.#setCachedSize(node, size);
|
|
230
|
+
this.#setSize(node, size);
|
|
233
231
|
return size;
|
|
234
232
|
}
|
|
235
|
-
#
|
|
236
|
-
|
|
237
|
-
start: { row, basis: 'at' },
|
|
238
|
-
})));
|
|
239
|
-
assert(this.getSchema().compareRows(row, fetched.row) === 0, () => `fetchNodeForRow returned unexpected row, expected ${JSON.stringify(row)}, received ${JSON.stringify(fetched.row)}`);
|
|
240
|
-
return fetched;
|
|
241
|
-
}
|
|
242
|
-
#makeCacheStorageKey(row) {
|
|
243
|
-
return `row/${JSON.stringify(this.#getKeyValues(row, this.#parentJoinKey))}`;
|
|
233
|
+
#makeCacheStorageKey(node) {
|
|
234
|
+
return `row/${JSON.stringify(this.#getKeyValues(node, this.#parentJoinKey))}`;
|
|
244
235
|
}
|
|
245
|
-
#makeSizeStorageKey(
|
|
236
|
+
#makeSizeStorageKey(node) {
|
|
246
237
|
return `row/${this.#skipCache
|
|
247
238
|
? ''
|
|
248
|
-
: JSON.stringify(this.#getKeyValues(
|
|
239
|
+
: JSON.stringify(this.#getKeyValues(node, this.#parentJoinKey))}/${JSON.stringify(this.#getKeyValues(node, this.#input.getSchema().primaryKey))}`;
|
|
249
240
|
}
|
|
250
|
-
#getKeyValues(
|
|
241
|
+
#getKeyValues(node, def) {
|
|
251
242
|
const values = [];
|
|
252
243
|
for (const key of def) {
|
|
253
|
-
values.push(normalizeUndefined(row[key]));
|
|
244
|
+
values.push(normalizeUndefined(node.row[key]));
|
|
254
245
|
}
|
|
255
246
|
return values;
|
|
256
247
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exists.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/exists.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,gCAAgC,CAAC;
|
|
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":"filter-push.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/filter-push.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gCAAgC,CAAC;AAG3D,OAAO,EAAC,2BAA2B,EAAC,MAAM,uCAAuC,CAAC;AAGlF,MAAM,UAAU,UAAU,CACxB,MAAc,EACd,MAAc,EACd,SAA+C;IAE/C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO;IACT,CAAC;IACD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,KAAK,CAAC;QACX,KAAK,QAAQ;YACX,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;YACD,MAAM;QACR,KAAK,OAAO;YACV,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"filter-push.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/filter-push.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gCAAgC,CAAC;AAG3D,OAAO,EAAC,2BAA2B,EAAC,MAAM,uCAAuC,CAAC;AAGlF,MAAM,UAAU,UAAU,CACxB,MAAc,EACd,MAAc,EACd,SAA+C;IAE/C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO;IACT,CAAC;IACD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,KAAK,CAAC;QACX,KAAK,QAAQ;YACX,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;YACD,MAAM;QACR,KAAK,OAAO;YACV,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;YACD,MAAM;QACR,KAAK,MAAM;YACT,2BAA2B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YACvD,MAAM;QACR;YACE,WAAW,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;AACH,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { Row } from '../../../zero-protocol/src/data.ts';
|
|
2
2
|
import type { Change } from './change.ts';
|
|
3
|
-
import type { Node } from './data.ts';
|
|
4
3
|
import { type FetchRequest, type Input, type Operator, type Output } from './operator.ts';
|
|
5
4
|
import type { SourceSchema } from './schema.ts';
|
|
6
5
|
/**
|
|
@@ -14,8 +13,8 @@ export declare class Filter implements Operator {
|
|
|
14
13
|
setOutput(output: Output): void;
|
|
15
14
|
destroy(): void;
|
|
16
15
|
getSchema(): SourceSchema;
|
|
17
|
-
fetch(req: FetchRequest): Generator<Node, void, unknown>;
|
|
18
|
-
cleanup(req: FetchRequest): Generator<Node, void, unknown>;
|
|
16
|
+
fetch(req: FetchRequest): Generator<import("./data.ts").Node, void, unknown>;
|
|
17
|
+
cleanup(req: FetchRequest): Generator<import("./data.ts").Node, void, unknown>;
|
|
19
18
|
push(change: Change): void;
|
|
20
19
|
}
|
|
21
20
|
//# sourceMappingURL=filter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,oCAAoC,CAAC;AAC5D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,oCAAoC,CAAC;AAC5D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAGxC,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,QAAQ,EACb,KAAK,MAAM,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAE9C;;;;GAIG;AACH,qBAAa,MAAO,YAAW,QAAQ;;gBAMzB,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO;IAM1D,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;IAU1B,IAAI,CAAC,MAAM,EAAE,MAAM;CAGpB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { drainStreams } from "./data.js";
|
|
1
2
|
import { filterPush } from "./filter-push.js";
|
|
2
3
|
import { throwOutput, } from "./operator.js";
|
|
3
4
|
/**
|
|
@@ -23,17 +24,21 @@ export class Filter {
|
|
|
23
24
|
getSchema() {
|
|
24
25
|
return this.#input.getSchema();
|
|
25
26
|
}
|
|
26
|
-
fetch(req) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
*fetch(req) {
|
|
28
|
+
for (const node of this.#input.fetch(req)) {
|
|
29
|
+
if (this.#predicate(node.row)) {
|
|
30
|
+
yield node;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
31
33
|
}
|
|
32
|
-
|
|
33
|
-
for (const node of
|
|
34
|
+
*cleanup(req) {
|
|
35
|
+
for (const node of this.#input.cleanup(req)) {
|
|
34
36
|
if (this.#predicate(node.row)) {
|
|
35
37
|
yield node;
|
|
36
38
|
}
|
|
39
|
+
else {
|
|
40
|
+
drainStreams(node);
|
|
41
|
+
}
|
|
37
42
|
}
|
|
38
43
|
}
|
|
39
44
|
push(change) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/filter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/filter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;AACvC,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EACL,WAAW,GAKZ,MAAM,eAAe,CAAC;AAGvB;;;;GAIG;AACH,MAAM,OAAO,MAAM;IACR,MAAM,CAAQ;IACd,UAAU,CAAwB;IAE3C,OAAO,GAAW,WAAW,CAAC;IAE9B,YAAY,KAAY,EAAE,SAAgC;QACxD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAED,CAAC,KAAK,CAAC,GAAiB;QACtB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,CAAC;YACb,CAAC;QACH,CAAC;IACH,CAAC;IAED,CAAC,OAAO,CAAC,GAAiB;QACxB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,CAAC;YACb,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,MAAc;QACjB,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC;CACF"}
|
|
@@ -38,7 +38,10 @@ export declare class Join implements Input {
|
|
|
38
38
|
export declare function makeStorageKeyForValues(values: readonly Value[]): string;
|
|
39
39
|
/** Exported for testing. */
|
|
40
40
|
export declare function makeStorageKeyPrefix(row: Row, key: CompoundKey): string;
|
|
41
|
-
/** Exported for testing.
|
|
41
|
+
/** Exported for testing.
|
|
42
|
+
* This storage key tracks the primary keys seen for each unique
|
|
43
|
+
* value joined on. This is used to know when to cleanup a child's state.
|
|
44
|
+
*/
|
|
42
45
|
export declare function makeStorageKey(key: CompoundKey, primaryKey: PrimaryKey, row: Row): string;
|
|
43
46
|
export {};
|
|
44
47
|
//# sourceMappingURL=join.d.ts.map
|
|
@@ -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,EAAc,KAAK,IAAI,EAAC,MAAM,WAAW,CAAC;AACjD,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;IAGjB,SAAS,EAAE,WAAW,CAAC;IACvB,QAAQ,EAAE,WAAW,CAAC;IAItB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AACF;;;;;;;;;GASG;AACH,qBAAa,IAAK,YAAW,KAAK;;gBAWpB,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;
|
|
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,EAAc,KAAK,IAAI,EAAC,MAAM,WAAW,CAAC;AACjD,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;IAGjB,SAAS,EAAE,WAAW,CAAC;IACvB,QAAQ,EAAE,WAAW,CAAC;IAItB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AACF;;;;;;;;;GASG;AACH,qBAAa,IAAK,YAAW,KAAK;;gBAWpB,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;CAyM1C;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
|
@@ -123,7 +123,7 @@ export class Join {
|
|
|
123
123
|
for (const parentNode of parentNodes) {
|
|
124
124
|
const childChange = {
|
|
125
125
|
type: 'child',
|
|
126
|
-
|
|
126
|
+
node: this.#processParentNode(parentNode.row, parentNode.relationships, 'fetch'),
|
|
127
127
|
child: {
|
|
128
128
|
relationshipName: this.#relationshipName,
|
|
129
129
|
change,
|
|
@@ -138,7 +138,7 @@ export class Join {
|
|
|
138
138
|
pushChildChange(change.node.row, change);
|
|
139
139
|
break;
|
|
140
140
|
case 'child':
|
|
141
|
-
pushChildChange(change.row, change);
|
|
141
|
+
pushChildChange(change.node.row, change);
|
|
142
142
|
break;
|
|
143
143
|
case 'edit': {
|
|
144
144
|
const childRow = change.node.row;
|
|
@@ -168,29 +168,33 @@ export class Join {
|
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
170
|
#processParentNode(parentNodeRow, parentNodeRelations, mode) {
|
|
171
|
-
// This storage key tracks the primary keys seen for each unique
|
|
172
|
-
// value joined on. This is used to know when to cleanup a child's state.
|
|
173
|
-
const storageKey = makeStorageKey(this.#parentKey, this.#parent.getSchema().primaryKey, parentNodeRow);
|
|
174
171
|
let method = mode;
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
172
|
+
let storageUpdated = false;
|
|
173
|
+
const childStream = () => {
|
|
174
|
+
if (!storageUpdated) {
|
|
175
|
+
if (mode === 'cleanup') {
|
|
176
|
+
this.#storage.del(makeStorageKey(this.#parentKey, this.#parent.getSchema().primaryKey, parentNodeRow));
|
|
177
|
+
const empty = [
|
|
178
|
+
...take(this.#storage.scan({
|
|
179
|
+
prefix: makeStorageKeyPrefix(parentNodeRow, this.#parentKey),
|
|
180
|
+
}), 1),
|
|
181
|
+
].length === 0;
|
|
182
|
+
method = empty ? 'cleanup' : 'fetch';
|
|
183
|
+
}
|
|
184
|
+
storageUpdated = true;
|
|
185
|
+
// Defer the work to update storage until the child stream
|
|
186
|
+
// is actually accessed
|
|
187
|
+
if (mode === 'fetch') {
|
|
188
|
+
this.#storage.set(makeStorageKey(this.#parentKey, this.#parent.getSchema().primaryKey, parentNodeRow), true);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
return this.#child[method]({
|
|
192
|
+
constraint: Object.fromEntries(this.#childKey.map((key, i) => [
|
|
193
|
+
key,
|
|
194
|
+
parentNodeRow[this.#parentKey[i]],
|
|
195
|
+
])),
|
|
196
|
+
});
|
|
197
|
+
};
|
|
194
198
|
return {
|
|
195
199
|
row: parentNodeRow,
|
|
196
200
|
relationships: {
|
|
@@ -209,7 +213,10 @@ export function makeStorageKeyForValues(values) {
|
|
|
209
213
|
export function makeStorageKeyPrefix(row, key) {
|
|
210
214
|
return makeStorageKeyForValues(key.map(k => row[k]));
|
|
211
215
|
}
|
|
212
|
-
/** Exported for testing.
|
|
216
|
+
/** Exported for testing.
|
|
217
|
+
* This storage key tracks the primary keys seen for each unique
|
|
218
|
+
* value joined on. This is used to know when to cleanup a child's state.
|
|
219
|
+
*/
|
|
213
220
|
export function makeStorageKey(key, primaryKey, row) {
|
|
214
221
|
const values = key.map(k => row[k]);
|
|
215
222
|
for (const key of primaryKey) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"join.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/join.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"join.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/join.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skip.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/skip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,oCAAoC,CAAC;AAC5D,OAAO,KAAK,EAAY,MAAM,EAA4B,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EAAa,IAAI,EAAC,MAAM,WAAW,CAAC;AAEhD,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,QAAQ,EACb,KAAK,MAAM,EAEZ,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,KAAK,GAAG;IAClB,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,qBAAa,IAAK,YAAW,QAAQ;;gBAOvB,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAOtC,SAAS,IAAI,YAAY;IAIzB,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;IAItC,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;IAsBxC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,OAAO,IAAI,IAAI;IASf,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"skip.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/skip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,oCAAoC,CAAC;AAC5D,OAAO,KAAK,EAAY,MAAM,EAA4B,MAAM,aAAa,CAAC;AAC9E,OAAO,KAAK,EAAa,IAAI,EAAC,MAAM,WAAW,CAAC;AAEhD,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,QAAQ,EACb,KAAK,MAAM,EAEZ,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,KAAK,GAAG;IAClB,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,qBAAa,IAAK,YAAW,QAAQ;;gBAOvB,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAOtC,SAAS,IAAI,YAAY;IAIzB,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;IAItC,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;IAsBxC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,OAAO,IAAI,IAAI;IASf,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CA0E3B"}
|
package/out/zql/src/ivm/skip.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skip.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/skip.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,2BAA2B,EAAC,MAAM,uCAAuC,CAAC;AAClF,OAAO,EACL,WAAW,GAMZ,MAAM,eAAe,CAAC;AASvB;;;GAGG;AACH,MAAM,OAAO,IAAI;IACN,MAAM,CAAQ;IACd,MAAM,CAAQ;IACd,WAAW,CAAa;IAEjC,OAAO,GAAW,WAAW,CAAC;IAE9B,YAAY,KAAY,EAAE,KAAY;QACpC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,WAAW,CAAC;QACjD,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,GAAiB;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,CAAC,GAAiB;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,CAAC,eAAe,CAAC,MAA2B,EAAE,GAAiB;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAC,GAAG,GAAG,EAAE,KAAK,EAAC,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,CAAC,CAAC,KAAK,CAAC;YACb,OAAO;QACT,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrC,OAAO;YACT,CAAC;YACD,MAAM,IAAI,CAAC;QACb,CAAC;IACH,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,gBAAgB,CAAC,GAAQ;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACnD,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,CAAC,MAAc;QACjB,MAAM,eAAe,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACjE,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,2BAA2B,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QAED,MAAuD,CAAC;QAExD,
|
|
1
|
+
{"version":3,"file":"skip.js","sourceRoot":"","sources":["../../../../../zql/src/ivm/skip.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"take.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/take.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,2CAA2C,CAAC;AAE1E,OAAO,
|
|
1
|
+
{"version":3,"file":"take.d.ts","sourceRoot":"","sources":["../../../../../zql/src/ivm/take.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,2CAA2C,CAAC;AAE1E,OAAO,EAAC,KAAK,MAAM,EAAqC,MAAM,aAAa,CAAC;AAE5E,OAAO,EAAiC,KAAK,IAAI,EAAC,MAAM,WAAW,CAAC;AACpE,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,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;AAiBrD,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC;AAEtC;;;;;;;GAOG;AACH,qBAAa,IAAK,YAAW,QAAQ;;gBAUjC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS;IAgBzC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,SAAS,IAAI,YAAY;IAIxB,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;IAiGtC,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;IA4CzC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAqZ1B,OAAO,IAAI,IAAI;CAGhB"}
|
package/out/zql/src/ivm/take.js
CHANGED
|
@@ -2,7 +2,7 @@ import { assert, unreachable } from "../../../shared/src/asserts.js";
|
|
|
2
2
|
import { hasOwn } from "../../../shared/src/has-own.js";
|
|
3
3
|
import { must } from "../../../shared/src/must.js";
|
|
4
4
|
import { assertOrderingIncludesPK } from "../builder/builder.js";
|
|
5
|
-
import {
|
|
5
|
+
import {} from "./change.js";
|
|
6
6
|
import { compareValues } from "./data.js";
|
|
7
7
|
import { throwOutput, } from "./operator.js";
|
|
8
8
|
import { first, take } from "./stream.js";
|
|
@@ -153,7 +153,7 @@ export class Take {
|
|
|
153
153
|
this.#pushEditChange(change);
|
|
154
154
|
return;
|
|
155
155
|
}
|
|
156
|
-
const { takeState, takeStateKey, maxBound, constraint } = this.#getStateAndConstraint(
|
|
156
|
+
const { takeState, takeStateKey, maxBound, constraint } = this.#getStateAndConstraint(change.node.row);
|
|
157
157
|
if (!takeState) {
|
|
158
158
|
return;
|
|
159
159
|
}
|
|
@@ -264,7 +264,8 @@ export class Take {
|
|
|
264
264
|
else if (change.type === 'child') {
|
|
265
265
|
// A 'child' change should be pushed to output if its row
|
|
266
266
|
// is <= bound.
|
|
267
|
-
if (takeState.bound &&
|
|
267
|
+
if (takeState.bound &&
|
|
268
|
+
compareRows(change.node.row, takeState.bound) <= 0) {
|
|
268
269
|
this.#output.push(change);
|
|
269
270
|
}
|
|
270
271
|
}
|