@memberjunction/core 6.2.0-edge.3 → 6.2.0-edge.4

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 (60) hide show
  1. package/dist/generic/JSONType-interfaces/IEntityConfiguration.d.ts +15 -0
  2. package/dist/generic/JSONType-interfaces/IEntityConfiguration.d.ts.map +1 -1
  3. package/dist/generic/RegisterForStartup.d.ts +44 -0
  4. package/dist/generic/RegisterForStartup.d.ts.map +1 -1
  5. package/dist/generic/RegisterForStartup.js +124 -48
  6. package/dist/generic/RegisterForStartup.js.map +1 -1
  7. package/dist/generic/baseEngine.d.ts +193 -2
  8. package/dist/generic/baseEngine.d.ts.map +1 -1
  9. package/dist/generic/baseEngine.js +445 -33
  10. package/dist/generic/baseEngine.js.map +1 -1
  11. package/dist/generic/baseEngineSweeper.d.ts +35 -0
  12. package/dist/generic/baseEngineSweeper.d.ts.map +1 -0
  13. package/dist/generic/baseEngineSweeper.js +97 -0
  14. package/dist/generic/baseEngineSweeper.js.map +1 -0
  15. package/dist/generic/databaseProviderBase.d.ts +20 -11
  16. package/dist/generic/databaseProviderBase.d.ts.map +1 -1
  17. package/dist/generic/databaseProviderBase.js +41 -15
  18. package/dist/generic/databaseProviderBase.js.map +1 -1
  19. package/dist/generic/entityEventBatch.d.ts +124 -0
  20. package/dist/generic/entityEventBatch.d.ts.map +1 -0
  21. package/dist/generic/entityEventBatch.js +194 -0
  22. package/dist/generic/entityEventBatch.js.map +1 -0
  23. package/dist/generic/entityInfo.d.ts +25 -5
  24. package/dist/generic/entityInfo.d.ts.map +1 -1
  25. package/dist/generic/entityInfo.js +28 -5
  26. package/dist/generic/entityInfo.js.map +1 -1
  27. package/dist/generic/interfaces.d.ts +118 -2
  28. package/dist/generic/interfaces.d.ts.map +1 -1
  29. package/dist/generic/interfaces.js.map +1 -1
  30. package/dist/generic/localCacheManager.d.ts +267 -16
  31. package/dist/generic/localCacheManager.d.ts.map +1 -1
  32. package/dist/generic/localCacheManager.js +728 -113
  33. package/dist/generic/localCacheManager.js.map +1 -1
  34. package/dist/generic/logging.d.ts +15 -0
  35. package/dist/generic/logging.d.ts.map +1 -1
  36. package/dist/generic/logging.js +17 -0
  37. package/dist/generic/logging.js.map +1 -1
  38. package/dist/generic/metadata.d.ts +1 -1
  39. package/dist/generic/metadata.d.ts.map +1 -1
  40. package/dist/generic/metadata.js.map +1 -1
  41. package/dist/generic/providerBase.d.ts +184 -3
  42. package/dist/generic/providerBase.d.ts.map +1 -1
  43. package/dist/generic/providerBase.js +353 -69
  44. package/dist/generic/providerBase.js.map +1 -1
  45. package/dist/generic/securityInfo.d.ts +5 -0
  46. package/dist/generic/securityInfo.d.ts.map +1 -1
  47. package/dist/generic/securityInfo.js +5 -0
  48. package/dist/generic/securityInfo.js.map +1 -1
  49. package/dist/generic/telemetryManager.d.ts.map +1 -1
  50. package/dist/generic/telemetryManager.js +4 -1
  51. package/dist/generic/telemetryManager.js.map +1 -1
  52. package/dist/generic/transactionGroup.d.ts +27 -0
  53. package/dist/generic/transactionGroup.d.ts.map +1 -1
  54. package/dist/generic/transactionGroup.js +58 -5
  55. package/dist/generic/transactionGroup.js.map +1 -1
  56. package/dist/index.d.ts +1 -0
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +1 -0
  59. package/dist/index.js.map +1 -1
  60. package/package.json +3 -3
