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
@@ -1,9 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DocumentSummaryStore = void 0;
4
+ const idGeneration_1 = require("../../utils/idGeneration");
4
5
  const types_1 = require("./types");
5
6
  const extractSummaryFields_1 = require("./extractSummaryFields");
6
7
  const DEFAULT_BUCKET_COUNT = 64;
8
+ /** Keep at most this many removals for delta readers (older readers rescan). */
9
+ const MAX_TOMBSTONES = 5000;
10
+ /** Sequence jump on restore (see lostSeqRanges). */
11
+ const LOST_SEQ_JUMP = 2 ** 30;
7
12
  /**
8
13
  * Minimum time between periodic flushes while an update run is in progress.
9
14
  * A catch-up (initial replication, chunked sync ingest) dirties nearly every
@@ -38,11 +43,34 @@ class DocumentSummaryStore {
38
43
  this.setupDocSeeded = false;
39
44
  this.entries = new Map();
40
45
  this.cursor = null;
46
+ // --- modification sequence (delta reads, see getChangesSince) ---
47
+ this.generation = (0, idGeneration_1.generateRandomUuid)();
48
+ this.updateSeq = 0;
49
+ /** [updateSeq, docId] in write order; may hold stale pairs (compacted lazily). */
50
+ this.seqLog = [];
51
+ this.tombstones = [];
52
+ /** Readers older than this seq cannot get all removals: they rescan. */
53
+ this.tombstoneHorizon = 0;
54
+ /**
55
+ * Sequence ranges a previous process may have handed out without
56
+ * persisting them (it crashed after a reader saw them). On restore the
57
+ * sequence jumps past such a range; readers positioned inside it rescan.
58
+ */
59
+ this.lostSeqRanges = [];
41
60
  // --- persistence state ---
42
61
  this.cacheManager = null;
43
62
  this.cachePrefix = null;
44
63
  this.bucketCount = DEFAULT_BUCKET_COUNT;
64
+ /** Buckets changed since the last snapshot (rewritten by the next snapshot). */
45
65
  this.dirtyBuckets = new Set();
66
+ // Journal (see flushToCache): entries changed since the last flush.
67
+ this.journalPending = new Map();
68
+ this.pendingTombstones = [];
69
+ /** Whether this instance wrote the current snapshot (else the next flush writes one). */
70
+ this.ownSnapshot = false;
71
+ this.journalEntriesSinceSnapshot = 0;
72
+ this.nextJournalSegment = 0;
73
+ this.journalWriterId = (0, idGeneration_1.generateRandomUuid)().replace(/-/g, "").slice(0, 12);
46
74
  this.metaDirty = false;
47
75
  /** Timestamp of the last completed (non-deferred) flush. */
48
76
  this.lastFlushAt = 0;
@@ -306,25 +334,114 @@ class DocumentSummaryStore {
306
334
  }
307
335
  // Drop a stale entry left over from before the setup doc was skipped.
308
336
  if (this.entries.delete(docId)) {
337
+ this.recordRemoval(docId);
309
338
  this.markBucketDirty(docId);
310
339
  }
311
340
  return;
312
341
  }
313
342
  if (doc.isDeleted()) {
314
343
  if (this.entries.delete(docId)) {
344
+ this.recordRemoval(docId);
315
345
  this.markBucketDirty(docId);
316
346
  }
317
347
  return;
318
348
  }
349
+ const updateSeq = ++this.updateSeq;
319
350
  this.entries.set(docId, {
320
351
  docId,
321
352
  fields: (0, extractSummaryFields_1.extractSummaryFields)(doc.getData(), this.config),
322
353
  lastModified: doc.getLastModified(),
323
354
  changeSeq: cursor.changeSeq ?? 0,
324
355
  decryptionKeyId: doc.getDecryptionKeyId(),
356
+ updateSeq,
325
357
  });
358
+ this.seqLog.push([updateSeq, docId]);
326
359
  this.markBucketDirty(docId);
327
360
  }
