@procedures/mongo 0.36.0 → 0.37.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"materializer.js","sourceRoot":"","sources":["../../src/storage/materializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"materializer.js","sourceRoot":"","sources":["../../src/storage/materializer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"view-storage.d.ts","sourceRoot":"","sources":["../../src/storage/view-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view-storage.d.ts","sourceRoot":"","sources":["../../src/storage/view-storage.ts"],"names":[],"mappings":"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"}
@@ -20,11 +20,7 @@
20
20
  * - Only the materializer writes a target. Each write of this storage rejects with `FORBIDDEN`.
21
21
  */
22
22
  import { ensureConnection } from "../connection.js";
23
- import { partitionTargetId, viewFilter, VIEW_GENERATION_FIELD, VIEW_HASH_FIELD } from "./materializer.js";
24
- /** The `_id` of a row in the result, from the stored `_id` of `partitionTargetId`. */
25
- function defaultRowId(storedId) {
26
- return typeof storedId === "object" && storedId !== null && "id" in storedId ? storedId.id : storedId;
27
- }
23
+ import { defaultRowId, partitionTargetId, viewFilter, VIEW_GENERATION_FIELD, VIEW_HASH_FIELD } from "./materializer.js";
28
24
  /**
29
25
  * A read-only `CollectionStorage` over the target of one materialized view (roadmap CLI-38). Each
30
26
  * read gives the rows of the current generation of the view only.
@@ -1 +1 @@
1
- {"version":3,"file":"view-storage.js","sourceRoot":"","sources":["../../src/storage/view-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view-storage.js","sourceRoot":"","sources":["../../src/storage/view-storage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package",
3
3
  "name": "@procedures/mongo",
4
- "version": "0.36.0",
4
+ "version": "0.37.0",
5
5
  "description": "MongoDB as typed procedures: documents, bulk writes, distinct, explain, collections, indexes, aggregation, change streams and database info, with safe update and delete targets.",
6
6
  "keywords": [
7
7
  "mongodb",
@@ -72,8 +72,8 @@
72
72
  "procedures": "./dist/register.js"
73
73
  },
74
74
  "dependencies": {
75
- "@procedures/client": "0.36.0",
76
- "@procedures/collections": "0.36.0",
75
+ "@procedures/client": "0.37.0",
76
+ "@procedures/collections": "0.37.0",
77
77
  "mongodb": "^7.0.0",
78
78
  "zod": "^4.6.5"
79
79
  },
@@ -546,6 +546,59 @@ export function storageChangeSource<T>(storage: MongoDocumentStorage<T>): Storag
546
546
  return sourceOfStorage(storage);
547
547
  }
548
548
 
549
+ /**
550
+ * The write parts of the storage of one partition that a `ViewMaterializer` uses for a target in a
551
+ * stored form (roadmap CLI-81). The materializer writes the rows of a view through them, so each
552
+ * row is a document of the storage. The package does not export this type: it is for the modules
553
+ * of the storage.
554
+ */
555
+ export interface StorageWriteTarget {
556
+ /** The MongoDB collection of the items. */
557
+ readonly collection: string;
558
+ /** The collection of the sequence counters. */
559
+ readonly counters: string;
560
+ /** The stored form. */
561
+ readonly form: StoredForm;
562
+ /** The partition of the storage, or undefined for the storage of the whole collection. */
563
+ readonly partition: string | undefined;
564
+ /** The lease of a pending number of a write, in milliseconds. */
565
+ readonly writeLeaseMs: number;
566
+ /** The most tombstones of the partition. */
567
+ readonly maxTombstones: number;
568
+ /** The partition fields and their values. An `undefined` value is an absent field. */
569
+ readonly partitionFields: ReadonlyMap<string, unknown>;
570
+ /** The filter of the documents of the partition, the tombstones too. */
571
+ partitionFilter(): Document;
572
+ /** The stored `_id` of an id. It throws for an id that the storage refuses. */
573
+ storedId(id: string): unknown;
574
+ /** The id of a stored document (its stored `_id`, else `_key`), or undefined. */
575
+ idOfDoc(doc: Document): string | undefined;
576
+ /** The stored document of an item, as a write of the storage makes it. It throws a `TypeError` for an item that a document cannot keep. */
577
+ encode(id: string, value: unknown, seq: number, ord: number): Document;
578
+ /** The tombstone of an id, as a delete of the storage makes it. */
579
+ tombstone(id: string, seq: number): Document;
580
+ /** This method creates the indexes of the storage. */
581
+ ready(): Promise<void>;
582
+ /**
583
+ * This method takes `count` pending numbers, and writes with them (the watermark path of the
584
+ * writes). A late write moves its documents to new numbers. The numbers are not noted as numbers
585
+ * of this process, so a watcher of the collection publishes the hints of the write.
586
+ */
587
+ withPendingNumbers<R>(db: Db, count: number, write: (first: number) => Promise<R>): Promise<R>;
588
+ /** This method writes the floor document of the partition once (roadmap O66). */
589
+ noteFloor(db: Db): Promise<void>;
590
+ /** This method drops the oldest tombstones over the limit, and raises the floor of the change log. */
591
+ prune(db: Db): Promise<void>;
592
+ }
593
+
594
+ /** The reader of the write parts of a storage. The class sets it, so it can read its private fields. */
595
+ let writeTargetOfStorage: <T>(storage: MongoDocumentStorage<T>) => StorageWriteTarget;
596
+
597
+ /** This function gives the write parts of a storage for a `ViewMaterializer` (roadmap CLI-81). The package does not export it. */
598
+ export function storageWriteTarget<T>(storage: MongoDocumentStorage<T>): StorageWriteTarget {
599
+ return writeTargetOfStorage(storage);
600
+ }
601
+
549
602
  /** True for a plain object. */
550
603
  function isPlainObject(value: unknown): value is Record<string, unknown> {
551
604
  if (typeof value !== "object" || value === null || Array.isArray(value)) return false;
@@ -701,6 +754,26 @@ export class MongoDocumentStorage<T> implements CollectionStorage<T> {
701
754
  storedDocuments: (ids) => storage.storedDocuments(ids),
702
755
  partitions: () => storage.knownPartitions(),
703
756
  });
757
+ writeTargetOfStorage = <S>(storage: MongoDocumentStorage<S>): StorageWriteTarget => ({
758
+ collection: storage.collectionName,
759
+ counters: storage.countersName,
760
+ form: storage.form,
761
+ partition: storage.partition,
762
+ writeLeaseMs: storage.writeLeaseMs,
763
+ maxTombstones: storage.maxTombstones,
764
+ partitionFields: new Map(storage.partitionEntries),
765
+ partitionFilter: () => storage.partitionFilter(),
766
+ storedId: (id) => storage.storedId(id),
767
+ idOfDoc: (doc) => storage.idOfDoc(doc),
768
+ encode: (id, value, seq, ord) => storage.encode(id, value as S, seq, ord),
769
+ tombstone: (id, seq) => storage.tombstoneOf(id, seq),
770
+ ready: async () => {
771
+ await storage.collection();
772
+ },
773
+ withPendingNumbers: (db, count, write) => storage.withPendingNumbers(db, db.collection<Stored>(storage.collectionName), count, write, (): void => undefined),
774
+ noteFloor: (db) => storage.noteFloor(db),
775
+ prune: (db) => storage.pruneTombstones(db, db.collection<Stored>(storage.collectionName)),
776
+ });
704
777
  }