@@ -6,6 +6,7 @@ import { DispatchRemoteOperationInProcess } from "./remoteOperationDispatch.js";
6
6
  import { TransactionItem } from "./transactionGroup.js";
7
7
  import { CompositeKey } from "./compositeKey.js";
8
8
  import { LogError } from "./logging.js";
9
+ import { LocalCacheManager } from "./localCacheManager.js";
9
10
  import { EscapeSQLString, FormatBinaryChangeValue, SQLExpressionValidator, StripSQLStringLiterals, uuidv4 } from "@memberjunction/global";
10
11
  import { GetDialect } from "@memberjunction/sql-dialect";
11
12
  // Re-export PlatformSQL types from their canonical location for backward compatibility
@@ -82,10 +83,13 @@ export class DatabaseProviderBase extends ProviderBase {
82
83
  return 0;
83
84
  }
84
85
  /**
85
- * Public nesting depth. 0 = no ambient TX. Join-TX callers (accounting
86
- * CreateJournalEntries) must read this, not `IsInTransaction` (SQL Server
87
- * leaves that false). Deprecated camelCase `transactionDepth` alias ships
88
- * for one release.
86
+ * Public nesting depth of the transaction open on this instance; 0 = none. Read this, not
87
+ * `IsInTransaction` (SQL Server leaves that false), when you need to know whether a transaction
88
+ * is open at all. The depth is instance-wide: on a shared provider `TransactionDepth > 0` does
89
+ * NOT mean the caller's statements run in that transaction — only the async scope that began it
90
+ * is part of it (#4786). Code that needs to be inside a transaction should simply call
91
+ * {@link BeginTransaction} / {@link BeginEntityTransaction}: joining one the caller is already in
92
+ * is automatic. Deprecated camelCase `transactionDepth` alias ships for one release.
89
93
  */
90
94
  get TransactionDepth() {
91
95
  return this.CurrentTransactionDepth;
@@ -114,6 +118,11 @@ export class DatabaseProviderBase extends ProviderBase {
114
118
  await this.ResetTransactionState();
115
119
  }
116
120
  }
121
+ // Belt and braces: whatever route the rollback took, this instance is going away, so it
122
+ // must not leave an entity-event batch behind. A batch whose owner is collected is
123
+ // unreachable while its entities keep counting as pending, which makes every cached read
124
+ // of them miss for the life of the process.
125
+ await LocalCacheManager.Instance.AbandonEntityEventBatch(this);
117
126
  }
118
127
  /** @deprecated Use {@link TransactionDepth}. */
