@spinajs/orm-mssql 2.0.454 → 2.0.456

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.
@@ -1,10 +1,14 @@
1
- import { QueryContext, OrmDriver, IColumnDescriptor, QueryBuilder, TransactionCallback, IDriverOptions, ISupportedFeature } from '@spinajs/orm';
1
+ import { QueryContext, OrmDriver, IColumnDescriptor, QueryBuilder, TransactionCallback, IDriverOptions, ISupportedFeature, ITransaction } from '@spinajs/orm';
2
2
  import { SqlDriver } from '@spinajs/orm-sql';
3
3
  import mssql from 'mssql';
4
+ import { AsyncLocalStorage } from 'async_hooks';
5
+ export interface IMsSqlTransactionContext {
6
+ request: mssql.Request;
7
+ }
4
8
  export declare class MsSqlOrmDriver extends SqlDriver {
5
9
  protected _connectionPool: mssql.ConnectionPool;
6
10
  protected _executionId: number;
7
- protected _transactionRequest: mssql.Request;
11
+ protected TransactionStorage: AsyncLocalStorage<IMsSqlTransactionContext>;
8
12
  constructor(options: IDriverOptions);
9
13
  private getNextExecutionId;
10
14
  executeOnDb(stmt: string, params: any[], context: QueryContext): Promise<any>;
@@ -14,6 +18,6 @@ export declare class MsSqlOrmDriver extends SqlDriver {
14
18
  resolve(): void;
15
19
  disconnect(): Promise<OrmDriver>;
16
20
  tableInfo(name: string, schema?: string): Promise<IColumnDescriptor[]>;
17
- transaction(queryOrCallback?: QueryBuilder[] | TransactionCallback): Promise<void>;
21
+ transaction(queryOrCallback?: QueryBuilder[] | TransactionCallback): Promise<ITransaction>;
18
22
  }
19
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkM,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,mBAAmB,EAA2C,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAKzX,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,qBAEa,cAAe,SAAQ,SAAS;IAC3C,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,cAAc,CAAQ;IACvD,SAAS,CAAC,YAAY,SAAK;IAC3B,SAAS,CAAC,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAQ;gBAExC,OAAO,EAAE,cAAc;IAInC,OAAO,CAAC,kBAAkB;IAKb,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAmEnF,iBAAiB,IAAI,iBAAiB;IAMhC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IASxB,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;IAoCnC,OAAO;IAgBD,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAQhC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAsCtE,WAAW,CAAC,eAAe,CAAC,EAAE,YAAY,EAAE,GAAG,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CA4BhG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkM,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,mBAAmB,EAA2C,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAKvY,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;CACxB;AAED,qBAEa,cAAe,SAAQ,SAAS;IAC3C,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,cAAc,CAAQ;IACvD,SAAS,CAAC,YAAY,SAAK;IAC3B,SAAS,CAAC,kBAAkB,8CAAqD;gBAErE,OAAO,EAAE,cAAc;IAInC,OAAO,CAAC,kBAAkB;IAKb,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAqEnF,iBAAiB,IAAI,iBAAiB;IAMhC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IASxB,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;IAoCnC,OAAO;IAgBD,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAQhC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAsCtE,WAAW,CAAC,eAAe,CAAC,EAAE,YAAY,EAAE,GAAG,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC;CAuCxG"}
package/lib/cjs/index.js CHANGED
@@ -22,12 +22,13 @@ const mssql_1 = __importDefault(require("mssql"));
22
22
  const compilers_js_1 = require("./compilers.js");
23
23
  const dehydrator_js_1 = require("./dehydrator.js");
24
24
  const converters_js_1 = require("./converters.js");
25
+ const async_hooks_1 = require("async_hooks");
25
26
  let MsSqlOrmDriver = class MsSqlOrmDriver extends orm_sql_1.SqlDriver {
26
27
  constructor(options) {
27
28
  super(Object.assign({ AliasSeparator: '#' }, options));
28
29
  this._connectionPool = null;
29
30
  this._executionId = 0;
30
- this._transactionRequest = null;
31
+ this.TransactionStorage = new async_hooks_1.AsyncLocalStorage();
31
32
  }
32
33
  getNextExecutionId() {
33
34
  this._executionId = (this._executionId + 1) % Number.MAX_SAFE_INTEGER;
@@ -38,7 +39,9 @@ let MsSqlOrmDriver = class MsSqlOrmDriver extends orm_sql_1.SqlDriver {
38
39
  let finalQuery = stmt.replaceAll('`', '');
39
40
  this.Log.timeStart(`query-${tName}`);
40
41
  try {
41
- const req = this._transactionRequest ?? this._connectionPool.request();
42
+ // Check if we're inside a transaction context and use that request
43
+ const txContext = this.TransactionStorage.getStore();
44
+ const req = txContext?.request ?? this._connectionPool.request();
42
45
  let idx = 0;
43
46
  let i = 0;
44
47
  /**
@@ -196,30 +199,41 @@ let MsSqlOrmDriver = class MsSqlOrmDriver extends orm_sql_1.SqlDriver {
196
199
  });
197
200
  }
198
201
  async transaction(queryOrCallback) {
202
+ const trx = {
203
+ commit: () => Promise.resolve(),
204
+ rollback: () => Promise.resolve(),
205
+ };
199
206
  if (!queryOrCallback) {
200
- return;
207
+ return trx;
201
208
  }
202
209
  const transaction = this._connectionPool.transaction();
203
210
  await transaction.begin();
204
- this._transactionRequest = transaction.request();
211
+ const request = transaction.request();
205
212
  try {
206
- if (Array.isArray(queryOrCallback)) {
207
- for (const q of queryOrCallback) {
208
- await q;
213
+ // Run the callback/queries within async context so executeOnDb uses this request
214
+ await this.TransactionStorage.run({ request }, async () => {
215
+ if (Array.isArray(queryOrCallback)) {
216
+ for (const q of queryOrCallback) {
217
+ await q;
218
+ }
209
219
  }
210
- }
211
- else {
212
- await queryOrCallback(this);
213
- }
214
- await transaction.commit();
220
+ else {
221
+ await queryOrCallback(this);
222
+ }
223
+ });
224
+ return {
225
+ commit: async () => {
226
+ await transaction.commit();
227
+ },
228
+ rollback: async () => {
229
+ await transaction.rollback();
230
+ },
231
+ };
215
232
  }
216
233
  catch (err) {
217
234
  await transaction.rollback();
218
235
  throw err;
219
236
  }
220
- finally {
221
- this._transactionRequest = null;
222
- }
223
237
  }
224
238
  };
225
239
  exports.MsSqlOrmDriver = MsSqlOrmDriver;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,14 @@
1
- import { QueryContext, OrmDriver, IColumnDescriptor, QueryBuilder, TransactionCallback, IDriverOptions, ISupportedFeature } from '@spinajs/orm';
1
+ import { QueryContext, OrmDriver, IColumnDescriptor, QueryBuilder, TransactionCallback, IDriverOptions, ISupportedFeature, ITransaction } from '@spinajs/orm';
2
2
  import { SqlDriver } from '@spinajs/orm-sql';
3
3
  import mssql from 'mssql';
4
+ import { AsyncLocalStorage } from 'async_hooks';
5
+ export interface IMsSqlTransactionContext {
6
+ request: mssql.Request;
7
+ }
4
8
  export declare class MsSqlOrmDriver extends SqlDriver {
5
9
  protected _connectionPool: mssql.ConnectionPool;
6
10
  protected _executionId: number;
7
- protected _transactionRequest: mssql.Request;
11
+ protected TransactionStorage: AsyncLocalStorage<IMsSqlTransactionContext>;
8
12
  constructor(options: IDriverOptions);
9
13
  private getNextExecutionId;
10
14
  executeOnDb(stmt: string, params: any[], context: QueryContext): Promise<any>;
@@ -14,6 +18,6 @@ export declare class MsSqlOrmDriver extends SqlDriver {
14
18
  resolve(): void;
15
19
  disconnect(): Promise<OrmDriver>;
16
20
  tableInfo(name: string, schema?: string): Promise<IColumnDescriptor[]>;
17
- transaction(queryOrCallback?: QueryBuilder[] | TransactionCallback): Promise<void>;
21
+ transaction(queryOrCallback?: QueryBuilder[] | TransactionCallback): Promise<ITransaction>;
18
22
  }
19
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkM,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,mBAAmB,EAA2C,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAKzX,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,qBAEa,cAAe,SAAQ,SAAS;IAC3C,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,cAAc,CAAQ;IACvD,SAAS,CAAC,YAAY,SAAK;IAC3B,SAAS,CAAC,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAQ;gBAExC,OAAO,EAAE,cAAc;IAInC,OAAO,CAAC,kBAAkB;IAKb,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAmEnF,iBAAiB,IAAI,iBAAiB;IAMhC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IASxB,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;IAoCnC,OAAO;IAgBD,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAQhC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAsCtE,WAAW,CAAC,eAAe,CAAC,EAAE,YAAY,EAAE,GAAG,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CA4BhG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkM,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,mBAAmB,EAA2C,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAKvY,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;CACxB;AAED,qBAEa,cAAe,SAAQ,SAAS;IAC3C,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,cAAc,CAAQ;IACvD,SAAS,CAAC,YAAY,SAAK;IAC3B,SAAS,CAAC,kBAAkB,8CAAqD;gBAErE,OAAO,EAAE,cAAc;IAInC,OAAO,CAAC,kBAAkB;IAKb,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAqEnF,iBAAiB,IAAI,iBAAiB;IAMhC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IASxB,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;IAoCnC,OAAO;IAgBD,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAQhC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAsCtE,WAAW,CAAC,eAAe,CAAC,EAAE,YAAY,EAAE,GAAG,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC;CAuCxG"}
package/lib/mjs/index.js CHANGED
@@ -16,12 +16,13 @@ import mssql from 'mssql';
16
16
  import { MsSqlTableExistsCompiler, MsSqlLimitCompiler, MsSqlOrderByCompiler, MsSqlTableQueryCompiler, MsSqlColumnQueryCompiler, MsSqlInsertQueryCompiler, MsSqlDeleteQueryCompiler, MsSqlTableAliasCompiler, MsSqlOnDuplicateQueryCompiler } from './compilers.js';
17
17
  import { MssqlModelDehydrator } from './dehydrator.js';
18
18
  import { MsSqlDatetimeValueConverter } from './converters.js';
19
+ import { AsyncLocalStorage } from 'async_hooks';
19
20
  let MsSqlOrmDriver = class MsSqlOrmDriver extends SqlDriver {
20
21
  constructor(options) {
21
22
  super(Object.assign({ AliasSeparator: '#' }, options));
22
23
  this._connectionPool = null;
23
24
  this._executionId = 0;
24
- this._transactionRequest = null;
25
+ this.TransactionStorage = new AsyncLocalStorage();
25
26
  }
26
27
  getNextExecutionId() {
27
28
  this._executionId = (this._executionId + 1) % Number.MAX_SAFE_INTEGER;
@@ -32,7 +33,9 @@ let MsSqlOrmDriver = class MsSqlOrmDriver extends SqlDriver {
32
33
  let finalQuery = stmt.replaceAll('`', '');
33
34
  this.Log.timeStart(`query-${tName}`);
34
35
  try {
35
- const req = this._transactionRequest ?? this._connectionPool.request();
36
+ // Check if we're inside a transaction context and use that request
37
+ const txContext = this.TransactionStorage.getStore();
38
+ const req = txContext?.request ?? this._connectionPool.request();
36
39
  let idx = 0;
37
40
  let i = 0;
38
41
  /**
@@ -190,30 +193,41 @@ let MsSqlOrmDriver = class MsSqlOrmDriver extends SqlDriver {
190
193
  });
191
194
  }
192
195
  async transaction(queryOrCallback) {
196
+ const trx = {
197
+ commit: () => Promise.resolve(),
198
+ rollback: () => Promise.resolve(),
199
+ };
193
200
  if (!queryOrCallback) {
194
- return;
201
+ return trx;
195
202
  }
196
203
  const transaction = this._connectionPool.transaction();
197
204
  await transaction.begin();
198
- this._transactionRequest = transaction.request();
205
+ const request = transaction.request();
199
206
  try {
200
- if (Array.isArray(queryOrCallback)) {
201
- for (const q of queryOrCallback) {
202
- await q;
207
+ // Run the callback/queries within async context so executeOnDb uses this request
208
+ await this.TransactionStorage.run({ request }, async () => {
209
+ if (Array.isArray(queryOrCallback)) {
210
+ for (const q of queryOrCallback) {
211
+ await q;
212
+ }
203
213
  }
204
- }
205
- else {
206
- await queryOrCallback(this);
207
- }
208
- await transaction.commit();
214
+ else {
215
+ await queryOrCallback(this);
216
+ }
217
+ });
218
+ return {
219
+ commit: async () => {
220
+ await transaction.commit();
221
+ },
222
+ rollback: async () => {
223
+ await transaction.rollback();
224
+ },
225
+ };
209
226
  }
210
227
  catch (err) {
211
228
  await transaction.rollback();
212
229
  throw err;
213
230
  }
214
- finally {
215
- this._transactionRequest = null;
216
- }
217
231
  }
218
232
  };
219
233
  MsSqlOrmDriver = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}