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

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 (73) hide show
  1. package/dist/generic/BaseEntitySaveQueue.d.ts +7 -0
  2. package/dist/generic/BaseEntitySaveQueue.d.ts.map +1 -1
  3. package/dist/generic/BaseEntitySaveQueue.js +22 -4
  4. package/dist/generic/BaseEntitySaveQueue.js.map +1 -1
  5. package/dist/generic/JSONType-interfaces/IEntityConfiguration.d.ts +18 -0
  6. package/dist/generic/JSONType-interfaces/IEntityConfiguration.d.ts.map +1 -1
  7. package/dist/generic/baseEngine.d.ts +29 -5
  8. package/dist/generic/baseEngine.d.ts.map +1 -1
  9. package/dist/generic/baseEngine.js +117 -11
  10. package/dist/generic/baseEngine.js.map +1 -1
  11. package/dist/generic/baseEntity.d.ts +45 -1
  12. package/dist/generic/baseEntity.d.ts.map +1 -1
  13. package/dist/generic/baseEntity.js +308 -187
  14. package/dist/generic/baseEntity.js.map +1 -1
  15. package/dist/generic/baseInfo.d.ts +31 -3
  16. package/dist/generic/baseInfo.d.ts.map +1 -1
  17. package/dist/generic/baseInfo.js +138 -40
  18. package/dist/generic/baseInfo.js.map +1 -1
  19. package/dist/generic/databaseProviderBase.d.ts +37 -8
  20. package/dist/generic/databaseProviderBase.d.ts.map +1 -1
  21. package/dist/generic/databaseProviderBase.js +162 -65
  22. package/dist/generic/databaseProviderBase.js.map +1 -1
  23. package/dist/generic/entityConfiguration.d.ts +8 -2
  24. package/dist/generic/entityConfiguration.d.ts.map +1 -1
  25. package/dist/generic/entityConfiguration.js +9 -0
  26. package/dist/generic/entityConfiguration.js.map +1 -1
  27. package/dist/generic/entityInfo.d.ts +78 -3
  28. package/dist/generic/entityInfo.d.ts.map +1 -1
  29. package/dist/generic/entityInfo.js +348 -55
  30. package/dist/generic/entityInfo.js.map +1 -1
  31. package/dist/generic/infoProviderResolution.d.ts +16 -0
  32. package/dist/generic/infoProviderResolution.d.ts.map +1 -0
  33. package/dist/generic/infoProviderResolution.js +17 -0
  34. package/dist/generic/infoProviderResolution.js.map +1 -0
  35. package/dist/generic/interfaces.d.ts +25 -1
  36. package/dist/generic/interfaces.d.ts.map +1 -1
  37. package/dist/generic/interfaces.js.map +1 -1
  38. package/dist/generic/localCacheManager.d.ts +238 -40
  39. package/dist/generic/localCacheManager.d.ts.map +1 -1
  40. package/dist/generic/localCacheManager.js +466 -71
  41. package/dist/generic/localCacheManager.js.map +1 -1
  42. package/dist/generic/mjapiUrl.d.ts +21 -0
  43. package/dist/generic/mjapiUrl.d.ts.map +1 -0
  44. package/dist/generic/mjapiUrl.js +25 -0
  45. package/dist/generic/mjapiUrl.js.map +1 -0
  46. package/dist/generic/providerBase.d.ts +118 -3
  47. package/dist/generic/providerBase.d.ts.map +1 -1
  48. package/dist/generic/providerBase.js +398 -100
  49. package/dist/generic/providerBase.js.map +1 -1
  50. package/dist/generic/queryInfo.d.ts +10 -9
  51. package/dist/generic/queryInfo.d.ts.map +1 -1
  52. package/dist/generic/queryInfo.js +60 -33
  53. package/dist/generic/queryInfo.js.map +1 -1
  54. package/dist/generic/scoring/ReciprocalRankFusion.d.ts.map +1 -1
  55. package/dist/generic/scoring/ReciprocalRankFusion.js +10 -3
  56. package/dist/generic/scoring/ReciprocalRankFusion.js.map +1 -1
  57. package/dist/generic/securityInfo.d.ts +6 -6
  58. package/dist/generic/securityInfo.d.ts.map +1 -1
  59. package/dist/generic/securityInfo.js +10 -10
  60. package/dist/generic/securityInfo.js.map +1 -1
  61. package/dist/generic/util.d.ts.map +1 -1
  62. package/dist/generic/util.js +3 -0
  63. package/dist/generic/util.js.map +1 -1
  64. package/dist/generic/wellKnownUserSource.d.ts +3 -2
  65. package/dist/generic/wellKnownUserSource.d.ts.map +1 -1
  66. package/dist/generic/wellKnownUserSource.js +18 -9
  67. package/dist/generic/wellKnownUserSource.js.map +1 -1
  68. package/dist/index.d.ts +1 -0
  69. package/dist/index.d.ts.map +1 -1
  70. package/dist/index.js +1 -0
  71. package/dist/index.js.map +1 -1
  72. package/package.json +3 -3
  73. package/readme.md +29 -4
