@memberjunction/sqlserver-dataprovider 6.2.0-edge.7 → 6.2.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.
@@ -18,7 +18,7 @@
18
18
  import { BaseEntity, IEntityDataProvider, IMetadataProvider, EntityInfo, EntityFieldInfo, ProviderType, UserInfo, PostCommitToken, IFileSystemProvider, TransactionGroupBase, EntitySaveOptions, EntityDependency, GetRecordDependenciesOptions, CompositeKey, BaseEntityResult, DeleteSQLResult, RunViewWithCacheCheckParams, RunQueryWithCacheCheckParams, RestoreContext, CloneContext, RecordChangeSource, RecordChangePayload, EntityDeleteOptions } from '@memberjunction/core';
19
19
  import { EntityAIActionParams } from '@memberjunction/aiengine';
20
20
  import { GenericDatabaseProvider, ExecuteSQLBatchOptions, SaveCoercedValue, SaveCallBinding, SaveSQLFragment, SaveReturnContext } from '@memberjunction/generic-database-provider';
21
- import type { DescribeStatementResult } from '@memberjunction/generic-database-provider';
21
+ import type { DatabasePoolStats, DescribeStatementResult } from '@memberjunction/generic-database-provider';
22
22
  import { MJQueryEntityExtended } from '@memberjunction/core-entities';
23
23
  import sql from 'mssql';
24
24
  import { Observable } from 'rxjs';
@@ -244,6 +244,8 @@ export declare class SQLServerDataProvider extends GenericDatabaseProvider imple
244
244
  * @returns The mssql ConnectionPool object
245
245
  */
246
246
  get DatabaseConnection(): any;
247
+ /** Reads the live counts from the mssql connection pool, or `null` before the pool is set. */
248
+ GetPoolStats(): DatabasePoolStats | null;
247
249
  /**
248
250
  * For the SQLServerDataProvider the unique instance connection string which is used to identify, uniquely, a given connection is the following format:
249
251
  * mssql://host:port/instanceName?/database
@@ -578,6 +580,7 @@ export declare class SQLServerDataProvider extends GenericDatabaseProvider imple
578
580
  * here with a message that says so, instead of a batch-size error from the server.
579
581
  */
580
582
  static MaxInlineBinaryBytes: number;
583
+ private decodeBinaryFieldBytes;
581
584
  protected FormatBinaryLiteral(field: EntityFieldInfo, value: unknown): string;
582
585
  /**
583
586
  * Returns a string that packages the parameter value for the stored procedure call.
@@ -850,6 +853,16 @@ export declare class SQLServerDataProvider extends GenericDatabaseProvider imple
850
853
  */
851
854
  RefreshIfNeeded(providerToUse?: IMetadataProvider, bypassMinCheckInterval?: boolean): Promise<boolean>;
852
855
  get FileSystemProvider(): IFileSystemProvider;
856
+ /**
857
+ * Returns the currently active physical `mssql.Transaction` handle managed by this provider,
858
+ * or `null` when no physical transaction is open.
859
+ */
860
+ get ActiveTransactionHandle(): sql.Transaction | null;
861
+ /**
862
+ * Executes a `mssql` request callback against `transaction`, serialized through this provider's
863
+ * transaction SQL queue when `transaction` is the provider's active transaction handle.
864
+ */
865
+ ExecuteOnTransactionHandle<TRow>(transaction: sql.Transaction, description: string, run: (tx: sql.Transaction) => Promise<sql.IResult<TRow>>): Promise<sql.IResult<TRow>>;
853
866
  CreateTransactionGroup(): Promise<TransactionGroupBase>;
854
867
  /**************************************************************************/
855
868
  /**************************************************************************/