361
+ recordRemoval(docId) {
362
+ const seq = ++this.updateSeq;
363
+ this.tombstones.push([seq, docId]);
364
+ this.pendingTombstones.push([seq, docId]);
365
+ if (this.tombstones.length > MAX_TOMBSTONES) {
366
+ const dropped = this.tombstones.splice(0, this.tombstones.length - MAX_TOMBSTONES);
367
+ this.tombstoneHorizon = dropped[dropped.length - 1][0];
368
+ }
369
+ this.metaDirty = true;
370
+ }
371
+ /** Current position of the modification sequence. */
372
+ getPosition() {
373
+ return { generation: this.generation, seq: this.updateSeq };
374
+ }
375
+ /**
376
+ * Entries written and documents removed after `position` — what an
377
+ * incremental reader (a summary-backed view) has to process instead of
378
+ * scanning every entry. Returns `null` when no delta is possible (no or
379
+ * foreign position, or removals already dropped from the bounded
380
+ * tombstone list): the reader then rescans everything once.
381
+ *
382
+ * O(changes) after the first call (a lazily compacted write log).
383
+ */
384
+ getChangesSince(position) {
385
+ if (!position ||
386
+ position.generation !== this.generation ||
387
+ position.seq < this.tombstoneHorizon ||
388
+ position.seq > this.updateSeq ||
389
+ this.lostSeqRanges.some(([start, end]) => position.seq > start && position.seq <= end)) {
390
+ return null;
391
+ }
392
+ const current = this.getPosition();
393
+ if (position.seq >= this.updateSeq) {
394
+ return { ...current, entries: [], removedDocIds: [] };
395
+ }
396
+ this.compactSeqLog();
397
+ // First log index with seq > position.seq (log is ordered by seq).
398
+ let lo = 0;
399
+ let hi = this.seqLog.length;
400
+ while (lo < hi) {
401
+ const mid = (lo + hi) >>> 1;
402
+ if (this.seqLog[mid][0] > position.seq) {
403
+ hi = mid;
404
+ }
405
+ else {
406
+ lo = mid + 1;
407
+ }
408
+ }
409
+ const entries = [];
410
+ for (let i = lo; i < this.seqLog.length; i++) {
411
+ const [seq, docId] = this.seqLog[i];
412
+ const entry = this.entries.get(docId);
413
+ // Only the latest write of a document counts (older pairs are stale).
414
+ if (entry && entry.updateSeq === seq) {
415
+ entries.push(entry);
416
+ }
417
+ }
418
+ const removedDocIds = [];
419
+ for (let i = this.tombstones.length - 1; i >= 0 && this.tombstones[i][0] > position.seq; i--) {
420
+ const docId = this.tombstones[i][1];
421
+ if (!this.entries.has(docId)) {
422
+ removedDocIds.push(docId);
423
+ }
424
+ }
425
+ return { ...current, entries, removedDocIds };
426
+ }
427
+ /** Drop stale log pairs once they make up more than half of the log. */
428
+ compactSeqLog() {
429
+ if (this.seqLog.length <= 1024 || this.seqLog.length < this.entries.size * 2) {
430
+ return;
431
+ }
432
+ this.seqLog = this.seqLog.filter(([seq, docId]) => this.entries.get(docId)?.updateSeq === seq);
433
+ }
434
+ /** Rebuild the write log from the entries (after restoring from the cache). */
435
+ rebuildSeqLog() {
436
+ const log = [];
437
+ for (const entry of this.entries.values()) {
438
+ if (typeof entry.updateSeq === "number") {
439
+ log.push([entry.updateSeq, entry.docId]);
440
+ }
441
+ }
442
+ log.sort((a, b) => a[0] - b[0]);
443
+ this.seqLog = log;
444
+ }
328
445
  /**
329
446
  * Drop a document's summary entry immediately (called from the DB's purge
330
447
  * paths so plaintext field values never outlive key revocation/purges;
@@ -333,6 +450,7 @@ class DocumentSummaryStore {
333
450
  */
