typeorm 0.3.18-dev.022d2b5 → 0.3.18-dev.0f11739

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 (268) hide show
  1. package/browser/data-source/BaseDataSourceOptions.d.ts +4 -0
  2. package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
  3. package/browser/data-source/DataSource.d.ts +4 -0
  4. package/browser/data-source/DataSource.js +14 -0
  5. package/browser/data-source/DataSource.js.map +1 -1
  6. package/browser/decorator/Index.js +1 -0
  7. package/browser/decorator/Index.js.map +1 -1
  8. package/browser/decorator/options/IndexOptions.d.ts +5 -0
  9. package/browser/decorator/options/IndexOptions.js.map +1 -1
  10. package/browser/driver/Driver.d.ts +4 -0
  11. package/browser/driver/Driver.js.map +1 -1
  12. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +9 -6
  13. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  14. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js +9 -6
  15. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  16. package/browser/driver/cockroachdb/CockroachConnectionOptions.d.ts +6 -0
  17. package/browser/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  18. package/browser/driver/cockroachdb/CockroachDriver.d.ts +4 -0
  19. package/browser/driver/cockroachdb/CockroachDriver.js +10 -1
  20. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  21. package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +6 -1
  22. package/browser/driver/cockroachdb/CockroachQueryRunner.js +38 -17
  23. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  24. package/browser/driver/mongodb/MongoQueryRunner.d.ts +3 -3
  25. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  26. package/browser/driver/mongodb/typings.d.ts +3 -3
  27. package/browser/driver/mongodb/typings.js.map +1 -1
  28. package/browser/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
  29. package/browser/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  30. package/browser/driver/mysql/MysqlQueryRunner.js +9 -6
  31. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  32. package/browser/driver/oracle/OracleConnectionOptions.d.ts +14 -0
  33. package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
  34. package/browser/driver/oracle/OracleDriver.d.ts +4 -0
  35. package/browser/driver/oracle/OracleDriver.js +17 -2
  36. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  37. package/browser/driver/oracle/OracleQueryRunner.js +40 -6
  38. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  39. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +5 -0
  40. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  41. package/browser/driver/postgres/PostgresConnectionOptions.d.ts +6 -5
  42. package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  43. package/browser/driver/postgres/PostgresDriver.d.ts +4 -0
  44. package/browser/driver/postgres/PostgresDriver.js +13 -4
  45. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  46. package/browser/driver/postgres/PostgresQueryRunner.js +38 -23
  47. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  48. package/browser/driver/sap/SapDriver.d.ts +8 -0
  49. package/browser/driver/sap/SapDriver.js +14 -3
  50. package/browser/driver/sap/SapDriver.js.map +1 -1
  51. package/browser/driver/sap/SapQueryRunner.d.ts +5 -14
  52. package/browser/driver/sap/SapQueryRunner.js +65 -61
  53. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  54. package/browser/driver/spanner/SpannerConnectionOptions.d.ts +6 -0
  55. package/browser/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  56. package/browser/driver/spanner/SpannerDriver.d.ts +4 -0
  57. package/browser/driver/spanner/SpannerDriver.js +10 -1
  58. package/browser/driver/spanner/SpannerDriver.js.map +1 -1
  59. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +10 -16
  60. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  61. package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +6 -5
  62. package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  63. package/browser/driver/sqlserver/SqlServerDriver.d.ts +4 -0
  64. package/browser/driver/sqlserver/SqlServerDriver.js +10 -1
  65. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  66. package/browser/driver/sqlserver/SqlServerQueryRunner.js +6 -5
  67. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  68. package/browser/entity-manager/EntityManager.d.ts +5 -1
  69. package/browser/entity-manager/EntityManager.js +10 -1
  70. package/browser/entity-manager/EntityManager.js.map +1 -1
  71. package/browser/entity-manager/MongoEntityManager.d.ts +8 -4
  72. package/browser/entity-manager/MongoEntityManager.js +12 -10
  73. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  74. package/browser/entity-schema/EntitySchemaOptions.d.ts +4 -0
  75. package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
  76. package/browser/entity-schema/EntitySchemaTransformer.js +7 -0
  77. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  78. package/browser/error/EntityNotFoundError.d.ts +2 -0
  79. package/browser/error/EntityNotFoundError.js +2 -0
  80. package/browser/error/EntityNotFoundError.js.map +1 -1
  81. package/browser/find-options/FindOptionsWhere.d.ts +1 -1
  82. package/browser/find-options/FindOptionsWhere.js.map +1 -1
  83. package/browser/logger/AbstractLogger.js +1 -1
  84. package/browser/logger/AbstractLogger.js.map +1 -1
  85. package/browser/metadata/IndexMetadata.d.ts +5 -0
  86. package/browser/metadata/IndexMetadata.js +1 -0
  87. package/browser/metadata/IndexMetadata.js.map +1 -1
  88. package/browser/metadata-args/IndexMetadataArgs.d.ts +5 -0
  89. package/browser/metadata-args/IndexMetadataArgs.js.map +1 -1
  90. package/browser/metadata-builder/EntityMetadataBuilder.js +22 -0
  91. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  92. package/browser/persistence/SubjectExecutor.js +4 -1
  93. package/browser/persistence/SubjectExecutor.js.map +1 -1
  94. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +6 -2
  95. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  96. package/browser/platform/BrowserPlatformTools.js +3 -2
  97. package/browser/platform/BrowserPlatformTools.js.map +1 -1
  98. package/browser/platform/PlatformTools.js +2 -0
  99. package/browser/platform/PlatformTools.js.map +1 -1
  100. package/browser/query-builder/InsertQueryBuilder.js +19 -6
  101. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  102. package/browser/query-builder/QueryBuilder.d.ts +5 -0
  103. package/browser/query-builder/QueryBuilder.js +26 -23
  104. package/browser/query-builder/QueryBuilder.js.map +1 -1
  105. package/browser/query-builder/SelectQueryBuilder.js +13 -3
  106. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  107. package/browser/query-builder/index.d.ts +1 -0
  108. package/browser/query-builder/index.js +17 -0
  109. package/browser/query-builder/index.js.map +1 -0
  110. package/browser/repository/BaseEntity.d.ts +12 -0
  111. package/browser/repository/BaseEntity.js +12 -0
  112. package/browser/repository/BaseEntity.js.map +1 -1
  113. package/browser/repository/MongoRepository.d.ts +8 -4
  114. package/browser/repository/MongoRepository.js +6 -0
  115. package/browser/repository/MongoRepository.js.map +1 -1
  116. package/browser/repository/Repository.d.ts +13 -1
  117. package/browser/repository/Repository.js +17 -1
  118. package/browser/repository/Repository.js.map +1 -1
  119. package/browser/schema-builder/options/TableIndexOptions.d.ts +5 -0
  120. package/browser/schema-builder/options/TableIndexOptions.js.map +1 -1
  121. package/browser/schema-builder/table/TableIndex.d.ts +5 -0
  122. package/browser/schema-builder/table/TableIndex.js +3 -0
  123. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  124. package/browser/subscriber/Broadcaster.d.ts +1 -1
  125. package/browser/subscriber/Broadcaster.js +2 -1
  126. package/browser/subscriber/Broadcaster.js.map +1 -1
  127. package/browser/subscriber/event/InsertEvent.d.ts +5 -0
  128. package/browser/subscriber/event/InsertEvent.js.map +1 -1
  129. package/browser/util/DateUtils.js +4 -2
  130. package/browser/util/DateUtils.js.map +1 -1
  131. package/browser/util/OrmUtils.d.ts +6 -0
  132. package/browser/util/OrmUtils.js +66 -0
  133. package/browser/util/OrmUtils.js.map +1 -1
  134. package/commands/MigrationGenerateCommand.js +3 -1
  135. package/commands/MigrationGenerateCommand.js.map +1 -1
  136. package/data-source/BaseDataSourceOptions.d.ts +4 -0
  137. package/data-source/BaseDataSourceOptions.js.map +1 -1
  138. package/data-source/DataSource.d.ts +4 -0
  139. package/data-source/DataSource.js +14 -0
  140. package/data-source/DataSource.js.map +1 -1
  141. package/decorator/Index.js +1 -0
  142. package/decorator/Index.js.map +1 -1
  143. package/decorator/options/IndexOptions.d.ts +5 -0
  144. package/decorator/options/IndexOptions.js.map +1 -1
  145. package/driver/Driver.d.ts +4 -0
  146. package/driver/Driver.js.map +1 -1
  147. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +9 -6
  148. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  149. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js +9 -6
  150. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  151. package/driver/cockroachdb/CockroachConnectionOptions.d.ts +6 -0
  152. package/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  153. package/driver/cockroachdb/CockroachDriver.d.ts +4 -0
  154. package/driver/cockroachdb/CockroachDriver.js +10 -1
  155. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  156. package/driver/cockroachdb/CockroachQueryRunner.d.ts +6 -1
  157. package/driver/cockroachdb/CockroachQueryRunner.js +38 -17
  158. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  159. package/driver/mongodb/MongoQueryRunner.d.ts +3 -3
  160. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  161. package/driver/mongodb/typings.d.ts +3 -3
  162. package/driver/mongodb/typings.js.map +1 -1
  163. package/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
  164. package/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  165. package/driver/mysql/MysqlQueryRunner.js +9 -6
  166. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  167. package/driver/oracle/OracleConnectionOptions.d.ts +14 -0
  168. package/driver/oracle/OracleConnectionOptions.js.map +1 -1
  169. package/driver/oracle/OracleDriver.d.ts +4 -0
  170. package/driver/oracle/OracleDriver.js +17 -2
  171. package/driver/oracle/OracleDriver.js.map +1 -1
  172. package/driver/oracle/OracleQueryRunner.js +40 -6
  173. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  174. package/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +5 -0
  175. package/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  176. package/driver/postgres/PostgresConnectionOptions.d.ts +6 -5
  177. package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  178. package/driver/postgres/PostgresDriver.d.ts +4 -0
  179. package/driver/postgres/PostgresDriver.js +13 -4
  180. package/driver/postgres/PostgresDriver.js.map +1 -1
  181. package/driver/postgres/PostgresQueryRunner.js +38 -23
  182. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  183. package/driver/sap/SapDriver.d.ts +8 -0
  184. package/driver/sap/SapDriver.js +15 -4
  185. package/driver/sap/SapDriver.js.map +1 -1
  186. package/driver/sap/SapQueryRunner.d.ts +5 -14
  187. package/driver/sap/SapQueryRunner.js +65 -61
  188. package/driver/sap/SapQueryRunner.js.map +1 -1
  189. package/driver/spanner/SpannerConnectionOptions.d.ts +6 -0
  190. package/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  191. package/driver/spanner/SpannerDriver.d.ts +4 -0
  192. package/driver/spanner/SpannerDriver.js +10 -1
  193. package/driver/spanner/SpannerDriver.js.map +1 -1
  194. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +10 -16
  195. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  196. package/driver/sqlserver/SqlServerConnectionOptions.d.ts +6 -5
  197. package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  198. package/driver/sqlserver/SqlServerDriver.d.ts +4 -0
  199. package/driver/sqlserver/SqlServerDriver.js +10 -1
  200. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  201. package/driver/sqlserver/SqlServerQueryRunner.js +6 -5
  202. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  203. package/entity-manager/EntityManager.d.ts +5 -1
  204. package/entity-manager/EntityManager.js +10 -1
  205. package/entity-manager/EntityManager.js.map +1 -1
  206. package/entity-manager/MongoEntityManager.d.ts +8 -4
  207. package/entity-manager/MongoEntityManager.js +12 -10
  208. package/entity-manager/MongoEntityManager.js.map +1 -1
  209. package/entity-schema/EntitySchemaOptions.d.ts +4 -0
  210. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  211. package/entity-schema/EntitySchemaTransformer.js +7 -0
  212. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  213. package/error/EntityNotFoundError.d.ts +2 -0
  214. package/error/EntityNotFoundError.js +2 -0
  215. package/error/EntityNotFoundError.js.map +1 -1
  216. package/find-options/FindOptionsWhere.d.ts +1 -1
  217. package/find-options/FindOptionsWhere.js.map +1 -1
  218. package/logger/AbstractLogger.js +1 -1
  219. package/logger/AbstractLogger.js.map +1 -1
  220. package/metadata/IndexMetadata.d.ts +5 -0
  221. package/metadata/IndexMetadata.js +1 -0
  222. package/metadata/IndexMetadata.js.map +1 -1
  223. package/metadata-args/IndexMetadataArgs.d.ts +5 -0
  224. package/metadata-args/IndexMetadataArgs.js.map +1 -1
  225. package/metadata-builder/EntityMetadataBuilder.js +22 -0
  226. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  227. package/package.json +1 -1
  228. package/persistence/SubjectExecutor.js +4 -1
  229. package/persistence/SubjectExecutor.js.map +1 -1
  230. package/persistence/subject-builder/ManyToManySubjectBuilder.js +6 -2
  231. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  232. package/platform/PlatformTools.js +2 -0
  233. package/platform/PlatformTools.js.map +1 -1
  234. package/query-builder/InsertQueryBuilder.js +19 -6
  235. package/query-builder/InsertQueryBuilder.js.map +1 -1
  236. package/query-builder/QueryBuilder.d.ts +5 -0
  237. package/query-builder/QueryBuilder.js +26 -23
  238. package/query-builder/QueryBuilder.js.map +1 -1
  239. package/query-builder/SelectQueryBuilder.js +13 -3
  240. package/query-builder/SelectQueryBuilder.js.map +1 -1
  241. package/query-builder/index.d.ts +1 -0
  242. package/query-builder/index.js +21 -0
  243. package/query-builder/index.js.map +1 -0
  244. package/repository/BaseEntity.d.ts +12 -0
  245. package/repository/BaseEntity.js +12 -0
  246. package/repository/BaseEntity.js.map +1 -1
  247. package/repository/MongoRepository.d.ts +8 -4
  248. package/repository/MongoRepository.js +6 -0
  249. package/repository/MongoRepository.js.map +1 -1
  250. package/repository/Repository.d.ts +13 -1
  251. package/repository/Repository.js +17 -1
  252. package/repository/Repository.js.map +1 -1
  253. package/schema-builder/options/TableIndexOptions.d.ts +5 -0
  254. package/schema-builder/options/TableIndexOptions.js.map +1 -1
  255. package/schema-builder/table/TableIndex.d.ts +5 -0
  256. package/schema-builder/table/TableIndex.js +3 -0
  257. package/schema-builder/table/TableIndex.js.map +1 -1
  258. package/subscriber/Broadcaster.d.ts +1 -1
  259. package/subscriber/Broadcaster.js +2 -1
  260. package/subscriber/Broadcaster.js.map +1 -1
  261. package/subscriber/event/InsertEvent.d.ts +5 -0
  262. package/subscriber/event/InsertEvent.js.map +1 -1
  263. package/typeorm-model-shim.js +61 -53
  264. package/util/DateUtils.js +5 -2
  265. package/util/DateUtils.js.map +1 -1
  266. package/util/OrmUtils.d.ts +6 -0
  267. package/util/OrmUtils.js +66 -0
  268. package/util/OrmUtils.js.map +1 -1
