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