typeorm 0.2.39-dev.d8c5812 → 0.2.39-dev.dd94c9d

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 (77) hide show
  1. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +17 -46
  2. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  3. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +17 -46
  4. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
  5. package/browser/driver/cockroachdb/CockroachQueryRunner.js +44 -75
  6. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  7. package/browser/driver/expo/ExpoQueryRunner.js +12 -43
  8. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  9. package/browser/driver/mysql/MysqlQueryRunner.js +22 -52
  10. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  11. package/browser/driver/oracle/OracleQueryRunner.js +18 -46
  12. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  13. package/browser/driver/postgres/PostgresQueryRunner.js +19 -49
  14. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  15. package/browser/driver/sap/SapQueryRunner.js +18 -48
  16. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  17. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +17 -47
  18. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  19. package/browser/driver/sqlserver/SqlServerQueryRunner.js +74 -106
  20. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  21. package/browser/entity-manager/MongoEntityManager.js +8 -13
  22. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  23. package/browser/query-builder/DeleteQueryBuilder.js +3 -10
  24. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  25. package/browser/query-builder/InsertQueryBuilder.js +2 -4
  26. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  27. package/browser/query-builder/SelectQueryBuilder.js +2 -6
  28. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  29. package/browser/query-builder/SoftDeleteQueryBuilder.js +3 -10
  30. package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  31. package/browser/query-builder/UpdateQueryBuilder.js +3 -10
  32. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  33. package/browser/subscriber/Broadcaster.d.ts +23 -2
  34. package/browser/subscriber/Broadcaster.js +35 -2
  35. package/browser/subscriber/Broadcaster.js.map +1 -1
  36. package/browser/subscriber/BroadcasterResult.d.ts +4 -0
  37. package/browser/subscriber/BroadcasterResult.js +19 -0
  38. package/browser/subscriber/BroadcasterResult.js.map +1 -1
  39. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +17 -46
  40. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  41. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +17 -46
  42. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
  43. package/driver/cockroachdb/CockroachQueryRunner.js +44 -75
  44. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  45. package/driver/expo/ExpoQueryRunner.js +12 -43
  46. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  47. package/driver/mysql/MysqlQueryRunner.js +22 -52
  48. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  49. package/driver/oracle/OracleQueryRunner.js +18 -46
  50. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  51. package/driver/postgres/PostgresQueryRunner.js +19 -49
  52. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  53. package/driver/sap/SapQueryRunner.js +18 -48
  54. package/driver/sap/SapQueryRunner.js.map +1 -1
  55. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +17 -47
  56. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  57. package/driver/sqlserver/SqlServerQueryRunner.js +74 -106
  58. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  59. package/entity-manager/MongoEntityManager.js +8 -13
  60. package/entity-manager/MongoEntityManager.js.map +1 -1
  61. package/package.json +1 -1
  62. package/query-builder/DeleteQueryBuilder.js +3 -10
  63. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  64. package/query-builder/InsertQueryBuilder.js +2 -4
  65. package/query-builder/InsertQueryBuilder.js.map +1 -1
  66. package/query-builder/SelectQueryBuilder.js +2 -6
  67. package/query-builder/SelectQueryBuilder.js.map +1 -1
  68. package/query-builder/SoftDeleteQueryBuilder.js +3 -10
  69. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  70. package/query-builder/UpdateQueryBuilder.js +3 -10
  71. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  72. package/subscriber/Broadcaster.d.ts +23 -2
  73. package/subscriber/Broadcaster.js +35 -2
  74. package/subscriber/Broadcaster.js.map +1 -1
  75. package/subscriber/BroadcasterResult.d.ts +4 -0
  76. package/subscriber/BroadcasterResult.js +19 -0
  77. package/subscriber/BroadcasterResult.js.map +1 -1
@@ -5,7 +5,6 @@ import { AbstractSqliteQueryRunner } from "../sqlite-abstract/AbstractSqliteQuer
5
5
  import { TransactionAlreadyStartedError } from "../../error/TransactionAlreadyStartedError";
6
6
  import { TransactionNotStartedError } from "../../error/TransactionNotStartedError";