@@ -65,7 +65,12 @@ class CockroachQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
65
65
  .then(([connection, release]) => {
66
66
  this.driver.connectedQueryRunners.push(this);
67
67
  this.databaseConnection = connection;
68
- this.releaseCallback = release;
68
+ const onErrorCallback = (err) => this.releaseConnection(err);
69
+ this.releaseCallback = (err) => {
70
+ this.databaseConnection.removeListener("error", onErrorCallback);
71
+ release(err);
72
+ };
73
+ this.databaseConnection.on("error", onErrorCallback);
69
74
  return this.databaseConnection;
70
75
  });
71
76
  }
@@ -76,27 +81,41 @@ class CockroachQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
76
81
  .then(([connection, release]) => {
77
82
  this.driver.connectedQueryRunners.push(this);
78
83
  this.databaseConnection = connection;
79
- this.releaseCallback = release;
84
+ const onErrorCallback = (err) => this.releaseConnection(err);
85
+ this.releaseCallback = (err) => {
86
+ this.databaseConnection.removeListener("error", onErrorCallback);
87
+ release(err);
88
+ };
89
+ this.databaseConnection.on("error", onErrorCallback);
80
90
  return this.databaseConnection;
81
91
  });
82
92
  }
83
93
  return this.databaseConnectionPromise;
