@memberjunction/core 5.32.0 → 5.34.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.
Files changed (36) hide show
  1. package/dist/generic/baseEngine.d.ts +34 -5
  2. package/dist/generic/baseEngine.d.ts.map +1 -1
  3. package/dist/generic/baseEngine.js +85 -25
  4. package/dist/generic/baseEngine.js.map +1 -1
  5. package/dist/generic/baseEntity.d.ts +17 -1
  6. package/dist/generic/baseEntity.d.ts.map +1 -1
  7. package/dist/generic/baseEntity.js +53 -6
  8. package/dist/generic/baseEntity.js.map +1 -1
  9. package/dist/generic/databaseProviderBase.d.ts +17 -0
  10. package/dist/generic/databaseProviderBase.d.ts.map +1 -1
  11. package/dist/generic/databaseProviderBase.js +30 -2
  12. package/dist/generic/databaseProviderBase.js.map +1 -1
  13. package/dist/generic/entityInfo.d.ts +79 -0
  14. package/dist/generic/entityInfo.d.ts.map +1 -1
  15. package/dist/generic/entityInfo.js +107 -5
  16. package/dist/generic/entityInfo.js.map +1 -1
  17. package/dist/generic/localCacheManager.d.ts +37 -0
  18. package/dist/generic/localCacheManager.d.ts.map +1 -1
  19. package/dist/generic/localCacheManager.js +112 -3
  20. package/dist/generic/localCacheManager.js.map +1 -1
  21. package/dist/generic/platformSQL.d.ts +1 -5
  22. package/dist/generic/platformSQL.d.ts.map +1 -1
  23. package/dist/generic/platformSQL.js.map +1 -1
  24. package/dist/generic/providerBase.d.ts.map +1 -1
  25. package/dist/generic/providerBase.js +23 -3
  26. package/dist/generic/providerBase.js.map +1 -1
  27. package/dist/generic/util.d.ts +5 -1
  28. package/dist/generic/util.d.ts.map +1 -1
  29. package/dist/generic/util.js +58 -85
  30. package/dist/generic/util.js.map +1 -1
  31. package/dist/views/runView.d.ts +101 -0
  32. package/dist/views/runView.d.ts.map +1 -1
  33. package/dist/views/runView.js +72 -0
  34. package/dist/views/runView.js.map +1 -1
  35. package/package.json +3 -2
  36. package/readme.md +55 -1
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/generic/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/generic/util.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,44 @@ import { IMetadataProvider, IRunViewProvider, RunViewResult } from '../generic/i
2
2
  import { UserInfo } from '../generic/securityInfo.js';
3
3
  import { BaseEntity } from '../generic/baseEntity.js';
4
4
  import { PlatformSQL } from '../generic/platformSQL.js';
5
+ import { CompositeKey } from '../generic/compositeKey.js';
5
6
  import type { CacheChangedEvent } from '../generic/localCacheManager.js';
