@memberjunction/metadata-sync 5.40.2 → 5.42.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.
@@ -21,16 +21,46 @@ export interface DatabaseReference {
21
21
  export declare class DatabaseReferenceScanner {
22
22
  private metadata;
23
23
  private contextUser;
24
+ /** Memoized entity-info lookups so repeated primary-key extraction stays O(1). */
25
+ private entityInfoCache;
24
26
  constructor(metadata: Metadata, contextUser: UserInfo);
25
27
  /**
26
28
  * Scan database for records that reference records marked for deletion
27
29
  *
30
+ * Queries are batched: all delete-target primary keys of a given entity are checked against
31
+ * each referencing foreign key in a single `IN (...)` query, rather than one query per
32
+ * (record × referencing field). Metadata membership is resolved via a pre-built key set
33
+ * instead of re-scanning every metadata record for each reference found.
34
+ *
28
35
  * @param recordsToDelete Records that will be deleted
29
36
  * @param reverseFKMap Map of entity -> entities that reference it
30
37
  * @param allMetadataRecords All records from metadata (for checking if DB record exists in metadata)
31
38
  * @returns Array of database references found
32
39
  */
33
40
  scanForReferences(recordsToDelete: FlattenedRecord[], reverseFKMap: Map<string, ReverseFKInfo[]>, allMetadataRecords: FlattenedRecord[]): Promise<DatabaseReference[]>;
41
+ /**
42
+ * Run a single batched lookup for one referencing foreign key against a chunk of
43
+ * delete-target primary keys, appending any matches to {@link out}.
44
+ */
45
+ private scanReferencingFieldBatch;
46
+ /**
47
+ * Group delete-target records by entity, collecting each entity's primary-key values and a
48
+ * normalized value -> CompositeKey map for mapping query results back to the original record.
49
+ */
50
+ private groupRecordsByEntity;
51
+ /**
52
+ * Build a set of `entityName::normalizedKey` strings for every metadata record, enabling O(1)
53
+ * "does this record exist in metadata" checks.
54
+ */
55
+ private buildMetadataKeySet;
56
+ /** Composite map/set key for an (entity, primary key) pair, normalized for case-insensitive match. */
57
+ private metadataKey;
58
+ /** Normalize an identifier for case-insensitive comparison (UUIDs differ in case across SQL Server / PostgreSQL). */
59
+ private normalizeId;
60
+ /** Split an array into chunks of at most `size`. */
61
+ private chunk;
62
+ /** Memoized entity lookup by name (avoids repeated O(N) scans of the entity list). */
63
+ private entityInfoByName;
34
64
  /**
35
65
  * Extract primary key from a flattened record
36
66
  */
@@ -39,10 +69,6 @@ export declare class DatabaseReferenceScanner {
39
69
  * Get primary key from a simple record (plain object from RunView with ResultType: 'simple')
40
70
  */
41
71
  private getPrimaryKeyFromSimpleRecord;
42
- /**
43
- * Check if a database record exists in metadata files
44
- */
45
- private checkIfInMetadata;
46
72
  /**
47
73
  * Get orphaned references (database-only records not in metadata)
48
74
  * These will prevent deletion unless handled
@@ -1 +1 @@
1
- {"version":3,"file":"database-reference-scanner.d.ts","sourceRoot":"","sources":["../../src/lib/database-reference-scanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAW,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,YAAY,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,YAAY,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;GAKG;AACH,qBAAa,wBAAwB;IAE7B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,WAAW;gBADX,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,QAAQ;IAGjC;;;;;;;OAOG;IACG,iBAAiB,CACnB,eAAe,EAAE,eAAe,EAAE,EAClC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,EAC1C,kBAAkB,EAAE,eAAe,EAAE,GACtC,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAwE/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoCzB;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAoCrC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAqBzB;;;OAGG;IACH,qBAAqB,CAAC,UAAU,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE;IAI3E;;;OAGG;IACH,qBAAqB,CAAC,UAAU,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE;CAG9E"}
1
+ {"version":3,"file":"database-reference-scanner.d.ts","sourceRoot":"","sources":["../../src/lib/database-reference-scanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAW,QAAQ,EAAE,YAAY,EAAc,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAS5D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,YAAY,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,YAAY,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;GAKG;AACH,qBAAa,wBAAwB;IAK7B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,WAAW;IALvB,kFAAkF;IAClF,OAAO,CAAC,eAAe,CAA6C;gBAGxD,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,QAAQ;IAGjC;;;;;;;;;;;;OAYG;IACG,iBAAiB,CACnB,eAAe,EAAE,eAAe,EAAE,EAClC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,EAC1C,kBAAkB,EAAE,eAAe,EAAE,GACtC,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAgC/B;;;OAGG;YACW,yBAAyB;IA2DvC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAgC5B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAW3B,sGAAsG;IACtG,OAAO,CAAC,WAAW;IAInB,qHAAqH;IACrH,OAAO,CAAC,WAAW;IAInB,oDAAoD;IACpD,OAAO,CAAC,KAAK;IAWb,sFAAsF;IACtF,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoCzB;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAoCrC;;;OAGG;IACH,qBAAqB,CAAC,UAAU,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE;IAI3E;;;OAGG;IACH,qBAAqB,CAAC,UAAU,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE;CAG9E"}
@@ -1,4 +1,10 @@
1
1
  import { RunView, CompositeKey } from '@memberjunction/core';
2
+ /**
3
+ * Maximum number of primary-key values placed in a single batched `IN (...)` filter when scanning
4
+ * for database references. Keeps each generated query within SQL Server / provider size limits while
5
+ * still collapsing thousands of per-record lookups into a handful of queries.
6
+ */
7
+ const REFERENCE_SCAN_CHUNK_SIZE = 1000;
2
8
  /**
3
9
  * Scans the database for existing records that reference records marked for deletion
4
10
  * This helps identify:
@@ -9,10 +15,17 @@ export class DatabaseReferenceScanner {
9
15
  constructor(metadata, contextUser) {
10
16
  this.metadata = metadata;
11
17
  this.contextUser = contextUser;
18
+ /** Memoized entity-info lookups so repeated primary-key extraction stays O(1). */
19
+ this.entityInfoCache = new Map();
12
20
  }
13
21
  /**
14
22
  * Scan database for records that reference records marked for deletion
15
23
  *
24
+ * Queries are batched: all delete-target primary keys of a given entity are checked against
25
+ * each referencing foreign key in a single `IN (...)` query, rather than one query per
26
+ * (record × referencing field). Metadata membership is resolved via a pre-built key set
27
+ * instead of re-scanning every metadata record for each reference found.
28
+ *
16
29
  * @param recordsToDelete Records that will be deleted
17
30
  * @param reverseFKMap Map of entity -> entities that reference it
18
31
  * @param allMetadataRecords All records from metadata (for checking if DB record exists in metadata)
@@ -21,61 +34,142 @@ export class DatabaseReferenceScanner {
21
34
  async scanForReferences(recordsToDelete, reverseFKMap, allMetadataRecords) {
22
35
  const references = [];
23
36
  const rv = new RunView();
24
- for (const record of recordsToDelete) {
25
- const entityName = record.entityName;
37
+ // Pre-build O(1) membership of "(entity, key) exists somewhere in metadata".
38
+ const metadataKeys = this.buildMetadataKeySet(allMetadataRecords);
39
+ // Group delete targets by entity so all of an entity's primary keys can hit each
40
+ // referencing table in one batched query.
41
+ const groups = this.groupRecordsByEntity(recordsToDelete);
42
+ for (const [referencedEntity, group] of groups) {
43
+ const referencingEntities = reverseFKMap.get(referencedEntity) || [];
44
+ for (const refInfo of referencingEntities) {
45
+ for (const valueChunk of this.chunk(group.pkValues, REFERENCE_SCAN_CHUNK_SIZE)) {
46
+ await this.scanReferencingFieldBatch(rv, referencedEntity, refInfo, valueChunk, group.keyByValue, metadataKeys, references);
47
+ }
48
+ }
49
+ }
50
+ return references;
51
+ }
52
+ /**
53
+ * Run a single batched lookup for one referencing foreign key against a chunk of
54
+ * delete-target primary keys, appending any matches to {@link out}.
55
+ */
56
+ async scanReferencingFieldBatch(rv, referencedEntity, refInfo, pkValues, keyByValue, metadataKeys, out) {
57
+ if (pkValues.length === 0) {
58
+ return;
59
+ }
60
+ try {
61
+ const inList = pkValues.map(v => `'${v.replace(/'/g, "''")}'`).join(', ');
62
+ const filter = `${refInfo.fieldName} IN (${inList})`;
63
+ const result = await rv.RunView({
64
+ EntityName: refInfo.entityName,
65
+ ExtraFilter: filter,
66
+ IgnoreMaxRows: true, // a single batched query can match far more rows than the entity's UserViewMaxRows cap
67
+ ResultType: 'simple' // More efficient - we don't need entity objects
68
+ }, this.contextUser);
69
+ if (!result.Success || !result.Results || result.Results.length === 0) {
70
+ return;
71
+ }
72
+ for (const dbRecord of result.Results) {
73
+ const refPrimaryKey = this.getPrimaryKeyFromSimpleRecord(dbRecord, refInfo.entityName);
74
+ if (!refPrimaryKey) {
75
+ console.warn(`Cannot get primary key for ${refInfo.entityName} record`);
76
+ continue;
77
+ }
78
+ // Map the referencing FK value back to the exact CompositeKey of the deleted record.
79
+ const referencedRaw = dbRecord[refInfo.fieldName];
80
+ const referencedKey = referencedRaw != null
81
+ ? keyByValue.get(this.normalizeId(referencedRaw.toString()))
82
+ : undefined;
83
+ out.push({
84
+ entityName: refInfo.entityName,
85
+ primaryKey: refPrimaryKey,
86
+ referencingField: refInfo.fieldName,
87
+ referencedEntity,
88
+ referencedKey: referencedKey ?? CompositeKey.FromID(referencedRaw != null ? referencedRaw.toString() : ''),
89
+ existsInMetadata: metadataKeys.has(this.metadataKey(refInfo.entityName, refPrimaryKey))
90
+ });
91
+ }
92
+ }
93
+ catch (error) {
94
+ console.error(`Error scanning references from ${refInfo.entityName}.${refInfo.fieldName} ` +
95
+ `to ${referencedEntity}:`, error);
96
+ }
97
+ }
98
+ /**
99
+ * Group delete-target records by entity, collecting each entity's primary-key values and a
100
+ * normalized value -> CompositeKey map for mapping query results back to the original record.
101
+ */
102
+ groupRecordsByEntity(records) {
103
+ const groups = new Map();
104
+ for (const record of records) {
26
105
  const primaryKey = this.extractPrimaryKey(record);
27
106
  if (!primaryKey) {
28
- console.warn(`Cannot scan references for ${entityName}: no primary key found`);
107
+ console.warn(`Cannot scan references for ${record.entityName}: no primary key found`);
29
108
  continue;
30
109
  }
31
- // Find all entities that could reference this one
32
- const referencingEntities = reverseFKMap.get(entityName) || [];
33
- for (const refInfo of referencingEntities) {
34
- try {
35
- // Query database for existing references
36
- // Use the actual value from the primary key, not the concatenated string format
37
- const pkValue = primaryKey.KeyValuePairs.length === 1
38
- ? primaryKey.KeyValuePairs[0].Value
39
- : primaryKey.ToConcatenatedString();
40
- const filter = `${refInfo.fieldName} = '${pkValue}'`;
41
- const result = await rv.RunView({
42
- EntityName: refInfo.entityName,
43
- ExtraFilter: filter,
44
- ResultType: 'simple' // More efficient - we don't need entity objects
45
- }, this.contextUser);
46
- if (result.Success && result.Results && result.Results.length > 0) {
47
- // Found database records that reference this record
48
- for (const dbRecord of result.Results) {
49
- const refPrimaryKey = this.getPrimaryKeyFromSimpleRecord(dbRecord, refInfo.entityName);
50
- if (!refPrimaryKey) {
51
- console.warn(`Cannot get primary key for ${refInfo.entityName} record`);
52
- continue;
53
- }
54
- references.push({
55
- entityName: refInfo.entityName,
56
- primaryKey: refPrimaryKey,
57
- referencingField: refInfo.fieldName,
58
- referencedEntity: entityName,
59
- referencedKey: primaryKey,
60
- existsInMetadata: this.checkIfInMetadata(refInfo.entityName, refPrimaryKey, allMetadataRecords // Check against ALL metadata, not just deletes
61
- )
62
- });
63
- }
64
- }
65
- }
66
- catch (error) {
67
- console.error(`Error scanning references from ${refInfo.entityName}.${refInfo.fieldName} ` +
68
- `to ${entityName}:`, error);
69
- }
110
+ const pkValue = primaryKey.KeyValuePairs.length === 1
111
+ ? primaryKey.KeyValuePairs[0].Value
112
+ : primaryKey.ToConcatenatedString();
113
+ let group = groups.get(record.entityName);
114
+ if (!group) {
115
+ group = { pkValues: [], keyByValue: new Map() };
116
+ groups.set(record.entityName, group);
117
+ }
118
+ const normalized = this.normalizeId(pkValue);
119
+ if (!group.keyByValue.has(normalized)) {
120
+ group.keyByValue.set(normalized, primaryKey);
121
+ group.pkValues.push(pkValue);
70
122
  }
71
123
  }
72
- return references;
124
+ return groups;
125
+ }
126
+ /**
127
+ * Build a set of `entityName::normalizedKey` strings for every metadata record, enabling O(1)
128
+ * "does this record exist in metadata" checks.
129
+ */
130
+ buildMetadataKeySet(records) {
131
+ const set = new Set();
132
+ for (const record of records) {
133
+ const pk = this.extractPrimaryKey(record);
134
+ if (pk) {
135
+ set.add(this.metadataKey(record.entityName, pk));
136
+ }
137
+ }
138
+ return set;
139
+ }
140
+ /** Composite map/set key for an (entity, primary key) pair, normalized for case-insensitive match. */
141
+ metadataKey(entityName, primaryKey) {
142
+ return `${entityName}::${this.normalizeId(primaryKey.ToConcatenatedString())}`;
143
+ }
144
+ /** Normalize an identifier for case-insensitive comparison (UUIDs differ in case across SQL Server / PostgreSQL). */
145
+ normalizeId(value) {
146
+ return value.trim().toUpperCase();
147
+ }
148
+ /** Split an array into chunks of at most `size`. */
149
+ chunk(items, size) {
150
+ if (items.length <= size) {
151
+ return items.length ? [items] : [];
152
+ }
153
+ const result = [];
154
+ for (let i = 0; i < items.length; i += size) {
155
+ result.push(items.slice(i, i + size));
156
+ }
157
+ return result;
158
+ }
159
+ /** Memoized entity lookup by name (avoids repeated O(N) scans of the entity list). */
160
+ entityInfoByName(entityName) {
161
+ if (this.entityInfoCache.has(entityName)) {
162
+ return this.entityInfoCache.get(entityName);
163
+ }
164
+ const info = this.metadata.Entities.find(e => e.Name === entityName);
165
+ this.entityInfoCache.set(entityName, info);
166
+ return info;
73
167
  }
74
168
  /**
75
169
  * Extract primary key from a flattened record
76
170
  */
77
171
  extractPrimaryKey(record) {
78
- const entityInfo = this.metadata.Entities.find(e => e.Name === record.entityName);
172
+ const entityInfo = this.entityInfoByName(record.entityName);
79
173
  if (!entityInfo) {
80
174
  return null;
81
175
  }
@@ -107,7 +201,7 @@ export class DatabaseReferenceScanner {
107
201
  * Get primary key from a simple record (plain object from RunView with ResultType: 'simple')
108
202
  */
109
203
  getPrimaryKeyFromSimpleRecord(record, entityName) {
110
- const entityInfo = this.metadata.Entities.find(e => e.Name === entityName);
204
+ const entityInfo = this.entityInfoByName(entityName);
111
205
  if (!entityInfo) {
112
206
  return null;
113
207
  }
@@ -135,22 +229,6 @@ export class DatabaseReferenceScanner {
135
229
  }
136
230
  return CompositeKey.FromKeyValuePairs(keyPairs);
137
231
  }
138
- /**
139
- * Check if a database record exists in metadata files
140
- */
141
- checkIfInMetadata(entityName, primaryKey, records) {
142
- const keyString = primaryKey.ToConcatenatedString();
143
- for (const record of records) {
144
- if (record.entityName !== entityName) {
145
- continue;
146
- }
147
- const recordKey = this.extractPrimaryKey(record);
148
- if (recordKey && recordKey.ToConcatenatedString() === keyString) {
149
- return true;
150
- }
151
- }
152
- return false;
153
- }
154
232
  /**
155
233
  * Get orphaned references (database-only records not in metadata)
156
234
  * These will prevent deletion unless handled
@@ -1 +1 @@
1
- {"version":3,"file":"database-reference-scanner.js","sourceRoot":"","sources":["../../src/lib/database-reference-scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database-reference-scanner.js","sourceRoot":"","sources":["../../src/lib/database-reference-scanner.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ export interface DeletionAudit {
22
22
  export declare class DeletionAuditor {
23
23
  private metadata;
24
24
  private contextUser;
25
+ /** Maximum number of values placed in a single `IN (...)` clause when batching existence checks. */
26
+ private static readonly MAX_IN_CLAUSE;
25
27
  constructor(metadata: Metadata, contextUser: UserInfo);
26
28
  /**
27
29
  * Perform comprehensive deletion audit across all metadata files
@@ -52,6 +54,13 @@ export declare class DeletionAuditor {
52
54
  * Returns records separated into existing (need deletion) and already deleted
53
55
  */
54
56
  private checkRecordExistence;
57
+ /**
58
+ * Batched existence check for single-primary-key entities. Resolves all keys with a small
59
+ * number of `IN (...)` queries instead of one round-trip per record.
60
+ */
61
+ private checkSinglePkExistence;
62
+ /** Per-record existence fallback for composite-key or unknown entities. */
63
+ private checkExistencePerRecord;
55
64
  /**
56
65
  * Find orphaned references (database records not in metadata files)
57
66
  * These will prevent deletion unless handled
@@ -1 +1 @@
1
- {"version":3,"file":"deletion-auditor.d.ts","sourceRoot":"","sources":["../../src/lib/deletion-auditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EACH,eAAe,EACf,iBAAiB,EAEpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAA4B,MAAM,8BAA8B,CAAC;AAG3F;;GAEG;AACH,MAAM,WAAW,aAAa;IAE1B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAG9C,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAG9C,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAG7C,sBAAsB,EAAE,iBAAiB,EAAE,CAAC;IAI5C,qBAAqB,EAAE,eAAe,EAAE,CAAC;IAGzC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAGtD,cAAc,EAAE,eAAe,EAAE,EAAE,CAAC;IAGpC,oBAAoB,EAAE,MAAM,EAAE,EAAE,CAAC;IACjC,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;CAC3C;AAED;;;GAGG;AACH,qBAAa,eAAe;IAEpB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,WAAW;gBADX,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,QAAQ;IAGjC;;;;;;;;;;;;;OAaG;IACG,cAAc,CAAC,UAAU,EAAE,eAAe,EAAE,EAAE,YAAY,GAAE,OAAe,GAAG,OAAO,CAAC,aAAa,CAAC;IA8F1G;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAmC3B;;;OAGG;YACW,oBAAoB;IA+BlC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAqB9B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,4CAA4C;IAsEpD;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA2ChC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAO5B;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAKtC;;;OAGG;IACH,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;CAGtD"}
1
+ {"version":3,"file":"deletion-auditor.d.ts","sourceRoot":"","sources":["../../src/lib/deletion-auditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAW,MAAM,sBAAsB,CAAC;AACnE,OAAO,EACH,eAAe,EACf,iBAAiB,EAEpB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAA4B,MAAM,8BAA8B,CAAC;AAG3F;;GAEG;AACH,MAAM,WAAW,aAAa;IAE1B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAG9C,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAG9C,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAG7C,sBAAsB,EAAE,iBAAiB,EAAE,CAAC;IAI5C,qBAAqB,EAAE,eAAe,EAAE,CAAC;IAGzC,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAGtD,cAAc,EAAE,eAAe,EAAE,EAAE,CAAC;IAGpC,oBAAoB,EAAE,MAAM,EAAE,EAAE,CAAC;IACjC,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;CAC3C;AAED;;;GAGG;AACH,qBAAa,eAAe;IAKpB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,WAAW;IALvB,oGAAoG;IACpG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAQ;gBAGjC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,QAAQ;IAGjC;;;;;;;;;;;;;OAaG;IACG,cAAc,CAAC,UAAU,EAAE,eAAe,EAAE,EAAE,YAAY,GAAE,OAAe,GAAG,OAAO,CAAC,aAAa,CAAC;IA8F1G;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAmC3B;;;OAGG;YACW,oBAAoB;IAqClC;;;OAGG;YACW,sBAAsB;IA2DpC,2EAA2E;YAC7D,uBAAuB;IAwBrC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAqB9B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,4CAA4C;IAsEpD;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA2ChC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAO5B;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAKtC;;;OAGG;IACH,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;CAGtD"}
@@ -1,3 +1,4 @@
1
+ import { RunView } from '@memberjunction/core';
1
2
  import { RecordDependencyAnalyzer } from './record-dependency-analyzer.js';
2
3
  import { DatabaseReferenceScanner } from './database-reference-scanner.js';
3
4
  import { EntityForeignKeyHelper } from './entity-foreign-key-helper.js';
@@ -7,6 +8,8 @@ import { SyncEngine } from './sync-engine.js';
7
8
  * Identifies all records that need to be deleted, in what order, and potential issues
8
9
  */
9
10
  export class DeletionAuditor {
11
+ /** Maximum number of values placed in a single `IN (...)` clause when batching existence checks. */
12
+ static { this.MAX_IN_CLAUSE = 1000; }
10
13
  constructor(metadata, contextUser) {
11
14
  this.metadata = metadata;
12
15
  this.contextUser = contextUser;
@@ -135,11 +138,94 @@ export class DeletionAuditor {
135
138
  async checkRecordExistence(records) {
136
139
  const existingRecords = [];
137
140
  const alreadyDeleted = new Map();
138
- // Import SyncEngine to check record existence
141
+ if (records.length === 0) {
142
+ return { existingRecords, alreadyDeleted };
143
+ }
144
+ // Group by entity so each entity's keys can be checked in batched IN(...) queries
145
+ // instead of one database round-trip per record.
146
+ const byEntity = new Map();
147
+ for (const record of records) {
148
+ const list = byEntity.get(record.entityName);
149
+ if (list) {
150
+ list.push(record);
151
+ }
152
+ else {
153
+ byEntity.set(record.entityName, [record]);
154
+ }
155
+ }
156
+ for (const [entityName, entityRecords] of byEntity) {
157
+ const entityInfo = this.metadata.Entities.find(e => e.Name === entityName);
158
+ const primaryKeys = entityInfo?.PrimaryKeys ?? [];
159
+ if (entityInfo && primaryKeys.length === 1) {
160
+ await this.checkSinglePkExistence(entityName, primaryKeys[0].Name, entityRecords, existingRecords, alreadyDeleted);
161
+ }
162
+ else {
163
+ // Composite key or unknown entity: fall back to per-record existence checks.
164
+ await this.checkExistencePerRecord(entityRecords, existingRecords, alreadyDeleted);
165
+ }
166
+ }
167
+ return { existingRecords, alreadyDeleted };
168
+ }
169
+ /**
170
+ * Batched existence check for single-primary-key entities. Resolves all keys with a small
171
+ * number of `IN (...)` queries instead of one round-trip per record.
172
+ */
173
+ async checkSinglePkExistence(entityName, pkField, records, existingRecords, alreadyDeleted) {
174
+ const recordByKey = new Map();
175
+ for (const record of records) {
176
+ const value = record.record.primaryKey?.[pkField] ?? record.record.fields?.[pkField];
177
+ if (value == null) {
178
+ // Cannot determine the key — assume it still exists (safe: avoids skipping a real delete).
179
+ existingRecords.push(record);
180
+ continue;
181
+ }
182
+ recordByKey.set(value.toString().trim().toUpperCase(), record);
183
+ }
184
+ const existing = new Set();
185
+ const rv = new RunView();
186
+ const keys = Array.from(recordByKey.keys());
187
+ for (let i = 0; i < keys.length; i += DeletionAuditor.MAX_IN_CLAUSE) {
188
+ const chunk = keys.slice(i, i + DeletionAuditor.MAX_IN_CLAUSE);
189
+ const inList = chunk.map(v => `'${v.replace(/'/g, "''")}'`).join(', ');
190
+ try {
191
+ const result = await rv.RunView({
192
+ EntityName: entityName,
193
+ ExtraFilter: `${pkField} IN (${inList})`,
194
+ Fields: [pkField],
195
+ IgnoreMaxRows: true, // a full IN-chunk can equal/exceed the entity's UserViewMaxRows cap
196
+ ResultType: 'simple'
197
+ }, this.contextUser);
198
+ if (result.Success && result.Results) {
199
+ for (const row of result.Results) {
200
+ const v = row[pkField];
201
+ if (v != null) {
202
+ existing.add(v.toString().trim().toUpperCase());
203
+ }
204
+ }
205
+ }
206
+ else {
207
+ // Query failed — assume this chunk's records exist (safe default).
208
+ chunk.forEach(v => existing.add(v));
209
+ }
210
+ }
211
+ catch {
212
+ chunk.forEach(v => existing.add(v));
213
+ }
214
+ }
215
+ for (const [key, record] of recordByKey) {
216
+ if (existing.has(key)) {
217
+ existingRecords.push(record);
218
+ }
219
+ else {
220
+ alreadyDeleted.set(record.id, record);
221
+ }
222
+ }
223
+ }
224
+ /** Per-record existence fallback for composite-key or unknown entities. */
225
+ async checkExistencePerRecord(records, existingRecords, alreadyDeleted) {
139
226
  const syncEngine = new SyncEngine(this.contextUser);
140
227
  for (const record of records) {
141
228
  try {
142
- // Check if record exists in database
143
229
  const existingEntity = await syncEngine.loadEntity(record.entityName, record.record.primaryKey || {});
144
230
  if (existingEntity) {
145
231
  existingRecords.push(record);
@@ -153,7 +239,6 @@ export class DeletionAuditor {
153
239
  existingRecords.push(record);
154
240
  }
155
241
  }
156
- return { existingRecords, alreadyDeleted };
157
242
  }
158
243
  /**
159
244
  * Find orphaned references (database records not in metadata files)
@@ -1 +1 @@
1
- {"version":3,"file":"deletion-auditor.js","sourceRoot":"","sources":["../../src/lib/deletion-auditor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deletion-auditor.js","sourceRoot":"","sources":["../../src/lib/deletion-auditor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider-utils.d.ts","sourceRoot":"","sources":["../../src/lib/provider-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG1C,OAAO,EAAE,oBAAoB,EAAyB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAgB7F;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAkBxF;AAsGD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAerD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,IAAI,QAAQ,CAqBxC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,IAAI,oBAAoB,GAAG,IAAI,CAE7D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,WAAW,CAAC,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,EAAE,EACzB,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAC5B,aAAa,CAAC,EAAE,MAAM,EAAE,EACxB,aAAa,CAAC,EAAE,MAAM,EAAE,GACvB,MAAM,EAAE,CAwGV"}
1
+ {"version":3,"file":"provider-utils.d.ts","sourceRoot":"","sources":["../../src/lib/provider-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG1C,OAAO,EAAE,oBAAoB,EAAyB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAgB7F;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAkBxF;AAsGD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CA2BrD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,IAAI,QAAQ,CAqBxC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,IAAI,oBAAoB,GAAG,IAAI,CAE7D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,WAAW,CAAC,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,EAAE,EACzB,iBAAiB,CAAC,EAAE,MAAM,EAAE,EAC5B,aAAa,CAAC,EAAE,MAAM,EAAE,EACxB,aAAa,CAAC,EAAE,MAAM,EAAE,GACvB,MAAM,EAAE,CAwGV"}
@@ -151,7 +151,19 @@ async function refreshUserCacheFromPG(pgPool, coreSchema) {
151
151
  */
152
152
  export async function cleanupProvider() {
153
153
  if (globalPool && globalPool.connected) {
154
- await globalPool.close();
154
+ // mssql pool.close() can hang indefinitely when a query is still in flight
155
+ // against the closing pool (e.g. a late async metadata load racing teardown).
156
+ // Race it against a short timeout so callers never block on teardown — the
157
+ // CLI force-exits afterward, which reaps any lingering socket.
158
+ await Promise.race([
159
+ globalPool.close(),
160
+ new Promise((resolve) => {
161
+ const t = setTimeout(resolve, 4000);
162
+ t.unref();
163
+ }),
164
+ ]).catch(() => {
165
+ /* swallow — best-effort cleanup */
166
+ });
155
167
  globalPool = null;
156
168
  }
157
169
  if (globalPgPool) {
@@ -1 +1 @@
1
- {"version":3,"file":"provider-utils.js","sourceRoot":"","sources":["../../src/lib/provider-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-utils.js","sourceRoot":"","sources":["../../src/lib/provider-utils.ts"],"names":[],"mappings":"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"}