mindoodb 0.0.88 → 0.0.90

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.
Files changed (132) hide show
  1. package/README.md +1 -0
  2. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts +4 -1
  3. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.d.ts.map +1 -1
  4. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js +8 -0
  5. package/dist/appendonlystores/network/ServerNetworkContentAddressedStore.js.map +1 -1
  6. package/dist/browser/index.mjs +17 -0
  7. package/dist/core/BaseMindooDB.d.ts +14 -0
  8. package/dist/core/BaseMindooDB.d.ts.map +1 -1
  9. package/dist/core/BaseMindooDB.js +42 -0
  10. package/dist/core/BaseMindooDB.js.map +1 -1
  11. package/dist/core/BaseMindooTenant.d.ts +3 -0
  12. package/dist/core/BaseMindooTenant.d.ts.map +1 -1
  13. package/dist/core/BaseMindooTenant.js +28 -0
  14. package/dist/core/BaseMindooTenant.js.map +1 -1
  15. package/dist/core/BaseMindooTenantDirectory.d.ts +5 -0
  16. package/dist/core/BaseMindooTenantDirectory.d.ts.map +1 -1
  17. package/dist/core/BaseMindooTenantDirectory.js +29 -1
  18. package/dist/core/BaseMindooTenantDirectory.js.map +1 -1
  19. package/dist/core/accesscontrol/directoryProjection.d.ts.map +1 -1
  20. package/dist/core/accesscontrol/directoryProjection.js +4 -0
  21. package/dist/core/accesscontrol/directoryProjection.js.map +1 -1
  22. package/dist/core/accesscontrol/types.d.ts +25 -3
  23. package/dist/core/accesscontrol/types.d.ts.map +1 -1
  24. package/dist/core/accesscontrol/types.js +27 -6
  25. package/dist/core/accesscontrol/types.js.map +1 -1
  26. package/dist/core/builtinDbInvariants.d.ts +5 -1
  27. package/dist/core/builtinDbInvariants.d.ts.map +1 -1
  28. package/dist/core/builtinDbInvariants.js +5 -1
  29. package/dist/core/builtinDbInvariants.js.map +1 -1
  30. package/dist/core/expressions/builder.d.ts +30 -0
  31. package/dist/core/expressions/builder.d.ts.map +1 -1
  32. package/dist/core/expressions/builder.js +42 -0
  33. package/dist/core/expressions/builder.js.map +1 -1
  34. package/dist/core/expressions/evaluateExpression.d.ts +10 -0
  35. package/dist/core/expressions/evaluateExpression.d.ts.map +1 -1
  36. package/dist/core/expressions/evaluateExpression.js +66 -1
  37. package/dist/core/expressions/evaluateExpression.js.map +1 -1
  38. package/dist/core/expressions/formulaSource.d.ts.map +1 -1
  39. package/dist/core/expressions/formulaSource.js +5 -0
  40. package/dist/core/expressions/formulaSource.js.map +1 -1
  41. package/dist/core/expressions/index.d.ts +1 -1
  42. package/dist/core/expressions/index.d.ts.map +1 -1
  43. package/dist/core/expressions/index.js +2 -1
  44. package/dist/core/expressions/index.js.map +1 -1
  45. package/dist/core/expressions/metadata.d.ts +2 -2
  46. package/dist/core/expressions/metadata.d.ts.map +1 -1
  47. package/dist/core/expressions/metadata.js +14 -0
  48. package/dist/core/expressions/metadata.js.map +1 -1
  49. package/dist/core/expressions/types.d.ts +1 -1
  50. package/dist/core/expressions/types.d.ts.map +1 -1
  51. package/dist/core/filing/FilingIndex.d.ts +209 -0
  52. package/dist/core/filing/FilingIndex.d.ts.map +1 -0
  53. package/dist/core/filing/FilingIndex.js +689 -0
  54. package/dist/core/filing/FilingIndex.js.map +1 -0
  55. package/dist/core/filing/MindooFilingStore.d.ts +200 -0
  56. package/dist/core/filing/MindooFilingStore.d.ts.map +1 -0
  57. package/dist/core/filing/MindooFilingStore.js +515 -0
  58. package/dist/core/filing/MindooFilingStore.js.map +1 -0
  59. package/dist/core/filing/index.d.ts +4 -0
  60. package/dist/core/filing/index.d.ts.map +1 -0
  61. package/dist/core/filing/index.js +22 -0
  62. package/dist/core/filing/index.js.map +1 -0
  63. package/dist/core/filing/refs.d.ts +56 -0
  64. package/dist/core/filing/refs.d.ts.map +1 -0
  65. package/dist/core/filing/refs.js +109 -0
  66. package/dist/core/filing/refs.js.map +1 -0
  67. package/dist/core/index.d.ts +3 -2
  68. package/dist/core/index.d.ts.map +1 -1
  69. package/dist/core/index.js +10 -5
  70. package/dist/core/index.js.map +1 -1
  71. package/dist/core/indexing/createViewDataProvider.d.ts +6 -0
  72. package/dist/core/indexing/createViewDataProvider.d.ts.map +1 -1
  73. package/dist/core/indexing/createViewDataProvider.js +26 -1
  74. package/dist/core/indexing/createViewDataProvider.js.map +1 -1
  75. package/dist/core/indexing/summary/DocumentSummaryStore.d.ts +43 -1
  76. package/dist/core/indexing/summary/DocumentSummaryStore.d.ts.map +1 -1
  77. package/dist/core/indexing/summary/DocumentSummaryStore.js +302 -2
  78. package/dist/core/indexing/summary/DocumentSummaryStore.js.map +1 -1
  79. package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.d.ts +33 -2
  80. package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.d.ts.map +1 -1
  81. package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.js +129 -26
  82. package/dist/core/indexing/summary/SummaryVirtualViewDataProvider.js.map +1 -1
  83. package/dist/core/indexing/summary/types.d.ts +40 -0
  84. package/dist/core/indexing/summary/types.d.ts.map +1 -1
  85. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts +27 -2
  86. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.d.ts.map +1 -1
  87. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js +106 -1
  88. package/dist/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.js.map +1 -1
  89. package/dist/core/indexing/virtualviews/VirtualView.d.ts +70 -5
  90. package/dist/core/indexing/virtualviews/VirtualView.d.ts.map +1 -1
  91. package/dist/core/indexing/virtualviews/VirtualView.js +329 -28
  92. package/dist/core/indexing/virtualviews/VirtualView.js.map +1 -1
  93. package/dist/core/indexing/virtualviews/VirtualViewEntryData.d.ts +4 -22
  94. package/dist/core/indexing/virtualviews/VirtualViewEntryData.d.ts.map +1 -1
  95. package/dist/core/indexing/virtualviews/VirtualViewEntryData.js +175 -129
  96. package/dist/core/indexing/virtualviews/VirtualViewEntryData.js.map +1 -1
  97. package/dist/core/indexing/virtualviews/VirtualViewFactory.d.ts +28 -0
  98. package/dist/core/indexing/virtualviews/VirtualViewFactory.d.ts.map +1 -1
  99. package/dist/core/indexing/virtualviews/VirtualViewFactory.js +62 -0
  100. package/dist/core/indexing/virtualviews/VirtualViewFactory.js.map +1 -1
  101. package/dist/core/indexing/virtualviews/VirtualViewFilingJoin.d.ts +75 -0
  102. package/dist/core/indexing/virtualviews/VirtualViewFilingJoin.d.ts.map +1 -0
  103. package/dist/core/indexing/virtualviews/VirtualViewFilingJoin.js +163 -0
  104. package/dist/core/indexing/virtualviews/VirtualViewFilingJoin.js.map +1 -0
  105. package/dist/core/indexing/virtualviews/VirtualViewMergedNavigator.d.ts +112 -0
  106. package/dist/core/indexing/virtualviews/VirtualViewMergedNavigator.d.ts.map +1 -0
  107. package/dist/core/indexing/virtualviews/VirtualViewMergedNavigator.js +296 -0
  108. package/dist/core/indexing/virtualviews/VirtualViewMergedNavigator.js.map +1 -0
  109. package/dist/core/indexing/virtualviews/VirtualViewNavigator.d.ts +2 -0
  110. package/dist/core/indexing/virtualviews/VirtualViewNavigator.d.ts.map +1 -1
  111. package/dist/core/indexing/virtualviews/VirtualViewNavigator.js +10 -9
  112. package/dist/core/indexing/virtualviews/VirtualViewNavigator.js.map +1 -1
  113. package/dist/core/indexing/virtualviews/index.d.ts +2 -0
  114. package/dist/core/indexing/virtualviews/index.d.ts.map +1 -1
  115. package/dist/core/indexing/virtualviews/index.js +8 -1
  116. package/dist/core/indexing/virtualviews/index.js.map +1 -1
  117. package/dist/core/query/executeQuery.d.ts.map +1 -1
  118. package/dist/core/query/executeQuery.js +4 -0
  119. package/dist/core/query/executeQuery.js.map +1 -1
  120. package/dist/core/query/executeQueryInclude.d.ts.map +1 -1
  121. package/dist/core/query/executeQueryInclude.js +4 -0
  122. package/dist/core/query/executeQueryInclude.js.map +1 -1
  123. package/dist/core/query/queryView.d.ts.map +1 -1
  124. package/dist/core/query/queryView.js +4 -0
  125. package/dist/core/query/queryView.js.map +1 -1
  126. package/dist/core/types.d.ts +20 -0
  127. package/dist/core/types.d.ts.map +1 -1
  128. package/dist/core/types.js.map +1 -1
  129. package/dist/server/TenantManager.d.ts.map +1 -1
  130. package/dist/server/TenantManager.js +1 -1
  131. package/dist/server/TenantManager.js.map +1 -1
  132. 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.appliedChangeSeq = -1;
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
- let maxSeenChangeSeq = this.appliedChangeSeq;
120
- const presentDocIds = new Set();
121
- for (const entry of this.summary.getAllEntries()) {
122
- // Record existence BEFORE the incremental skip: presentDocIds means
123
- // "still in the summary", not "processed in this run", so the removal
124
- // sweep below never drops unchanged (skipped) documents.
125
- presentDocIds.add(entry.docId);
126
- // Incremental watermark: entries at or below the already-applied
127
- // changefeed sequence are unchanged and already sit in the view with
128
- // correct column values — recomputing them would make every update a
129
- // full rebuild. Text-membership flips bypass the watermark.
130
- if (entry.changeSeq <= this.appliedChangeSeq &&
131
- !(flippedTextMatches?.has(entry.docId) ?? false)) {
132
- continue;
133
- }
134
- maxSeenChangeSeq = Math.max(maxSeenChangeSeq, entry.changeSeq);
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 are
171
- // handled by the else-if branch above instead — their changeSeq rose
172
- // above the watermark, so they were re-evaluated in this run.
173
- for (const docId of this.knownDocIds) {
174
- if (!presentDocIds.has(docId)) {
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.appliedChangeSeq = maxSeenChangeSeq;
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.appliedChangeSeq = -1;
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
- appliedChangeSeq: this.appliedChangeSeq,
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
- this.appliedChangeSeq = s.appliedChangeSeq ?? -1;
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":";;;AAIA,iFAA8E;AAE9E,6EAI8C;AAC9C,6CAAiF;AAGjF,iEAAyF;AA+BzF;;;;;;;;;;;;GAYG;AACH,MAAa,8BAA8B;IAoBzC,YAAY,OAA8C;QAdlD,SAAI,GAAuB,IAAI,CAAC;QACxC,mEAAmE;QAC3D,qBAAgB,GAAW,CAAC,CAAC,CAAC;QACtC,kEAAkE;QAC1D,gBAAW,GAAgB,IAAI,GAAG,EAAE,CAAC;QAC7C;;;;;;WAMG;QACK,mBAAc,GAA+B,IAAI,CAAC;QAGxD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;IACnC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,IAAiB;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACvC,IAAI,MAAM,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CACb,WAAW,MAAM,CAAC,IAAI,yEAAyE;oBAC/F,yCAAyC,CAC1C,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAkC;QAC7C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,gEAAgE;QAChE,wEAAwE;QACxE,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,mEAAmE;QACnE,sEAAsE;QACtE,mEAAmE;QACnE,qEAAqE;QACrE,4DAA4D;QAC5D,uCAAuC;QACvC,IAAI,UAAU,GAA+B,IAAI,CAAC;QAClD,IAAI,aAAa,GAA+B,IAAI,CAAC;QACrD,IAAI,kBAAkB,GAAuB,IAAI,CAAC;QAClD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;gBAC7B,OAAO;YACT,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC;gBACjC,MAAM,IAAI,wBAAgB,CACxB,kFAAkF;oBAClF,mFAAmF,EACnF,sBAAsB,CACvB,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAChC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE;gBACxD,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,CAAC,CAAC;YACH,kEAAkE;YAClE,qEAAqE;YACrE,mEAAmE;YACnE,wDAAwD;YACxD,qDAAqD;YACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;YACvB,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;YAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;gBAC3E,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;gBACtC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;YACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;gBACvC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE,CAAC;oBACxC,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;wBAC7C,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAChC,CAAC;gBACH,CAAC;gBACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC/C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC3B,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAChC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,6CAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC7C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QAExC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;YACjD,oEAAoE;YACpE,sEAAsE;YACtE,yDAAyD;YACzD,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/B,iEAAiE;YACjE,qEAAqE;YACrE,qEAAqE;YACrE,4DAA4D;YAC5D,IACE,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,gBAAgB;gBACxC,CAAC,CAAC,kBAAkB,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,EAChD,CAAC;gBACD,SAAS;YACX,CAAC;YACD,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAE/D,IAAI,aAAa,GAAG,IAAA,gDAAyB,EAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;YAChF,gEAAgE;YAChE,gEAAgE;YAChE,oEAAoE;YACpE,iEAAiE;YACjE,mEAAmE;YACnE,2BAA2B;YAC3B,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvD,aAAa,GAAG;oBACd,GAAG,aAAa;oBAChB,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;oBACvC,aAAa,EAAE,aAAc,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;iBAC/C,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAgC;gBAC3C,GAAG,EAAE,aAAa;gBAClB,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,cAAc,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE;gBAC1D,eAAe,EAAE,KAAK,CAAC,eAAe;gBACtC,SAAS,EAAE,EAAE;aACd,CAAC;YAEF,MAAM,YAAY,GAChB,CAAC,UAAU,KAAK,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACpD,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAA,wCAAmB,EAAC,IAAA,uCAAkB,EAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YAElF,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,CAAC,QAAQ,CACb,KAAK,CAAC,KAAK,EACX,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,EAC1C,KAAK,CAAC,eAAe,IAAI,SAAS,CACnC,CAAC;gBACF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,mEAAmE;QACnE,iEAAiE;QACjE,qEAAqE;QACrE,8DAA8D;QAC9D,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC1B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;IACnC,CAAC;IAEO,mBAAmB,CACzB,OAA4B,EAC5B,OAAoC;QAEpC,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,uCAAkB,EAAC,MAAM,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YACtF,CAAC;iBAAM,CAAC;gBACN,oEAAoE;gBACpE,yDAAyD;gBACzD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,2CAAoB,EAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,8EAA8E;IAC9E,yEAAyE;IACzE,gEAAgE;IAChE,8EAA8E;IAE9E,gBAAgB;QACd,OAAO;YACL,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;SAC1C,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,KAAc;QAC7B,MAAM,CAAC,GAAG,KAAoG,CAAC;QAC/G,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAClB,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;CACF;AA5OD,wEA4OC"}
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;CAChC;AAED;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,YAAY,CAAC;AAEpD,wDAAwD;AACxD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,oBAAoB,EAAE,CAAC;CACjC;AAED,iEAAiE;AACjE,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACpC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC7C"}
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,EAAa,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;AAGtD;;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;CACpC;AAED;;;;;;GAMG;AACH,qBAAa,+BAAgC,YAAW,wBAAwB;IAC9E,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;gBAEjC,OAAO,EAAE,sCAAsC;IAO3D,SAAS,IAAI,MAAM;IAInB,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAIvB,MAAM,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyF/D;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IA8C3B;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,SAAS,IAAI,oBAAoB,GAAG,IAAI;IAIxC;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAQ1B,gBAAgB,IAAI,OAAO;IAO3B,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;CAOvC"}
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 = !this.filterFunction || this.filterFunction(doc);
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":"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"}
1
+ {"version":3,"file":"MindooDBVirtualViewDataProvider.js","sourceRoot":"","sources":["../../../../src/core/indexing/virtualviews/MindooDBVirtualViewDataProvider.ts"],"names":[],"mappings":"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"}