7
+ /**
8
+ * Reason codes for {@link AfterKeyNotSupportedError}. Use these to make caller
9
+ * fallback logic explicit (e.g., "if reason is CompositePK, fall back to OFFSET pagination").
10
+ */
11
+ export type AfterKeyNotSupportedReason = 'CompositePK' | 'UnsupportedPKType' | 'IncompatibleOrderBy' | 'StartRowConflict' | 'AfterKeyShape';
12
+ /**
13
+ * Thrown by {@link RunView} / RunViews when `AfterKey` is provided but cannot be honored.
14
+ *
15
+ * See the keyset-pagination guide for caller patterns. The most common case is `CompositePK`:
16
+ * an entity with a composite primary key cannot use keyset pagination in v1 — callers should
17
+ * either iterate with OFFSET-based `StartRow` (acceptable for small result sets) or restructure
18
+ * the workload around a single-PK projection.
19
+ *
20
+ * @since v5.x
21
+ */
22
+ export declare class AfterKeyNotSupportedError extends Error {
23
+ readonly EntityName: string;
24
+ readonly Reason: AfterKeyNotSupportedReason;
25
+ constructor(EntityName: string, Reason: AfterKeyNotSupportedReason, message: string);
26
+ }
27
+ /**
28
+ * Orderable SQL types that can be used as the primary key column for keyset pagination.
29
+ *
30
+ * Excludes types where `WHERE pk > @last` is either unsupported or semantically meaningless
31
+ * (`xml`, `sql_variant`, large binary types, etc.). In practice every reasonable primary key
32
+ * type is on this list — this is defensive against exotic future PKs, not a real constraint
33
+ * for any standard MJ entity.
34
+ *
35
+ * Case-insensitive comparison via the helper {@link IsKeysetPaginationOrderableType}.
36
+ */
37
+ export declare const KEYSET_PAGINATION_ORDERABLE_PK_TYPES: ReadonlyArray<string>;
38
+ /**
39
+ * Returns true if the given SQL type name is acceptable as a keyset-pagination PK column.
40
+ * Comparison is case-insensitive and trims any precision/scale parens (e.g. `nvarchar(255)` → `nvarchar`).
41
+ */
42
+ export declare function IsKeysetPaginationOrderableType(sqlTypeName: string | null | undefined): boolean;
6
43
  /**
7
44
  * Single aggregate expression to compute alongside the main view query.
8
45
  * Aggregates run in parallel with the row data query and are NOT affected by pagination.
@@ -119,8 +156,67 @@ export declare class RunViewParams {
119
156
  MaxRows?: number;
120
157
  /**
121
158
  * optional - if provided, this value will be used to offset the rows returned.
159
+ *
160
+ * **Note on deep pagination**: `StartRow` is implemented via SQL `OFFSET` semantics,
161
+ * which is O(N) in the offset value — early pages are fine, but deep pages (offset
162
+ * in the tens or hundreds of thousands) get progressively slower because the server
163
+ * has to enumerate and discard the skipped rows.
164
+ *
165
+ * For background jobs and bulk processing that iterate through entire tables, prefer
166
+ * {@link AfterKey} (keyset / seek pagination), which stays O(log N) regardless of depth.
167
+ * UI grid pagination (a few hundred pages at most) is fine to keep on `StartRow`.
122
168
  */
123
169
  StartRow?: number;
170
+ /**
171
+ * optional - keyset (a.k.a. "seek") pagination using the entity's primary key.
172
+ *
173
+ * When set, the query returns the next page of records **after** the given PK value,
174
+ * ordered by the PK column. Unlike `StartRow` (which uses `OFFSET` and is O(N) in
175
+ * the offset), keyset pagination stays O(log N) regardless of how deep you go —
176
+ * making it the right choice for jobs that walk entire large tables.
177
+ *
178
+ * @example Single-column PK (the only shape supported in v1)
179
+ * ```typescript
180
+ * // Page 1
181
+ * let result = await rv.RunView({
182
+ * EntityName: 'Tax Returns',
183
+ * ExtraFilter: 'AddressLine1 IS NOT NULL',
184
+ * MaxRows: 500,
185
+ * ResultType: 'entity_object'
186
+ * }, contextUser);
187
+ *
188
+ * // Page 2+
189
+ * while (result.Results.length === 500) {
190
+ * const lastId = result.Results[result.Results.length - 1].ID;
191
+ * result = await rv.RunView({
192
+ * EntityName: 'Tax Returns',
193
+ * ExtraFilter: 'AddressLine1 IS NOT NULL',
194
+ * AfterKey: CompositeKey.FromID(lastId),
195
+ * MaxRows: 500,
196
+ * ResultType: 'entity_object'
197
+ * }, contextUser);
198
+ * }
199
+ * ```
200
+ *
201
+ * **Constraints (throw {@link AfterKeyNotSupportedError} when violated):**
202
+ * - Entity must have a single-column primary key (use `RunViewParams.StartRow`
203
+ * for composite-PK entities).
204
+ * - The PK column type must be in {@link KEYSET_PAGINATION_ORDERABLE_PK_TYPES}
205
+ * (essentially all standard SQL types).
206
+ * - `OrderBy`, if set, must reference only the PK column (any `ASC`/`DESC` direction).
207
+ * - Cannot be combined with `StartRow`.
208
+ *
209
+ * **Caching behavior**: When `AfterKey` is present, the query bypasses the server
210
+ * cache (both read and write) — keyset queries are inherently single-use (each call
211
+ * uses a different seek key), so caching them is pure overhead.
212
+ *
213
+ * **End-of-data signal**: When a page returns fewer rows than `MaxRows`, you've
214
+ * reached the end of the result set.
215
+ *
216
+ * @see {@link AfterKeyNotSupportedError}
217
+ * @since v5.x
218
+ */
219
+ AfterKey?: CompositeKey;
124
220
  /**
125
221
  * optional - if set to true, the view run will ALWAYS be logged to the Audit Log, regardless of the entity's property settings for logging view runs.
126
222
  */