@@ -7,7 +7,7 @@ import { TransactionItem } from "./transactionGroup.js";
7
7
  import { CompositeKey } from "./compositeKey.js";
8
8
  import { LogError } from "./logging.js";
9
9
  import { LocalCacheManager } from "./localCacheManager.js";
10
- import { EscapeSQLString, FormatBinaryChangeValue, SQLExpressionValidator, StripSQLStringLiterals, uuidv4 } from "@memberjunction/global";
10
+ import { FormatBinaryChangeValue, ScanSQLForScreening, SQLExpressionValidator, uuidv4 } from "@memberjunction/global";
11
11
  import { GetDialect } from "@memberjunction/sql-dialect";
12
12
  // Re-export PlatformSQL types from their canonical location for backward compatibility
13
13
  export { IsPlatformSQL } from "./platformSQL.js";
@@ -933,8 +933,23 @@ export class DatabaseProviderBase extends ProviderBase {
933
933
  // Always offer the record-change-free form to the SQL logger, not only when the
934
934
  // entity tracks record changes: it is also the replay-safe form of a create for
935
935
  // migration recordings (MemberJunction/MJ#4503). Execution still uses fullSQL.
936
- if (sqlDetails.simpleSQL) {
937
- opts.simpleSQLFallback = sqlDetails.simpleSQL;
936
+ if ('simpleSQL' in sqlDetails) {
937
+ Object.defineProperty(opts, 'simpleSQLFallback', {
938
+ enumerable: true,
939
+ configurable: true,
940
+ get() {
941
+ return sqlDetails.simpleSQL || undefined;
942
+ },
943
+ });
944
+ }
945
+ if ('literalSQL' in sqlDetails) {
946
+ Object.defineProperty(opts, 'literalSQL', {
947
+ enumerable: true,
948
+ configurable: true,
949
+ get() {
950
+ return sqlDetails.literalSQL || undefined;
951
+ },
952
+ });
938
953
  }
939
954
  return opts;
940
955
  }
@@ -946,8 +961,23 @@ export class DatabaseProviderBase extends ProviderBase {
946
961
  isMutation: true,
947
962
  description: `Delete ${entity.EntityInfo.Name}`,
948
963
  };
949
- if (entity.EntityInfo.TrackRecordChanges && sqlDetails.simpleSQL) {
950
- opts.simpleSQLFallback = sqlDetails.simpleSQL;
964
+ if (entity.EntityInfo.TrackRecordChanges && 'simpleSQL' in sqlDetails) {
965
+ Object.defineProperty(opts, 'simpleSQLFallback', {
966
+ enumerable: true,
967
+ configurable: true,
968
+ get() {
969
+ return sqlDetails.simpleSQL || undefined;
970
+ },
971
+ });
972
+ }
973
+ if ('literalSQL' in sqlDetails) {
974
+ Object.defineProperty(opts, 'literalSQL', {
975
+ enumerable: true,
976
+ configurable: true,
977
+ get() {
978
+ return sqlDetails.literalSQL || undefined;
979
+ },
980
+ });
951
981
  }
952
982
  return opts;
953
983
  }
@@ -976,26 +1006,27 @@ export class DatabaseProviderBase extends ProviderBase {
976
1006
  /**************************************************************************/
977
1007
  /**
978
1008
  * Validates a user-provided SQL clause (WHERE, ORDER BY, etc.) to prevent SQL injection.
979
- * Checks for forbidden keywords (INSERT, UPDATE, DELETE, EXEC, DROP, UNION, etc.)
980
- * and dangerous patterns (comments, semicolons, xp_ prefix).
981
- * String literals are stripped before validation to avoid false positives.
1009
+ * The clause is read with this provider's SQL dialect. It is rejected when it contains a
1010
+ * comment, text that cannot be read the way the database reads it, a forbidden keyword
1011
+ * (INSERT, UPDATE, DELETE, EXEC, DROP, UNION, etc.), a semicolon, or an `xp_` name.
1012
+ * String literals and quoted identifiers are not checked for keywords.
982
1013
  *
983
1014
  * @param clause The SQL clause to validate
984
1015
  * @returns true if the clause is safe, false if it contains forbidden patterns
985
1016
  */
986
1017
  ValidateUserProvidedSQLClause(clause) {
987
- // Remove string literals to avoid false positives.
988
- //
989
- // 🚨 SECURITY: this uses the SHARED stripper in @memberjunction/global. It must match how
990
- // SQL Server / PostgreSQL actually parse literals — see StripSQLStringLiterals for the full
991
- // rationale and the backslash-escape bypass it exists to prevent. Do NOT inline a regex here;
992
- // an inline copy is exactly how this screen and SQLExpressionValidator drifted apart before.
993
- const clauseWithoutStrings = StripSQLStringLiterals(clause);
994
- const lowerClause = clauseWithoutStrings.toLowerCase();
1018
+ // 🚨 SECURITY: this uses the SHARED scanner in @memberjunction/global, which reads quotes,
1019
+ // [bracket] and "double-quoted" identifiers, comments, and PostgreSQL E'…' and $$…$$ strings
1020
+ // the way this provider's database does, and refuses text it cannot classify. Do NOT inline
1021
+ // a regex here: this screen and SQLExpressionValidator must read SQL the same way.
1022
+ const scan = ScanSQLForScreening(clause, this.PlatformKey);
1023
+ if (!scan.Classified || scan.CommentCount > 0)
1024
+ return false;
1025
+ const lowerClause = scan.Code.toLowerCase();
995
1026
  const forbiddenPatterns = [
996
1027
  /\binsert\b/, /\bupdate\b/, /\bdelete\b/,
997
1028
  /\bexec\b/, /\bexecute\b/, /\bdrop\b/,
998
- /--/, /\/\*/, /\*\//, /\bunion\b/, /\bxp_/, /;/,
1029
+ /--/, /\/\*/, /\*\//, /\bunion\b/, /;/,
999
1030
  // Time-based blind injection vector — no legitimate filter/order-by clause uses WAITFOR.
1000
1031
  /\bwaitfor\b/,
1001
1032
  ];
@@ -1003,7 +1034,8 @@ export class DatabaseProviderBase extends ProviderBase {
1003
1034
  if (pattern.test(lowerClause))
1004
1035
  return false;
1005
1036
  }
1006
- return true;
1037
+ // Extended stored procedures are names, so a quoted name such as [xp_cmdshell] is checked too.
1038
+ return !/\bxp_/.test(scan.CodeWithIdentifiers.toLowerCase());
1007
1039
  }
1008
1040
  /**
1009
1041
  * Checks that the given user has read permissions on the specified entity.
@@ -1052,6 +1084,7 @@ export class DatabaseProviderBase extends ProviderBase {
1052
1084
  const result = validator.validate(agg.expression, {
1053
1085
  context: 'aggregate',
1054
1086
  entityFields: fieldNames,
1087
+ Dialect: this.PlatformKey,
1055
1088
  });
1056
1089
  if (!result.valid) {
1057
1090
  validationErrors.push({
@@ -1138,14 +1171,20 @@ export class DatabaseProviderBase extends ProviderBase {
1138
1171
  }
1139
1172
  }
1140
1173
  /**
1141
- * Builds the SQL to retrieve the "name" field value for a specific entity record.
1142
- * Uses QuoteIdentifier/QuoteSchemaAndView for dialect-neutral SQL generation.
1174
+ * Builds the query that reads a record's name fields by its primary key.
1175
+ *
1176
+ * Key columns are written from the entity's metadata and key values are bound as parameters,
1177
+ * so nothing the caller supplies reaches the SQL text. When a user is given, their effective
1178
+ * read row filter (role RLS and API-key row filters) is ANDed in. A caller that gives no user
1179
+ * is trusted server code, as for a single-record Load.
1143
1180
  *
1144
1181
  * @param entityName The entity name
1145
1182
  * @param compositeKey The record's primary key
1146
- * @returns The SQL query string, or null if the entity has no name field
1183
+ * @param contextUser The acting user, whose read row filter applies
1184
+ * @returns The SQL and its parameter values, or null if the entity has no name field or the
1185
+ * key does not name the entity's primary key fields
1147
1186
  */
1148
- BuildEntityRecordNameSQL(entityName, compositeKey) {
1187
+ BuildEntityRecordNameSQL(entityName, compositeKey, contextUser) {
1149
1188
  const e = this.EntityByName(entityName);
1150
1189
  if (!e)
1151
1190
  throw new Error('Entity ' + entityName + ' not found');
@@ -1154,30 +1193,44 @@ export class DatabaseProviderBase extends ProviderBase {
1154
1193
  LogError('Entity ' + entityName + ' does not have a NameField, returning null');
1155
1194
  return null;
1156
1195
  }
1157
- let where = '';
1158
- for (const pkv of compositeKey.KeyValuePairs) {
1159
- const pk = e.PrimaryKeys.find((pk) => pk.Name === pkv.FieldName);
1160
- if (where.length > 0)
1161
- where += ' AND ';
1162
- if (pk && pk.NeedsQuotes) {
1163
- // Key values arrive from remote callers — escape so a quote in the value cannot
1164
- // break out of the literal (same discipline as CompositeKey.ToWhereClause).
1165
- where += this.QuoteIdentifier(pkv.FieldName) + "='" + EscapeSQLString(String(pkv.Value)) + "'";
1166
- }
1167
- else {
1168
- // Unquoted (numeric) key column: the value is spliced in bare, so refuse anything
1169
- // that is not a plain number rather than letting it reach the SQL text.
1170
- const raw = String(pkv.Value);
1171
- if (!/^-?\d+(\.\d+)?$/.test(raw)) {
1172
- LogError(`BuildEntityRecordNameSQL: non-numeric value provided for numeric key field ${pkv.FieldName} on entity ${entityName}`);
1173
- return null;
1174
- }
1175
- where += this.QuoteIdentifier(pkv.FieldName) + '=' + raw;
1176
- }
1196
+ const keyFields = this.RecordNameKeyFieldsOf(e, compositeKey);
1197
+ if (!keyFields) {
1198
+ return null;
1199
+ }
1200
+ const conditions = keyFields.map((f, i) => this.QuoteIdentifier(f.Name) + '=' + this.BuildParameterPlaceholder(i));
1201
+ const rowFilter = contextUser ? e.GetEffectiveRowFilterWhereClause(contextUser, EntityPermissionType.Read, '') : '';
1202
+ if (rowFilter) {
1203
+ conditions.push('(' + rowFilter + ')');
1177
1204
  }
1178
1205
  // SELECT all name fields so InternalGetEntityRecordName can concatenate them
1179
1206
  const selectFields = nameFields.map(f => this.QuoteIdentifier(f.Name)).join(', ');
1180
- return 'SELECT ' + selectFields + ' FROM ' + this.QuoteSchemaAndView(e.SchemaName, e.BaseView) + ' WHERE ' + where;
1207
+ return {
1208
+ SQL: 'SELECT ' + selectFields + ' FROM ' + this.QuoteSchemaAndView(e.SchemaName, e.BaseView) + ' WHERE ' + conditions.join(' AND '),
1209
+ Parameters: compositeKey.KeyValuePairs.map(kv => kv.Value),
1210
+ };
1211
+ }
1212
+ /**
1213
+ * The primary key field each pair of a record-name key names, in key order. Names match
1214
+ * case-insensitively. Null, after logging, when the key is empty or names a field that is not
1215
+ * one of the entity's primary keys.
1216
+ */
1217
+ RecordNameKeyFieldsOf(entity, compositeKey) {
1218
+ const pairs = compositeKey?.KeyValuePairs ?? [];
1219
+ if (pairs.length === 0) {
1220
+ LogError(`Record name lookup on ${entity.Name}: the key names no fields`);
1221
+ return null;
1222
+ }
1223
+ const keyFields = [];
1224
+ for (const pair of pairs) {
1225
+ const name = String(pair.FieldName ?? '').trim().toLowerCase();
1226
+ const field = entity.PrimaryKeys.find(pk => pk.Name.trim().toLowerCase() === name);
1227
+ if (!field) {
1228
+ LogError(`Record name lookup on ${entity.Name}: ${JSON.stringify(pair.FieldName)} is not a primary key field`);
1229
+ return null;
1230
+ }
1231
+ keyFields.push(field);
1232
+ }
1233
+ return keyFields;
1181
1234
  }
1182
1235
  /**
1183
1236
  * The fields a record's display name is built from, in order: every `IsNameField` field by
@@ -1210,7 +1263,8 @@ export class DatabaseProviderBase extends ProviderBase {
1210
1263
  }
1211
1264
  /**
1212
1265
  * Retrieves the display name for a single entity record.
1213
- * Uses BuildEntityRecordNameSQL for dialect-neutral SQL generation.
1266
+ * Uses BuildEntityRecordNameSQL for dialect-neutral SQL generation, which limits the lookup to
1267
+ * rows the acting user's read row filter allows.
1214
1268
  *
1215
1269
  * Answers with an empty string, without querying, when field-level security withholds any of
1216
1270
  * the name fields from the acting user — the same answer as a record that does not exist, so
@@ -1222,9 +1276,9 @@ export class DatabaseProviderBase extends ProviderBase {
1222
1276
  if (entity && !this.CanUserReadRecordName(entity, contextUser)) {
1223
1277
  return '';
1224
1278
  }
1225
- const sql = this.BuildEntityRecordNameSQL(entityName, compositeKey);
1226
- if (sql) {
1227
- const data = await this.ExecuteSQL(sql, undefined, undefined, contextUser);
1279
+ const query = this.BuildEntityRecordNameSQL(entityName, compositeKey, contextUser);
1280
+ if (query) {
1281
+ const data = await this.ExecuteSQL(query.SQL, query.Parameters, undefined, contextUser);
1228
1282
  if (data && data.length === 1) {
1229
1283
  // Concatenate all returned fields with spaces (supports multi-name entities)
1230
1284
  const values = Object.values(data[0])
@@ -1407,22 +1461,45 @@ export class DatabaseProviderBase extends ProviderBase {
1407
1461
  }
1408
1462
  // Step 4: Generate provider-specific SQL
1409
1463
  const sqlDetails = await this.GenerateSaveSQL(entity, bNewRecord, user, options);
1464
+ const effectiveReturnMode = options?.SaveReturnMode ?? entity.EntityInfo.SaveReturnMode;
1465
+ // Snapshot the entity's in-memory field values at the exact point SQL parameters were bound
1466
+ // (before awaiting ExecuteSQL). If the caller mutates the entity in memory while an async
1467
+ // save is in flight (e.g. BaseEntitySaveQueue pipelining an INSERT + UPDATE), merging
1468
+ // post-await entity.GetAll() would falsely mark those in-flight mutations as clean/saved.
1469
+ const preSaveValues = effectiveReturnMode === 'datestamps_only'
1470
+ ? entity.GetAll()
1471
+ : undefined;
1472
+ if (preSaveValues && bNewRecord) {
1473
+ // On a new record saved with 'datestamps_only', the SP does not query BaseView,
1474
+ // so virtual non-PK fields (e.g. joined name columns) that were never set stay
1475
+ // null. Omit them from preSaveValues so finalizeSave marks them NotLoaded=true.
1476
+ for (const f of entity.EntityInfo.Fields) {
1477
+ if (f.IsVirtual && !f.IsPrimaryKey && (preSaveValues[f.Name] === null || preSaveValues[f.Name] === undefined)) {
1478
+ delete preSaveValues[f.Name];
1479
+ }
1480
+ }
1481
+ }
1410
1482
  if (entity.TransactionGroup && !bReplay) {
1411
1483
  // ---- Transaction Group path ----
1412
1484
  entity.RaiseReadyForTransaction();
1413
1485
  suspendRefresh();
1414
1486
  const extraData = this.GetTransactionExtraData(entity);
1415
- if (sqlDetails.simpleSQL) {
1416
- extraData.simpleSQLFallback = sqlDetails.simpleSQL;
1417
- }
1487
+ Object.defineProperty(extraData, 'simpleSQLFallback', {
1488
+ get: () => sqlDetails.simpleSQL,
1489
+ enumerable: true,
1490
+ configurable: true,
1491
+ });
1418
1492
  extraData.entityName = entity.EntityInfo.Name;
1419
- entity.TransactionGroup.AddTransaction(new TransactionItem(entity, entityResult.Type === 'create' ? 'Create' : 'Update', sqlDetails.fullSQL, sqlDetails.parameters ?? null, extraData, (transactionResult, success) => {
1493
+ entity.TransactionGroup.AddTransaction(new TransactionItem(entity, entityResult.Type === 'create' ? 'Create' : 'Update', sqlDetails.literalSQL ?? sqlDetails.fullSQL, sqlDetails.literalSQL ? null : (sqlDetails.parameters ?? null), extraData, (transactionResult, success) => {
1420
1494
  resumeRefresh();
1421
1495
  entityResult.EndedAt = new Date();
1422
1496
  if (success && transactionResult) {
1423
1497
  this.OnAfterSaveExecute(entity, user, options, saveContext);
1424
1498
  entityResult.Success = true;
1425
- entityResult.NewValues = this.MapTransactionResultToNewValues(transactionResult);
1499
+ const mergedResult = preSaveValues
1500
+ ? { ...preSaveValues, ...transactionResult }
1501
+ : transactionResult;
1502
+ entityResult.NewValues = this.MapTransactionResultToNewValues(mergedResult);
1426
1503
  }
1427
1504
  else {
1428
1505
  entityResult.Success = false;
@@ -1448,20 +1525,36 @@ export class DatabaseProviderBase extends ProviderBase {
1448
1525
  if (result && result.length > 0) {
1449
1526
  this.OnAfterSaveExecute(entity, user, options, saveContext);
1450
1527
  entityResult.Success = true;
1528
+ // In 'datestamps_only' mode, the SP/query returned only the PK and
1529
+ // __mj_CreatedAt/__mj_UpdatedAt columns. Merge those returned values
1530
+ // onto the pre-save snapshot so caller-set fields remain intact without
1531
+ // falsely marking concurrent in-flight mutations as clean.
1532
+ let mergedRow;
1533
+ if (preSaveValues) {
1534
+ mergedRow = { ...preSaveValues, ...result[0] };
1535
+ Object.defineProperty(mergedRow, '__mj_preMerged', {
1536
+ value: true,
1537
+ enumerable: false,
1538
+ configurable: true,
1539
+ });
1540
+ }
1541
+ else {
1542
+ mergedRow = result[0];
1543
+ }
1451
1544
  // OnSaveCompleted may return patch fields (e.g., updated lat/lng
1452
1545
  // from geocoding) that need to be merged onto the SP result before
1453
1546
  // the entity loads the data via finalizeSave().
1454
1547
  const patches = await this.OnSaveCompleted(entity, sqlDetails, user, options, saveContext);
1455
1548
  if (patches) {
1456
- Object.assign(result[0], patches);
1549
+ Object.assign(mergedRow, patches);
1457
1550
  }
1458
- return result[0];
1551
+ return mergedRow;
1459
1552
  }
1460
1553
  else {
1461
1554
  if (bNewRecord)
1462
- throw new Error(`SQL Error: Error creating new record, no rows returned from SQL: ${sqlDetails.fullSQL}`);
1555
+ throw new Error(`SQL Error: Error creating new record, no rows returned from SQL: ${sqlDetails.literalSQL ?? sqlDetails.fullSQL}`);
1463
1556
  else
1464
- throw new Error(`SQL Error: Error updating record, no MATCHING rows found within the database: ${sqlDetails.fullSQL}`);
1557
+ throw new Error(`SQL Error: Error updating record, no MATCHING rows found within the database: ${sqlDetails.literalSQL ?? sqlDetails.fullSQL}`);
1465
1558
  }
1466
1559
  }
1467
1560
  }
@@ -1531,20 +1624,24 @@ export class DatabaseProviderBase extends ProviderBase {
1531
1624
  // ---- Transaction Group path ----
1532
1625
  entity.RaiseReadyForTransaction();
1533
1626
  const extraData = this.GetTransactionExtraData(entity);
1534
- if (entity.EntityInfo.TrackRecordChanges && sqlDetails.simpleSQL) {
1535
- extraData.simpleSQLFallback = sqlDetails.simpleSQL;
1627
+ if (entity.EntityInfo.TrackRecordChanges) {
1628
+ Object.defineProperty(extraData, 'simpleSQLFallback', {
1629
+ get: () => sqlDetails.simpleSQL,
1630
+ enumerable: true,
1631
+ configurable: true,
1632
+ });
1536
1633
  }
1537
1634
  extraData.entityName = entity.EntityInfo.Name;
1538
- entity.TransactionGroup.AddTransaction(new TransactionItem(entity, 'Delete', sqlDetails.fullSQL, sqlDetails.parameters ?? null, extraData, (transactionResult, success) => {
1635
+ entity.TransactionGroup.AddTransaction(new TransactionItem(entity, 'Delete', sqlDetails.literalSQL ?? sqlDetails.fullSQL, sqlDetails.literalSQL ? null : (sqlDetails.parameters ?? null), extraData, (transactionResult, success) => {
1539
1636
  entityResult.EndedAt = new Date();
1540
1637
  if (success && transactionResult) {
1541
- this.OnAfterDeleteExecute(entity, user, options);
1542
- for (const key of entity.PrimaryKeys) {
1543
- if (key.Value !== transactionResult[key.Name]) {
1544
- entityResult.Success = false;
1545
- entityResult.Message = 'Transaction failed to commit';
1546
- }
1638
+ // Same key check as the direct path, through the provider's own override
1639
+ // (PostgreSQL accepts its legacy `_result_id` shape there).
1640
+ if (!this.ValidateDeleteResult(entity, [transactionResult], entityResult)) {
1641
+ entityResult.Success = false;
1642
+ return;
1547
1643
  }
1644
+ this.OnAfterDeleteExecute(entity, user, options);
1548
1645
  entityResult.NewValues = this.MapTransactionResultToNewValues(transactionResult);
1549
1646
  entityResult.Success = true;
1550
1647
  }
@@ -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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"}