typeorm 0.2.44-dev.8742e33 → 0.2.45-dev.0fc093d

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 (191) hide show
  1. package/browser/decorator/options/ViewColumnOptions.d.ts +6 -0
  2. package/browser/decorator/options/ViewColumnOptions.js.map +1 -1
  3. package/browser/driver/Driver.d.ts +6 -1
  4. package/browser/driver/Driver.js.map +1 -1
  5. package/browser/driver/aurora-data-api/AuroraDataApiDriver.d.ts +4 -0
  6. package/browser/driver/aurora-data-api/AuroraDataApiDriver.js +4 -0
  7. package/browser/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
  8. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +66 -28
  9. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  10. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.d.ts +4 -0
  11. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +4 -0
  12. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
  13. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +43 -11
  14. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
  15. package/browser/driver/cockroachdb/CockroachDriver.d.ts +4 -0
  16. package/browser/driver/cockroachdb/CockroachDriver.js +4 -0
  17. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  18. package/browser/driver/cockroachdb/CockroachQueryRunner.js +98 -61
  19. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  20. package/browser/driver/expo/ExpoQueryRunner.js +111 -55
  21. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  22. package/browser/driver/mongodb/MongoDriver.d.ts +4 -0
  23. package/browser/driver/mongodb/MongoDriver.js +4 -0
  24. package/browser/driver/mongodb/MongoDriver.js.map +1 -1
  25. package/browser/driver/mysql/MysqlDriver.d.ts +10 -2
  26. package/browser/driver/mysql/MysqlDriver.js +46 -6
  27. package/browser/driver/mysql/MysqlDriver.js.map +1 -1
  28. package/browser/driver/mysql/MysqlQueryRunner.js +71 -37
  29. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  30. package/browser/driver/oracle/OracleDriver.d.ts +4 -0
  31. package/browser/driver/oracle/OracleDriver.js +4 -0
  32. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  33. package/browser/driver/oracle/OracleQueryRunner.js +62 -28
  34. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  35. package/browser/driver/postgres/PostgresDriver.d.ts +4 -0
  36. package/browser/driver/postgres/PostgresDriver.js +4 -0
  37. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  38. package/browser/driver/postgres/PostgresQueryRunner.js +69 -32
  39. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  40. package/browser/driver/sap/SapDriver.d.ts +4 -0
  41. package/browser/driver/sap/SapDriver.js +4 -0
  42. package/browser/driver/sap/SapDriver.js.map +1 -1
  43. package/browser/driver/sap/SapQueryRunner.js +32 -14
  44. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  45. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +4 -0
  46. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +4 -0
  47. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  48. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +1 -0
  49. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +78 -36
  50. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  51. package/browser/driver/sqlserver/SqlServerDriver.d.ts +4 -0
  52. package/browser/driver/sqlserver/SqlServerDriver.js +4 -0
  53. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  54. package/browser/driver/sqlserver/SqlServerQueryRunner.js +132 -95
  55. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  56. package/browser/entity-manager/EntityManager.js +22 -31
  57. package/browser/entity-manager/EntityManager.js.map +1 -1
  58. package/browser/entity-schema/EntitySchemaTransformer.js +8 -8
  59. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  60. package/browser/error/ReturningStatementNotSupportedError.js +1 -1
  61. package/browser/error/ReturningStatementNotSupportedError.js.map +1 -1
  62. package/browser/metadata/ColumnMetadata.js +7 -1
  63. package/browser/metadata/ColumnMetadata.js.map +1 -1
  64. package/browser/naming-strategy/DefaultNamingStrategy.d.ts +1 -1
  65. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  66. package/browser/persistence/SubjectExecutor.js +2 -1
  67. package/browser/persistence/SubjectExecutor.js.map +1 -1
  68. package/browser/query-builder/DeleteQueryBuilder.js +7 -10
  69. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  70. package/browser/query-builder/InsertOrUpdateOptions.d.ts +3 -0
  71. package/browser/query-builder/InsertOrUpdateOptions.js +3 -0
  72. package/browser/query-builder/InsertOrUpdateOptions.js.map +1 -0
  73. package/browser/query-builder/InsertQueryBuilder.d.ts +2 -1
  74. package/browser/query-builder/InsertQueryBuilder.js +19 -5
  75. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  76. package/browser/query-builder/QueryBuilder.d.ts +2 -1
  77. package/browser/query-builder/QueryBuilder.js +2 -2
  78. package/browser/query-builder/QueryBuilder.js.map +1 -1
  79. package/browser/query-builder/QueryExpressionMap.d.ts +1 -0
  80. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  81. package/browser/query-builder/RelationLoader.js +7 -7
  82. package/browser/query-builder/RelationLoader.js.map +1 -1
  83. package/browser/query-builder/ReturningResultsEntityUpdator.js +4 -3
  84. package/browser/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  85. package/browser/query-builder/SoftDeleteQueryBuilder.js +7 -12
  86. package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  87. package/browser/query-builder/UpdateQueryBuilder.js +8 -12
  88. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  89. package/browser/query-runner/BaseQueryRunner.d.ts +5 -0
  90. package/browser/query-runner/BaseQueryRunner.js +5 -0
  91. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  92. package/browser/repository/UpsertOptions.d.ts +4 -0
  93. package/browser/repository/UpsertOptions.js.map +1 -1
  94. package/browser/util/ImportUtils.js +2 -1
  95. package/browser/util/ImportUtils.js.map +1 -1
  96. package/decorator/options/ViewColumnOptions.d.ts +6 -0
  97. package/decorator/options/ViewColumnOptions.js.map +1 -1
  98. package/driver/Driver.d.ts +6 -1
  99. package/driver/Driver.js.map +1 -1
  100. package/driver/aurora-data-api/AuroraDataApiDriver.d.ts +4 -0
  101. package/driver/aurora-data-api/AuroraDataApiDriver.js +4 -0
  102. package/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
  103. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +66 -28
  104. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  105. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.d.ts +4 -0
  106. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +4 -0
  107. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
  108. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +43 -11
  109. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
  110. package/driver/cockroachdb/CockroachDriver.d.ts +4 -0
  111. package/driver/cockroachdb/CockroachDriver.js +4 -0
  112. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  113. package/driver/cockroachdb/CockroachQueryRunner.js +98 -61
  114. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  115. package/driver/expo/ExpoQueryRunner.js +111 -55
  116. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  117. package/driver/mongodb/MongoDriver.d.ts +4 -0
  118. package/driver/mongodb/MongoDriver.js +4 -0
  119. package/driver/mongodb/MongoDriver.js.map +1 -1
  120. package/driver/mysql/MysqlDriver.d.ts +10 -2
  121. package/driver/mysql/MysqlDriver.js +46 -6
  122. package/driver/mysql/MysqlDriver.js.map +1 -1
  123. package/driver/mysql/MysqlQueryRunner.js +71 -37
  124. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  125. package/driver/oracle/OracleDriver.d.ts +4 -0
  126. package/driver/oracle/OracleDriver.js +4 -0
  127. package/driver/oracle/OracleDriver.js.map +1 -1
  128. package/driver/oracle/OracleQueryRunner.js +62 -28
  129. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  130. package/driver/postgres/PostgresDriver.d.ts +4 -0
  131. package/driver/postgres/PostgresDriver.js +4 -0
  132. package/driver/postgres/PostgresDriver.js.map +1 -1
  133. package/driver/postgres/PostgresQueryRunner.js +69 -32
  134. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  135. package/driver/sap/SapDriver.d.ts +4 -0
  136. package/driver/sap/SapDriver.js +4 -0
  137. package/driver/sap/SapDriver.js.map +1 -1
  138. package/driver/sap/SapQueryRunner.js +32 -14
  139. package/driver/sap/SapQueryRunner.js.map +1 -1
  140. package/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +4 -0
  141. package/driver/sqlite-abstract/AbstractSqliteDriver.js +4 -0
  142. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  143. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +1 -0
  144. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +78 -36
  145. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  146. package/driver/sqlserver/SqlServerDriver.d.ts +4 -0
  147. package/driver/sqlserver/SqlServerDriver.js +4 -0
  148. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  149. package/driver/sqlserver/SqlServerQueryRunner.js +132 -95
  150. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  151. package/entity-manager/EntityManager.js +22 -31
  152. package/entity-manager/EntityManager.js.map +1 -1
  153. package/entity-schema/EntitySchemaTransformer.js +8 -8
  154. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  155. package/error/ReturningStatementNotSupportedError.js +1 -1
  156. package/error/ReturningStatementNotSupportedError.js.map +1 -1
  157. package/metadata/ColumnMetadata.js +7 -1
  158. package/metadata/ColumnMetadata.js.map +1 -1
  159. package/naming-strategy/DefaultNamingStrategy.d.ts +1 -1
  160. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  161. package/package.json +1 -1
  162. package/persistence/SubjectExecutor.js +2 -1
  163. package/persistence/SubjectExecutor.js.map +1 -1
  164. package/query-builder/DeleteQueryBuilder.js +7 -10
  165. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  166. package/query-builder/InsertOrUpdateOptions.d.ts +3 -0
  167. package/query-builder/InsertOrUpdateOptions.js +4 -0
  168. package/query-builder/InsertOrUpdateOptions.js.map +1 -0
  169. package/query-builder/InsertQueryBuilder.d.ts +2 -1
  170. package/query-builder/InsertQueryBuilder.js +19 -5
  171. package/query-builder/InsertQueryBuilder.js.map +1 -1
  172. package/query-builder/QueryBuilder.d.ts +2 -1
  173. package/query-builder/QueryBuilder.js +2 -2
  174. package/query-builder/QueryBuilder.js.map +1 -1
  175. package/query-builder/QueryExpressionMap.d.ts +1 -0
  176. package/query-builder/QueryExpressionMap.js.map +1 -1
  177. package/query-builder/RelationLoader.js +11 -11
  178. package/query-builder/RelationLoader.js.map +1 -1
  179. package/query-builder/ReturningResultsEntityUpdator.js +4 -3
  180. package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  181. package/query-builder/SoftDeleteQueryBuilder.js +7 -12
  182. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  183. package/query-builder/UpdateQueryBuilder.js +8 -12
  184. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  185. package/query-runner/BaseQueryRunner.d.ts +5 -0
  186. package/query-runner/BaseQueryRunner.js +5 -0
  187. package/query-runner/BaseQueryRunner.js.map +1 -1
  188. package/repository/UpsertOptions.d.ts +4 -0
  189. package/repository/UpsertOptions.js.map +1 -1
  190. package/util/ImportUtils.js +2 -1
  191. package/util/ImportUtils.js.map +1 -1