84
94
  }
85
95
  /**
86
- * Releases used database connection.
87
- * You cannot use query runner methods once its released.
96
+ * Release a connection back to the pool, optionally specifying an Error to release with.
97
+ * Per pg-pool documentation this will prevent the pool from re-using the broken connection.
88
98
  */
89
- release() {
99
+ async releaseConnection(err) {
90
100
  if (this.isReleased) {
91
- return Promise.resolve();
101
+ return;
92
102
  }
93
103
  this.isReleased = true;
94
- if (this.releaseCallback)
95
- this.releaseCallback();
104
+ if (this.releaseCallback) {
105
+ this.releaseCallback(err);
106
+ this.releaseCallback = undefined;
107
+ }
96
108
  const index = this.driver.connectedQueryRunners.indexOf(this);
97
- if (index !== -1)
98
- this.driver.connectedQueryRunners.splice(index);
99
- return Promise.resolve();
109
+ if (index !== -1) {
110
+ this.driver.connectedQueryRunners.splice(index, 1);
111
+ }
112
+ }
113
+ /**
114
+ * Releases used database connection.
115
+ * You cannot use query runner methods once its released.
116
+ */
117
+ release() {
118
+ return this.releaseConnection();
100
119
  }
101
120
  /**
102
121
  * Starts transaction.
@@ -112,6 +131,7 @@ class CockroachQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
112
131
  throw err;
113
132
  }
114
133
  if (this.transactionDepth === 0) {
134
+ this.transactionDepth += 1;
115
135
  await this.query("START TRANSACTION");
116
136
  await this.query("SAVEPOINT cockroach_restart");
117
137
  if (isolationLevel) {
@@ -119,9 +139,9 @@ class CockroachQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
119
139
  }
120
140
  }
121
141
  else {
122
- await this.query(`SAVEPOINT typeorm_${this.transactionDepth}`);
142
+ this.transactionDepth += 1;
143
+ await this.query(`SAVEPOINT typeorm_${this.transactionDepth - 1}`);
123
144
  }
124
- this.transactionDepth += 1;
125
145
  this.storeQueries = true;
126
146
  await this.broadcaster.broadcast("AfterTransactionStart");
127
147
  }
@@ -134,17 +154,17 @@ class CockroachQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
134
154
  throw new TransactionNotStartedError_1.TransactionNotStartedError();
135
155
  await this.broadcaster.broadcast("BeforeTransactionCommit");
136
156
  if (this.transactionDepth > 1) {
137
- await this.query(`RELEASE SAVEPOINT typeorm_${this.transactionDepth - 1}`);
138
157
  this.transactionDepth -= 1;
158
+ await this.query(`RELEASE SAVEPOINT typeorm_${this.transactionDepth}`);
139
159
  }
140
160
  else {
141
161
  this.storeQueries = false;
162
+ this.transactionDepth -= 1;
142
163
  await this.query("RELEASE SAVEPOINT cockroach_restart");
143
164
  await this.query("COMMIT");
144
165
  this.queries = [];
145
166
  this.isTransactionActive = false;
146
167
  this.transactionRetries = 0;
147
- this.transactionDepth -= 1;
148
168
  }
149
169
  await this.broadcaster.broadcast("AfterTransactionCommit");
150
170
  }
@@ -157,16 +177,17 @@ class CockroachQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
157
177
  throw new TransactionNotStartedError_1.TransactionNotStartedError();
158
178
  await this.broadcaster.broadcast("BeforeTransactionRollback");
159
179
  if (this.transactionDepth > 1) {
160
- await this.query(`ROLLBACK TO SAVEPOINT typeorm_${this.transactionDepth - 1}`);
180
+ this.transactionDepth -= 1;
181
+ await this.query(`ROLLBACK TO SAVEPOINT typeorm_${this.transactionDepth}`);
161
182
  }
162
183
  else {
163
184
  this.storeQueries = false;
185
+ this.transactionDepth -= 1;
164
186
  await this.query("ROLLBACK");
165
187
  this.queries = [];
166
188
  this.isTransactionActive = false;
167
189
  this.transactionRetries = 0;
168
190
  }
169
- this.transactionDepth -= 1;
170
191
  await this.broadcaster.broadcast("AfterTransactionRollback");
171
192
  }
172
193
  /**