@spinajs/orm-mysql 2.0.452 → 2.0.454

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,7 +1,12 @@
1
1
  import { QueryContext, OrmDriver, IColumnDescriptor, QueryBuilder, TransactionCallback, ServerResponseMapper, ISupportedFeature } from '@spinajs/orm';
2
2
  import { SqlDriver } from '@spinajs/orm-sql';
3
3
  import * as mysql from 'mysql2';
4
+ import { PoolConnection } from 'mysql2';
4
5
  import { Client as SSHClient } from 'ssh2';
6
+ import { AsyncLocalStorage } from 'async_hooks';
7
+ export interface IMySqlTransactionContext {
8
+ connection: PoolConnection;
9
+ }
5
10
  export declare class MysqlServerResponseMapper extends ServerResponseMapper {
6
11
  read(data: any): {
7
12
  LastInsertId: any;
@@ -11,6 +16,7 @@ export declare class MysqlServerResponseMapper extends ServerResponseMapper {
11
16
  export declare class MySqlOrmDriver extends SqlDriver {
12
17
  protected Pool: mysql.Pool;
13
18
  protected _executionId: number;
19
+ protected TransactionStorage: AsyncLocalStorage<IMySqlTransactionContext>;
14
20
  private getNextExecutionId;
15
21
  executeOnDb(stmt: string, params: any[], context: QueryContext): Promise<any>;
16
22
  supportedFeatures(): ISupportedFeature;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,mBAAmB,EAAqC,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACzL,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,QAAQ,CAAC;AAIhC,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAG3C,qBAAa,yBAA0B,SAAQ,oBAAoB;IAC1D,IAAI,CAAC,IAAI,EAAE,GAAG;;;;CAGtB;AAED,qBAEa,cAAe,SAAQ,SAAS;IAC3C,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;IAC3B,SAAS,CAAC,YAAY,SAAK;IAE3B,OAAO,CAAC,kBAAkB;IAKnB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IA8E7E,iBAAiB,IAAI,iBAAiB;IAItC,OAAO;IAOD,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAS9B,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;IAyC7B,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAkB1B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAiD5E,WAAW,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,GAAG,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAmC/F;AAED,qBAEa,iBAAkB,SAAQ,cAAc;IACnD,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IAExB,OAAO;IAYD,UAAU;IAUhB,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;CAuCrC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,mBAAmB,EAAqC,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACzL,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAY,cAAc,EAAe,MAAM,QAAQ,CAAC;AAG/D,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED,qBAAa,yBAA0B,SAAQ,oBAAoB;IAC1D,IAAI,CAAC,IAAI,EAAE,GAAG;;;;CAGtB;AAED,qBAEa,cAAe,SAAQ,SAAS;IAC3C,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;IAC3B,SAAS,CAAC,YAAY,SAAK;IAC3B,SAAS,CAAC,kBAAkB,8CAAqD;IAEjF,OAAO,CAAC,kBAAkB;IAKnB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAkF7E,iBAAiB,IAAI,iBAAiB;IAItC,OAAO;IAOD,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAS9B,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;IAyC7B,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAkB1B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAgD5E,WAAW,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,GAAG,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAqD/F;AAED,qBAEa,iBAAkB,SAAQ,cAAc;IACnD,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IAExB,OAAO;IAYD,UAAU;IAUhB,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;CAuCrC"}
package/lib/cjs/index.js CHANGED
@@ -52,6 +52,7 @@ const mysql = __importStar(require("mysql2"));
52
52
  const compilers_js_1 = require("./compilers.js");
53
53
  const ssh2_1 = require("ssh2");
54
54
  const fs_1 = __importDefault(require("fs"));
55
+ const async_hooks_1 = require("async_hooks");
55
56
  class MysqlServerResponseMapper extends orm_1.ServerResponseMapper {
56
57
  read(data) {
57
58
  return { LastInsertId: data.LastInsertId, RowsAffected: data.RowsAffected };
@@ -62,6 +63,7 @@ let MySqlOrmDriver = class MySqlOrmDriver extends orm_sql_1.SqlDriver {
62
63
  constructor() {
63
64
  super(...arguments);
64
65
  this._executionId = 0;
66
+ this.TransactionStorage = new async_hooks_1.AsyncLocalStorage();
65
67
  }
66
68
  getNextExecutionId() {
67
69
  this._executionId = (this._executionId + 1) % Number.MAX_SAFE_INTEGER;
@@ -71,8 +73,11 @@ let MySqlOrmDriver = class MySqlOrmDriver extends orm_sql_1.SqlDriver {
71
73
  const self = this;
72
74
  const tName = `query-${this.getNextExecutionId()}`;
73
75
  this.Log.timeStart(`query-${tName}`);
76
+ // Check if we're inside a transaction context and use that connection
77
+ const txContext = this.TransactionStorage.getStore();
78
+ const queryable = txContext?.connection ?? this.Pool;
74
79
  return new Promise((resolve, reject) => {
75
- this.Pool.query(stmt, params, function (err, results) {
80
+ queryable.query(stmt, params, function (err, results) {
76
81
  if (err) {
77
82
  return reject(new orm_1.OrmException(`Error executing orm command `, {
78
83
  Host: self.Options.Host,
@@ -245,42 +250,54 @@ let MySqlOrmDriver = class MySqlOrmDriver extends orm_sql_1.SqlDriver {
245
250
  };
246
251
  });
247
252
  }
248
- // todo fix transactions
249
253
  transaction(queryOrCallback) {
250
254
  return new Promise((resolve, reject) => {
255
+ if (!queryOrCallback) {
256
+ resolve();
257
+ return;
258
+ }
251
259
  this.Pool.getConnection((err, connection) => {
252
260
  if (err) {
253
261
  reject(err);
262
+ return;
254
263
  }
255
- else {
256
- connection.beginTransaction((err) => {
257
- if (err) {
258
- reject(err);
259
- }
260
- else {
264
+ connection.beginTransaction(async (err) => {
265
+ if (err) {
266
+ connection.release();
267
+ reject(err);
268
+ return;
269
+ }
270
+ try {
271
+ // Run the callback/queries within async context so executeOnDb uses this connection
272
+ await this.TransactionStorage.run({ connection }, async () => {
261
273
  if (Array.isArray(queryOrCallback)) {
262
- Promise.all(queryOrCallback)
263
- .then(() => {
264
- resolve();
265
- return;
266
- })
267
- .catch((err) => {
268
- reject(err);
269
- });
274
+ for (const q of queryOrCallback) {
275
+ await q;
276
+ }
270
277
  }
271
278
  else {
272
- queryOrCallback(this)
273
- .then(() => {
274
- resolve();
275
- return;
276
- })
277
- .catch((err) => {
279
+ await queryOrCallback(this);
280
+ }
281
+ });
282
+ connection.commit((err) => {
283
+ if (err) {
284
+ connection.rollback(() => {
285
+ connection.release();
278
286
  reject(err);
279
287
  });
288
+ return;
280
289
  }
281
- }
282
- });
283
- }
290
+ connection.release();
291
+ resolve();
292
+ });
293
+ }
294
+ catch (ex) {
295
+ connection.rollback(() => {
296
+ connection.release();
297
+ reject(ex);
298
+ });
299
+ }
300
+ });
284
301
  });
285
302
  });
286
303
  }
@@ -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,7 +1,12 @@
1
1
  import { QueryContext, OrmDriver, IColumnDescriptor, QueryBuilder, TransactionCallback, ServerResponseMapper, ISupportedFeature } from '@spinajs/orm';
2
2
  import { SqlDriver } from '@spinajs/orm-sql';
3
3
  import * as mysql from 'mysql2';
4
+ import { PoolConnection } from 'mysql2';
4
5
  import { Client as SSHClient } from 'ssh2';
6
+ import { AsyncLocalStorage } from 'async_hooks';
7
+ export interface IMySqlTransactionContext {
8
+ connection: PoolConnection;
9
+ }
5
10
  export declare class MysqlServerResponseMapper extends ServerResponseMapper {
6
11
  read(data: any): {
7
12
  LastInsertId: any;
@@ -11,6 +16,7 @@ export declare class MysqlServerResponseMapper extends ServerResponseMapper {
11
16
  export declare class MySqlOrmDriver extends SqlDriver {
12
17
  protected Pool: mysql.Pool;
13
18
  protected _executionId: number;
19
+ protected TransactionStorage: AsyncLocalStorage<IMySqlTransactionContext>;
14
20
  private getNextExecutionId;
15
21
  executeOnDb(stmt: string, params: any[], context: QueryContext): Promise<any>;
16
22
  supportedFeatures(): ISupportedFeature;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,mBAAmB,EAAqC,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACzL,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,QAAQ,CAAC;AAIhC,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAG3C,qBAAa,yBAA0B,SAAQ,oBAAoB;IAC1D,IAAI,CAAC,IAAI,EAAE,GAAG;;;;CAGtB;AAED,qBAEa,cAAe,SAAQ,SAAS;IAC3C,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;IAC3B,SAAS,CAAC,YAAY,SAAK;IAE3B,OAAO,CAAC,kBAAkB;IAKnB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IA8E7E,iBAAiB,IAAI,iBAAiB;IAItC,OAAO;IAOD,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAS9B,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;IAyC7B,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAkB1B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAiD5E,WAAW,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,GAAG,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAmC/F;AAED,qBAEa,iBAAkB,SAAQ,cAAc;IACnD,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IAExB,OAAO;IAYD,UAAU;IAUhB,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;CAuCrC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,mBAAmB,EAAqC,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACzL,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAY,cAAc,EAAe,MAAM,QAAQ,CAAC;AAG/D,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED,qBAAa,yBAA0B,SAAQ,oBAAoB;IAC1D,IAAI,CAAC,IAAI,EAAE,GAAG;;;;CAGtB;AAED,qBAEa,cAAe,SAAQ,SAAS;IAC3C,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;IAC3B,SAAS,CAAC,YAAY,SAAK;IAC3B,SAAS,CAAC,kBAAkB,8CAAqD;IAEjF,OAAO,CAAC,kBAAkB;IAKnB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAkF7E,iBAAiB,IAAI,iBAAiB;IAItC,OAAO;IAOD,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAS9B,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;IAyC7B,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAkB1B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAgD5E,WAAW,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,GAAG,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAqD/F;AAED,qBAEa,iBAAkB,SAAQ,cAAc;IACnD,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IAExB,OAAO;IAYD,UAAU;IAUhB,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC;CAuCrC"}
package/lib/mjs/index.js CHANGED
@@ -13,6 +13,7 @@ import * as mysql from 'mysql2';
13
13
  import { MySqlTableExistsCompiler } from './compilers.js';
14
14
  import { Client as SSHClient } from 'ssh2';
15
15
  import fs from 'fs';
16
+ import { AsyncLocalStorage } from 'async_hooks';
16
17
  export class MysqlServerResponseMapper extends ServerResponseMapper {
17
18
  read(data) {
18
19
  return { LastInsertId: data.LastInsertId, RowsAffected: data.RowsAffected };
@@ -22,6 +23,7 @@ let MySqlOrmDriver = class MySqlOrmDriver extends SqlDriver {
22
23
  constructor() {
23
24
  super(...arguments);
24
25
  this._executionId = 0;
26
+ this.TransactionStorage = new AsyncLocalStorage();
25
27
  }
26
28
  getNextExecutionId() {
27
29
  this._executionId = (this._executionId + 1) % Number.MAX_SAFE_INTEGER;
@@ -31,8 +33,11 @@ let MySqlOrmDriver = class MySqlOrmDriver extends SqlDriver {
31
33
  const self = this;
32
34
  const tName = `query-${this.getNextExecutionId()}`;
33
35
  this.Log.timeStart(`query-${tName}`);
36
+ // Check if we're inside a transaction context and use that connection
37
+ const txContext = this.TransactionStorage.getStore();
38
+ const queryable = txContext?.connection ?? this.Pool;
34
39
  return new Promise((resolve, reject) => {
35
- this.Pool.query(stmt, params, function (err, results) {
40
+ queryable.query(stmt, params, function (err, results) {
36
41
  if (err) {
37
42
  return reject(new OrmException(`Error executing orm command `, {
38
43
  Host: self.Options.Host,
@@ -205,42 +210,54 @@ let MySqlOrmDriver = class MySqlOrmDriver extends SqlDriver {
205
210
  };
206
211
  });
207
212
  }
208
- // todo fix transactions
209
213
  transaction(queryOrCallback) {
210
214
  return new Promise((resolve, reject) => {
215
+ if (!queryOrCallback) {
216
+ resolve();
217
+ return;
218
+ }
211
219
  this.Pool.getConnection((err, connection) => {
212
220
  if (err) {
213
221
  reject(err);
222
+ return;
214
223
  }
215
- else {
216
- connection.beginTransaction((err) => {
217
- if (err) {
218
- reject(err);
219
- }
220
- else {
224
+ connection.beginTransaction(async (err) => {
225
+ if (err) {
226
+ connection.release();
227
+ reject(err);
228
+ return;
229
+ }
230
+ try {
231
+ // Run the callback/queries within async context so executeOnDb uses this connection
232
+ await this.TransactionStorage.run({ connection }, async () => {
221
233
  if (Array.isArray(queryOrCallback)) {
222
- Promise.all(queryOrCallback)
223
- .then(() => {
224
- resolve();
225
- return;
226
- })
227
- .catch((err) => {
228
- reject(err);
229
- });
234
+ for (const q of queryOrCallback) {
235
+ await q;
236
+ }
230
237
  }
231
238
  else {
232
- queryOrCallback(this)
233
- .then(() => {
234
- resolve();
235
- return;
236
- })
237
- .catch((err) => {
239
+ await queryOrCallback(this);
240
+ }
241
+ });
242
+ connection.commit((err) => {
243
+ if (err) {
244
+ connection.rollback(() => {
245
+ connection.release();
238
246
  reject(err);
239
247
  });
248
+ return;
240
249
  }
241
- }
242
- });
243
- }
250
+ connection.release();
251
+ resolve();
252
+ });
253
+ }
254
+ catch (ex) {
255
+ connection.rollback(() => {
256
+ connection.release();
257
+ reject(ex);
258
+ });
259
+ }
260
+ });
244
261
  });
245
262
  });
246
263
  }
@@ -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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"}