@@ -4,7 +4,6 @@ exports.PostgresQueryRunner = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var QueryFailedError_1 = require("../../error/QueryFailedError");
6
6
  var QueryRunnerAlreadyReleasedError_1 = require("../../error/QueryRunnerAlreadyReleasedError");
7
- var TransactionAlreadyStartedError_1 = require("../../error/TransactionAlreadyStartedError");
8
7
  var TransactionNotStartedError_1 = require("../../error/TransactionNotStartedError");
9
8
  var BaseQueryRunner_1 = require("../../query-runner/BaseQueryRunner");
10
9
  var Table_1 = require("../../schema-builder/table/Table");
@@ -117,25 +116,41 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
117
116
  */
118
117
  PostgresQueryRunner.prototype.startTransaction = function (isolationLevel) {
119
118
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
119
+ var err_1;
120
120
  return (0, tslib_1.__generator)(this, function (_a) {
121
121
  switch (_a.label) {
122
122
  case 0:
123
- if (this.isTransactionActive)
124
- throw new TransactionAlreadyStartedError_1.TransactionAlreadyStartedError();
125
- return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionStart')];
123
+ this.isTransactionActive = true;
124
+ _a.label = 1;
126
125
  case 1:
126
+ _a.trys.push([1, 3, , 4]);
127
+ return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionStart')];
128
+ case 2:
127
129
  _a.sent();
128
- this.isTransactionActive = true;
130
+ return [3 /*break*/, 4];
131
+ case 3:
132
+ err_1 = _a.sent();
133
+ this.isTransactionActive = false;
134
+ throw err_1;
135
+ case 4:
136
+ if (!(this.transactionDepth === 0)) return [3 /*break*/, 8];
129
137
  return [4 /*yield*/, this.query("START TRANSACTION")];
130
- case 2:
138
+ case 5:
131
139
  _a.sent();
132
- if (!isolationLevel) return [3 /*break*/, 4];
140
+ if (!isolationLevel) return [3 /*break*/, 7];
133
141
  return [4 /*yield*/, this.query("SET TRANSACTION ISOLATION LEVEL " + isolationLevel)];
134
- case 3:
142
+ case 6:
135
143
  _a.sent();
136
- _a.label = 4;
137
- case 4: return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionStart')];
138
- case 5:
144
+ _a.label = 7;
145
+ case 7: return [3 /*break*/, 10];
146
+ case 8: return [4 /*yield*/, this.query("SAVEPOINT typeorm_" + this.transactionDepth)];
147
+ case 9:
148
+ _a.sent();
149
+ _a.label = 10;
150
+ case 10:
151
+ this.transactionDepth += 1;
152
+ return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionStart')];
153
+ case 11:
139
154
  _a.sent();
140
155
  return [2 /*return*/];
141
156
  }
@@ -156,12 +171,20 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
156
171
  return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionCommit')];
157
172
  case 1:
158
173
  _a.sent();
159
- return [4 /*yield*/, this.query("COMMIT")];
174
+ if (!(this.transactionDepth > 1)) return [3 /*break*/, 3];
175
+ return [4 /*yield*/, this.query("RELEASE SAVEPOINT typeorm_" + (this.transactionDepth - 1))];
160
176
  case 2:
177
+ _a.sent();
178
+ return [3 /*break*/, 5];
179
+ case 3: return [4 /*yield*/, this.query("COMMIT")];
180
+ case 4:
161
181
  _a.sent();
162
182
  this.isTransactionActive = false;
183
+ _a.label = 5;
184
+ case 5:
185
+ this.transactionDepth -= 1;
163
186
  return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionCommit')];
164
- case 3:
187
+ case 6:
165
188
  _a.sent();
166
189
  return [2 /*return*/];
167
190
  }
@@ -182,12 +205,20 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
182
205
  return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionRollback')];
183
206
  case 1:
184
207
  _a.sent();
185
- return [4 /*yield*/, this.query("ROLLBACK")];
208
+ if (!(this.transactionDepth > 1)) return [3 /*break*/, 3];
209
+ return [4 /*yield*/, this.query("ROLLBACK TO SAVEPOINT typeorm_" + (this.transactionDepth - 1))];
186
210
  case 2:
211
+ _a.sent();
212
+ return [3 /*break*/, 5];
213
+ case 3: return [4 /*yield*/, this.query("ROLLBACK")];
214
+ case 4:
187
215
  _a.sent();
188
216
  this.isTransactionActive = false;
217
+ _a.label = 5;
218
+ case 5:
219
+ this.transactionDepth -= 1;
189
220
  return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionRollback')];
190
- case 3:
221
+ case 6:
191
222
  _a.sent();
192
223
  return [2 /*return*/];
193
224
  }
@@ -200,7 +231,7 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
200
231
  PostgresQueryRunner.prototype.query = function (query, parameters, useStructuredResult) {
201
232
  if (useStructuredResult === void 0) { useStructuredResult = false; }
202
233
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
203
- var databaseConnection, queryStartTime, raw, maxQueryExecutionTime, queryEndTime, queryExecutionTime, result, err_1;
234
+ var databaseConnection, queryStartTime, raw, maxQueryExecutionTime, queryEndTime, queryExecutionTime, result, err_2;
204
235
  return (0, tslib_1.__generator)(this, function (_a) {
205
236
  switch (_a.label) {
206
237
  case 0:
@@ -245,9 +276,9 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
245
276
  }
246
277
  return [2 /*return*/, result];
247
278
  case 4:
248
- err_1 = _a.sent();
249
- this.driver.connection.logger.logQueryError(err_1, query, parameters, this);
250
- throw new QueryFailedError_1.QueryFailedError(query, parameters, err_1);
279
+ err_2 = _a.sent();
280
+ this.driver.connection.logger.logQueryError(err_2, query, parameters, this);
281
+ throw new QueryFailedError_1.QueryFailedError(query, parameters, err_2);
251
282
  case 5: return [2 /*return*/];
252
283
  }
253
284
  });
@@ -2322,7 +2353,7 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
2322
2353
  */
2323
2354
  PostgresQueryRunner.prototype.clearDatabase = function () {
2324
2355
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
2325
- var schemas, schemaNamesString, version, selectViewDropsQuery, dropViewQueries, selectMatViewDropsQuery, dropMatViewQueries, selectTableDropsQuery, dropTableQueries, error_2, rollbackError_1;
2356
+ var schemas, schemaNamesString, isAnotherTransactionActive, version, selectViewDropsQuery, dropViewQueries, selectMatViewDropsQuery, dropMatViewQueries, selectTableDropsQuery, dropTableQueries, error_2, rollbackError_1;
2326
2357
  var _this = this;
2327
2358
  return (0, tslib_1.__generator)(this, function (_a) {
2328
2359
  switch (_a.label) {
@@ -2339,12 +2370,14 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
2339
2370
  schemaNamesString = schemas.map(function (name) {
2340
2371
  return name === "current_schema()" ? name : "'" + name + "'";
2341
2372
  }).join(", ");
2373
+ isAnotherTransactionActive = this.isTransactionActive;
2374
+ if (!!isAnotherTransactionActive) return [3 /*break*/, 2];
2342
2375
  return [4 /*yield*/, this.startTransaction()];
2343
2376
  case 1:
2344
2377
  _a.sent();
2345
2378
  _a.label = 2;
2346
2379
  case 2:
2347
- _a.trys.push([2, 13, , 18]);
2380
+ _a.trys.push([2, 14, , 20]);
2348
2381
  return [4 /*yield*/, this.getVersion()
2349
2382
  // drop views
2350
2383
  ];
@@ -2381,24 +2414,28 @@ var PostgresQueryRunner = /** @class */ (function (_super) {
2381
2414
  case 11:
2382
2415
  // drop enum types
2383
2416
  _a.sent();
2417
+ if (!!isAnotherTransactionActive) return [3 /*break*/, 13];
2384
2418
  return [4 /*yield*/, this.commitTransaction()];
2385
2419
  case 12:
2386
2420
  _a.sent();
2387
- return [3 /*break*/, 18];
2388
- case 13:
2389
- error_2 = _a.sent();
2390
- _a.label = 14;
2421
+ _a.label = 13;
2422
+ case 13: return [3 /*break*/, 20];
2391
2423
  case 14:
2392
- _a.trys.push([14, 16, , 17]);
2393
- return [4 /*yield*/, this.rollbackTransaction()];
2424
+ error_2 = _a.sent();
2425
+ _a.label = 15;
2394
2426
  case 15:
2395
- _a.sent();
2396
- return [3 /*break*/, 17];
2427
+ _a.trys.push([15, 18, , 19]);
2428
+ if (!!isAnotherTransactionActive) return [3 /*break*/, 17];
2429
+ return [4 /*yield*/, this.rollbackTransaction()];
2397
2430
  case 16:
2431
+ _a.sent();
2432
+ _a.label = 17;
2433
+ case 17: return [3 /*break*/, 19];
2434
+ case 18:
2398
2435
  rollbackError_1 = _a.sent();
2399
- return [3 /*break*/, 17];
2400
- case 17: throw error_2;
2401
- case 18: return [2 /*return*/];
2436
+ return [3 /*break*/, 19];
2437
+ case 19: throw error_2;
2438
+ case 20: return [2 /*return*/];
2402
2439
  }
2403
2440
  });
2404
2441
  });