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
@@ -1,6 +1,5 @@
1
1
  import { __awaiter, __extends, __generator, __read, __spreadArray, __values } from "tslib";
2
2
  import { QueryResult } from "../../query-runner/QueryResult";
3
- import { TransactionAlreadyStartedError } from "../../error/TransactionAlreadyStartedError";
4
3
  import { TransactionNotStartedError } from "../../error/TransactionNotStartedError";
5
4
  import { TableColumn } from "../../schema-builder/table/TableColumn";
6
5
  import { Table } from "../../schema-builder/table/Table";
@@ -93,30 +92,45 @@ var CockroachQueryRunner = /** @class */ (function (_super) {
93
92
  */
94
93
  CockroachQueryRunner.prototype.startTransaction = function (isolationLevel) {
95
94
  return __awaiter(this, void 0, void 0, function () {
95
+ var err_1;
96
96
  return __generator(this, function (_a) {
97
97
  switch (_a.label) {
98
98
  case 0:
99
- if (this.isTransactionActive)
100
- throw new TransactionAlreadyStartedError();
101
- return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionStart')];
99
+ this.isTransactionActive = true;
100
+ _a.label = 1;
102
101
  case 1:
102
+ _a.trys.push([1, 3, , 4]);
103
+ return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionStart')];
104
+ case 2:
103
105
  _a.sent();
104
- this.isTransactionActive = true;
106
+ return [3 /*break*/, 4];
107
+ case 3:
108
+ err_1 = _a.sent();
109
+ this.isTransactionActive = false;
110
+ throw err_1;
111
+ case 4:
112
+ if (!(this.transactionDepth === 0)) return [3 /*break*/, 9];
105
113
  return [4 /*yield*/, this.query("START TRANSACTION")];
106
- case 2:
114
+ case 5:
107
115
  _a.sent();
108
116
  return [4 /*yield*/, this.query("SAVEPOINT cockroach_restart")];
109
- case 3:
117
+ case 6:
110
118
  _a.sent();
111
- if (!isolationLevel) return [3 /*break*/, 5];
119
+ if (!isolationLevel) return [3 /*break*/, 8];
112
120
  return [4 /*yield*/, this.query("SET TRANSACTION ISOLATION LEVEL " + isolationLevel)];
113
- case 4:
121
+ case 7:
114
122
  _a.sent();
115
- _a.label = 5;
116
- case 5:
123
+ _a.label = 8;
124
+ case 8: return [3 /*break*/, 11];
125
+ case 9: return [4 /*yield*/, this.query("SAVEPOINT typeorm_" + this.transactionDepth)];
126
+ case 10:
127
+ _a.sent();
128
+ _a.label = 11;
129
+ case 11:
130
+ this.transactionDepth += 1;
117
131
  this.storeQueries = true;
118
132
  return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionStart')];
119
- case 6:
133
+ case 12:
120
134
  _a.sent();
121
135
  return [2 /*return*/];
122
136
  }
@@ -139,58 +153,66 @@ var CockroachQueryRunner = /** @class */ (function (_super) {
139
153
  return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionCommit')];
140
154
  case 1:
141
155
  _d.sent();
142
- this.storeQueries = false;
143
- _d.label = 2;
156
+ if (!(this.transactionDepth > 1)) return [3 /*break*/, 3];
157
+ return [4 /*yield*/, this.query("RELEASE SAVEPOINT typeorm_" + (this.transactionDepth - 1))];
144
158
  case 2:
145
- _d.trys.push([2, 5, , 17]);
146
- return [4 /*yield*/, this.query("RELEASE SAVEPOINT cockroach_restart")];
159
+ _d.sent();
160
+ this.transactionDepth -= 1;
161
+ return [3 /*break*/, 19];
147
162
  case 3:
163
+ this.storeQueries = false;
164
+ _d.label = 4;
165
+ case 4:
166
+ _d.trys.push([4, 7, , 19]);
167
+ return [4 /*yield*/, this.query("RELEASE SAVEPOINT cockroach_restart")];
168
+ case 5:
148
169
  _d.sent();
149
170
  return [4 /*yield*/, this.query("COMMIT")];
150
- case 4:
171
+ case 6:
151
172
  _d.sent();
152
173
  this.queries = [];
153
174
  this.isTransactionActive = false;
154
- return [3 /*break*/, 17];
155
- case 5:
175
+ this.transactionDepth -= 1;
176
+ return [3 /*break*/, 19];
177
+ case 7:
156
178
  e_1 = _d.sent();
157
- if (!(e_1.code === "40001")) return [3 /*break*/, 16];
179
+ if (!(e_1.code === "40001")) return [3 /*break*/, 18];
158
180
  return [4 /*yield*/, this.query("ROLLBACK TO SAVEPOINT cockroach_restart")];
159
- case 6:
181
+ case 8:
160
182
  _d.sent();
161
- _d.label = 7;
162
- case 7:
163
- _d.trys.push([7, 12, 13, 14]);
183
+ _d.label = 9;
184
+ case 9:
185
+ _d.trys.push([9, 14, 15, 16]);
164
186
  _a = __values(this.queries), _b = _a.next();
165
- _d.label = 8;
166
- case 8:
167
- if (!!_b.done) return [3 /*break*/, 11];
187
+ _d.label = 10;
188
+ case 10:
189
+ if (!!_b.done) return [3 /*break*/, 13];
168
190
  q = _b.value;
169
191
  return [4 /*yield*/, this.query(q.query, q.parameters)];
170
- case 9:
192
+ case 11:
171
193
  _d.sent();
172
- _d.label = 10;
173
- case 10:
174
- _b = _a.next();
175
- return [3 /*break*/, 8];
176
- case 11: return [3 /*break*/, 14];
194
+ _d.label = 12;
177
195
  case 12:
196
+ _b = _a.next();
197
+ return [3 /*break*/, 10];
198
+ case 13: return [3 /*break*/, 16];
199
+ case 14:
178
200
  e_2_1 = _d.sent();
179
201
  e_2 = { error: e_2_1 };
180
- return [3 /*break*/, 14];
181
- case 13:
202
+ return [3 /*break*/, 16];
203
+ case 15:
182
204
  try {
183
205
  if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
184
206
  }
185
207
  finally { if (e_2) throw e_2.error; }
186
208
  return [7 /*endfinally*/];
187
- case 14: return [4 /*yield*/, this.commitTransaction()];
188
- case 15:
209
+ case 16: return [4 /*yield*/, this.commitTransaction()];
210
+ case 17:
189
211
  _d.sent();
190
- _d.label = 16;
191
- case 16: return [3 /*break*/, 17];
192
- case 17: return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionCommit')];
193
- case 18:
212
+ _d.label = 18;
213
+ case 18: return [3 /*break*/, 19];
214
+ case 19: return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionCommit')];
215
+ case 20:
194
216
  _d.sent();
195
217
  return [2 /*return*/];
196
218
  }
@@ -211,14 +233,23 @@ var CockroachQueryRunner = /** @class */ (function (_super) {
211
233
  return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionRollback')];
212
234
  case 1:
213
235
  _a.sent();
236
+ if (!(this.transactionDepth > 1)) return [3 /*break*/, 3];
237
+ return [4 /*yield*/, this.query("ROLLBACK TO SAVEPOINT typeorm_" + (this.transactionDepth - 1))];
238
+ case 2:
239
+ _a.sent();
240
+ return [3 /*break*/, 5];
241
+ case 3:
214
242
  this.storeQueries = false;
215
243
  return [4 /*yield*/, this.query("ROLLBACK")];
216
- case 2:
244
+ case 4:
217
245
  _a.sent();
218
246
  this.queries = [];
219
247
  this.isTransactionActive = false;
248
+ _a.label = 5;
249
+ case 5:
250
+ this.transactionDepth -= 1;
220
251
  return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionRollback')];
221
- case 3:
252
+ case 6:
222
253
  _a.sent();
223
254
  return [2 /*return*/];
224
255
  }
@@ -231,7 +262,7 @@ var CockroachQueryRunner = /** @class */ (function (_super) {
231
262
  CockroachQueryRunner.prototype.query = function (query, parameters, useStructuredResult) {
232
263
  if (useStructuredResult === void 0) { useStructuredResult = false; }
233
264
  return __awaiter(this, void 0, void 0, function () {
234
- var databaseConnection, queryStartTime, raw, maxQueryExecutionTime, queryEndTime, queryExecutionTime, result, err_1;
265
+ var databaseConnection, queryStartTime, raw, maxQueryExecutionTime, queryEndTime, queryExecutionTime, result, err_2;
235
266
  return __generator(this, function (_a) {
236
267
  switch (_a.label) {
237
268
  case 0:
@@ -282,11 +313,11 @@ var CockroachQueryRunner = /** @class */ (function (_super) {
282
313
  }
283
314
  return [3 /*break*/, 5];
284
315
  case 4:
285
- err_1 = _a.sent();
286
- if (err_1.code !== "40001") {
287
- this.driver.connection.logger.logQueryError(err_1, query, parameters, this);
316
+ err_2 = _a.sent();
317
+ if (err_2.code !== "40001") {
318
+ this.driver.connection.logger.logQueryError(err_2, query, parameters, this);
288
319
  }
289
- throw new QueryFailedError(query, parameters, err_1);
320
+ throw new QueryFailedError(query, parameters, err_2);
290
321
  case 5: return [2 /*return*/];
291
322
  }
292
323
  });
@@ -2016,7 +2047,7 @@ var CockroachQueryRunner = /** @class */ (function (_super) {
2016
2047
  */
2017
2048
  CockroachQueryRunner.prototype.clearDatabase = function () {
2018
2049
  return __awaiter(this, void 0, void 0, function () {
2019
- var schemas, schemaNamesString, selectViewDropsQuery, dropViewQueries, selectDropsQuery, dropQueries, selectSequenceDropsQuery, sequenceDropQueries, error_1, rollbackError_1;
2050
+ var schemas, schemaNamesString, isAnotherTransactionActive, selectViewDropsQuery, dropViewQueries, selectDropsQuery, dropQueries, selectSequenceDropsQuery, sequenceDropQueries, error_1, rollbackError_1;
2020
2051
  var _this = this;
2021
2052
  return __generator(this, function (_a) {
2022
2053
  switch (_a.label) {
@@ -2033,12 +2064,14 @@ var CockroachQueryRunner = /** @class */ (function (_super) {
2033
2064
  schemaNamesString = schemas.map(function (name) {
2034
2065
  return name === "current_schema()" ? name : "'" + name + "'";
2035
2066
  }).join(", ");
2067
+ isAnotherTransactionActive = this.isTransactionActive;
2068
+ if (!!isAnotherTransactionActive) return [3 /*break*/, 2];
2036
2069
  return [4 /*yield*/, this.startTransaction()];
2037
2070
  case 1:
2038
2071
  _a.sent();
2039
2072
  _a.label = 2;
2040
2073
  case 2:
2041
- _a.trys.push([2, 10, , 15]);
2074
+ _a.trys.push([2, 11, , 17]);
2042
2075
  selectViewDropsQuery = "SELECT 'DROP VIEW IF EXISTS \"' || schemaname || '\".\"' || viewname || '\" CASCADE;' as \"query\" " +
2043
2076
  ("FROM \"pg_views\" WHERE \"schemaname\" IN (" + schemaNamesString + ")");
2044
2077
  return [4 /*yield*/, this.query(selectViewDropsQuery)];
@@ -2061,24 +2094,28 @@ var CockroachQueryRunner = /** @class */ (function (_super) {
2061
2094
  return [4 /*yield*/, Promise.all(sequenceDropQueries.map(function (q) { return _this.query(q["query"]); }))];
2062
2095
  case 8:
2063
2096
  _a.sent();
2097
+ if (!!isAnotherTransactionActive) return [3 /*break*/, 10];
2064
2098
  return [4 /*yield*/, this.commitTransaction()];
2065
2099
  case 9:
2066
2100
  _a.sent();
2067
- return [3 /*break*/, 15];
2068
- case 10:
2069
- error_1 = _a.sent();
2070
- _a.label = 11;
2101
+ _a.label = 10;
2102
+ case 10: return [3 /*break*/, 17];
2071
2103
  case 11:
2072
- _a.trys.push([11, 13, , 14]);
2073
- return [4 /*yield*/, this.rollbackTransaction()];
2104
+ error_1 = _a.sent();
2105
+ _a.label = 12;
2074
2106
  case 12:
2075
- _a.sent();
2076
- return [3 /*break*/, 14];
2107
+ _a.trys.push([12, 15, , 16]);
2108
+ if (!!isAnotherTransactionActive) return [3 /*break*/, 14];
2109
+ return [4 /*yield*/, this.rollbackTransaction()];
2077
2110
  case 13:
2111
+ _a.sent();
2112
+ _a.label = 14;
2113
+ case 14: return [3 /*break*/, 16];
2114
+ case 15:
2078
2115
  rollbackError_1 = _a.sent();
2079
- return [3 /*break*/, 14];
2080
- case 14: throw error_1;
2081
- case 15: return [2 /*return*/];
2116
+ return [3 /*break*/, 16];
2117
+ case 16: throw error_1;
2118
+ case 17: return [2 /*return*/];
2082
2119
  }
2083
2120
  });
2084
2121
  });