@@ -235,6 +331,11 @@ export declare class RunViewParams {
235
331
  * Helper method to compare two string arrays for equality
236
332
  */
237
333
  private static arraysEqual;
334
+ /**
335
+ * Helper method to compare two AfterKey (CompositeKey) values for equality.
336
+ * Two AfterKeys are equal if they contain the same key/value pairs (order-insensitive).
337
+ */
338
+ private static afterKeyEqual;
238
339
  /**
239
340
  * Helper method to compare two AggregateExpression arrays for equality
240
341
  */
@@ -1 +1 @@
1
- {"version":3,"file":"runView.d.ts","sourceRoot":"","sources":["../../src/views/runView.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runView.d.ts","sourceRoot":"","sources":["../../src/views/runView.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,54 @@
1
1
  import { MJGlobal } from '@memberjunction/global';
2
+ /**
3
+ * Thrown by {@link RunView} / RunViews when `AfterKey` is provided but cannot be honored.
4
+ *
5
+ * See the keyset-pagination guide for caller patterns. The most common case is `CompositePK`:
6
+ * an entity with a composite primary key cannot use keyset pagination in v1 — callers should
7
+ * either iterate with OFFSET-based `StartRow` (acceptable for small result sets) or restructure
8
+ * the workload around a single-PK projection.
9
+ *
10
+ * @since v5.x
11
+ */
12
+ export class AfterKeyNotSupportedError extends Error {
13
+ constructor(EntityName, Reason, message) {
14
+ super(message);
15
+ this.EntityName = EntityName;
16
+ this.Reason = Reason;
17
+ this.name = 'AfterKeyNotSupportedError';
18
+ }
19
+ }
20
+ /**
21
+ * Orderable SQL types that can be used as the primary key column for keyset pagination.
22
+ *
23
+ * Excludes types where `WHERE pk > @last` is either unsupported or semantically meaningless
24
+ * (`xml`, `sql_variant`, large binary types, etc.). In practice every reasonable primary key
25
+ * type is on this list — this is defensive against exotic future PKs, not a real constraint
26
+ * for any standard MJ entity.
27
+ *
28
+ * Case-insensitive comparison via the helper {@link IsKeysetPaginationOrderableType}.
29
+ */
30
+ export const KEYSET_PAGINATION_ORDERABLE_PK_TYPES = [
31
+ 'uniqueidentifier',
32
+ 'int', 'bigint', 'smallint', 'tinyint',
33
+ 'decimal', 'numeric', 'money', 'smallmoney',
34
+ 'float', 'real', 'double precision',
35
+ 'char', 'varchar', 'nchar', 'nvarchar', 'text', 'ntext',
36
+ 'date', 'datetime', 'datetime2', 'datetimeoffset', 'smalldatetime', 'time',
37
+ 'bit',
38
+ // PostgreSQL native names that may appear in EntityField.Type when running on PG
39
+ 'uuid', 'integer', 'bigserial', 'serial', 'numeric', 'character varying', 'character', 'timestamp', 'timestamp with time zone', 'timestamp without time zone', 'boolean'
40
+ ];
41
+ /**
42
+ * Returns true if the given SQL type name is acceptable as a keyset-pagination PK column.
43
+ * Comparison is case-insensitive and trims any precision/scale parens (e.g. `nvarchar(255)` → `nvarchar`).
44
+ */
45
+ export function IsKeysetPaginationOrderableType(sqlTypeName) {
46
+ if (!sqlTypeName)
47
+ return false;
48
+ // Strip parameterization like "nvarchar(255)" or "decimal(10, 2)"
49
+ const normalized = sqlTypeName.replace(/\s*\([^)]*\)\s*$/, '').trim().toLowerCase();
50
+ return KEYSET_PAGINATION_ORDERABLE_PK_TYPES.includes(normalized);
51
+ }
2
52
  /**
3
53
  * Parameters for running either a stored or dynamic view.
4
54
  * A stored view is a view that is saved in the database and can be run either by ID or Name.
@@ -50,6 +100,8 @@ export class RunViewParams {
50
100
  return false;
51
101
  if (a.StartRow !== b.StartRow)
52
102
  return false;
103
+ if (!RunViewParams.afterKeyEqual(a.AfterKey, b.AfterKey))
104
+ return false;
53
105
  if (a.ForceAuditLog !== b.ForceAuditLog)
54
106
  return false;
55
107
  if (a.AuditLogDescription !== b.AuditLogDescription)
@@ -87,6 +139,26 @@ export class RunViewParams {
87
139
  }
88
140
  return true;
89
141
  }
142
+ /**
143
+ * Helper method to compare two AfterKey (CompositeKey) values for equality.
144
+ * Two AfterKeys are equal if they contain the same key/value pairs (order-insensitive).
145
+ */
146
+ static afterKeyEqual(a, b) {
147
+ if (a === b)
148
+ return true;
149
+ if (!a || !b)
150
+ return false;
151
+ const aPairs = a.KeyValuePairs ?? [];
152
+ const bPairs = b.KeyValuePairs ?? [];
153
+ if (aPairs.length !== bPairs.length)
154
+ return false;
155
+ for (const pair of aPairs) {
156
+ const match = bPairs.find(p => p.FieldName === pair.FieldName);
157
+ if (!match || match.Value !== pair.Value)
158
+ return false;
159
+ }
160
+ return true;
161
+ }
90
162
  /**
91
163
  * Helper method to compare two AggregateExpression arrays for equality
92
164
  */
@@ -1 +1 @@
1
- {"version":3,"file":"runView.js","sourceRoot":"","sources":["../../src/views/runView.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runView.js","sourceRoot":"","sources":["../../src/views/runView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,MAAM,wBAAwB,CAAC;AAmB9D;;;;;;;;;GASG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAChD,YACoB,UAAkB,EAClB,MAAkC,EAClD,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,eAAU,GAAV,UAAU,CAAQ;QAClB,WAAM,GAAN,MAAM,CAA4B;QAIlD,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC5C,CAAC;CACJ;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAA0B;IACvE,kBAAkB;IAClB,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS;IACtC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY;IAC3C,OAAO,EAAE,MAAM,EAAE,kBAAkB;IACnC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO;IACvD,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM;IAC1E,KAAK;IACL,iFAAiF;IACjF,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,mBAAmB,EAAE,WAAW,EAAE,WAAW,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,SAAS;CAC3K,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,+BAA+B,CAAC,WAAsC;IAClF,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAC/B,kEAAkE;IAClE,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpF,OAAO,oCAAoC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACrE,CAAC;AAyBD;;;;;;;;GAQG;AACH,MAAM,OAAO,aAAa;IAgQtB;;;;;;;OAOG;IACI,MAAM,CAAC,MAAM,CAAC,CAAmC,EAAE,CAAmC;QACzF,8BAA8B;QAC9B,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,wCAAwC;QAClE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,yCAAyC;QAErE,kDAAkD;QAClD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAChD,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC;YAAE,OAAO,KAAK,CAAC;QAChF,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QACxE,IAAI,CAAC,CAAC,gBAAgB,KAAK,CAAC,CAAC,gBAAgB;YAAE,OAAO,KAAK,CAAC;QAC5D,IAAI,CAAC,CAAC,oBAAoB,KAAK,CAAC,CAAC,oBAAoB;YAAE,OAAO,KAAK,CAAC;QACpE,IAAI,CAAC,CAAC,+BAA+B,KAAK,CAAC,CAAC,+BAA+B;YAAE,OAAO,KAAK,CAAC;QAC1F,IAAI,CAAC,CAAC,qBAAqB,KAAK,CAAC,CAAC,qBAAqB;YAAE,OAAO,KAAK,CAAC;QACtE,IAAI,CAAC,CAAC,eAAe,KAAK,CAAC,CAAC,eAAe;YAAE,OAAO,KAAK,CAAC;QAC1D,IAAI,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QACtD,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAC1C,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QACvE,IAAI,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QACtD,IAAI,CAAC,CAAC,mBAAmB,KAAK,CAAC,CAAC,mBAAmB;YAAE,OAAO,KAAK,CAAC;QAClE,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAChD,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAChD,IAAI,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QAEtD,uEAAuE;QACvE,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU;YAAE,OAAO,KAAK,CAAC;QAEhD,uBAAuB;QACvB,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QAEjE,2BAA2B;QAC3B,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC;YAAE,OAAO,KAAK,CAAC;QAE7E,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,WAAW,CAAC,CAAuB,EAAE,CAAuB;QACvE,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,mCAAmC;QAC7D,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,oCAAoC;QAChE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,aAAa,CAAC,CAA2B,EAAE,CAA2B;QACjF,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACzB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,CAAC,CAAC,aAAa,IAAI,EAAE,CAAC;QACrC,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAClD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/D,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;gBAAE,OAAO,KAAK,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,eAAe,CAAC,CAAoC,EAAE,CAAoC;QACrG,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,mCAAmC;QAC7D,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,oCAAoC;QAChE,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU;gBAAE,OAAO,KAAK,CAAC;YACtD,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;gBAAE,OAAO,KAAK,CAAC;QAChD,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,gBAAgB,CAAC,CAAmC,EAAE,CAAmC;QACpG,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,oDAAoD;QAC9E,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI;YAAE,OAAO,KAAK,CAAC;QACzC,6EAA6E;QAC7E,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACjE,+BAA+B;QAC/B,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO;eACvB,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS;eAC3B,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,CAAC;IACzC,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,OAAO;IAEhB;;;OAGG;IACH,YAAY,WAAoC,IAAI;QAL5C,cAAS,GAA4B,IAAI,CAAC;QAM9C,IAAI,QAAQ;YACR,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAClC,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,oBAAoB,CAAC,QAA2B;QAC1D,OAAO,IAAI,OAAO,CAAC,QAAuC,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC;IAC9C,CAAC;IAGD;;;;;OAKG;IACI,KAAK,CAAC,OAAO,CAAU,MAAqB,EAAE,WAAsB;QACvE,mHAAmH;QACnH,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAI,MAAM,EAAE,WAAW,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,QAAQ,CAAU,MAAuB,EAAE,WAAsB;QAC1E,gEAAgE;QAChE,0DAA0D;QAC1D,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC;aAEc,uBAAkB,GAAW,oBAAoB,AAA/B,CAAgC;IACjE;;;OAGG;IACI,MAAM,KAAK,QAAQ;QACtB,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QACnD,IAAI,CAAC;YACD,OAAO,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;;YAErC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IACtF,CAAC;IACM,MAAM,KAAK,QAAQ,CAAC,KAAuB;QAC9C,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;QACnD,IAAI,CAAC;YACD,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC;;YAEtC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IACtF,CAAC;IAGD;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,MAAqB,EAAE,WAAqC,IAAI;QAC/G,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAyB,OAAO,CAAC,QAAQ,CAAC;QAEzE,IAAI,MAAM,CAAC,UAAU;YACjB,OAAO,MAAM,CAAC,UAAU,CAAC;aACxB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,kJAAkJ;YACtM,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAI,MAAM;gBACN,OAAO,MAAM,CAAC,IAAI,CAAA;QAC1B,CAAC;aACI,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACxC,wDAAwD;YACxD,MAAM,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC;gBAC5B,UAAU,EAAE,gBAAgB;gBAC5B,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,QAAQ,GAAG;gBACtF,UAAU,EAAE,eAAe;aAC9B,CAAC,CAAC;YACH,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,uDAAuD;YAC5F,CAAC;QACL,CAAC;;YAEG,OAAO,IAAI,CAAC;IACpB,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@memberjunction/core",
3
3
  "type": "module",
4
- "version": "5.32.0",
4
+ "version": "5.34.0",
5
5
  "description": "MemberJunction: Core Library including Metadata, Application, Entity Retrieval and Manipulation, and Utilities",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -26,7 +26,8 @@
26
26
  "vitest": "^3.1.1"
27
27
  },
28
28
  "dependencies": {
29
- "@memberjunction/global": "5.32.0",
29
+ "@memberjunction/global": "5.34.0",
30
+ "@memberjunction/sql-dialect": "5.34.0",
30
31
  "rxjs": "^7.8.2",
31
32
  "zod": "~3.24.4",
32
33
  "debug": "^4.4.3"
package/readme.md CHANGED
@@ -555,6 +555,59 @@ const result = await rv.RunView<OrderEntity>({
555
555
  // Aggregate results are in result.AggregateResults[]
556
556
  ```
557
557
 
558
+ #### Keyset (Seek) Pagination — `AfterKey`
559
+
560
+ For background jobs and bulk processing that iterate through *all* records of a large entity, use `AfterKey` instead of `StartRow`. Keyset pagination stays **O(log N) per page** regardless of depth — `StartRow`/OFFSET pagination becomes progressively slower as the offset grows.
561
+
562
+ ```typescript
563
+ import { CompositeKey } from '@memberjunction/core';
564
+
565
+ let lastSeenKey: CompositeKey | undefined; // undefined => first page
566
+
567
+ while (true) {
568
+ const result = await rv.RunView({
569
+ EntityName: 'Tax Returns',
570
+ ExtraFilter: 'AddressLine1 IS NOT NULL',
571
+ AfterKey: lastSeenKey,
572
+ MaxRows: 500,
573
+ ResultType: 'entity_object'
574
+ }, contextUser);
575
+
576
+ if (!result.Success || result.Results.length === 0) break;
577
+ for (const r of result.Results) { /* process */ }
578
+ if (result.Results.length < 500) break; // partial page = end of data
579
+
580
+ const last = result.Results[result.Results.length - 1];
581
+ lastSeenKey = CompositeKey.FromID(last.ID);
582
+ }
583
+ ```
584
+
585
+ **Constraints** (throw `AfterKeyNotSupportedError` on violation):
586
+ - Entity must have a **single-column primary key** on a comparable type.
587
+ - `OrderBy`, if set, must reference only the PK column (any `ASC`/`DESC` direction).
588
+ - Cannot be combined with non-zero `StartRow`.
589
+
590
+ Keyset queries automatically bypass the server cache (read + write) — each call uses a different seek key, so caching them is pure overhead.
591
+
592
+ UI grid pagination (a few hundred pages of a few hundred rows) should stay on `StartRow` — keyset isn't necessary there. See **[KEYSET_PAGINATION_GUIDE.md](../../guides/KEYSET_PAGINATION_GUIDE.md)** for the full pattern, validation rules, and reference implementations.
593
+
594
+ ```typescript
595
+ // Defensive: catch the framework's typed error if you want to fall back to OFFSET
596
+ import { AfterKeyNotSupportedError } from '@memberjunction/core';
597
+
598
+ try {
599
+ await rv.RunView({ EntityName: 'SomeEntity', AfterKey: key, MaxRows: 500 }, user);
600
+ } catch (e) {
601
+ if (e instanceof AfterKeyNotSupportedError && e.Reason === 'CompositePK') {
602
+ // entity has composite PK — fall back to StartRow-based iteration
603
+ } else {
604
+ throw e;
605
+ }
606
+ }
607
+ ```
608
+
609
+ Helper: `IsKeysetPaginationOrderableType(sqlTypeName)` — returns true if a column type is acceptable as a keyset PK (essentially all standard SQL types; defensively rejects exotics like `xml`/`sql_variant`/`varbinary`).
610
+
558
611
  #### ResultType and Fields Optimization
559
612
 
560
613
  ```typescript
@@ -592,7 +645,8 @@ const countResult = await rv.RunView({
592
645
  | `Fields` | `string[]` | Field names to return (simple mode only) |
593
646
  | `UserSearchString` | `string` | User search term |
594
647
  | `MaxRows` | `number` | Maximum rows to return |
595
- | `StartRow` | `number` | Row offset for pagination |
648
+ | `StartRow` | `number` | Row offset (OFFSET-based pagination). Use for UI grids. For deep iteration over large tables, prefer `AfterKey`. |
649
+ | `AfterKey` | `CompositeKey` | Keyset (seek) pagination cursor — O(log N) per page regardless of depth. Requires single-column PK. Throws `AfterKeyNotSupportedError` on incompatible entities. See [KEYSET_PAGINATION_GUIDE.md](../../guides/KEYSET_PAGINATION_GUIDE.md). |
596
650
  | `ResultType` | `'simple' \| 'entity_object' \| 'count_only'` | Result format |
597
651
  | `IgnoreMaxRows` | `boolean` | Bypass entity MaxRows setting |
598
652
  | `SaveViewResults` | `boolean` | Store run results for future exclusion |