mindoodb 0.0.89 → 0.0.91
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/README.md +1 -0
- package/dist/browser/index.mjs +15 -0
- package/dist/core/BaseMindooDB.d.ts +18 -0
- package/dist/core/BaseMindooDB.d.ts.map +1 -1
- package/dist/core/BaseMindooDB.js +57 -0
- package/dist/core/BaseMindooDB.js.map +1 -1
- package/dist/core/BaseMindooTenant.d.ts +3 -0
- package/dist/core/BaseMindooTenant.d.ts.map +1 -1
- package/dist/core/BaseMindooTenant.js +28 -0
- package/dist/core/BaseMindooTenant.js.map +1 -1
- package/dist/core/BaseMindooTenantDirectory.d.ts +2 -1
- package/dist/core/BaseMindooTenantDirectory.d.ts.map +1 -1
- package/dist/core/BaseMindooTenantDirectory.js +10 -2
- package/dist/core/BaseMindooTenantDirectory.js.map +1 -1
- package/dist/core/expressions/builder.d.ts +30 -0
- package/dist/core/expressions/builder.d.ts.map +1 -1
- package/dist/core/expressions/builder.js +42 -0
- package/dist/core/expressions/builder.js.map +1 -1
- package/dist/core/expressions/evaluateExpression.d.ts +10 -0
- package/dist/core/expressions/evaluateExpression.d.ts.map +1 -1
- package/dist/core/expressions/evaluateExpression.js +66 -1
- package/dist/core/expressions/evaluateExpression.js.map +1 -1
- package/dist/core/expressions/formulaSource.d.ts.map +1 -1
- package/dist/core/expressions/formulaSource.js +5 -0
- package/dist/core/expressions/formulaSource.js.map +1 -1
- package/dist/core/expressions/index.d.ts +1 -1
- package/dist/core/expressions/index.d.ts.map +1 -1
- package/dist/core/expressions/index.js +2 -1
- package/dist/core/expressions/index.js.map +1 -1
- package/dist/core/expressions/metadata.d.ts +2 -2
- package/dist/core/expressions/metadata.d.ts.map +1 -1
- package/dist/core/expressions/metadata.js +14 -0
- package/dist/core/expressions/metadata.js.map +1 -1
- package/dist/core/expressions/types.d.ts +1 -1
- package/dist/core/expressions/types.d.ts.map +1 -1
- package/dist/core/filing/FilingIndex.d.ts +209 -0
- package/dist/core/filing/FilingIndex.d.ts.map +1 -0
- package/dist/core/filing/FilingIndex.js +689 -0
- package/dist/core/filing/FilingIndex.js.map +1 -0
- package/dist/core/filing/MindooFilingStore.d.ts +200 -0
- package/dist/core/filing/MindooFilingStore.d.ts.map +1 -0
- package/dist/core/filing/MindooFilingStore.js +515 -0
- package/dist/core/filing/MindooFilingStore.js.map +1 -0
- package/dist/core/filing/index.d.ts +4 -0
- package/dist/core/filing/index.d.ts.map +1 -0
- package/dist/core/filing/index.js +22 -0
- package/dist/core/filing/index.js.map +1 -0
- package/dist/core/filing/refs.d.ts +56 -0
- package/dist/core/filing/refs.d.ts.map +1 -0
- package/dist/core/filing/refs.js +109 -0
- package/dist/core/filing/refs.js.map +1 -0
- package/dist/core/index.d.ts +2 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +5 -2
- package/dist/core/index.js.map +1 -1
- package/dist/core/indexing/createViewDataProvider.d.ts +6 -0
- package/dist/core/indexing/createViewDataProvider.d.ts.map +1 -1
- package/dist/core/indexing/createViewDataProvider.js +26 -1
- package/dist/core/indexing/createViewDataProvider.js.map +1 -1
- package/dist/core/indexing/summary/DocumentSummaryStore.d.ts +43 -1
- package/dist/core/indexing/summary/DocumentSummaryStore.d.ts.map +1 -1
- package/dist/core/indexing/summary/DocumentSummaryStore.js +302 -2
- package/dist/core/indexing/summary/DocumentSummaryStore.js.map +1 -1
- package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.d.ts +33 -2
- package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.d.ts.map +1 -1
- package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.js +129 -26
- package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.js.map +1 -1
- package/dist/core/indexing/summary/types.d.ts +40 -0
- package/dist/core/indexing/summary/types.d.ts.map +1 -1
- package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts +27 -2
- package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts.map +1 -1
- package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js +106 -1
- package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js.map +1 -1
- package/dist/core/indexing/virtualviews/VirtualView.d.ts +70 -5
- package/dist/core/indexing/virtualviews/VirtualView.d.ts.map +1 -1
- package/dist/core/indexing/virtualviews/VirtualView.js +329 -28
- package/dist/core/indexing/virtualviews/VirtualView.js.map +1 -1
- package/dist/core/indexing/virtualviews/VirtualViewEntryData.d.ts +4 -22
- package/dist/core/indexing/virtualviews/VirtualViewEntryData.d.ts.map +1 -1
- package/dist/core/indexing/virtualviews/VirtualViewEntryData.js +175 -129
- package/dist/core/indexing/virtualviews/VirtualViewEntryData.js.map +1 -1
- package/dist/core/indexing/virtualviews/VirtualViewFactory.d.ts +28 -0
- package/dist/core/indexing/virtualviews/VirtualViewFactory.d.ts.map +1 -1
- package/dist/core/indexing/virtualviews/VirtualViewFactory.js +62 -0
- package/dist/core/indexing/virtualviews/VirtualViewFactory.js.map +1 -1
- package/dist/core/indexing/virtualviews/VirtualViewFilingJoin.d.ts +75 -0
- package/dist/core/indexing/virtualviews/VirtualViewFilingJoin.d.ts.map +1 -0
- package/dist/core/indexing/virtualviews/VirtualViewFilingJoin.js +163 -0
- package/dist/core/indexing/virtualviews/VirtualViewFilingJoin.js.map +1 -0
- package/dist/core/indexing/virtualviews/VirtualViewMergedNavigator.d.ts +112 -0
- package/dist/core/indexing/virtualviews/VirtualViewMergedNavigator.d.ts.map +1 -0
- package/dist/core/indexing/virtualviews/VirtualViewMergedNavigator.js +296 -0
- package/dist/core/indexing/virtualviews/VirtualViewMergedNavigator.js.map +1 -0
- package/dist/core/indexing/virtualviews/VirtualViewNavigator.d.ts +2 -0
- package/dist/core/indexing/virtualviews/VirtualViewNavigator.d.ts.map +1 -1
- package/dist/core/indexing/virtualviews/VirtualViewNavigator.js +10 -9
- package/dist/core/indexing/virtualviews/VirtualViewNavigator.js.map +1 -1
- package/dist/core/indexing/virtualviews/index.d.ts +2 -0
- package/dist/core/indexing/virtualviews/index.d.ts.map +1 -1
- package/dist/core/indexing/virtualviews/index.js +8 -1
- package/dist/core/indexing/virtualviews/index.js.map +1 -1
- package/dist/core/query/executeQuery.d.ts.map +1 -1
- package/dist/core/query/executeQuery.js +4 -0
- package/dist/core/query/executeQuery.js.map +1 -1
- package/dist/core/query/executeQueryInclude.d.ts.map +1 -1
- package/dist/core/query/executeQueryInclude.js +4 -0
- package/dist/core/query/executeQueryInclude.js.map +1 -1
- package/dist/core/query/queryView.d.ts.map +1 -1
- package/dist/core/query/queryView.js +4 -0
- package/dist/core/query/queryView.js.map +1 -1
- package/dist/core/types.d.ts +20 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,6 +5,7 @@ const VirtualViewDataChange_1 = require("../virtualviews/VirtualViewDataChange")
|
|
|
5
5
|
const evaluateExpression_1 = require("../../expressions/evaluateExpression");
|
|
6
6
|
const types_1 = require("../../query/types");
|
|
7
7
|
const extractSummaryFields_1 = require("./extractSummaryFields");
|
|
8
|
+
const VirtualViewFilingJoin_1 = require("../virtualviews/VirtualViewFilingJoin");
|
|
8
9
|
/**
|
|
9
10
|
* VirtualView data provider backed by the {@link DocumentSummaryStore}
|
|
10
11
|
* instead of document materialization — the engine behind ephemeral views
|
|
@@ -22,7 +23,7 @@ class SummaryVirtualViewDataProvider {
|
|
|
22
23
|
constructor(options) {
|
|
23
24
|
this.view = null;
|
|
24
25
|
/** Highest summary entry changeSeq already applied to the view. */
|
|
25
|
-
this.
|
|
26
|
+
this.appliedPosition = null;
|
|
26
27
|
/** Documents currently present in the view from this provider. */
|
|
27
28
|
this.knownDocIds = new Set();
|
|
28
29
|
/**
|
|
@@ -33,10 +34,97 @@ class SummaryVirtualViewDataProvider {
|
|
|
33
34
|
* which the changeSeq watermark alone would skip.
|
|
34
35
|
*/
|
|
35
36
|
this.lastTextScores = null;
|
|
37
|
+
/**
|
|
38
|
+
* Documents (ids of this database) whose folder membership changed and
|
|
39
|
+
* that must be re-evaluated on the next update even when their summary
|
|
40
|
+
* entry is unchanged — the filing counterpart of `lastTextScores`.
|
|
41
|
+
*/
|
|
42
|
+
this.pendingFilingDocIds = new Set();
|
|
43
|
+
/** Re-evaluate everything on the next update (first build, log overflow). */
|
|
44
|
+
this.pendingFilingAll = false;
|
|
36
45
|
this.origin = options.origin;
|
|
37
46
|
this.summary = options.summary;
|
|
38
47
|
this.filter = options.filter ?? null;
|
|
39
48
|
this.text = options.text ?? null;
|
|
49
|
+
this.dbKey = options.dbKey ?? null;
|
|
50
|
+
}
|
|
51
|
+
onFilingChanges(changes) {
|
|
52
|
+
if (changes === "all") {
|
|
53
|
+
this.pendingFilingAll = true;
|
|
54
|
+
this.pendingFilingDocIds.clear();
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
if (this.pendingFilingAll || !this.dbKey) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const prefix = `${this.dbKey}/`;
|
|
61
|
+
for (const ref of changes) {
|
|
62
|
+
if (ref.startsWith(prefix)) {
|
|
63
|
+
this.pendingFilingDocIds.add(ref.slice(prefix.length));
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/** Build the `folders()` lookup for one document. */
|
|
68
|
+
foldersLookup(docId) {
|
|
69
|
+
const join = this.view?.getFilingJoin();
|
|
70
|
+
if (!join || !this.dbKey) {
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
const physRef = `${this.dbKey}/${docId}`;
|
|
74
|
+
return (store) => join.foldersOf(store, physRef);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* The summary entries to look at in this run:
|
|
78
|
+
* - without a usable delta (first run, summary rebuilt): every entry;
|
|
79
|
+
* - with a delta: the entries written since the last run plus documents
|
|
80
|
+
* that must be re-checked (`forced`: folder or text-match changes);
|
|
81
|
+
* - when the filter is driven by one folder (`inFolder(store, id)` as
|
|
82
|
+
* (part of a top-level AND) filter): that folder's members (plus
|
|
83
|
+
* `forced`, plus known rows on a full run), skipping members that did
|
|
84
|
+
* not change when a delta exists.
|
|
85
|
+
*/
|
|
86
|
+
*candidateEntries(forced, delta) {
|
|
87
|
+
const join = this.view?.getFilingJoin();
|
|
88
|
+
const driving = (0, VirtualViewFilingJoin_1.findDrivingFolder)(this.filter);
|
|
89
|
+
if (!driving || !join || !join.has(driving.store) || !this.dbKey) {
|
|
90
|
+
if (!delta) {
|
|
91
|
+
yield* this.summary.getAllEntries();
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
yield* delta.entries;
|
|
95
|
+
for (const docId of forced) {
|
|
96
|
+
if (!delta.changed.has(docId)) {
|
|
97
|
+
const entry = this.summary.getEntry(docId);
|
|
98
|
+
if (entry)
|
|
99
|
+
yield entry;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
const prefix = `${this.dbKey}/`;
|
|
105
|
+
const docIds = new Set();
|
|
106
|
+
for (const ref of join.membersOf(driving.store, driving.folderId)) {
|
|
107
|
+
if (ref.startsWith(prefix)) {
|
|
108
|
+
const docId = ref.slice(prefix.length);
|
|
109
|
+
if (!delta || delta.changed.has(docId)) {
|
|
110
|
+
docIds.add(docId);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
for (const docId of forced) {
|
|
115
|
+
docIds.add(docId);
|
|
116
|
+
}
|
|
117
|
+
if (!delta) {
|
|
118
|
+
for (const docId of this.knownDocIds) {
|
|
119
|
+
docIds.add(docId);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
for (const docId of docIds) {
|
|
123
|
+
const entry = this.summary.getEntry(docId);
|
|
124
|
+
if (entry) {
|
|
125
|
+
yield entry;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
40
128
|
}
|
|
41
129
|
getOrigin() {
|
|
42
130
|
return this.origin;
|
|
@@ -116,22 +204,26 @@ class SummaryVirtualViewDataProvider {
|
|
|
116
204
|
}
|
|
117
205
|
const columns = view.getColumns();
|
|
118
206
|
const change = new VirtualViewDataChange_1.VirtualViewDataChange(this.origin);
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
207
|
+
// Filing changes consumed by this run (re-checked even when their
|
|
208
|
+
// summary entry is unchanged; see onFilingChanges).
|
|
209
|
+
const filingAll = this.pendingFilingAll;
|
|
210
|
+
const filingDocIds = this.pendingFilingDocIds;
|
|
211
|
+
this.pendingFilingAll = false;
|
|
212
|
+
this.pendingFilingDocIds = new Set();
|
|
213
|
+
// Incremental read: only the entries the summary wrote since the last
|
|
214
|
+
// run (O(changes) instead of a scan of every entry). Without a usable
|
|
215
|
+
// position (first run, summary rebuilt, too far behind) or when
|
|
216
|
+
// everything must be re-checked, the run evaluates every entry.
|
|
217
|
+
const position = this.summary.getPosition();
|
|
218
|
+
const storeDelta = filingAll ? null : this.summary.getChangesSince(this.appliedPosition);
|
|
219
|
+
const delta = storeDelta
|
|
220
|
+
? { entries: storeDelta.entries, changed: new Set(storeDelta.entries.map((entry) => entry.docId)) }
|
|
221
|
+
: null;
|
|
222
|
+
const forced = new Set(filingDocIds);
|
|
223
|
+
for (const docId of flippedTextMatches ?? []) {
|
|
224
|
+
forced.add(docId);
|
|
225
|
+
}
|
|
226
|
+
for (const entry of this.candidateEntries(forced, delta)) {
|
|
135
227
|
let evaluationDoc = (0, extractSummaryFields_1.buildSummaryEvaluationDoc)(entry.fields, entry.lastModified);
|
|
136
228
|
// Mirror the full-text relevance as managed pseudo-fields (like
|
|
137
229
|
// `_lastModified`), so column/category formulas can grade match
|
|
@@ -154,6 +246,7 @@ class SummaryVirtualViewDataProvider {
|
|
|
154
246
|
lastModifiedAt: new Date(entry.lastModified).toISOString(),
|
|
155
247
|
decryptionKeyId: entry.decryptionKeyId,
|
|
156
248
|
variables: {},
|
|
249
|
+
folders: this.foldersLookup(entry.docId),
|
|
157
250
|
};
|
|
158
251
|
const passesFilter = (textScores === null || textScores.has(entry.docId)) &&
|
|
159
252
|
(!this.filter || (0, evaluateExpression_1.expressionToBoolean)((0, evaluateExpression_1.evaluateExpression)(this.filter, context)));
|
|
@@ -167,11 +260,13 @@ class SummaryVirtualViewDataProvider {
|
|
|
167
260
|
}
|
|
168
261
|
}
|
|
169
262
|
// Entries that vanished from the summary map entirely (tombstones/
|
|
170
|
-
// purges). Documents that merely stopped matching the filter
|
|
171
|
-
//
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
263
|
+
// purges). Documents that merely stopped matching the filter were
|
|
264
|
+
// re-evaluated above (their entry changed, or they were forced).
|
|
265
|
+
const removalCandidates = storeDelta
|
|
266
|
+
? [...storeDelta.removedDocIds, ...forced]
|
|
267
|
+
: Array.from(this.knownDocIds);
|
|
268
|
+
for (const docId of removalCandidates) {
|
|
269
|
+
if (this.knownDocIds.has(docId) && !this.summary.getEntry(docId)) {
|
|
175
270
|
change.removeEntry(docId);
|
|
176
271
|
this.knownDocIds.delete(docId);
|
|
177
272
|
}
|
|
@@ -179,7 +274,7 @@ class SummaryVirtualViewDataProvider {
|
|
|
179
274
|
if (change.hasChanges()) {
|
|
180
275
|
view.applyChanges(change);
|
|
181
276
|
}
|
|
182
|
-
this.
|
|
277
|
+
this.appliedPosition = position;
|
|
183
278
|
this.lastTextScores = textScores;
|
|
184
279
|
}
|
|
185
280
|
computeColumnValues(columns, context) {
|
|
@@ -197,9 +292,11 @@ class SummaryVirtualViewDataProvider {
|
|
|
197
292
|
return values;
|
|
198
293
|
}
|
|
199
294
|
reset() {
|
|
200
|
-
this.
|
|
295
|
+
this.appliedPosition = null;
|
|
201
296
|
this.knownDocIds.clear();
|
|
202
297
|
this.lastTextScores = null;
|
|
298
|
+
this.pendingFilingAll = false;
|
|
299
|
+
this.pendingFilingDocIds.clear();
|
|
203
300
|
}
|
|
204
301
|
// ---------------------------------------------------------------------------
|
|
205
302
|
// Cache serialization (ephemeral views are typically not cached, but the
|
|
@@ -207,16 +304,22 @@ class SummaryVirtualViewDataProvider {
|
|
|
207
304
|
// ---------------------------------------------------------------------------
|
|
208
305
|
exportCacheState() {
|
|
209
306
|
return {
|
|
210
|
-
|
|
307
|
+
appliedPosition: this.appliedPosition,
|
|
211
308
|
knownDocIds: Array.from(this.knownDocIds),
|
|
309
|
+
pendingFilingAll: this.pendingFilingAll || undefined,
|
|
310
|
+
pendingFilingDocIds: this.pendingFilingDocIds.size > 0 ? Array.from(this.pendingFilingDocIds) : undefined,
|
|
212
311
|
};
|
|
213
312
|
}
|
|
214
313
|
importCacheState(state) {
|
|
215
314
|
const s = state;
|
|
216
|
-
|
|
315
|
+
// Older caches stored a changefeed watermark instead: rescan once.
|
|
316
|
+
this.appliedPosition =
|
|
317
|
+
s.appliedPosition && typeof s.appliedPosition.generation === "string" ? { ...s.appliedPosition } : null;
|
|
217
318
|
if (s.knownDocIds) {
|
|
218
319
|
this.knownDocIds = new Set(s.knownDocIds);
|
|
219
320
|
}
|
|
321
|
+
this.pendingFilingAll = s.pendingFilingAll === true;
|
|
322
|
+
this.pendingFilingDocIds = new Set(s.pendingFilingDocIds ?? []);
|
|
220
323
|
}
|
|
221
324
|
}
|
|
222
325
|
exports.SummaryVirtualViewDataProvider = SummaryVirtualViewDataProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SummaryVirtualViewDataProvider.js","sourceRoot":"","sources":["../../../../src/core/indexing/summary/SummaryVirtualViewDataProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SummaryVirtualViewDataProvider.js","sourceRoot":"","sources":["../../../../src/core/indexing/summary/SummaryVirtualViewDataProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -120,6 +120,26 @@ export interface DocumentSummaryEntry {
|
|
|
120
120
|
/** Changefeed sequence of the change this entry was extracted from. */
|
|
121
121
|
changeSeq: number;
|
|
122
122
|
decryptionKeyId: string | null;
|
|
123
|
+
/**
|
|
124
|
+
* The store's own modification sequence of this entry (see
|
|
125
|
+
* `DocumentSummaryStore.getChangesSince`): bumped on every write of the
|
|
126
|
+
* entry, including configuration backfills, unlike `changeSeq`.
|
|
127
|
+
* Missing on entries persisted by older versions.
|
|
128
|
+
*/
|
|
129
|
+
updateSeq?: number;
|
|
130
|
+
}
|
|
131
|
+
/** Position in a summary store's modification sequence. */
|
|
132
|
+
export interface SummaryStorePosition {
|
|
133
|
+
/** Changes when the store is reset or rebuilt from scratch. */
|
|
134
|
+
generation: string;
|
|
135
|
+
seq: number;
|
|
136
|
+
}
|
|
137
|
+
/** Result of `DocumentSummaryStore.getChangesSince`. */
|
|
138
|
+
export interface SummaryStoreChanges extends SummaryStorePosition {
|
|
139
|
+
/** Entries written after the given position (latest state each). */
|
|
140
|
+
entries: DocumentSummaryEntry[];
|
|
141
|
+
/** Documents removed after the given position. */
|
|
142
|
+
removedDocIds: string[];
|
|
123
143
|
}
|
|
124
144
|
/**
|
|
125
145
|
* Coverage state reported by query results: `"full"` when the summary
|
|
@@ -139,5 +159,25 @@ export interface SummaryMetaPayload {
|
|
|
139
159
|
bucketCount: number;
|
|
140
160
|
needsBackfill: boolean;
|
|
141
161
|
backfillCursor: ProcessChangesCursor | null;
|
|
162
|
+
/** Modification-sequence state (missing in caches of older versions). */
|
|
163
|
+
generation?: string;
|
|
164
|
+
updateSeq?: number;
|
|
165
|
+
/** First seq the tombstone list covers completely. */
|
|
166
|
+
tombstoneHorizon?: number;
|
|
167
|
+
tombstones?: Array<[number, string]>;
|
|
168
|
+
/** Sequence ranges (start exclusive, end inclusive) a crashed run may have handed out. */
|
|
169
|
+
lostSeqRanges?: Array<[number, number]>;
|
|
170
|
+
/** Journal chain continuing this snapshot (see DocumentSummaryStore.flushToCache). */
|
|
171
|
+
journalWriter?: string;
|
|
172
|
+
journalBase?: number;
|
|
173
|
+
}
|
|
174
|
+
/** One journal segment of the summary cache: what changed since the previous flush. */
|
|
175
|
+
export interface SummaryJournalSegment {
|
|
176
|
+
entries: DocumentSummaryEntry[];
|
|
177
|
+
removed: string[];
|
|
178
|
+
/** Tombstones added since the previous flush (not the whole list). */
|
|
179
|
+
tombstones: Array<[number, string]>;
|
|
180
|
+
/** Meta at the time of the flush, without the tombstone list. */
|
|
181
|
+
meta: Omit<SummaryMetaPayload, "tombstones">;
|
|
142
182
|
}
|
|
143
183
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/indexing/summary/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,YAAY,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;;;;;;;OAQG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,uDAAuD;AACvD,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,+BAA+B,OAAO,CAAC;AAEpD,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,qBAAqB,CASlF;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,CA+B/E;AAED;;;;;;;;;GASG;AACH;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,CAUrF;AAED,kDAAkD;AAClD,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/indexing/summary/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { MindooDB, ProcessChangesCursor } from "../../types";
|
|
1
|
+
import type { MindooDB, MindooDoc, ProcessChangesCursor } from "../../types";
|
|
2
2
|
import type { IVirtualViewDataProvider, VirtualViewUpdateOptions } from "./IVirtualViewDataProvider";
|
|
3
3
|
import type { VirtualView } from "./VirtualView";
|
|
4
4
|
import type { DocumentFilterFunction } from "./types";
|
|
5
|
+
import type { FilingRefChanges, IFilingAwareDataProvider } from "./VirtualViewFilingJoin";
|
|
5
6
|
/**
|
|
6
7
|
* Options for creating a MindooDBVirtualViewDataProvider
|
|
7
8
|
*/
|
|
@@ -22,7 +23,21 @@ export interface MindooDBVirtualViewDataProviderOptions {
|
|
|
22
23
|
* arbitrary fields at read time).
|
|
23
24
|
*/
|
|
24
25
|
includeAllDocumentFields?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Physical identity `"<tenantId>/<dbId>"` of `db`, used to match filing
|
|
28
|
+
* references (`folders()` / `inFolder()`). Defaults to the database's
|
|
29
|
+
* own tenant and store id.
|
|
30
|
+
*/
|
|
31
|
+
dbKey?: string;
|
|
25
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Filter function variant that also receives the folder lookup of the
|
|
35
|
+
* view's joined filing stores (used for declarative filters converted to
|
|
36
|
+
* functions, so `folders()` / `inFolder()` work on the document path).
|
|
37
|
+
*/
|
|
38
|
+
export type FilingAwareDocumentFilter = ((doc: MindooDoc) => boolean) & {
|
|
39
|
+
withFolders?: (doc: MindooDoc, folders: ((store: string) => readonly string[]) | undefined) => boolean;
|
|
40
|
+
};
|
|
26
41
|
/**
|
|
27
42
|
* Data provider that reads documents from a MindooDB and provides them
|
|
28
43
|
* to a VirtualView. Incremental updates are driven by
|
|
@@ -30,7 +45,7 @@ export interface MindooDBVirtualViewDataProviderOptions {
|
|
|
30
45
|
* and emits lightweight tombstones for deleted and inaccessible documents,
|
|
31
46
|
* so removals never pay document materialization.
|
|
32
47
|
*/
|
|
33
|
-
export declare class MindooDBVirtualViewDataProvider implements IVirtualViewDataProvider {
|
|
48
|
+
export declare class MindooDBVirtualViewDataProvider implements IVirtualViewDataProvider, IFilingAwareDataProvider {
|
|
34
49
|
private readonly origin;
|
|
35
50
|
private readonly db;
|
|
36
51
|
private readonly filterFunction;
|
|
@@ -39,7 +54,17 @@ export declare class MindooDBVirtualViewDataProvider implements IVirtualViewData
|
|
|
39
54
|
private cursor;
|
|
40
55
|
/** Track documents currently in the view from this provider */
|
|
41
56
|
private knownDocIds;
|
|
57
|
+
private readonly dbKey;
|
|
58
|
+
/** Documents whose folder membership changed (see onFilingChanges). */
|
|
59
|
+
private pendingFilingDocIds;
|
|
60
|
+
/** Rescan the whole changefeed on the next update (first build, log overflow). */
|
|
61
|
+
private pendingFilingAll;
|
|
42
62
|
constructor(options: MindooDBVirtualViewDataProviderOptions);
|
|
63
|
+
onFilingChanges(changes: FilingRefChanges): void;
|
|
64
|
+
private foldersLookup;
|
|
65
|
+
private passesFilter;
|
|
66
|
+
/** Re-evaluate one document (or drop it) after a filing change. */
|
|
67
|
+
private reevaluate;
|
|
43
68
|
getOrigin(): string;
|
|
44
69
|
init(view: VirtualView): void;
|
|
45
70
|
update(options?: VirtualViewUpdateOptions): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MindooDBVirtualViewDataProvider.d.ts","sourceRoot":"","sources":["../../../../src/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"MindooDBVirtualViewDataProvider.d.ts","sourceRoot":"","sources":["../../../../src/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,KAAK,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACrG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGjD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAE1F;;GAEG;AACH,MAAM,WAAW,sCAAsC;IACrD,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IAEf,0CAA0C;IAC1C,EAAE,EAAE,QAAQ,CAAC;IAEb,oEAAoE;IACpE,cAAc,CAAC,EAAE,sBAAsB,CAAC;IAExC;;;;;;;;OAQG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAaD;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,GAAG,EAAE,SAAS,KAAK,OAAO,CAAC,GAAG;IACtE,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,CAAC,GAAG,SAAS,KAAK,OAAO,CAAC;CACxG,CAAC;AAEF;;;;;;GAMG;AACH,qBAAa,+BAAgC,YAAW,wBAAwB,EAAE,wBAAwB;IACxG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgC;IAC/D,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAU;IAEnD,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,MAAM,CAAqC;IAEnD,+DAA+D;IAC/D,OAAO,CAAC,WAAW,CAA0B;IAE7C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,uEAAuE;IACvE,OAAO,CAAC,mBAAmB,CAA0B;IACrD,kFAAkF;IAClF,OAAO,CAAC,gBAAgB,CAAkB;gBAE9B,OAAO,EAAE,sCAAsC;IAQ3D,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAiBhD,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,YAAY;IAUpB,mEAAmE;YACrD,UAAU;IAwBxB,SAAS,IAAI,MAAM;IAInB,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAIvB,MAAM,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoH/D;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IA+C3B;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb;;OAEG;IACH,SAAS,IAAI,oBAAoB,GAAG,IAAI;IAIxC;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAQ1B,gBAAgB,IAAI,OAAO;IAS3B,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;CAcvC"}
|
|
@@ -3,6 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.MindooDBVirtualViewDataProvider = void 0;
|
|
4
4
|
const VirtualViewDataChange_1 = require("./VirtualViewDataChange");
|
|
5
5
|
const evaluateExpression_1 = require("../../expressions/evaluateExpression");
|
|
6
|
+
/** `"<tenantId>/<dbId>"`, or `null` for database doubles without that identity. */
|
|
7
|
+
function physicalDbKey(db) {
|
|
8
|
+
try {
|
|
9
|
+
const tenantId = db.getTenant?.()?.getId?.();
|
|
10
|
+
const dbId = db.getStore?.()?.getId?.();
|
|
11
|
+
return typeof tenantId === "string" && typeof dbId === "string" ? `${tenantId}/${dbId}` : null;
|
|
12
|
+
}
|
|
13
|
+
catch {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
6
17
|
/**
|
|
7
18
|
* Data provider that reads documents from a MindooDB and provides them
|
|
8
19
|
* to a VirtualView. Incremental updates are driven by
|
|
@@ -16,10 +27,70 @@ class MindooDBVirtualViewDataProvider {
|
|
|
16
27
|
this.cursor = null;
|
|
17
28
|
/** Track documents currently in the view from this provider */
|
|
18
29
|
this.knownDocIds = new Set();
|
|
30
|
+
/** Documents whose folder membership changed (see onFilingChanges). */
|
|
31
|
+
this.pendingFilingDocIds = new Set();
|
|
32
|
+
/** Rescan the whole changefeed on the next update (first build, log overflow). */
|
|
33
|
+
this.pendingFilingAll = false;
|
|
19
34
|
this.origin = options.origin;
|
|
20
35
|
this.db = options.db;
|
|
21
36
|
this.filterFunction = options.filterFunction ?? null;
|
|
22
37
|
this.includeAllDocumentFields = options.includeAllDocumentFields ?? false;
|
|
38
|
+
this.dbKey = options.dbKey ?? physicalDbKey(options.db);
|
|
39
|
+
}
|
|
40
|
+
onFilingChanges(changes) {
|
|
41
|
+
if (changes === "all") {
|
|
42
|
+
this.pendingFilingAll = true;
|
|
43
|
+
this.pendingFilingDocIds.clear();
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (this.pendingFilingAll || !this.dbKey) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const prefix = `${this.dbKey}/`;
|
|
50
|
+
for (const ref of changes) {
|
|
51
|
+
if (ref.startsWith(prefix)) {
|
|
52
|
+
this.pendingFilingDocIds.add(ref.slice(prefix.length));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
foldersLookup(docId) {
|
|
57
|
+
const join = this.view?.getFilingJoin();
|
|
58
|
+
if (!join || !this.dbKey) {
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
const physRef = `${this.dbKey}/${docId}`;
|
|
62
|
+
return (store) => join.foldersOf(store, physRef);
|
|
63
|
+
}
|
|
64
|
+
passesFilter(doc) {
|
|
65
|
+
if (!this.filterFunction) {
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
const filter = this.filterFunction;
|
|
69
|
+
return filter.withFolders
|
|
70
|
+
? filter.withFolders(doc, this.foldersLookup(doc.getId()))
|
|
71
|
+
: filter(doc);
|
|
72
|
+
}
|
|
73
|
+
/** Re-evaluate one document (or drop it) after a filing change. */
|
|
74
|
+
async reevaluate(docId, columns, change) {
|
|
75
|
+
let doc = null;
|
|
76
|
+
try {
|
|
77
|
+
doc = await this.db.getDocument(docId);
|
|
78
|
+
if (doc.isDeleted()) {
|
|
79
|
+
doc = null;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
// Unknown, deleted or unreadable: not in the view.
|
|
84
|
+
doc = null;
|
|
85
|
+
}
|
|
86
|
+
if (doc && this.passesFilter(doc)) {
|
|
87
|
+
change.addEntry(docId, this.computeColumnValues(doc, columns), doc.getDecryptionKeyId());
|
|
88
|
+
this.knownDocIds.add(docId);
|
|
89
|
+
}
|
|
90
|
+
else if (this.knownDocIds.has(docId)) {
|
|
91
|
+
change.removeEntry(docId);
|
|
92
|
+
this.knownDocIds.delete(docId);
|
|
93
|
+
}
|
|
23
94
|
}
|
|
24
95
|
getOrigin() {
|
|
25
96
|
return this.origin;
|
|
@@ -60,12 +131,23 @@ class MindooDBVirtualViewDataProvider {
|
|
|
60
131
|
if (signal?.aborted) {
|
|
61
132
|
return;
|
|
62
133
|
}
|
|
134
|
+
// Folder membership changed for a set of documents that may not have
|
|
135
|
+
// changed themselves: re-evaluate them after the changefeed run. When
|
|
136
|
+
// everything has to be re-checked, simply rescan the changefeed.
|
|
137
|
+
if (this.pendingFilingAll) {
|
|
138
|
+
this.pendingFilingAll = false;
|
|
139
|
+
this.pendingFilingDocIds.clear();
|
|
140
|
+
this.cursor = null;
|
|
141
|
+
}
|
|
142
|
+
const filingDocIds = this.pendingFilingDocIds;
|
|
143
|
+
const processedDocIds = filingDocIds.size > 0 ? new Set() : null;
|
|
63
144
|
// Drive incremental updates from the document changefeed. Deleted and
|
|
64
145
|
// inaccessible documents arrive as lightweight tombstones (never
|
|
65
146
|
// materialized), and upcoming live documents are prefetched in parallel
|
|
66
147
|
// by the iterator's built-in prefetch window.
|
|
67
148
|
for await (const { doc, cursor } of this.db.iterateChangesSince(this.cursor)) {
|
|
68
149
|
const docId = doc.getId();
|
|
150
|
+
processedDocIds?.add(docId);
|
|
69
151
|
if (doc.isDeleted()) {
|
|
70
152
|
if (this.knownDocIds.has(docId)) {
|
|
71
153
|
change.removeEntry(docId);
|
|
@@ -73,7 +155,7 @@ class MindooDBVirtualViewDataProvider {
|
|
|
73
155
|
}
|
|
74
156
|
}
|
|
75
157
|
else {
|
|
76
|
-
const passesFilter =
|
|
158
|
+
const passesFilter = this.passesFilter(doc);
|
|
77
159
|
if (passesFilter) {
|
|
78
160
|
const columnValues = this.computeColumnValues(doc, columns);
|
|
79
161
|
// Propagate the source document's encryption key id into the
|
|
@@ -99,6 +181,22 @@ class MindooDBVirtualViewDataProvider {
|
|
|
99
181
|
}
|
|
100
182
|
}
|
|
101
183
|
}
|
|
184
|
+
// Filing-driven re-evaluations (documents the changefeed run did not
|
|
185
|
+
// already cover).
|
|
186
|
+
if (filingDocIds.size > 0) {
|
|
187
|
+
for (const docId of filingDocIds) {
|
|
188
|
+
if (!processedDocIds.has(docId)) {
|
|
189
|
+
await this.reevaluate(docId, columns, change);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
if (this.pendingFilingDocIds === filingDocIds) {
|
|
193
|
+
this.pendingFilingDocIds = new Set();
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
for (const docId of filingDocIds)
|
|
197
|
+
this.pendingFilingDocIds.delete(docId);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
102
200
|
// Apply any remaining changes and emit a final progress report.
|
|
103
201
|
applyPendingChanges();
|
|
104
202
|
if (onProgress) {
|
|
@@ -145,6 +243,7 @@ class MindooDBVirtualViewDataProvider {
|
|
|
145
243
|
witnessed: doc.isWitnessed(),
|
|
146
244
|
awaitingWitness: doc.isAwaitingWitness(),
|
|
147
245
|
variables: {},
|
|
246
|
+
folders: this.foldersLookup(doc.getId()),
|
|
148
247
|
});
|
|
149
248
|
}
|
|
150
249
|
else if (values[column.name] === undefined) {
|
|
@@ -161,6 +260,8 @@ class MindooDBVirtualViewDataProvider {
|
|
|
161
260
|
reset() {
|
|
162
261
|
this.cursor = null;
|
|
163
262
|
this.knownDocIds.clear();
|
|
263
|
+
this.pendingFilingAll = false;
|
|
264
|
+
this.pendingFilingDocIds.clear();
|
|
164
265
|
}
|
|
165
266
|
/**
|
|
166
267
|
* Get the current cursor position
|
|
@@ -181,6 +282,8 @@ class MindooDBVirtualViewDataProvider {
|
|
|
181
282
|
return {
|
|
182
283
|
cursor: this.cursor,
|
|
183
284
|
knownDocIds: Array.from(this.knownDocIds),
|
|
285
|
+
pendingFilingAll: this.pendingFilingAll || undefined,
|
|
286
|
+
pendingFilingDocIds: this.pendingFilingDocIds.size > 0 ? Array.from(this.pendingFilingDocIds) : undefined,
|
|
184
287
|
};
|
|
185
288
|
}
|
|
186
289
|
importCacheState(state) {
|
|
@@ -189,6 +292,8 @@ class MindooDBVirtualViewDataProvider {
|
|
|
189
292
|
if (s.knownDocIds) {
|
|
190
293
|
this.knownDocIds = new Set(s.knownDocIds);
|
|
191
294
|
}
|
|
295
|
+
this.pendingFilingAll = s.pendingFilingAll === true;
|
|
296
|
+
this.pendingFilingDocIds = new Set(s.pendingFilingDocIds ?? []);
|
|
192
297
|
}
|
|
193
298
|
}
|
|
194
299
|
exports.MindooDBVirtualViewDataProvider = MindooDBVirtualViewDataProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MindooDBVirtualViewDataProvider.js","sourceRoot":"","sources":["../../../../src/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.ts"],"names":[],"mappings":";;;AAIA,mEAAgE;AAEhE,6EAA0E;
|
|
1
|
+
{"version":3,"file":"MindooDBVirtualViewDataProvider.js","sourceRoot":"","sources":["../../../../src/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.ts"],"names":[],"mappings":"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"}
|