119
128
  get transactionDepth() {
@@ -128,15 +137,15 @@ export class DatabaseProviderBase extends ProviderBase {
128
137
  /* no-op */
129
138
  }
130
139
  /**
131
- * Run `task` once the ambient transaction on this provider has committed, or now if there is
132
- * no ambient transaction.
140
+ * Run `task` once the caller's transaction on this provider (the one its async scope belongs
141
+ * to) has committed, or now if the caller is in no transaction on this provider.
133
142
  *
134
143
  * Use it for side effects that must only happen for work that is actually durable — queueing
135
144
  * background jobs, firing deferred entity actions — and must not run *inside* the caller's
136
145
  * transaction. Providers that track transactions (see `GenericDatabaseProvider`) queue the task
137
- * while a transaction is open, run queued tasks in registration order after the **outermost**
138
- * commit succeeds (once the transaction lock is released, so a task may open its own
139
- * transaction), and discard them — without running them — when the transaction rolls back,
146
+ * while the caller's transaction is open, run queued tasks in registration order after the
147
+ * **outermost** commit succeeds (once the transaction lock is released, so a task may open its
148
+ * own transaction), and discard them — without running them — when the transaction rolls back,
140
149
  * fails to commit, or is abandoned.
141
150
  *
142
151
  * This default is for providers that do not track transactions: the task starts immediately.
@@ -163,8 +172,9 @@ export class DatabaseProviderBase extends ProviderBase {
163
172
  void this.RunPostCommitTaskSafely(task, description);
164
173
  }
165
174
  /**
166
- * Snapshot of the transaction frames open right now, for a later {@link RunAfterCommit}.
167
- * Synchronous by contract — call it before the first `await` of the code that causes the work.
175
+ * Snapshot of the caller's transaction frames on this provider (the transaction its async scope
176
+ * belongs to), for a later {@link RunAfterCommit}. Synchronous by contract — call it before the
177
+ * first `await` of the code that causes the work.
168
178
  *
169
179
  * @returns `undefined` when no transaction is open. This default never tracks transactions, so
170
180
  * it always returns `undefined`.
@@ -207,6 +217,11 @@ export class DatabaseProviderBase extends ProviderBase {
207
217
  * physical transaction on the same pool, blind to any transaction the caller had already
208
218
  * started.
209
219
  *
220
+ * The transaction belongs to the async scope that calls this: that code and everything it starts
221
+ * run on the transaction; unrelated callers on the same provider instance run on the pool
222
+ * (GenericDatabaseProvider, #4786). Call it from the function that performs the writes — a begin
223
+ * reached only after an `await` inside a helper does not include the helper's caller.
224
+ *
210
225
  * The returned scope is **settle-once**: the first `Commit()` or `Rollback()` wins and later
211
226
  * calls are no-ops, so `try { ...; Commit() } catch { Rollback() }` is safe even when the work
212
227
  * already unwound its own scope.
@@ -222,6 +237,10 @@ export class DatabaseProviderBase extends ProviderBase {
222
237
  const isNested = this.IsInTransaction || this.CurrentTransactionDepth > 0;
223
238
  await this.BeginTransaction();
224
239
  const depthAtBegin = this.CurrentTransactionDepth;
240
+ // Cache maintenance for the saves in this scope waits for the outermost settle: one rewrite
241
+ // per cached slot on commit instead of one per save, and nothing written for work that is
242
+ // rolled back. Nested scopes join the same batch.
243
+ LocalCacheManager.Instance.BeginEntityEventBatch(this);
225
244
  let settled = false;
226
245
  const settle = async (commit) => {
227
246
  if (settled) {
@@ -244,11 +263,18 @@ export class DatabaseProviderBase extends ProviderBase {
244
263
  `work. Do not run concurrent transactional saves on a shared provider instance — use ` +
245
264
  `per-request providers (as MJServer does) or serialize the units of work.`);
246
265
  }
247
- if (commit) {
248
- await this.CommitTransaction();
266
+ let settledAsCommit = false;
267
+ try {
268
+ if (commit) {
269
+ await this.CommitTransaction();
270
+ settledAsCommit = true;
271
+ }
272
+ else {
273
+ await this.RollbackTransaction();
274
+ }
249
275
  }
250
- else {
251
- await this.RollbackTransaction();
276
+ finally {
277
+ await LocalCacheManager.Instance.EndEntityEventBatch(this, settledAsCommit);
252
278
  }
253
279
  };
254
280
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"databaseProviderBase.js","sourceRoot":"","sources":["../../src/generic/databaseProviderBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"databaseProviderBase.js","sourceRoot":"","sources":["../../src/generic/databaseProviderBase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * @fileoverview Bookkeeping for entity-event batches.
3
+ *
4
+ * A bulk unit of work — N saves to one entity inside a transaction — used to rewrite every cached
5
+ * slot for that entity N times, and on a shared cache publish the whole slot N times to every
6
+ * server. While a batch is open for a provider, `LocalCacheManager` buffers the save/delete events
7
+ * raised through that provider and applies them when the batch closes: one read-modify-write, one
8
+ * write and one publish per slot.
9
+ *
10
+ * Batches are keyed by the provider the entities save through. The ambient transaction lives on
11
+ * the provider instance too (see `EntityTransactionScope`), so every save buffered in a batch is
12
+ * part of the same database transaction — which is what makes "apply on commit, drop on rollback"
13
+ * correct.
14
+ *
15
+ * This file only tracks state; applying a batch is `LocalCacheManager`'s job.
16
+ */
17
+ import type { CompositeKey } from './compositeKey.js';
18
+ import type { EntityInfo } from './entityInfo.js';
19
+ /** One buffered save or delete, captured when the event was raised. */
20
+ export interface BufferedEntityChange {
21
+ /** The entity the record belongs to. */
22
+ EntityInfo: EntityInfo;
23
+ /** `save` upserts `Record` into a slot; `delete` removes the row with `Key`. */
24
+ Type: 'save' | 'delete';
25
+ /** The record's primary key. */
26
+ Key: CompositeKey;
27
+ /** The record's values when the event was raised (the pre-delete values for a delete). */
28
+ Record: Record<string, unknown>;
29
+ }
30
+ /**
31
+ * Most changes one batch holds before it stops recording rows. Past this the batch only remembers
32
+ * which entities it touched, and closing it invalidates their slots instead of rewriting them.
33
+ */
34
+ export declare const MAX_BUFFERED_ENTITY_CHANGES = 20000;
35
+ /** The state of one open batch. Nested opens on the same owner share it. */
36
+ export declare class EntityEventBatch {
37
+ private depth;
38
+ private failed;
39
+ private overflowed;
40
+ private readonly changes;
41
+ private readonly touchedEntities;
42
+ /** Changes in the order they were raised. Empty once the batch has overflowed. */
43
+ get Changes(): readonly BufferedEntityChange[];
44
+ /** Every entity a buffered change belonged to, by name. */
45
+ get TouchedEntities(): ReadonlyMap<string, EntityInfo>;
46
+ /**
47
+ * True when the buffered rows can be written to the cache as they are: every close so far
48
+ * reported success and nothing was dropped for size. Otherwise the touched slots must be
49
+ * invalidated instead.
50
+ */
51
+ get CanApplyRows(): boolean;
52
+ private released;
53
+ /** True once this batch's hold on `pendingEntities` has been dropped. */
54
+ get Released(): boolean;
55
+ /** @internal Marks the hold dropped, so a close and a later collection cannot double-count. */
56
+ MarkReleased(): void;
57
+ /** Records one change. */
58
+ Add(change: BufferedEntityChange): void;
59
+ /** @internal */
60
+ Enter(): void;
61
+ /**
62
+ * @internal Leaves one level. A failed inner level (a savepoint rolled back) marks the whole
63
+ * batch failed: the rows it buffered may never have reached the database.
64
+ * @returns True when this was the outermost level.
65
+ */
66
+ Leave(succeeded: boolean): boolean;
67
+ }
68
+ /** Open batches, keyed by the object the entities save through (normally the provider). */
69
+ export declare class EntityEventBatchSet {
70
+ private readonly batches;
71
+ /** Lower-cased entity name → number of open batches holding changes for it. */
72
+ private readonly pendingEntities;
73
+ /**
74
+ * Last-resort release for a batch whose owner was garbage-collected without settling.
75
+ *
76
+ * The asymmetry that makes this necessary: `batches` is weak, so an abandoned batch becomes
77
+ * unreachable, while `pendingEntities` is strong and keeps counting it — `HasPendingChanges`
78
+ * then answers true for those entities for the life of the process, and every cached read of
79
+ * them misses while every fill is skipped, with nothing left that could ever repair it.
80
+ *
81
+ * Nothing in this repository currently leaves a transaction unsettled (every `BeginTransaction`
82
+ * pairs with a commit or rollback, and `ReleaseIndependentInstance` / `ResetTransactionState`
83
+ * abandon explicitly), but MJServer builds a provider per request and never disposes one, so a
84
+ * third-party or future caller that begins without settling is unrecoverable rather than merely
85
+ * wrong. Collection is non-deterministic and this must never be the primary path — it is the
86
+ * floor under it.
87
+ */
88
+ private readonly abandoned;
89
+ /** Opens a batch for `owner`, or enters the one already open. */
90
+ Open(owner: object): void;
91
+ /**
92
+ * Records `change` in the batch open for `owner`.
93
+ * @returns False when no batch is open for `owner`.
94
+ */
95
+ Record(owner: object | null | undefined, change: BufferedEntityChange | null): boolean;
96
+ /**
97
+ * Leaves one level of `owner`'s batch.
98
+ * @returns The batch when this closed it (the caller applies it), otherwise null.
99
+ */
100
+ Close(owner: object, succeeded: boolean): EntityEventBatch | null;
101
+ /**
102
+ * Drops `owner`'s batch whatever its depth, releasing the entities it held pending.
103
+ *
104
+ * For an owner that is going away with a batch still open — an independent provider instance
105
+ * being released, a transaction handle being reset after a failure. Without this the batch is
106
+ * unreachable (the batch map is weak, so it disappears with the owner) while `pendingEntities`
107
+ * is a strong map that keeps counting it: `HasPendingChanges` then answers true for those
108
+ * entities for the life of the process, and every cached read of them misses while every fill
109
+ * is skipped.
110
+ *
111
+ * @returns The dropped batch, so the caller can invalidate what it touched, or null.
112
+ */
113
+ Abandon(owner: object): EntityEventBatch | null;
114
+ /** Drops a closed batch's hold on the entities it touched. Idempotent per batch. */
115
+ private releasePending;
116
+ /** The open batch for `owner`, if any. */
117
+ Find(owner: object | null | undefined): EntityEventBatch | undefined;
118
+ /**
119
+ * True while any open batch holds changes for `entityName` that the cache does not reflect yet.
120
+ * Cached rows for that entity are then behind the database as seen inside the unit of work.
121
+ */
122
+ HasPendingChanges(entityName: string): boolean;
123
+ }
124
+ //# sourceMappingURL=entityEventBatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entityEventBatch.d.ts","sourceRoot":"","sources":["../../src/generic/entityEventBatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,uEAAuE;AACvE,MAAM,WAAW,oBAAoB;IACjC,wCAAwC;IACxC,UAAU,EAAE,UAAU,CAAC;IACvB,gFAAgF;IAChF,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,gCAAgC;IAChC,GAAG,EAAE,YAAY,CAAC;IAClB,0FAA0F;IAC1F,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;GAGG;AACH,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AAEjD,4EAA4E;AAC5E,qBAAa,gBAAgB;IACzB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8B;IACtD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiC;IAEjE,kFAAkF;IAClF,IAAW,OAAO,IAAI,SAAS,oBAAoB,EAAE,CAEpD;IAED,2DAA2D;IAC3D,IAAW,eAAe,IAAI,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAE5D;IAED;;;;OAIG;IACH,IAAW,YAAY,IAAI,OAAO,CAEjC;IAED,OAAO,CAAC,QAAQ,CAAS;IAEzB,yEAAyE;IACzE,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,+FAA+F;IACxF,YAAY,IAAI,IAAI;IAI3B,0BAA0B;IACnB,GAAG,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAa9C,gBAAgB;IACT,KAAK,IAAI,IAAI;IAIpB;;;;OAIG;IACI,KAAK,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO;CAO5C;AAED,2FAA2F;AAC3F,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2C;IACnE,+EAA+E;IAC/E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAE7D;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAEf;IAEX,iEAAiE;IAC1D,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAYhC;;;OAGG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,MAAM,EAAE,oBAAoB,GAAG,IAAI,GAAG,OAAO;IAgB7F;;;OAGG;IACI,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,gBAAgB,GAAG,IAAI;IAWxE;;;;;;;;;;;OAWG;IACI,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAWtD,oFAAoF;IACpF,OAAO,CAAC,cAAc;IAgBtB,0CAA0C;IACnC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,gBAAgB,GAAG,SAAS;IAI3E;;;OAGG;IACI,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;CAGxD"}