334
451
  removeDocument(docId) {
335
452
  if (this.entries.delete(docId)) {
453
+ this.recordRemoval(docId);
336
454
  this.markBucketDirty(docId);
337
455
  this.cacheManager?.markDirty();
338
456
  }
@@ -341,11 +459,22 @@ class DocumentSummaryStore {
341
459
  reset() {
342
460
  this.entries.clear();
343
461
  this.cursor = null;
462
+ // Delta readers must rescan: start a new modification generation.
463
+ this.generation = (0, idGeneration_1.generateRandomUuid)();
464
+ this.updateSeq = 0;
465
+ this.seqLog = [];
466
+ this.tombstones = [];
467
+ this.tombstoneHorizon = 0;
468
+ this.lostSeqRanges = [];
344
469
  this.needsBackfill = false;
345
470
  this.backfillCursor = null;
346
471
  for (let i = 0; i < this.bucketCount; i++) {
347
472
  this.dirtyBuckets.add(i);
348
473
  }
474
+ // Everything changed: the next flush writes a full snapshot.
475
+ this.ownSnapshot = false;
476
+ this.journalPending.clear();
477
+ this.pendingTombstones = [];
349
478
  this.metaDirty = true;
350
479
  this.cacheManager?.markDirty();
351
480
  }
@@ -367,7 +496,7 @@ class DocumentSummaryStore {
367
496
  return this.cachePrefix ?? "summary";
368
497
  }
369
498
  hasDirtyState() {
370
- return this.dirtyBuckets.size > 0 || this.metaDirty;
499
+ return this.journalPending.size > 0 || this.metaDirty || (!this.ownSnapshot && this.dirtyBuckets.size > 0);
371
500
  }
372
501
  clearDirty() {
373
502
  if (this.flushHandledDirty) {
@@ -385,6 +514,8 @@ class DocumentSummaryStore {
385
514
  */
386
515
  discardDirtyState() {
387
516
  this.dirtyBuckets.clear();
517
+ this.journalPending.clear();
518
+ this.pendingTombstones = [];
388
519
  this.metaDirty = false;
389
520
  this.flushHandledDirty = false;
390
521
  }
@@ -393,6 +524,7 @@ class DocumentSummaryStore {
393
524
  }
394
525
  markBucketDirty(docId) {
395
526
  this.dirtyBuckets.add(this.bucketIndexFor(docId));
527
+ this.journalPending.set(docId, this.entries.get(docId) ?? null);
396
528
  this.metaDirty = true;
397
529
  }
398
530
  async flushToCache(store, options) {
@@ -406,13 +538,30 @@ class DocumentSummaryStore {
406
538
  this.cacheManager?.markDirty();
407
539
  return 0;
408
540
  }
541
+ // Snapshot + journal: normally only the entries changed since the last
542
+ // flush are appended as a small segment (`summaryj`); the dirty buckets
543
+ // and meta (the snapshot) are rewritten when this instance has no
544
+ // snapshot of its own yet (also right after a restore), when the
545
+ // journal outgrows 10 % of the buffer (min. 500 entries), and on forced
546
+ // flushes (close). Chains are per writer, like the view cache.
547
+ const prefix = this.getCachePrefix();
548
+ const wantSnapshot = options?.force === true ||
549
+ !this.ownSnapshot ||
550
+ this.journalEntriesSinceSnapshot + this.journalPending.size > Math.max(500, this.entries.size * 0.1);
551
+ if (!wantSnapshot) {
552
+ return this.flushJournalSegment(store, prefix);
553
+ }
409
554
  // Snapshot everything synchronously before the first await: bucket
410
555
  // payloads and the meta cursor must describe the same state, and entries
411
556
  // an update run changes while the writes are in flight must stay dirty
412
557
  // for the next flush instead of being cleared with this one.
413
- const prefix = this.getCachePrefix();
414
558
  const bucketsToWrite = this.dirtyBuckets;
415
559
  this.dirtyBuckets = new Set();
560
+ const pendingAtSnapshot = this.journalPending;
561
+ const tombstonesAtSnapshot = this.pendingTombstones;
562
+ this.journalPending = new Map();
563
+ this.pendingTombstones = [];
564
+ const journalBase = this.nextJournalSegment;
416
565
  this.metaDirty = false;
417
566
  this.flushHandledDirty = true;
418
567
  const byBucket = new Map();
@@ -437,6 +586,13 @@ class DocumentSummaryStore {
437
586
  bucketCount: this.bucketCount,
438
587
  needsBackfill: this.needsBackfill,
439
588
  backfillCursor: this.backfillCursor,
589
+ generation: this.generation,
590
+ updateSeq: this.updateSeq,
591
+ tombstoneHorizon: this.tombstoneHorizon,
592
+ tombstones: this.tombstones,
593
+ lostSeqRanges: this.lostSeqRanges,
594
+ journalWriter: this.journalWriterId,
595
+ journalBase,
440
596
  };
441
597
  let written = 0;
442
598
  try {
@@ -454,13 +610,81 @@ class DocumentSummaryStore {
454
610
  for (const bucket of bucketsToWrite) {
455
611
  this.dirtyBuckets.add(bucket);
456
612
  }
613
+ this.restorePending(pendingAtSnapshot, tombstonesAtSnapshot);
457
614
  this.metaDirty = true;
458
615
  this.flushHandledDirty = false;
459
616
  throw error;
460
617
  }
618
+ this.ownSnapshot = true;
619
+ this.journalEntriesSinceSnapshot = 0;
620
+ try {
621
+ const journalPrefix = `${prefix}/journal/`;
622
+ for (const id of await store.list("summaryj")) {
623
+ if (id.startsWith(journalPrefix))
624
+ await store.delete("summaryj", id);
625
+ }
626
+ }
627
+ catch {
628
+ // Stale segments are ignored on restore (other chain or before the base).
629
+ }
461
630
  this.lastFlushAt = Date.now();
462
631
  return written;
463
632
  }
633
+ /** Append the entries changed since the last flush as one journal segment. */
634
+ async flushJournalSegment(store, prefix) {
635
+ const pending = this.journalPending;
636
+ const tombstones = this.pendingTombstones;
637
+ this.journalPending = new Map();
638
+ this.pendingTombstones = [];
639
+ this.metaDirty = false;
640
+ this.flushHandledDirty = true;
641
+ const segment = {
642
+ entries: [],
643
+ removed: [],
644
+ tombstones,
645
+ meta: {
646
+ cursor: this.cursor,
647
+ configFingerprint: this.configFingerprint,
648
+ bucketCount: this.bucketCount,
649
+ needsBackfill: this.needsBackfill,
650
+ backfillCursor: this.backfillCursor,
651
+ generation: this.generation,
652
+ updateSeq: this.updateSeq,
653
+ tombstoneHorizon: this.tombstoneHorizon,
654
+ lostSeqRanges: this.lostSeqRanges,
655
+ },
656
+ };
657
+ for (const [docId, entry] of pending) {
658
+ if (entry)
659
+ segment.entries.push(entry);
660
+ else
661
+ segment.removed.push(docId);
662
+ }
663
+ const segmentNo = this.nextJournalSegment;
664
+ try {
665
+ await store.put("summaryj", `${prefix}/journal/${this.journalWriterId}/${String(segmentNo).padStart(10, "0")}`, new TextEncoder().encode(JSON.stringify(segment)));
666
+ }
667
+ catch (error) {
668
+ // Nothing is lost: keep the changes for the next flush.
669
+ this.restorePending(pending, tombstones);
670
+ this.metaDirty = true;
671
+ this.flushHandledDirty = false;
672
+ throw error;
673
+ }
674
+ this.nextJournalSegment = segmentNo + 1;
675
+ this.journalEntriesSinceSnapshot += pending.size;
676
+ this.lastFlushAt = Date.now();
677
+ return 1;
678
+ }
679
+ /** Put changes of a failed write back in front of what changed meanwhile. */
680
+ restorePending(pending, tombstones) {
681
+ for (const [docId, entry] of pending) {
682
+ if (!this.journalPending.has(docId)) {
683
+ this.journalPending.set(docId, entry);
684
+ }
685
+ }
686
+ this.pendingTombstones = [...tombstones, ...this.pendingTombstones];
687
+ }
464
688
  async ensureRestored() {
465
689
  if (this.restored || !this.cacheManager) {
466
690
  this.restored = true;
@@ -519,7 +743,83 @@ class DocumentSummaryStore {
519
743
  this.cursor = null;
520
744
  return;
521
745
  }
746
+ // Replay the journal chain continuing this snapshot: entries, removals
747
+ // and the newest meta (a missing or unreadable segment ends the replay;
748
+ // the changefeed catches up from the last good cursor).
749
+ if (typeof meta.journalWriter === "string") {
750
+ try {
751
+ const chainPrefix = `${prefix}/journal/${meta.journalWriter}/`;
752
+ const base = meta.journalBase ?? 0;
753
+ const numbers = (await store.list("summaryj"))
754
+ .filter((id) => id.startsWith(chainPrefix))
755
+ .map((id) => Number(id.slice(chainPrefix.length)))
756
+ .filter((n) => Number.isInteger(n) && n >= base)
757
+ .sort((a, b) => a - b);
758
+ let expected = base;
759
+ for (const n of numbers) {
760
+ if (n !== expected)
761
+ break;
762
+ const bytes = await store.get("summaryj", `${chainPrefix}${String(n).padStart(10, "0")}`);
763
+ if (!bytes)
764
+ break;
765
+ const segment = JSON.parse(new TextDecoder().decode(bytes));
766
+ for (const entry of segment.entries) {
767
+ this.entries.set(entry.docId, entry);
768
+ this.dirtyBuckets.add(this.bucketIndexFor(entry.docId));
769
+ }
770
+ for (const docId of segment.removed) {
771
+ this.entries.delete(docId);
772
+ this.dirtyBuckets.add(this.bucketIndexFor(docId));
773
+ }
774
+ let tombstones = [...(meta.tombstones ?? []), ...(segment.tombstones ?? [])];
775
+ let horizon = segment.meta.tombstoneHorizon ?? meta.tombstoneHorizon ?? 0;
776
+ if (tombstones.length > MAX_TOMBSTONES) {
777
+ const dropped = tombstones.splice(0, tombstones.length - MAX_TOMBSTONES);
778
+ horizon = Math.max(horizon, dropped[dropped.length - 1][0]);
779
+ }
780
+ meta = { ...segment.meta, tombstones, tombstoneHorizon: horizon };
781
+ expected = n + 1;
782
+ }
783
+ }
784
+ catch {
785
+ // Keep what was replayed.
786
+ }
787
+ }
788
+ // This instance continues with its own chain: its first flush writes a
789
+ // snapshot (the buckets the replay touched plus meta).
790
+ this.ownSnapshot = false;
522
791
  this.cursor = meta.cursor ?? null;
792
+ if (typeof meta.generation === "string" && typeof meta.updateSeq === "number") {
793
+ this.generation = meta.generation;
794
+ this.updateSeq = meta.updateSeq;
795
+ this.tombstoneHorizon = meta.tombstoneHorizon ?? 0;
796
+ this.tombstones = meta.tombstones ?? [];
797
+ // Entries written after the meta record (crash between bucket and meta
798
+ // writes) may carry higher seqs: never hand out a seq twice.
799
+ for (const entry of this.entries.values()) {
800
+ if (typeof entry.updateSeq === "number" && entry.updateSeq > this.updateSeq) {
801
+ this.updateSeq = entry.updateSeq;
802
+ }
803
+ }
804
+ // The previous process may have handed out (and readers may have
805
+ // seen) seqs after the persisted state: never reuse them.
806
+ this.lostSeqRanges = [...(meta.lostSeqRanges ?? []), [this.updateSeq, this.updateSeq + LOST_SEQ_JUMP]];
807
+ if (this.lostSeqRanges.length > 20) {
808
+ const dropped = this.lostSeqRanges.splice(0, this.lostSeqRanges.length - 20);
809
+ this.tombstoneHorizon = Math.max(this.tombstoneHorizon, dropped[dropped.length - 1][1]);
810
+ }
811
+ this.updateSeq += LOST_SEQ_JUMP;
812
+ this.metaDirty = true;
813
+ }
814
+ else {
815
+ // Cache of an older version: no usable sequence, readers rescan once.
816
+ this.generation = (0, idGeneration_1.generateRandomUuid)();
817
+ this.updateSeq = 0;
818
+ for (const entry of this.entries.values()) {
819
+ delete entry.updateSeq;
820
+ }
821
+ }
822
+ this.rebuildSeqLog();
523
823
  if (meta.configFingerprint !== this.configFingerprint) {
524
824
  // Entries were extracted with a different configuration: keep them
525
825
  // usable, re-extract everything in the background.
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentSummaryStore.js","sourceRoot":"","sources":["../../../../src/core/indexing/summary/DocumentSummaryStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DocumentSummaryStore.js","sourceRoot":"","sources":["../../../../src/core/indexing/summary/DocumentSummaryStore.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import type { MindooDBAppBooleanExpression } from "../../expressions/types";
4
4
  import { type MindooQueryTextClause } from "../../query/types";
5
5
  import type { DocumentFullTextIndex } from "../fulltext/DocumentFullTextIndex";
6
6
  import type { DocumentSummaryStore } from "./DocumentSummaryStore";
7
+ import { type FilingRefChanges, type IFilingAwareDataProvider } from "../virtualviews/VirtualViewFilingJoin";
7
8
  export interface SummaryVirtualViewDataProviderOptions {
8
9
  /** Unique origin identifier for this data provider */
9
10
  origin: string;
@@ -28,6 +29,13 @@ export interface SummaryVirtualViewDataProviderOptions {
28
29
  index: DocumentFullTextIndex;
29
30
  clause: MindooQueryTextClause;
30
31
  };
32
+ /**
33
+ * Physical identity `"<tenantId>/<dbId>"` of the summarized database.
34
+ * Needed to match filing references (`folders()` / `inFolder()` against
35
+ * stores joined with `withFilingStore`); without it the provider sees
36
+ * every document as not filed.
37
+ */
38
+ dbKey?: string;
31
39
  }
32
40
  /**
33
41
  * VirtualView data provider backed by the {@link DocumentSummaryStore}
@@ -42,14 +50,14 @@ export interface SummaryVirtualViewDataProviderOptions {
42
50
  * `valueFunction` columns are NOT supported here (there is no materialized
43
51
  * document to pass them).
44
52
  */
45
- export declare class SummaryVirtualViewDataProvider implements IVirtualViewDataProvider {
53
+ export declare class SummaryVirtualViewDataProvider implements IVirtualViewDataProvider, IFilingAwareDataProvider {
46
54
  private readonly origin;
47
55
  private readonly summary;
48
56
  private readonly filter;
49
57
  private readonly text;
50
58
  private view;
51
59
  /** Highest summary entry changeSeq already applied to the view. */
52
- private appliedChangeSeq;
60
+ private appliedPosition;
53
61
  /** Documents currently present in the view from this provider. */
54
62
  private knownDocIds;
55
63
  /**
@@ -60,7 +68,30 @@ export declare class SummaryVirtualViewDataProvider implements IVirtualViewDataP
60
68
  * which the changeSeq watermark alone would skip.
61
69
  */
62
70
  private lastTextScores;
71
+ private readonly dbKey;
72
+ /**
73
+ * Documents (ids of this database) whose folder membership changed and
74
+ * that must be re-evaluated on the next update even when their summary
75
+ * entry is unchanged — the filing counterpart of `lastTextScores`.
76
+ */
77
+ private pendingFilingDocIds;
78
+ /** Re-evaluate everything on the next update (first build, log overflow). */
79
+ private pendingFilingAll;
63
80
  constructor(options: SummaryVirtualViewDataProviderOptions);
81
+ onFilingChanges(changes: FilingRefChanges): void;
82
+ /** Build the `folders()` lookup for one document. */
83
+ private foldersLookup;
84
+ /**
85
+ * The summary entries to look at in this run:
86
+ * - without a usable delta (first run, summary rebuilt): every entry;
87
+ * - with a delta: the entries written since the last run plus documents
88
+ * that must be re-checked (`forced`: folder or text-match changes);
89
+ * - when the filter is driven by one folder (`inFolder(store, id)` as
90
+ * (part of a top-level AND) filter): that folder's members (plus
91
+ * `forced`, plus known rows on a full run), skipping members that did
92
+ * not change when a delta exists.
93
+ */
94
+ private candidateEntries;
64
95
  getOrigin(): string;
65
96
  init(view: VirtualView): void;
66
97
  update(options?: VirtualViewUpdateOptions): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"SummaryVirtualViewDataProvider.d.ts","sourceRoot":"","sources":["../../../../src/core/indexing/summary/SummaryVirtualViewDataProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACnH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG/D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAM5E,OAAO,EAAoB,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAGnE,MAAM,WAAW,qCAAqC;IACpD,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IAEf,8CAA8C;IAC9C,OAAO,EAAE,oBAAoB,CAAC;IAE9B;;;OAGG;IACH,MAAM,CAAC,EAAE,4BAA4B,CAAC;IAEtC;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,qBAAqB,CAAC;QAC7B,MAAM,EAAE,qBAAqB,CAAC;KAC/B,CAAC;CACH;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,8BAA+B,YAAW,wBAAwB;IAC7E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;IAC7D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuD;IAE5E,OAAO,CAAC,IAAI,CAA4B;IACxC,mEAAmE;IACnE,OAAO,CAAC,gBAAgB,CAAc;IACtC,kEAAkE;IAClE,OAAO,CAAC,WAAW,CAA0B;IAC7C;;;;;;OAMG;IACH,OAAO,CAAC,cAAc,CAAoC;gBAE9C,OAAO,EAAE,qCAAqC;IAO1D,SAAS,IAAI,MAAM;IAInB,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAYvB,MAAM,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuJ/D,OAAO,CAAC,mBAAmB;IAiB3B,KAAK,IAAI,IAAI;IAWb,gBAAgB,IAAI,OAAO;IAO3B,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;CAOvC"}
1
+ {"version":3,"file":"SummaryVirtualViewDataProvider.d.ts","sourceRoot":"","sources":["../../../../src/core/indexing/summary/SummaryVirtualViewDataProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACnH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG/D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAM5E,OAAO,EAAoB,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC9B,MAAM,uCAAuC,CAAC;AAG/C,MAAM,WAAW,qCAAqC;IACpD,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IAEf,8CAA8C;IAC9C,OAAO,EAAE,oBAAoB,CAAC;IAE9B;;;OAGG;IACH,MAAM,CAAC,EAAE,4BAA4B,CAAC;IAEtC;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,qBAAqB,CAAC;QAC7B,MAAM,EAAE,qBAAqB,CAAC;KAC/B,CAAC;IAEF;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,8BAA+B,YAAW,wBAAwB,EAAE,wBAAwB;IACvG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;IAC7D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuD;IAE5E,OAAO,CAAC,IAAI,CAA4B;IACxC,mEAAmE;IACnE,OAAO,CAAC,eAAe,CAAqC;IAC5D,kEAAkE;IAClE,OAAO,CAAC,WAAW,CAA0B;IAC7C;;;;;;OAMG;IACH,OAAO,CAAC,cAAc,CAAoC;IAC1D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC;;;;OAIG;IACH,OAAO,CAAC,mBAAmB,CAA0B;IACrD,6EAA6E;IAC7E,OAAO,CAAC,gBAAgB,CAAkB;gBAE9B,OAAO,EAAE,qCAAqC;IAQ1D,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAiBhD,qDAAqD;IACrD,OAAO,CAAC,aAAa;IASrB;;;;;;;;;OASG;IACH,OAAO,CAAE,gBAAgB;IA8CzB,SAAS,IAAI,MAAM;IAInB,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAYvB,MAAM,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6J/D,OAAO,CAAC,mBAAmB;IAiB3B,KAAK,IAAI,IAAI;IAab,gBAAgB,IAAI,OAAO;IAS3B,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;CAiBvC"}