7
7
  import { Broadcaster } from "../../subscriber/Broadcaster";
8
- import { BroadcasterResult } from "../../subscriber/BroadcasterResult";
9
8
  import { QueryResult } from "../../query-runner/QueryResult";
10
9
  /**
11
10
  * Runs queries on a single sqlite database connection.
@@ -35,29 +34,19 @@ var ExpoQueryRunner = /** @class */ (function (_super) {
35
34
  */
36
35
  ExpoQueryRunner.prototype.startTransaction = function () {
37
36
  return __awaiter(this, void 0, void 0, function () {
38
- var beforeBroadcastResult, afterBroadcastResult;
39
37
  return __generator(this, function (_a) {
40
38
  switch (_a.label) {
41
39
  case 0:
42
40
  if (this.isTransactionActive && typeof this.transaction !== "undefined")
43
41
  throw new TransactionAlreadyStartedError();
44
- beforeBroadcastResult = new BroadcasterResult();
45
- this.broadcaster.broadcastBeforeTransactionStartEvent(beforeBroadcastResult);
46
- if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
47
- return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
42
+ return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionStart')];
48
43
  case 1:
49
44
  _a.sent();
50
- _a.label = 2;
51
- case 2:
52
45
  this.isTransactionActive = true;
53
- afterBroadcastResult = new BroadcasterResult();
54
- this.broadcaster.broadcastAfterTransactionStartEvent(afterBroadcastResult);
55
- if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 4];
56
- return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
57
- case 3:
46
+ return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionStart')];
47
+ case 2:
58
48
  _a.sent();
59
- _a.label = 4;
60
- case 4: return [2 /*return*/];
49
+ return [2 /*return*/];
61
50
  }
62
51
  });
63
52
  });
@@ -72,30 +61,20 @@ var ExpoQueryRunner = /** @class */ (function (_super) {
72
61
  */
73
62
  ExpoQueryRunner.prototype.commitTransaction = function () {
74
63
  return __awaiter(this, void 0, void 0, function () {
75
- var beforeBroadcastResult, afterBroadcastResult;
76
64
  return __generator(this, function (_a) {
77
65
  switch (_a.label) {
78
66
  case 0:
79
67
  if (!this.isTransactionActive && typeof this.transaction === "undefined")
80
68
  throw new TransactionNotStartedError();
81
- beforeBroadcastResult = new BroadcasterResult();
82
- this.broadcaster.broadcastBeforeTransactionCommitEvent(beforeBroadcastResult);
83
- if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
84
- return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
69
+ return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionCommit')];
85
70
  case 1:
86
71
  _a.sent();
87
- _a.label = 2;
88
- case 2:
89
72
  this.isTransactionActive = false;
90
73
  this.transaction = undefined;
91
- afterBroadcastResult = new BroadcasterResult();
92
- this.broadcaster.broadcastAfterTransactionCommitEvent(afterBroadcastResult);
93
- if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 4];
94
- return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
95
- case 3:
74
+ return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionCommit')];
75
+ case 2:
96
76
  _a.sent();
97
- _a.label = 4;
98
- case 4: return [2 /*return*/];
77
+ return [2 /*return*/];
99
78
  }
100
79
  });
101
80
  });
@@ -109,30 +88,20 @@ var ExpoQueryRunner = /** @class */ (function (_super) {
109
88
  */
110
89
  ExpoQueryRunner.prototype.rollbackTransaction = function () {
111
90
  return __awaiter(this, void 0, void 0, function () {
112
- var beforeBroadcastResult, afterBroadcastResult;
113
91
  return __generator(this, function (_a) {
114
92
  switch (_a.label) {
115
93
  case 0:
116
94
  if (!this.isTransactionActive && typeof this.transaction === "undefined")
117
95
  throw new TransactionNotStartedError();
118
- beforeBroadcastResult = new BroadcasterResult();
119
- this.broadcaster.broadcastBeforeTransactionRollbackEvent(beforeBroadcastResult);
120
- if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
121
- return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
96
+ return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionRollback')];
122
97
  case 1:
123
98
  _a.sent();
124
- _a.label = 2;
125
- case 2:
126
99
  this.isTransactionActive = false;
127
100
  this.transaction = undefined;
128
- afterBroadcastResult = new BroadcasterResult();
129
- this.broadcaster.broadcastAfterTransactionRollbackEvent(afterBroadcastResult);
130
- if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 4];
131
- return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
132
- case 3:
101
+ return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionRollback')];
102
+ case 2:
133
103
  _a.sent();
134
- _a.label = 4;
135
- case 4: return [2 /*return*/];
104
+ return [2 /*return*/];
136
105
  }
137
106
  });
138
107
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/driver/expo/ExpoQueryRunner.ts"],"names":[],"mappings":"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","file":"ExpoQueryRunner.js","sourcesContent":["import {QueryRunnerAlreadyReleasedError} from \"../../error/QueryRunnerAlreadyReleasedError\";\nimport {QueryFailedError} from \"../../error/QueryFailedError\";\nimport {AbstractSqliteQueryRunner} from \"../sqlite-abstract/AbstractSqliteQueryRunner\";\nimport {TransactionAlreadyStartedError} from \"../../error/TransactionAlreadyStartedError\";\nimport {TransactionNotStartedError} from \"../../error/TransactionNotStartedError\";\nimport {ExpoDriver} from \"./ExpoDriver\";\nimport {Broadcaster} from \"../../subscriber/Broadcaster\";\nimport {BroadcasterResult} from \"../../subscriber/BroadcasterResult\";\nimport { QueryResult } from \"../../query-runner/QueryResult\";\n\n// Needed to satisfy the Typescript compiler\ninterface IResultSet {\n insertId: number | undefined;\n rowsAffected: number;\n rows: {\n length: number;\n item: (idx: number) => any;\n _array: any[];\n };\n}\ninterface ITransaction {\n executeSql: (\n sql: string,\n args: any[] | undefined,\n ok: (tsx: ITransaction, resultSet: IResultSet) => void,\n fail: (tsx: ITransaction, err: any) => void\n ) => void;\n}\n\n/**\n * Runs queries on a single sqlite database connection.\n */\nexport class ExpoQueryRunner extends AbstractSqliteQueryRunner {\n\n /**\n * Database driver used by connection.\n */\n driver: ExpoDriver;\n\n /**\n * Database transaction object\n */\n private transaction?: ITransaction;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(driver: ExpoDriver) {\n super();\n this.driver = driver;\n this.connection = driver.connection;\n this.broadcaster = new Broadcaster(this);\n }\n\n /**\n * Starts transaction. Within Expo, all database operations happen in a\n * transaction context, so issuing a `BEGIN TRANSACTION` command is\n * redundant and will result in the following error:\n *\n * `Error: Error code 1: cannot start a transaction within a transaction`\n *\n * Instead, we keep track of a `Transaction` object in `this.transaction`\n * and continue using the same object until we wish to commit the\n * transaction.\n */\n async startTransaction(): Promise<void> {\n if (this.isTransactionActive && typeof this.transaction !== \"undefined\")\n throw new TransactionAlreadyStartedError();\n\n const beforeBroadcastResult = new BroadcasterResult();\n this.broadcaster.broadcastBeforeTransactionStartEvent(beforeBroadcastResult);\n if (beforeBroadcastResult.promises.length > 0) await Promise.all(beforeBroadcastResult.promises);\n\n this.isTransactionActive = true;\n\n const afterBroadcastResult = new BroadcasterResult();\n this.broadcaster.broadcastAfterTransactionStartEvent(afterBroadcastResult);\n if (afterBroadcastResult.promises.length > 0) await Promise.all(afterBroadcastResult.promises);\n }\n\n /**\n * Commits transaction.\n * Error will be thrown if transaction was not started.\n * Since Expo will automatically commit the transaction once all the\n * callbacks of the transaction object have been completed, \"committing\" a\n * transaction in this driver's context means that we delete the transaction\n * object and set the stage for the next transaction.\n */\n async commitTransaction(): Promise<void> {\n if (!this.isTransactionActive && typeof this.transaction === \"undefined\")\n throw new TransactionNotStartedError();\n\n const beforeBroadcastResult = new BroadcasterResult();\n this.broadcaster.broadcastBeforeTransactionCommitEvent(beforeBroadcastResult);\n if (beforeBroadcastResult.promises.length > 0) await Promise.all(beforeBroadcastResult.promises);\n\n this.isTransactionActive = false;\n this.transaction = undefined;\n\n const afterBroadcastResult = new BroadcasterResult();\n this.broadcaster.broadcastAfterTransactionCommitEvent(afterBroadcastResult);\n if (afterBroadcastResult.promises.length > 0) await Promise.all(afterBroadcastResult.promises);\n }\n\n /**\n * Rollbacks transaction.\n * Error will be thrown if transaction was not started.\n * This method's functionality is identical to `commitTransaction()` because\n * the transaction lifecycle is handled within the Expo transaction object.\n * Issuing separate statements for `COMMIT` or `ROLLBACK` aren't necessary.\n */\n async rollbackTransaction(): Promise<void> {\n if (!this.isTransactionActive && typeof this.transaction === \"undefined\")\n throw new TransactionNotStartedError();\n\n const beforeBroadcastResult = new BroadcasterResult();\n this.broadcaster.broadcastBeforeTransactionRollbackEvent(beforeBroadcastResult);\n if (beforeBroadcastResult.promises.length > 0) await Promise.all(beforeBroadcastResult.promises);\n\n this.isTransactionActive = false;\n this.transaction = undefined;\n\n const afterBroadcastResult = new BroadcasterResult();\n this.broadcaster.broadcastAfterTransactionRollbackEvent(afterBroadcastResult);\n if (afterBroadcastResult.promises.length > 0) await Promise.all(afterBroadcastResult.promises);\n }\n\n /**\n * Executes a given SQL query.\n */\n async query(query: string, parameters?: any[], useStructuredResult = false): Promise<any> {\n if (this.isReleased)\n throw new QueryRunnerAlreadyReleasedError();\n\n return new Promise<any>(async (ok, fail) => {\n const databaseConnection = await this.connect();\n this.driver.connection.logger.logQuery(query, parameters, this);\n const queryStartTime = +new Date();\n // All Expo SQL queries are executed in a transaction context\n databaseConnection.transaction((transaction: ITransaction) => {\n if (typeof this.transaction === \"undefined\") {\n this.startTransaction();\n this.transaction = transaction;\n }\n this.transaction.executeSql(query, parameters, (t: ITransaction, raw: IResultSet) => {\n // log slow queries if maxQueryExecution time is set\n const maxQueryExecutionTime = this.driver.options.maxQueryExecutionTime;\n const queryEndTime = +new Date();\n const queryExecutionTime = queryEndTime - queryStartTime;\n if (maxQueryExecutionTime && queryExecutionTime > maxQueryExecutionTime) {\n this.driver.connection.logger.logQuerySlow(queryExecutionTime, query, parameters, this);\n }\n\n const result = new QueryResult();\n\n // return id of inserted row, if query was insert statement.\n if (query.substr(0, 11) === \"INSERT INTO\") {\n result.raw = raw.insertId;\n }\n\n if (raw?.hasOwnProperty('rowsAffected')) {\n result.affected = raw.rowsAffected;\n }\n\n if (raw?.hasOwnProperty('rows')) {\n let resultSet = [];\n for (let i = 0; i < raw.rows.length; i++) {\n resultSet.push(raw.rows.item(i));\n }\n\n result.raw = resultSet;\n result.records = resultSet;\n }\n\n if (useStructuredResult) {\n ok(result);\n } else {\n ok(result.raw);\n }\n }, (t: ITransaction, err: any) => {\n this.driver.connection.logger.logQueryError(err, query, parameters, this);\n fail(new QueryFailedError(query, parameters, err));\n });\n }, (err: any) => {\n this.rollbackTransaction();\n }, () => {\n this.isTransactionActive = false;\n this.transaction = undefined;\n });\n });\n }\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/driver/expo/ExpoQueryRunner.ts"],"names":[],"mappings":"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","file":"ExpoQueryRunner.js","sourcesContent":["import {QueryRunnerAlreadyReleasedError} from \"../../error/QueryRunnerAlreadyReleasedError\";\nimport {QueryFailedError} from \"../../error/QueryFailedError\";\nimport {AbstractSqliteQueryRunner} from \"../sqlite-abstract/AbstractSqliteQueryRunner\";\nimport {TransactionAlreadyStartedError} from \"../../error/TransactionAlreadyStartedError\";\nimport {TransactionNotStartedError} from \"../../error/TransactionNotStartedError\";\nimport {ExpoDriver} from \"./ExpoDriver\";\nimport {Broadcaster} from \"../../subscriber/Broadcaster\";\nimport { QueryResult } from \"../../query-runner/QueryResult\";\n\n// Needed to satisfy the Typescript compiler\ninterface IResultSet {\n insertId: number | undefined;\n rowsAffected: number;\n rows: {\n length: number;\n item: (idx: number) => any;\n _array: any[];\n };\n}\ninterface ITransaction {\n executeSql: (\n sql: string,\n args: any[] | undefined,\n ok: (tsx: ITransaction, resultSet: IResultSet) => void,\n fail: (tsx: ITransaction, err: any) => void\n ) => void;\n}\n\n/**\n * Runs queries on a single sqlite database connection.\n */\nexport class ExpoQueryRunner extends AbstractSqliteQueryRunner {\n\n /**\n * Database driver used by connection.\n */\n driver: ExpoDriver;\n\n /**\n * Database transaction object\n */\n private transaction?: ITransaction;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(driver: ExpoDriver) {\n super();\n this.driver = driver;\n this.connection = driver.connection;\n this.broadcaster = new Broadcaster(this);\n }\n\n /**\n * Starts transaction. Within Expo, all database operations happen in a\n * transaction context, so issuing a `BEGIN TRANSACTION` command is\n * redundant and will result in the following error:\n *\n * `Error: Error code 1: cannot start a transaction within a transaction`\n *\n * Instead, we keep track of a `Transaction` object in `this.transaction`\n * and continue using the same object until we wish to commit the\n * transaction.\n */\n async startTransaction(): Promise<void> {\n if (this.isTransactionActive && typeof this.transaction !== \"undefined\")\n throw new TransactionAlreadyStartedError();\n\n await this.broadcaster.broadcast('BeforeTransactionStart');\n\n this.isTransactionActive = true;\n\n await this.broadcaster.broadcast('AfterTransactionStart');\n }\n\n /**\n * Commits transaction.\n * Error will be thrown if transaction was not started.\n * Since Expo will automatically commit the transaction once all the\n * callbacks of the transaction object have been completed, \"committing\" a\n * transaction in this driver's context means that we delete the transaction\n * object and set the stage for the next transaction.\n */\n async commitTransaction(): Promise<void> {\n if (!this.isTransactionActive && typeof this.transaction === \"undefined\")\n throw new TransactionNotStartedError();\n\n await this.broadcaster.broadcast('BeforeTransactionCommit');\n\n this.isTransactionActive = false;\n this.transaction = undefined;\n\n await this.broadcaster.broadcast('AfterTransactionCommit');\n }\n\n /**\n * Rollbacks transaction.\n * Error will be thrown if transaction was not started.\n * This method's functionality is identical to `commitTransaction()` because\n * the transaction lifecycle is handled within the Expo transaction object.\n * Issuing separate statements for `COMMIT` or `ROLLBACK` aren't necessary.\n */\n async rollbackTransaction(): Promise<void> {\n if (!this.isTransactionActive && typeof this.transaction === \"undefined\")\n throw new TransactionNotStartedError();\n\n await this.broadcaster.broadcast('BeforeTransactionRollback');\n\n this.isTransactionActive = false;\n this.transaction = undefined;\n\n await this.broadcaster.broadcast('AfterTransactionRollback');\n }\n\n /**\n * Executes a given SQL query.\n */\n async query(query: string, parameters?: any[], useStructuredResult = false): Promise<any> {\n if (this.isReleased)\n throw new QueryRunnerAlreadyReleasedError();\n\n return new Promise<any>(async (ok, fail) => {\n const databaseConnection = await this.connect();\n this.driver.connection.logger.logQuery(query, parameters, this);\n const queryStartTime = +new Date();\n // All Expo SQL queries are executed in a transaction context\n databaseConnection.transaction((transaction: ITransaction) => {\n if (typeof this.transaction === \"undefined\") {\n this.startTransaction();\n this.transaction = transaction;\n }\n this.transaction.executeSql(query, parameters, (t: ITransaction, raw: IResultSet) => {\n // log slow queries if maxQueryExecution time is set\n const maxQueryExecutionTime = this.driver.options.maxQueryExecutionTime;\n const queryEndTime = +new Date();\n const queryExecutionTime = queryEndTime - queryStartTime;\n if (maxQueryExecutionTime && queryExecutionTime > maxQueryExecutionTime) {\n this.driver.connection.logger.logQuerySlow(queryExecutionTime, query, parameters, this);\n }\n\n const result = new QueryResult();\n\n // return id of inserted row, if query was insert statement.\n if (query.substr(0, 11) === \"INSERT INTO\") {\n result.raw = raw.insertId;\n }\n\n if (raw?.hasOwnProperty('rowsAffected')) {\n result.affected = raw.rowsAffected;\n }\n\n if (raw?.hasOwnProperty('rows')) {\n let resultSet = [];\n for (let i = 0; i < raw.rows.length; i++) {\n resultSet.push(raw.rows.item(i));\n }\n\n result.raw = resultSet;\n result.records = resultSet;\n }\n\n if (useStructuredResult) {\n ok(result);\n } else {\n ok(result.raw);\n }\n }, (t: ITransaction, err: any) => {\n this.driver.connection.logger.logQueryError(err, query, parameters, this);\n fail(new QueryFailedError(query, parameters, err));\n });\n }, (err: any) => {\n this.rollbackTransaction();\n }, () => {\n this.isTransactionActive = false;\n this.transaction = undefined;\n });\n });\n }\n}\n"],"sourceRoot":"../.."}
@@ -15,7 +15,6 @@ import { TableUnique } from "../../schema-builder/table/TableUnique";
15
15
  import { BaseQueryRunner } from "../../query-runner/BaseQueryRunner";
16
16
  import { Broadcaster } from "../../subscriber/Broadcaster";
17
17
  import { VersionUtils } from "../../util/VersionUtils";
18
- import { BroadcasterResult } from "../../subscriber/BroadcasterResult";
19
18
  import { TypeORMError } from "../../error";
20
19
  /**
21
20
  * Runs queries on a single mysql database connection.
@@ -75,42 +74,31 @@ var MysqlQueryRunner = /** @class */ (function (_super) {
75
74
  */
76
75
  MysqlQueryRunner.prototype.startTransaction = function (isolationLevel) {
77
76
  return __awaiter(this, void 0, void 0, function () {
78
- var beforeBroadcastResult, afterBroadcastResult;
79
77
  return __generator(this, function (_a) {
80
78
  switch (_a.label) {
81
79
  case 0:
82
80
  if (this.isTransactionActive)
83
81
  throw new TransactionAlreadyStartedError();
84
- beforeBroadcastResult = new BroadcasterResult();
85
- this.broadcaster.broadcastBeforeTransactionStartEvent(beforeBroadcastResult);
86
- if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
87
- return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
82
+ return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionStart')];
88
83
  case 1:
89
84
  _a.sent();
90
- _a.label = 2;
91
- case 2:
92
85
  this.isTransactionActive = true;
93
- if (!isolationLevel) return [3 /*break*/, 5];
86
+ if (!isolationLevel) return [3 /*break*/, 4];
94
87
  return [4 /*yield*/, this.query("SET TRANSACTION ISOLATION LEVEL " + isolationLevel)];
95
- case 3:
88
+ case 2:
96
89
  _a.sent();
97
90
  return [4 /*yield*/, this.query("START TRANSACTION")];
98
- case 4:
91
+ case 3:
99
92
  _a.sent();
100
- return [3 /*break*/, 7];
101
- case 5: return [4 /*yield*/, this.query("START TRANSACTION")];
102
- case 6:
93
+ return [3 /*break*/, 6];
94
+ case 4: return [4 /*yield*/, this.query("START TRANSACTION")];
95
+ case 5:
103
96
  _a.sent();
104
- _a.label = 7;
97
+ _a.label = 6;
98
+ case 6: return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionStart')];
105
99
  case 7:
106
- afterBroadcastResult = new BroadcasterResult();
107
- this.broadcaster.broadcastAfterTransactionStartEvent(afterBroadcastResult);
108
- if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 9];
109
- return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
110
- case 8:
111
100
  _a.sent();
112
- _a.label = 9;
113
- case 9: return [2 /*return*/];
101
+ return [2 /*return*/];
114
102
  }
115
103
  });
116
104
  });
@@ -121,31 +109,22 @@ var MysqlQueryRunner = /** @class */ (function (_super) {
121
109
  */
122
110
  MysqlQueryRunner.prototype.commitTransaction = function () {
123
111
  return __awaiter(this, void 0, void 0, function () {
124
- var beforeBroadcastResult, afterBroadcastResult;
125
112
  return __generator(this, function (_a) {
126
113
  switch (_a.label) {
127
114
  case 0:
128
115
  if (!this.isTransactionActive)
129
116
  throw new TransactionNotStartedError();
130
- beforeBroadcastResult = new BroadcasterResult();
131
- this.broadcaster.broadcastBeforeTransactionCommitEvent(beforeBroadcastResult);
132
- if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
133
- return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
117
+ return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionCommit')];
134
118
  case 1:
135
119
  _a.sent();
136
- _a.label = 2;
137
- case 2: return [4 /*yield*/, this.query("COMMIT")];
138
- case 3:
120
+ return [4 /*yield*/, this.query("COMMIT")];
121
+ case 2:
139
122
  _a.sent();
140
123
  this.isTransactionActive = false;
141
- afterBroadcastResult = new BroadcasterResult();
142
- this.broadcaster.broadcastAfterTransactionCommitEvent(afterBroadcastResult);
143
- if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 5];
144
- return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
145
- case 4:
124
+ return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionCommit')];
125
+ case 3:
146
126
  _a.sent();
147
- _a.label = 5;
148
- case 5: return [2 /*return*/];
127
+ return [2 /*return*/];
149
128
  }
150
129
  });
151
130
  });
@@ -156,31 +135,22 @@ var MysqlQueryRunner = /** @class */ (function (_super) {
156
135
  */
157
136
  MysqlQueryRunner.prototype.rollbackTransaction = function () {
158
137
  return __awaiter(this, void 0, void 0, function () {
159
- var beforeBroadcastResult, afterBroadcastResult;
160
138
  return __generator(this, function (_a) {
161
139
  switch (_a.label) {
162
140
  case 0:
163
141
  if (!this.isTransactionActive)
164
142
  throw new TransactionNotStartedError();
165
- beforeBroadcastResult = new BroadcasterResult();
166
- this.broadcaster.broadcastBeforeTransactionRollbackEvent(beforeBroadcastResult);
167
- if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
168
- return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
143
+ return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionRollback')];
169
144
  case 1:
170
145
  _a.sent();
171
- _a.label = 2;
172
- case 2: return [4 /*yield*/, this.query("ROLLBACK")];
173
- case 3:
146
+ return [4 /*yield*/, this.query("ROLLBACK")];
147
+ case 2:
174
148
  _a.sent();
175
149
  this.isTransactionActive = false;
176
- afterBroadcastResult = new BroadcasterResult();
177
- this.broadcaster.broadcastAfterTransactionRollbackEvent(afterBroadcastResult);
178
- if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 5];
179
- return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
180
- case 4:
150
+ return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionRollback')];
151
+ case 3:
181
152
  _a.sent();
182
- _a.label = 5;
183
- case 5: return [2 /*return*/];
153
+ return [2 /*return*/];
184
154
  }
185
155
  });
186
156
  });