@@ -1 +1 @@
1
- {"version":3,"file":"SQLServerDataProvider.d.ts","sourceRoot":"","sources":["../src/SQLServerDataProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLServerDataProvider.d.ts","sourceRoot":"","sources":["../src/SQLServerDataProvider.ts"],"names":[],"mappings":"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"}
@@ -15,10 +15,10 @@
15
15
  * In practice - this FILE will NOT exist in the entities library, we need to move to its own separate project
16
16
  * so it is only included by the consumer of the entities library if they want to use it.
17
17
  **************************************************************************************************************/
18
- import { EntityFieldTSType, ProviderType, LogError, LogStatus, LogStatusEx, CompositeKey, } from '@memberjunction/core';
18
+ import { EntityFieldTSType, ProviderType, LogError, LogStatus, LogStatusEx, CompositeKey, GetDiagnosticContext, } from '@memberjunction/core';
19
19
  import { NodeFileSystemProvider } from './NodeFileSystemProvider.js';
20
20
  import { QueueManager } from '@memberjunction/queue';
21
- import { GenericDatabaseProvider, IsTypedQueryParameterList, IsNamedQueryParameterList, TypedQueryParameter, DescribeStatementFailure } from '@memberjunction/generic-database-provider';
21
+ import { GenericDatabaseProvider, IsTypedQueryParameterList, IsNamedQueryParameterList, TypedQueryParameter, DescribeStatementFailure, SummarizeSqlParameters, FormatSqlParameterTypesForError, } from '@memberjunction/generic-database-provider';
22
22
  import { BindTypedParameters } from './typedParameters.js';
23
23
  import { MapSQLServerDescribeRows, SQLSERVER_DESCRIBE_SQL } from './statementDescription.js';
24
24
  import sql from 'mssql';
@@ -179,20 +179,48 @@ async function executeSQLCore(query, parameters, context, options, isRetry = fal
179
179
  error.code = 'POOL_CLOSED';
180
180
  throw error;
181
181
  }
182
+ const startTs = Date.now();
183
+ const startHr = typeof performance !== 'undefined' && performance.now ? performance.now() : startTs;
184
+ const diagCtx = options?.diagnosticContext ?? GetDiagnosticContext();
182
185
  try {
183
186
  const { request, processedQuery } = buildRequest(connectionSource, query, parameters);
184
187
  const queryPromise = options?.timeoutMs
185
188
  ? QueryWithTimeout(request, processedQuery, options.timeoutMs)
186
189
  : request.query(processedQuery);
190
+ let result;
187
191
  if (options && !options.ignoreLogging && context.logSqlStatement) {
188
192
  const literalSQL = options.literalSQL;
189
- const [result] = await Promise.all([
193
+ [result] = await Promise.all([
190
194
  queryPromise,
191
195
  context.logSqlStatement(literalSQL ?? query, literalSQL ? undefined : parameters, options.description, options.ignoreLogging, options.isMutation, options.simpleSQLFallback, options.contextUser)
192
196
  ]);
193
- return result;
194
197
  }
195
- return await queryPromise;
198
+ else {
199
+ result = await queryPromise;
200
+ }
201
+ if (!options?.ignoreLogging && GenericDatabaseProvider.HasSqlObservers()) {
202
+ const endHr = typeof performance !== 'undefined' && performance.now ? performance.now() : Date.now();
203
+ const durationMs = Math.round((endHr - startHr) * 100) / 100;
204
+ const rowCount = Array.isArray(result?.rowsAffected) && result.rowsAffected.length > 0
205
+ ? result.rowsAffected.reduce((a, b) => a + b, 0)
206
+ : Array.isArray(result?.recordset)
207
+ ? result.recordset.length
208
+ : 0;
209
+ GenericDatabaseProvider.NotifySqlObservers({
210
+ ts: startTs,
211
+ durationMs,
212
+ sql: query,
213
+ description: options?.description,
214
+ isMutation: !!options?.isMutation,
215
+ rowCount,
216
+ parameterSummaries: SummarizeSqlParameters(parameters, !options?.isMutation),
217
+ sessionId: diagCtx?.sessionId,
218
+ traceId: diagCtx?.traceId,
219
+ spanId: diagCtx?.spanId,
220
+ ignoreLogging: options?.ignoreLogging,
221
+ });
222
+ }
223
+ return result;
196
224
  }
197
225
  catch (error) {
198
226
  // Retry once for stale connection errors on non-transactional queries.
@@ -203,7 +231,28 @@ async function executeSQLCore(query, parameters, context, options, isRetry = fal
203
231
  `Original error: ${error.message}`);
204
232
  return executeSQLCore(query, parameters, context, options, true);
205
233
  }
206
- // Build detailed error message with query and parameters.
234
+ if (!options?.ignoreLogging && GenericDatabaseProvider.HasSqlObservers()) {
235
+ const endHr = typeof performance !== 'undefined' && performance.now ? performance.now() : Date.now();
236
+ const durationMs = Math.round((endHr - startHr) * 100) / 100;
237
+ GenericDatabaseProvider.NotifySqlObservers({
238
+ ts: startTs,
239
+ durationMs,
240
+ sql: query,
241
+ description: options?.description,
242
+ isMutation: !!options?.isMutation,
243
+ parameterSummaries: SummarizeSqlParameters(parameters, false),
244
+ error: {
245
+ name: error?.name ? String(error.name) : 'Error',
246
+ message: error?.message ? String(error.message) : String(error),
247
+ code: error?.code ? String(error.code) : undefined,
248
+ },
249
+ sessionId: diagCtx?.sessionId,
250
+ traceId: diagCtx?.traceId,
251
+ spanId: diagCtx?.spanId,
252
+ ignoreLogging: options?.ignoreLogging,
253
+ });
254
+ }
255
+ // Build detailed error message with query and parameter types/lengths (never raw parameter values).
207
256
  // mssql RequestError has a precedingErrors array with the actual root-cause
208
257
  // SQL Server messages (e.g. "object already exists") that precede the
209
258
  // generic "Could not create constraint" wrapper. Always include them.
@@ -216,7 +265,7 @@ async function executeSQLCore(query, parameters, context, options, isRetry = fal
216
265
  const errorMessage = `Error executing SQL
217
266
  Error: ${error?.message ? error.message : error}${precedingMsgs}
218
267
  Query: ${literalSQL ?? query}
219
- Parameters: ${literalSQL || !parameters ? 'None' : JSON.stringify(parameters)}`;
268
+ Parameters: ${literalSQL || !parameters ? 'None' : FormatSqlParameterTypesForError(parameters)}`;
220
269
  // Preserve the original error type (ConnectionError vs RequestError) so callers
221
270
  // can structurally distinguish infrastructure failures from query-level errors.
222
271
  // Attach the detailed message while keeping the error's class identity and code.
@@ -643,6 +692,19 @@ export class SQLServerDataProvider extends GenericDatabaseProvider {
643
692
  get DatabaseConnection() {
644
693
  return this._pool;
645
694
  }
695
+ /** Reads the live counts from the mssql connection pool, or `null` before the pool is set. */
696
+ GetPoolStats() {
697
+ const pool = this._pool;
698
+ if (!pool) {
699
+ return null;
700
+ }
701
+ return {
702
+ TotalConnections: pool.size,
703
+ ActiveConnections: pool.borrowed,
704
+ IdleConnections: pool.available,
705
+ WaitingRequests: pool.pending,
706
+ };
707
+ }
646
708
  /**
647
709
  * For the SQLServerDataProvider the unique instance connection string which is used to identify, uniquely, a given connection is the following format:
648
710
  * mssql://host:port/instanceName?/database
@@ -1315,22 +1377,45 @@ export class SQLServerDataProvider extends GenericDatabaseProvider {
1315
1377
  const execParams = [];
1316
1378
  let simpleParams = '';
1317
1379
  let bFirst = true;
1380
+ const needsSimpleParams = this.HasActiveSqlLoggingSessions ||
1381
+ !!entity.TransactionGroup ||
1382
+ Object.prototype.hasOwnProperty.call(this, '_logSqlStatement') ||
1383
+ Object.getPrototypeOf(this) !== SQLServerDataProvider.prototype;
1318
1384
  for (const [f, value] of fieldValues) {
1319
1385
  const varName = `@${f.CodeName}${uniqueSuffix}`;
1320
1386
  declarations.push(`${varName} ${f.SQLFullType.toUpperCase()}`);
1321
- // A binary value is rendered to its hex literal ONCE and reused below: the literal is twice
1322
- // the size of the bytes, and the SET block and the simple-params form both carry it.
1323
1387
  const hasValue = value !== null && value !== undefined;
1324
- const binaryLiteral = hasValue && f.IsBinaryFieldType ? this.FormatBinaryLiteral(f, value) : undefined;
1325
- if (hasValue) {
1326
- setStatements.push(`SET ${varName} = ${params.AddField(f, binaryLiteral ?? this.generateSetStatementValue(f, value))}`);
1388
+ if (hasValue && f.IsBinaryFieldType) {
1389
+ const binaryBytes = this.decodeBinaryFieldBytes(f, value);
1390
+ let cachedHexLiteral;
1391
+ const getHexLiteral = () => {
1392
+ if (cachedHexLiteral === undefined) {
1393
+ cachedHexLiteral = this.FormatBinaryLiteral(f, binaryBytes);
1394
+ }
1395
+ return cachedHexLiteral;
1396
+ };
1397
+ setStatements.push(`SET ${varName} = ${params.AddBinaryField(f, binaryBytes, getHexLiteral)}`);
1398
+ execParams.push(`@${f.CodeName}=${varName}`);
1399
+ if (needsSimpleParams) {
1400
+ simpleParams += this.generateSingleSPParam(f, value, bFirst, getHexLiteral());
1401
+ }
1402
+ bFirst = false;
1403
+ }
1404
+ else {
1405
+ if (hasValue) {
1406
+ setStatements.push(`SET ${varName} = ${params.AddField(f, this.generateSetStatementValue(f, value))}`);
1407
+ }
1408
+ execParams.push(`@${f.CodeName}=${varName}`);
1409
+ if (needsSimpleParams) {
1410
+ simpleParams += this.generateSingleSPParam(f, value, bFirst);
1411
+ }
1412
+ bFirst = false;
1327
1413
  }
1328
- execParams.push(`@${f.CodeName}=${varName}`);
1329
- simpleParams += this.generateSingleSPParam(f, value, bFirst, binaryLiteral);
1330
- bFirst = false;
1331
1414
  if ((value === null || value === undefined) && f.NeedsClearCompanion) {
1332
1415
  execParams.push(`@${f.CodeName}_Clear=1`);
1333
- simpleParams += `, @${f.CodeName}_Clear=1`;
1416
+ if (needsSimpleParams) {
1417
+ simpleParams += `, @${f.CodeName}_Clear=1`;
1418
+ }
1334
1419
  }
1335
1420
  }
1336
1421
  // UPDATE: tail-append PK declarations from the loaded entity's PrimaryKey.
@@ -1679,7 +1764,7 @@ export class SQLServerDataProvider extends GenericDatabaseProvider {
1679
1764
  * here with a message that says so, instead of a batch-size error from the server.
1680
1765
  */
1681
1766
  static { this.MaxInlineBinaryBytes = 32 * 1024 * 1024; }
1682
- FormatBinaryLiteral(field, value) {
1767
+ decodeBinaryFieldBytes(field, value) {
1683
1768
  const bytes = IsByteArray(value) ? value : TryBase64ToBytes(typeof value === 'string' ? value : null);
1684
1769
  if (!bytes) {
1685
1770
  throw new Error(`Field "${field.Name}" is binary (${field.Type}); its value must be a base64 string, but it is not valid base64`);
@@ -1689,7 +1774,10 @@ export class SQLServerDataProvider extends GenericDatabaseProvider {
1689
1774
  `limit for a value inlined into a save batch (SQLServerDataProvider.MaxInlineBinaryBytes). Store large binary content through file storage, ` +
1690
1775
  `or raise the limit if the batch size and Record Changes cost are acceptable.`);
1691
1776
  }
1692
- return `0x${Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength).toString('hex').toUpperCase()}`;
1777
+ return Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength);
1778
+ }
1779
+ FormatBinaryLiteral(field, value) {
1780
+ return `0x${this.decodeBinaryFieldBytes(field, value).toString('hex').toUpperCase()}`;
1693
1781
  }
1694
1782
  /**
1695
1783
  * Returns a string that packages the parameter value for the stored procedure call.
@@ -2022,13 +2110,17 @@ export class SQLServerDataProvider extends GenericDatabaseProvider {
2022
2110
  // This prevents EREQINPROG errors when multiple queries try to use the same transaction
2023
2111
  this.initializeQueueProcessor();
2024
2112
  const queue = this.ensureSqlQueue();
2113
+ const enqueuedDiagnosticContext = options?.diagnosticContext ?? GetDiagnosticContext();
2114
+ const effectiveOptions = enqueuedDiagnosticContext
2115
+ ? { ...options, diagnosticContext: enqueuedDiagnosticContext }
2116
+ : options;
2025
2117
  return new Promise((resolve, reject) => {
2026
2118
  queue.next({
2027
2119
  kind: 'query',
2028
2120
  query,
2029
2121
  parameters,
2030
2122
  context,
2031
- options,
2123
+ options: effectiveOptions,
2032
2124
  // Ours if it is the ambient handle now, or was one that has since ended: a caller holding
2033
2125
  // the old handle after its commit must be told so, not sent to mssql for ENOTBEGUN.
2034
2126
  ambient: context.transaction === this._transaction || (!!context.transaction && this._endedHandles.has(context.transaction)),
@@ -2782,8 +2874,38 @@ IF ${varName} IS NOT NULL
2782
2874
  this._fileSystemProvider = new NodeFileSystemProvider();
2783
2875
  return this._fileSystemProvider;
2784
2876
  }
2877
+ /**
2878
+ * Returns the currently active physical `mssql.Transaction` handle managed by this provider,
2879
+ * or `null` when no physical transaction is open.
2880
+ */
2881
+ get ActiveTransactionHandle() {
2882
+ return this._transaction ?? null;
2883
+ }
2884
+ /**
2885
+ * Executes a `mssql` request callback against `transaction`, serialized through this provider's
2886
+ * transaction SQL queue when `transaction` is the provider's active transaction handle.
2887
+ */
2888
+ async ExecuteOnTransactionHandle(transaction, description, run) {
2889
+ if (this._endedHandles.has(transaction)) {
2890
+ throw new Error('The ambient transaction ended before this TransactionGroup request ran. ' +
2891
+ 'Await every query issued on the transaction before committing or rolling back.');
2892
+ }
2893
+ if (transaction !== this._transaction) {
2894
+ return run(transaction);
2895
+ }
2896
+ let result;
2897
+ await this.enqueueTransactionAction(description, transaction, async () => {
2898
+ await this.waitForActiveRequest();
2899
+ if (this._endedHandles.has(transaction) || transaction !== this._transaction) {
2900
+ throw new Error('The ambient transaction ended before this TransactionGroup request ran. ' +
2901
+ 'Await every query issued on the transaction before committing or rolling back.');
2902
+ }
2903
+ result = await run(transaction);
2904
+ });
2905
+ return result;
2906
+ }
2785
2907
  async CreateTransactionGroup() {
2786
- return new SQLServerTransactionGroup();
2908
+ return new SQLServerTransactionGroup(this);
2787
2909
  }
2788
2910
  /**************************************************************************/
2789
2911
  // END ---- IMetadataProvider