705
778
 
706
779
  constructor(options: MongoDocumentStorageOptions<T>, partitions?: Map<string, MongoDocumentStorage<T>>) {
@@ -978,6 +1051,22 @@ export class MongoDocumentStorage<T> implements CollectionStorage<T> {
978
1051
  await session.endSession();
979
1052
  }
980
1053
  }
1054
+ return this.withPendingNumbers(db, collection, count, (first) => write(first), noteOwn);
1055
+ }
1056
+
1057
+ /**
1058
+ * This method takes `count` pending numbers and writes with them: the watermark path of the
1059
+ * writes. The numbers stay pending until the write ends. A late write (its numbers left their
1060
+ * lease, so a reader can have passed them) moves its documents to new numbers. `noteOwn` notes
1061
+ * the numbers for a watcher of this process (roadmap CLI-77).
1062
+ */
1063
+ private async withPendingNumbers<R>(
1064
+ db: Db,
1065
+ collection: Collection<Stored>,
1066
+ count: number,
1067
+ write: (first: number) => Promise<R>,
1068
+ noteOwn: (db: Db, collection: string, first: number, count: number) => void
1069
+ ): Promise<R> {
981
1070
  let { first } = await this.allocate(db, count);
982
1071
  noteOwn(db, this.collectionName, first, count);
983
1072
  let result: R;
@@ -1074,9 +1163,10 @@ export class MongoDocumentStorage<T> implements CollectionStorage<T> {
1074
1163
  if (oldest.length === 0) return;
1075
1164
  // A watcher of this process reads the delete of a pruned tombstone without the image before the change (roadmap CLI-77)
1076
1165
  notePrunedIds(db, this.collectionName, oldest.map((doc) => doc._id));
1077
- await items.deleteMany({ _id: { $in: oldest.map((doc) => doc._id) } } as Filter<Stored>);
1166
+ // The floor goes up before the delete: a reader far behind gets a full result, never a delta without the deletes
1078
1167
  const floor = Math.max(...oldest.map((doc) => Number(doc[SEQ])));
1079
1168
  await db.collection<CounterDoc>(this.countersName).updateOne({ _id: this.floorId() }, { $max: { floor } }, { upsert: true });
1169
+ await items.deleteMany({ _id: { $in: oldest.map((doc) => doc._id) } } as Filter<Stored>);
1080
1170
  }
1081
1171
 
1082
1172
  /** The ids of stored documents, in their order. A document that does not tell its id is left out. */
@@ -1357,6 +1447,13 @@ export class MongoDocumentStorage<T> implements CollectionStorage<T> {
1357
1447
  });
