@rocicorp/zero 0.16.2025021700 → 0.16.2025021801
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/{chunk-LNUSK2ZZ.js → chunk-X7ACPYAD.js} +88 -97
- package/out/{chunk-LNUSK2ZZ.js.map → chunk-X7ACPYAD.js.map} +4 -4
- package/out/solid.js +1 -1
- 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 +10 -5
- package/out/zero-cache/src/services/change-source/pg/change-source.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/client-handler.d.ts +2 -2
- package/out/zero-cache/src/services/view-syncer/client-handler.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/client-handler.js +0 -3
- package/out/zero-cache/src/services/view-syncer/client-handler.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +12 -4
- package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr-store.js +24 -320
- package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr.d.ts +1 -0
- package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/cvr.js +23 -23
- package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts +87 -0
- package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts.map +1 -0
- package/out/zero-cache/src/services/view-syncer/row-record-cache.js +294 -0
- package/out/zero-cache/src/services/view-syncer/row-record-cache.js.map +1 -0
- package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts +5 -0
- package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/cvr.js +12 -2
- package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/init.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/init.js +12 -2
- package/out/zero-cache/src/services/view-syncer/schema/init.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +24 -66
- package/out/zero-cache/src/services/view-syncer/schema/types.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/schema/types.js +24 -12
- package/out/zero-cache/src/services/view-syncer/schema/types.js.map +1 -1
- package/out/zero-client/src/client/context.d.ts +2 -2
- package/out/zero-client/src/client/context.d.ts.map +1 -1
- package/out/zero-client/src/client/keys.d.ts +0 -3
- package/out/zero-client/src/client/keys.d.ts.map +1 -1
- package/out/zero-client/src/client/query-manager.d.ts +1 -1
- package/out/zero-client/src/client/query-manager.d.ts.map +1 -1
- package/out/zero-client/src/client/zero-poke-handler.d.ts.map +1 -1
- package/out/zero-client/src/client/zero.d.ts +1 -1
- package/out/zero-client/src/client/zero.d.ts.map +1 -1
- package/out/zero-protocol/src/change-desired-queries.d.ts +2 -0
- package/out/zero-protocol/src/change-desired-queries.d.ts.map +1 -1
- package/out/zero-protocol/src/connect.d.ts +2 -0
- package/out/zero-protocol/src/connect.d.ts.map +1 -1
- package/out/zero-protocol/src/down.d.ts +2 -9
- package/out/zero-protocol/src/down.d.ts.map +1 -1
- package/out/zero-protocol/src/poke.d.ts +4 -18
- package/out/zero-protocol/src/poke.d.ts.map +1 -1
- package/out/zero-protocol/src/poke.js +0 -4
- package/out/zero-protocol/src/poke.js.map +1 -1
- package/out/zero-protocol/src/queries-patch.d.ts +4 -1
- package/out/zero-protocol/src/queries-patch.d.ts.map +1 -1
- package/out/zero-protocol/src/queries-patch.js +2 -1
- package/out/zero-protocol/src/queries-patch.js.map +1 -1
- package/out/zero-protocol/src/up.d.ts +2 -0
- package/out/zero-protocol/src/up.d.ts.map +1 -1
- package/out/zero.js +1 -1
- package/out/zql/src/query/query-impl.d.ts +5 -5
- package/out/zql/src/query/query-impl.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.js +27 -23
- package/out/zql/src/query/query-impl.js.map +1 -1
- package/out/zql/src/query/static-query.d.ts +1 -2
- package/out/zql/src/query/static-query.d.ts.map +1 -1
- package/out/zql/src/query/static-query.js +2 -5
- package/out/zql/src/query/static-query.js.map +1 -1
- package/package.json +1 -1
- package/out/zero-protocol/src/clients-patch.d.ts +0 -37
- package/out/zero-protocol/src/clients-patch.d.ts.map +0 -1
- package/out/zero-protocol/src/clients-patch.js +0 -15
- package/out/zero-protocol/src/clients-patch.js.map +0 -1
|
@@ -81,13 +81,13 @@ export class CVRConfigDrivenUpdater extends CVRUpdater {
|
|
|
81
81
|
#ensureClient(id) {
|
|
82
82
|
let client = this._cvr.clients[id];
|
|
83
83
|
if (client) {
|
|
84
|
-
return
|
|
84
|
+
return client;
|
|
85
85
|
}
|
|
86
86
|
// Add the ClientRecord and PutPatch
|
|
87
|
-
|
|
88
|
-
client = { id, patchVersion: newVersion, desiredQueryIDs: [] };
|
|
87
|
+
client = { id, desiredQueryIDs: [] };
|
|
89
88
|
this._cvr.clients[id] = client;
|
|
90
|
-
this.
|
|
89
|
+
const newVersion = this._ensureNewVersion();
|
|
90
|
+
this._cvrStore.insertClient(client, newVersion);
|
|
91
91
|
if (!this._cvr.queries[CLIENT_LMID_QUERY_ID]) {
|
|
92
92
|
const lmidsQuery = {
|
|
93
93
|
id: CLIENT_LMID_QUERY_ID,
|
|
@@ -116,15 +116,11 @@ export class CVRConfigDrivenUpdater extends CVRUpdater {
|
|
|
116
116
|
this._cvr.queries[CLIENT_LMID_QUERY_ID] = lmidsQuery;
|
|
117
117
|
this._cvrStore.putQuery(lmidsQuery);
|
|
118
118
|
}
|
|
119
|
-
return
|
|
120
|
-
client,
|
|
121
|
-
patches: [
|
|
122
|
-
{ toVersion: newVersion, patch: { type: 'client', op: 'put', id } },
|
|
123
|
-
],
|
|
124
|
-
};
|
|
119
|
+
return client;
|
|
125
120
|
}
|
|
126
121
|
putDesiredQueries(clientID, queries) {
|
|
127
|
-
const
|
|
122
|
+
const patches = [];
|
|
123
|
+
const client = this.#ensureClient(clientID);
|
|
128
124
|
const current = new Set(client.desiredQueryIDs);
|
|
129
125
|
const additional = new Set(queries.map(({ hash }) => hash));
|
|
130
126
|
const needed = difference(additional, current);
|
|
@@ -134,22 +130,30 @@ export class CVRConfigDrivenUpdater extends CVRUpdater {
|
|
|
134
130
|
const newVersion = this._ensureNewVersion();
|
|
135
131
|
client.desiredQueryIDs = [...union(current, needed)].sort(compareUTF8);
|
|
136
132
|
for (const id of needed) {
|
|
137
|
-
const { ast } = must(queries.find(({ hash }) => hash === id));
|
|
133
|
+
const { ast, ttl = null } = must(queries.find(({ hash }) => hash === id));
|
|
138
134
|
const query = this._cvr.queries[id] ?? { id, ast, desiredBy: {} };
|
|
139
135
|
assertNotInternal(query);
|
|
140
|
-
|
|
136
|
+
const expiresAt = null;
|
|
137
|
+
const inactivatedAt = null;
|
|
138
|
+
query.desiredBy[clientID] = {
|
|
139
|
+
expiresAt,
|
|
140
|
+
inactivatedAt,
|
|
141
|
+
ttl,
|
|
142
|
+
version: newVersion,
|
|
143
|
+
};
|
|
141
144
|
this._cvr.queries[id] = query;
|
|
142
145
|
patches.push({
|
|
143
146
|
toVersion: newVersion,
|
|
144
147
|
patch: { type: 'query', op: 'put', id, ast, clientID },
|
|
145
148
|
});
|
|
146
149
|
this._cvrStore.putQuery(query);
|
|
147
|
-
this._cvrStore.insertDesiredQuery(newVersion, query, client, false);
|
|
150
|
+
this._cvrStore.insertDesiredQuery(newVersion, query, client, false, expiresAt, inactivatedAt, ttl);
|
|
148
151
|
}
|
|
149
152
|
return patches;
|
|
150
153
|
}
|
|
151
154
|
deleteDesiredQueries(clientID, queries) {
|
|
152
|
-
const
|
|
155
|
+
const patches = [];
|
|
156
|
+
const client = this.#ensureClient(clientID);
|
|
153
157
|
const current = new Set(client.desiredQueryIDs);
|
|
154
158
|
const unwanted = new Set(queries);
|
|
155
159
|
const remove = intersection(unwanted, current);
|
|
@@ -158,7 +162,6 @@ export class CVRConfigDrivenUpdater extends CVRUpdater {
|
|
|
158
162
|
}
|
|
159
163
|
const newVersion = this._ensureNewVersion();
|
|
160
164
|
client.desiredQueryIDs = [...difference(current, remove)].sort(compareUTF8);
|
|
161
|
-
this._cvrStore.updateClientPatchVersion(client.id, client.patchVersion);
|
|
162
165
|
for (const id of remove) {
|
|
163
166
|
const query = this._cvr.queries[id];
|
|
164
167
|
if (!query) {
|
|
@@ -167,7 +170,7 @@ export class CVRConfigDrivenUpdater extends CVRUpdater {
|
|
|
167
170
|
assertNotInternal(query);
|
|
168
171
|
delete query.desiredBy[clientID];
|
|
169
172
|
this._cvrStore.putQuery(query);
|
|
170
|
-
this._cvrStore.insertDesiredQuery(newVersion, query, client, true);
|
|
173
|
+
this._cvrStore.insertDesiredQuery(newVersion, query, client, true, null, null, null);
|
|
171
174
|
patches.push({
|
|
172
175
|
toVersion: newVersion,
|
|
173
176
|
patch: { type: 'query', op: 'del', id, clientID },
|
|
@@ -176,11 +179,8 @@ export class CVRConfigDrivenUpdater extends CVRUpdater {
|
|
|
176
179
|
return patches;
|
|
177
180
|
}
|
|
178
181
|
clearDesiredQueries(clientID) {
|
|
179
|
-
const
|
|
180
|
-
return
|
|
181
|
-
...patches,
|
|
182
|
-
...this.deleteDesiredQueries(clientID, client.desiredQueryIDs),
|
|
183
|
-
];
|
|
182
|
+
const client = this.#ensureClient(clientID);
|
|
183
|
+
return this.deleteDesiredQueries(clientID, client.desiredQueryIDs);
|
|
184
184
|
}
|
|
185
185
|
flush(lc, skipNoopFlushes, lastConnectTime, lastActive = Date.now()) {
|
|
186
186
|
// TODO: Add cleanup of no-longer-desired got queries and constituent rows.
|
|
@@ -271,7 +271,7 @@ export class CVRQueryDrivenUpdater extends CVRUpdater {
|
|
|
271
271
|
lc.debug?.(`found ${results.size} (of ${total}) rows for executed / removed queries ${[
|
|
272
272
|
...this.#removedOrExecutedQueryIDs,
|
|
273
273
|
]}`);
|
|
274
|
-
return
|
|
274
|
+
return results.values();
|
|
275
275
|
}
|
|
276
276
|
/**
|
|
277
277
|
* Tracks an executed query, ensures that it is marked as "gotten",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cvr.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/cvr.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cvr.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/cvr.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import type { LogContext } from '@rocicorp/logger';
|
|
2
|
+
import type { PendingQuery, Row } from 'postgres';
|
|
3
|
+
import type { PostgresDB, PostgresTransaction } from '../../types/pg.ts';
|
|
4
|
+
import type { CVRSnapshot } from './cvr.ts';
|
|
5
|
+
import { type RowsRow } from './schema/cvr.ts';
|
|
6
|
+
import { type CVRVersion, type NullableCVRVersion, type RowID, type RowRecord } from './schema/types.ts';
|
|
7
|
+
/**
|
|
8
|
+
* The RowRecordCache is an in-memory cache of the `cvr.rows` tables that
|
|
9
|
+
* operates as both a write-through and write-back cache.
|
|
10
|
+
*
|
|
11
|
+
* For "small" CVR updates (i.e. zero or small numbers of rows) the
|
|
12
|
+
* RowRecordCache operates as write-through, executing commits in
|
|
13
|
+
* {@link executeRowUpdates()} before they are {@link apply}-ed to the
|
|
14
|
+
* in-memory state.
|
|
15
|
+
*
|
|
16
|
+
* For "large" CVR updates (i.e. with many rows), the cache switches to a
|
|
17
|
+
* write-back mode of operation, in which {@link executeRowUpdates()} is a
|
|
18
|
+
* no-op, and {@link apply()} initiates a background task to flush the pending
|
|
19
|
+
* row changes to the store. This allows the client poke to be completed and
|
|
20
|
+
* committed on the client without waiting for the heavyweight operation of
|
|
21
|
+
* committing the row records to the CVR store.
|
|
22
|
+
*
|
|
23
|
+
* Note that when the cache is in write-back mode, all updates become
|
|
24
|
+
* write-back (i.e. asynchronously flushed) until the pending update queue is
|
|
25
|
+
* fully flushed. This is required because updates must be applied in version
|
|
26
|
+
* order. As with all pending work systems in zero-cache, multiple pending
|
|
27
|
+
* updates are coalesced to reduce buildup of work.
|
|
28
|
+
*
|
|
29
|
+
* ### High level consistency
|
|
30
|
+
*
|
|
31
|
+
* Note that the above caching scheme only applies to the row data in `cvr.rows`
|
|
32
|
+
* and corresponding `cvr.rowsVersion` tables. CVR metadata and query
|
|
33
|
+
* information, on the other hand, are always committed before completing the
|
|
34
|
+
* client poke. In this manner, the difference between the `version` column in
|
|
35
|
+
* `cvr.instances` and the analogous column in `cvr.rowsVersion` determines
|
|
36
|
+
* whether the data in the store is consistent, or whether it is awaiting a
|
|
37
|
+
* pending update.
|
|
38
|
+
*
|
|
39
|
+
* The logic in {@link CVRStore.load()} takes this into account by loading both
|
|
40
|
+
* the `cvr.instances` version and the `cvr.rowsVersion` version and checking
|
|
41
|
+
* if they are in sync, waiting for a configurable delay until they are.
|
|
42
|
+
*
|
|
43
|
+
* ### Eventual conversion
|
|
44
|
+
*
|
|
45
|
+
* In the event of a continual stream of mutations (e.g. an animation-style
|
|
46
|
+
* app), it is conceivable that the row record data be continually behind
|
|
47
|
+
* the CVR metadata. In order to effect eventual convergence, a new view-syncer
|
|
48
|
+
* signals the current view-syncer to stop updating by writing new `owner`
|
|
49
|
+
* information to the `cvr.instances` row. This effectively stops the mutation
|
|
50
|
+
* processing (in {@link CVRStore.#checkVersionAndOwnership}) so that the row
|
|
51
|
+
* data can eventually catch up, allowing the new view-syncer to take over.
|
|
52
|
+
*
|
|
53
|
+
* Of course, there is the pathological situation in which a view-syncer
|
|
54
|
+
* process crashes before the pending row updates are flushed. In this case,
|
|
55
|
+
* the wait timeout will elapse and the CVR considered invalid.
|
|
56
|
+
*/
|
|
57
|
+
export declare class RowRecordCache {
|
|
58
|
+
#private;
|
|
59
|
+
constructor(lc: LogContext, db: PostgresDB, shardID: string, cvrID: string, failService: (e: unknown) => void, deferredRowFlushThreshold?: number, setTimeoutFn?: typeof setTimeout);
|
|
60
|
+
getRowRecords(): Promise<ReadonlyMap<RowID, RowRecord>>;
|
|
61
|
+
/**
|
|
62
|
+
* Applies the `rowRecords` corresponding to the `rowsVersion`
|
|
63
|
+
* to the cache, indicating whether the corresponding updates
|
|
64
|
+
* (generated by {@link executeRowUpdates}) were `flushed`.
|
|
65
|
+
*
|
|
66
|
+
* If `flushed` is false, the RowRecordCache will flush the records
|
|
67
|
+
* asynchronously.
|
|
68
|
+
*
|
|
69
|
+
* Note that `apply()` indicates that the CVR metadata associated with
|
|
70
|
+
* the `rowRecords` was successfully committed, which essentially means
|
|
71
|
+
* that this process has the unconditional right (and responsibility) of
|
|
72
|
+
* following up with a flush of the `rowRecords`. In particular, the
|
|
73
|
+
* commit of row records are not conditioned on the version or ownership
|
|
74
|
+
* columns of the `cvr.instances` row.
|
|
75
|
+
*/
|
|
76
|
+
apply(rowRecords: Map<RowID, RowRecord | null>, rowsVersion: CVRVersion, flushed: boolean): Promise<void>;
|
|
77
|
+
hasPendingUpdates(): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Returns a promise that resolves when all outstanding row-records
|
|
80
|
+
* have been committed.
|
|
81
|
+
*/
|
|
82
|
+
flushed(lc: LogContext): Promise<void>;
|
|
83
|
+
clear(): void;
|
|
84
|
+
catchupRowPatches(lc: LogContext, afterVersion: NullableCVRVersion, upToCVR: CVRSnapshot, current: CVRVersion, excludeQueryHashes?: string[]): AsyncGenerator<RowsRow[], void, undefined>;
|
|
85
|
+
executeRowUpdates(tx: PostgresTransaction, version: CVRVersion, rowUpdates: Map<RowID, RowRecord | null>, mode: 'allow-defer' | 'force'): PendingQuery<Row[]>[];
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=row-record-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"row-record-cache.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/row-record-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAC,YAAY,EAAE,GAAG,EAAC,MAAM,UAAU,CAAC;AAMhD,OAAO,KAAK,EAAC,UAAU,EAAE,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AAGvE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAGL,KAAK,OAAO,EAEb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,KAAK,EACV,KAAK,SAAS,EAGf,MAAM,mBAAmB,CAAC;AAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,qBAAa,cAAc;;gBAoBvB,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,EACjC,yBAAyB,SAAM,EAC/B,YAAY,oBAAa;IAuC3B,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAIvD;;;;;;;;;;;;;;OAcG;IACG,KAAK,CACT,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC,EACxC,WAAW,EAAE,UAAU,EACvB,OAAO,EAAE,OAAO;IAwDlB,iBAAiB;IAIjB;;;OAGG;IACH,OAAO,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtC,KAAK;IAOE,iBAAiB,CACtB,EAAE,EAAE,UAAU,EACd,YAAY,EAAE,kBAAkB,EAChC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,EACnB,kBAAkB,GAAE,MAAM,EAAO,GAChC,cAAc,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC;IAmD7C,iBAAiB,CACf,EAAE,EAAE,mBAAmB,EACvB,OAAO,EAAE,UAAU,EACnB,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC,EACxC,IAAI,EAAE,aAAa,GAAG,OAAO,GAC5B,YAAY,CAAC,GAAG,EAAE,CAAC,EAAE;CAiEzB"}
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
import { resolver } from '@rocicorp/resolver';
|
|
2
|
+
import { CustomKeyMap } from "../../../../shared/src/custom-key-map.js";
|
|
3
|
+
import { must } from "../../../../shared/src/must.js";
|
|
4
|
+
import { promiseVoid } from "../../../../shared/src/resolved-promises.js";
|
|
5
|
+
import * as Mode from "../../db/mode-enum.js";
|
|
6
|
+
import { TransactionPool } from "../../db/transaction-pool.js";
|
|
7
|
+
import { rowIDString } from "../../types/row-key.js";
|
|
8
|
+
import { checkVersion } from "./cvr-store.js";
|
|
9
|
+
import { cvrSchema, rowRecordToRowsRow, rowsRowToRowRecord, } from "./schema/cvr.js";
|
|
10
|
+
import { cmpVersions, versionString, versionToNullableCookie, } from "./schema/types.js";
|
|
11
|
+
/**
|
|
12
|
+
* The RowRecordCache is an in-memory cache of the `cvr.rows` tables that
|
|
13
|
+
* operates as both a write-through and write-back cache.
|
|
14
|
+
*
|
|
15
|
+
* For "small" CVR updates (i.e. zero or small numbers of rows) the
|
|
16
|
+
* RowRecordCache operates as write-through, executing commits in
|
|
17
|
+
* {@link executeRowUpdates()} before they are {@link apply}-ed to the
|
|
18
|
+
* in-memory state.
|
|
19
|
+
*
|
|
20
|
+
* For "large" CVR updates (i.e. with many rows), the cache switches to a
|
|
21
|
+
* write-back mode of operation, in which {@link executeRowUpdates()} is a
|
|
22
|
+
* no-op, and {@link apply()} initiates a background task to flush the pending
|
|
23
|
+
* row changes to the store. This allows the client poke to be completed and
|
|
24
|
+
* committed on the client without waiting for the heavyweight operation of
|
|
25
|
+
* committing the row records to the CVR store.
|
|
26
|
+
*
|
|
27
|
+
* Note that when the cache is in write-back mode, all updates become
|
|
28
|
+
* write-back (i.e. asynchronously flushed) until the pending update queue is
|
|
29
|
+
* fully flushed. This is required because updates must be applied in version
|
|
30
|
+
* order. As with all pending work systems in zero-cache, multiple pending
|
|
31
|
+
* updates are coalesced to reduce buildup of work.
|
|
32
|
+
*
|
|
33
|
+
* ### High level consistency
|
|
34
|
+
*
|
|
35
|
+
* Note that the above caching scheme only applies to the row data in `cvr.rows`
|
|
36
|
+
* and corresponding `cvr.rowsVersion` tables. CVR metadata and query
|
|
37
|
+
* information, on the other hand, are always committed before completing the
|
|
38
|
+
* client poke. In this manner, the difference between the `version` column in
|
|
39
|
+
* `cvr.instances` and the analogous column in `cvr.rowsVersion` determines
|
|
40
|
+
* whether the data in the store is consistent, or whether it is awaiting a
|
|
41
|
+
* pending update.
|
|
42
|
+
*
|
|
43
|
+
* The logic in {@link CVRStore.load()} takes this into account by loading both
|
|
44
|
+
* the `cvr.instances` version and the `cvr.rowsVersion` version and checking
|
|
45
|
+
* if they are in sync, waiting for a configurable delay until they are.
|
|
46
|
+
*
|
|
47
|
+
* ### Eventual conversion
|
|
48
|
+
*
|
|
49
|
+
* In the event of a continual stream of mutations (e.g. an animation-style
|
|
50
|
+
* app), it is conceivable that the row record data be continually behind
|
|
51
|
+
* the CVR metadata. In order to effect eventual convergence, a new view-syncer
|
|
52
|
+
* signals the current view-syncer to stop updating by writing new `owner`
|
|
53
|
+
* information to the `cvr.instances` row. This effectively stops the mutation
|
|
54
|
+
* processing (in {@link CVRStore.#checkVersionAndOwnership}) so that the row
|
|
55
|
+
* data can eventually catch up, allowing the new view-syncer to take over.
|
|
56
|
+
*
|
|
57
|
+
* Of course, there is the pathological situation in which a view-syncer
|
|
58
|
+
* process crashes before the pending row updates are flushed. In this case,
|
|
59
|
+
* the wait timeout will elapse and the CVR considered invalid.
|
|
60
|
+
*/
|
|
61
|
+
export class RowRecordCache {
|
|
62
|
+
// The state in the #cache is always in sync with the CVR metadata
|
|
63
|
+
// (i.e. cvr.instances). It may contain information that has not yet
|
|
64
|
+
// been flushed to cvr.rows.
|
|
65
|
+
#cache;
|
|
66
|
+
#lc;
|
|
67
|
+
#db;
|
|
68
|
+
#schema;
|
|
69
|
+
#cvrID;
|
|
70
|
+
#failService;
|
|
71
|
+
#deferredRowFlushThreshold;
|
|
72
|
+
#setTimeout;
|
|
73
|
+
// Write-back cache state.
|
|
74
|
+
#pending = new CustomKeyMap(rowIDString);
|
|
75
|
+
#pendingRowsVersion = null;
|
|
76
|
+
#flushedRowsVersion = null;
|
|
77
|
+
#flushing = null;
|
|
78
|
+
constructor(lc, db, shardID, cvrID, failService, deferredRowFlushThreshold = 100, setTimeoutFn = setTimeout) {
|
|
79
|
+
this.#lc = lc;
|
|
80
|
+
this.#db = db;
|
|
81
|
+
this.#schema = cvrSchema(shardID);
|
|
82
|
+
this.#cvrID = cvrID;
|
|
83
|
+
this.#failService = failService;
|
|
84
|
+
this.#deferredRowFlushThreshold = deferredRowFlushThreshold;
|
|
85
|
+
this.#setTimeout = setTimeoutFn;
|
|
86
|
+
}
|
|
87
|
+
#cvr(table) {
|
|
88
|
+
return this.#db(`${this.#schema}.${table}`);
|
|
89
|
+
}
|
|
90
|
+
async #ensureLoaded() {
|
|
91
|
+
if (this.#cache) {
|
|
92
|
+
return this.#cache;
|
|
93
|
+
}
|
|
94
|
+
const r = resolver();
|
|
95
|
+
// Set this.#cache immediately (before await) so that only one db
|
|
96
|
+
// query is made even if there are multiple callers.
|
|
97
|
+
this.#cache = r.promise;
|
|
98
|
+
const cache = new CustomKeyMap(rowIDString);
|
|
99
|
+
for await (const rows of this.#db `
|
|
100
|
+
SELECT * FROM ${this.#cvr(`rows`)}
|
|
101
|
+
WHERE "clientGroupID" = ${this.#cvrID} AND "refCounts" IS NOT NULL`
|
|
102
|
+
// TODO(arv): Arbitrary page size
|
|
103
|
+
.cursor(5000)) {
|
|
104
|
+
for (const row of rows) {
|
|
105
|
+
const rowRecord = rowsRowToRowRecord(row);
|
|
106
|
+
cache.set(rowRecord.id, rowRecord);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
r.resolve(cache);
|
|
110
|
+
return this.#cache;
|
|
111
|
+
}
|
|
112
|
+
getRowRecords() {
|
|
113
|
+
return this.#ensureLoaded();
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Applies the `rowRecords` corresponding to the `rowsVersion`
|
|
117
|
+
* to the cache, indicating whether the corresponding updates
|
|
118
|
+
* (generated by {@link executeRowUpdates}) were `flushed`.
|
|
119
|
+
*
|
|
120
|
+
* If `flushed` is false, the RowRecordCache will flush the records
|
|
121
|
+
* asynchronously.
|
|
122
|
+
*
|
|
123
|
+
* Note that `apply()` indicates that the CVR metadata associated with
|
|
124
|
+
* the `rowRecords` was successfully committed, which essentially means
|
|
125
|
+
* that this process has the unconditional right (and responsibility) of
|
|
126
|
+
* following up with a flush of the `rowRecords`. In particular, the
|
|
127
|
+
* commit of row records are not conditioned on the version or ownership
|
|
128
|
+
* columns of the `cvr.instances` row.
|
|
129
|
+
*/
|
|
130
|
+
async apply(rowRecords, rowsVersion, flushed) {
|
|
131
|
+
const cache = await this.#ensureLoaded();
|
|
132
|
+
for (const [id, row] of rowRecords.entries()) {
|
|
133
|
+
if (row === null || row.refCounts === null) {
|
|
134
|
+
cache.delete(id);
|
|
135
|
+
}
|
|
136
|
+
else {
|
|
137
|
+
cache.set(id, row);
|
|
138
|
+
}
|
|
139
|
+
if (!flushed) {
|
|
140
|
+
this.#pending.set(id, row);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
this.#pendingRowsVersion = rowsVersion;
|
|
144
|
+
// Initiate a flush if not already flushing.
|
|
145
|
+
if (!flushed && this.#flushing === null) {
|
|
146
|
+
this.#flushing = resolver();
|
|
147
|
+
this.#setTimeout(() => this.#flush(), 0);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
async #flush() {
|
|
151
|
+
const flushing = must(this.#flushing);
|
|
152
|
+
try {
|
|
153
|
+
while (this.#pendingRowsVersion !== this.#flushedRowsVersion) {
|
|
154
|
+
const start = Date.now();
|
|
155
|
+
const { rows, rowsVersion } = await this.#db.begin(tx => {
|
|
156
|
+
// Note: This code block is synchronous, guaranteeing that the
|
|
157
|
+
// #pendingRowsVersion is consistent with the #pending rows.
|
|
158
|
+
const rows = this.#pending.size;
|
|
159
|
+
const rowsVersion = must(this.#pendingRowsVersion);
|
|
160
|
+
this.executeRowUpdates(tx, rowsVersion, this.#pending, 'force');
|
|
161
|
+
this.#pending.clear();
|
|
162
|
+
return { rows, rowsVersion };
|
|
163
|
+
});
|
|
164
|
+
this.#lc.debug?.(`flushed ${rows} rows@${versionString(rowsVersion)} (${Date.now() - start} ms)`);
|
|
165
|
+
this.#flushedRowsVersion = rowsVersion;
|
|
166
|
+
// Note: apply() may have called while the transaction was committing,
|
|
167
|
+
// which will result in looping to commit the next #pendingRowsVersion.
|
|
168
|
+
}
|
|
169
|
+
this.#lc.debug?.(`up to date rows@${versionToNullableCookie(this.#flushedRowsVersion)}`);
|
|
170
|
+
flushing.resolve();
|
|
171
|
+
this.#flushing = null;
|
|
172
|
+
}
|
|
173
|
+
catch (e) {
|
|
174
|
+
flushing.reject(e);
|
|
175
|
+
this.#failService(e);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
hasPendingUpdates() {
|
|
179
|
+
return this.#flushing !== null;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Returns a promise that resolves when all outstanding row-records
|
|
183
|
+
* have been committed.
|
|
184
|
+
*/
|
|
185
|
+
flushed(lc) {
|
|
186
|
+
if (this.#flushing) {
|
|
187
|
+
lc.debug?.('awaiting pending row flush');
|
|
188
|
+
return this.#flushing.promise;
|
|
189
|
+
}
|
|
190
|
+
return promiseVoid;
|
|
191
|
+
}
|
|
192
|
+
clear() {
|
|
193
|
+
// Note: Only the #cache is cleared. #pending updates, on the other hand,
|
|
194
|
+
// comprise canonical (i.e. already flushed) data and must be flushed
|
|
195
|
+
// even if the snapshot of the present state (the #cache) is cleared.
|
|
196
|
+
this.#cache = undefined;
|
|
197
|
+
}
|
|
198
|
+
async *catchupRowPatches(lc, afterVersion, upToCVR, current, excludeQueryHashes = []) {
|
|
199
|
+
if (cmpVersions(afterVersion, upToCVR.version) >= 0) {
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
const startMs = Date.now();
|
|
203
|
+
const start = afterVersion ? versionString(afterVersion) : '';
|
|
204
|
+
const end = versionString(upToCVR.version);
|
|
205
|
+
lc.debug?.(`scanning row patches for clients from ${start}`);
|
|
206
|
+
// Before accessing the CVR db, pending row records must be flushed.
|
|
207
|
+
// Note that because catchupRowPatches() is called from within the
|
|
208
|
+
// view syncer lock, this flush is guaranteed to complete since no
|
|
209
|
+
// new CVR updates can happen while the lock is held.
|
|
210
|
+
await this.flushed(lc);
|
|
211
|
+
const flushMs = Date.now() - startMs;
|
|
212
|
+
const reader = new TransactionPool(lc, Mode.READONLY).run(this.#db);
|
|
213
|
+
try {
|
|
214
|
+
// Verify that we are reading the right version of the CVR.
|
|
215
|
+
await reader.processReadTask(tx => checkVersion(tx, this.#schema, this.#cvrID, current));
|
|
216
|
+
const { query } = await reader.processReadTask(tx => {
|
|
217
|
+
const query = excludeQueryHashes.length === 0
|
|
218
|
+
? tx `SELECT * FROM ${this.#cvr('rows')}
|
|
219
|
+
WHERE "clientGroupID" = ${this.#cvrID}
|
|
220
|
+
AND "patchVersion" > ${start}
|
|
221
|
+
AND "patchVersion" <= ${end}`
|
|
222
|
+
: // Exclude rows that were already sent as part of query hydration.
|
|
223
|
+
tx `SELECT * FROM ${this.#cvr('rows')}
|
|
224
|
+
WHERE "clientGroupID" = ${this.#cvrID}
|
|
225
|
+
AND "patchVersion" > ${start}
|
|
226
|
+
AND "patchVersion" <= ${end}
|
|
227
|
+
AND ("refCounts" IS NULL OR NOT "refCounts" ?| ${excludeQueryHashes})`;
|
|
228
|
+
return { query };
|
|
229
|
+
});
|
|
230
|
+
yield* query.cursor(10000);
|
|
231
|
+
}
|
|
232
|
+
finally {
|
|
233
|
+
reader.setDone();
|
|
234
|
+
}
|
|
235
|
+
const totalMs = Date.now() - startMs;
|
|
236
|
+
lc.debug?.(`finished row catchup (flush: ${flushMs} ms, total: ${totalMs} ms)`);
|
|
237
|
+
}
|
|
238
|
+
executeRowUpdates(tx, version, rowUpdates, mode) {
|
|
239
|
+
if (mode === 'allow-defer' &&
|
|
240
|
+
// defer if pending rows are being flushed
|
|
241
|
+
(this.#flushing !== null ||
|
|
242
|
+
// or if the new batch is above the limit.
|
|
243
|
+
rowUpdates.size > this.#deferredRowFlushThreshold)) {
|
|
244
|
+
return [];
|
|
245
|
+
}
|
|
246
|
+
const rowsVersion = {
|
|
247
|
+
clientGroupID: this.#cvrID,
|
|
248
|
+
version: versionString(version),
|
|
249
|
+
};
|
|
250
|
+
const pending = [
|
|
251
|
+
tx `INSERT INTO ${this.#cvr('rowsVersion')} ${tx(rowsVersion)}
|
|
252
|
+
ON CONFLICT ("clientGroupID")
|
|
253
|
+
DO UPDATE SET ${tx(rowsVersion)}`.execute(),
|
|
254
|
+
];
|
|
255
|
+
const rowRecordRows = [];
|
|
256
|
+
for (const [id, row] of rowUpdates.entries()) {
|
|
257
|
+
if (row === null) {
|
|
258
|
+
pending.push(tx `
|
|
259
|
+
DELETE FROM ${this.#cvr('rows')}
|
|
260
|
+
WHERE "clientGroupID" = ${this.#cvrID}
|
|
261
|
+
AND "schema" = ${id.schema}
|
|
262
|
+
AND "table" = ${id.table}
|
|
263
|
+
AND "rowKey" = ${id.rowKey}
|
|
264
|
+
`.execute());
|
|
265
|
+
}
|
|
266
|
+
else {
|
|
267
|
+
rowRecordRows.push(rowRecordToRowsRow(this.#cvrID, row));
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
if (rowRecordRows.length) {
|
|
271
|
+
pending.push(tx `
|
|
272
|
+
INSERT INTO ${this.#cvr('rows')}(
|
|
273
|
+
"clientGroupID", "schema", "table", "rowKey", "rowVersion", "patchVersion", "refCounts"
|
|
274
|
+
) SELECT
|
|
275
|
+
"clientGroupID", "schema", "table", "rowKey", "rowVersion", "patchVersion", "refCounts"
|
|
276
|
+
FROM json_to_recordset(${rowRecordRows}) AS x(
|
|
277
|
+
"clientGroupID" TEXT,
|
|
278
|
+
"schema" TEXT,
|
|
279
|
+
"table" TEXT,
|
|
280
|
+
"rowKey" JSONB,
|
|
281
|
+
"rowVersion" TEXT,
|
|
282
|
+
"patchVersion" TEXT,
|
|
283
|
+
"refCounts" JSONB
|
|
284
|
+
) ON CONFLICT ("clientGroupID", "schema", "table", "rowKey")
|
|
285
|
+
DO UPDATE SET "rowVersion" = excluded."rowVersion",
|
|
286
|
+
"patchVersion" = excluded."patchVersion",
|
|
287
|
+
"refCounts" = excluded."refCounts"
|
|
288
|
+
`.execute());
|
|
289
|
+
this.#lc.debug?.(`flushing ${rowUpdates.size} rows (${rowRecordRows.length} inserts, ${rowUpdates.size - rowRecordRows.length} deletes)`);
|
|
290
|
+
}
|
|
291
|
+
return pending;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
//# sourceMappingURL=row-record-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"row-record-cache.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/row-record-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,9 @@ export declare function compareInstancesRows(a: InstancesRow, b: InstancesRow):
|
|
|
15
15
|
export type ClientsRow = {
|
|
16
16
|
clientGroupID: string;
|
|
17
17
|
clientID: string;
|
|
18
|
+
/** @deprecated */
|
|
18
19
|
patchVersion: string;
|
|
20
|
+
/** @deprecated */
|
|
19
21
|
deleted: boolean | null;
|
|
20
22
|
};
|
|
21
23
|
export declare function compareClientsRows(a: ClientsRow, b: ClientsRow): number;
|
|
@@ -36,6 +38,9 @@ export type DesiresRow = {
|
|
|
36
38
|
queryHash: string;
|
|
37
39
|
patchVersion: string;
|
|
38
40
|
deleted: boolean | null;
|
|
41
|
+
ttl: number | null;
|
|
42
|
+
expiresAt: number | null;
|
|
43
|
+
inactivatedAt: number | null;
|
|
39
44
|
};
|
|
40
45
|
export declare function compareDesiresRows(a: DesiresRow, b: DesiresRow): number;
|
|
41
46
|
export type RowsRow = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cvr.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/cvr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAErC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,SAAS,EAEf,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,KAAK,KAAK,EACV,KAAK,SAAS,EAGf,MAAM,YAAY,CAAC;AAEpB,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,UAExC;AAWD,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAeF,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,UAEpE;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB,CAAC;
|
|
1
|
+
{"version":3,"file":"cvr.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/cvr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAErC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,SAAS,EAEf,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,KAAK,KAAK,EACV,KAAK,SAAS,EAGf,MAAM,YAAY,CAAC;AAEpB,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,UAExC;AAWD,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAeF,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,UAEpE;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB;IAClB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB,CAAC;AAuBF,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,UAM9D;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB,CAAC;AA2BF,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,UAM9D;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AA0CF,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,UAU9D;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE;QAAC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,GAAG,IAAI,CAAC;CACjD,CAAC;AAEF,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,CAMtD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,CAO9D;AAED,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,SAAS,GACnB,OAAO,CAUT;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,UAiBrD;AAiCD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,UAOrD;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAcF,wBAAsB,cAAc,CAClC,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,QAAQ,CAAC,cAAc,EAC3B,OAAO,EAAE,MAAM,iBAIhB"}
|