1358
1448
  }
1359
1449
 
1450
+ /** The tombstone of an id: the document of a deleted item, with the number of the delete. */
1451
+ private tombstoneOf(id: string, seq: number): Stored {
1452
+ const tomb: Stored = { _id: this.storedId(id), [KEY]: id, [SEQ]: seq, [TOMB]: true };
1453
+ this.putPartition(tomb);
1454
+ return tomb;
1455
+ }
1456
+
1360
1457
  /**
1361
1458
  * This method replaces the items of the ids with tombstones, with new numbers, in the queue of the
1362
1459
  * collection. With preconditions, it tests them first (roadmap CLI-16).
@@ -1364,11 +1461,9 @@ export class MongoDocumentStorage<T> implements CollectionStorage<T> {
1364
1461
  private async tombstone(db: Db, collection: Collection<Stored>, ids: string[], expected: ReadonlyArray<readonly [string, string | null]> = []): Promise<void> {
1365
1462
  await this.withNumbers(db, collection, ids.length, async (first, session) => {
1366
1463
  const guards = await this.checkVersions(collection, expected, session);
1367
- const operations: AnyBulkWriteOperation<Stored>[] = ids.map((id, index) => {
1368
- const tomb: Stored = { _id: this.storedId(id), [KEY]: id, [SEQ]: first + index, [TOMB]: true };
1369
- this.putPartition(tomb);
1370
- return { replaceOne: { filter: { ...this.writeFilter(id), ...guards.get(id) }, replacement: tomb } };
1371
- });
1464
+ const operations: AnyBulkWriteOperation<Stored>[] = ids.map((id, index) => ({
1465
+ replaceOne: { filter: { ...this.writeFilter(id), ...guards.get(id) }, replacement: this.tombstoneOf(id, first + index) },
1466
+ }));
1372
1467
  const result = await collection.bulkWrite(operations, { ordered: true, ...(session ? { session } : {}) });
1373
1468
  // A guard that found no document: another writer came between the test and the write
1374
1469
  if (expected.length > 0 && !session && result.matchedCount < operations.length) throw await this.lateConflict(collection, expected);
@@ -30,8 +30,8 @@ export {
30
30
  } from "./pipeline-scope.js";
31
31
  export type { PipelineLimits, PipelineScope } from "./pipeline-scope.js";
32
32
  // Materialized views driven by change streams (Graph's split plan, P4)
33
- export { ViewMaterializer, identityPartition, partitionTargetId, viewFilter, VIEW_GENERATION_FIELD, VIEW_HASH_FIELD } from "./materializer.js";
34
- export type { MaterializedView, MaterializedViewStatus, ViewMaterializerOptions, ViewPartitionOf, ViewPipelineScope, ViewStorageSource, ViewTargetId } from "./materializer.js";
33
+ export { ViewMaterializer, identityPartition, defaultStorageRowId, partitionTargetId, viewFilter, VIEW_GENERATION_FIELD, VIEW_HASH_FIELD } from "./materializer.js";
34
+ export type { MaterializedView, MaterializedViewStatus, ViewMaterializerOptions, ViewPartitionOf, ViewPipelineScope, ViewStorageSource, ViewStorageTarget, ViewStorageTargetEntry, ViewTargetId } from "./materializer.js";
35
35
  // A read-only storage of a view for the collection procedures: one generation for each read (roadmap CLI-38)
36
36
  export { MongoViewStorage } from "./view-storage.js";
37
37
  export type { MongoViewStorageOptions } from "./view-storage.js";