typeorm 0.3.18-dev.b240d87 → 0.3.18-dev.b5ec088

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 (340) hide show
  1. package/browser/cache/DbQueryResultCache.js +3 -0
  2. package/browser/cache/DbQueryResultCache.js.map +1 -1
  3. package/browser/data-source/BaseDataSourceOptions.d.ts +4 -0
  4. package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
  5. package/browser/data-source/DataSource.d.ts +4 -0
  6. package/browser/data-source/DataSource.js +14 -0
  7. package/browser/data-source/DataSource.js.map +1 -1
  8. package/browser/decorator/Index.js +1 -0
  9. package/browser/decorator/Index.js.map +1 -1
  10. package/browser/decorator/options/IndexOptions.d.ts +5 -0
  11. package/browser/decorator/options/IndexOptions.js.map +1 -1
  12. package/browser/driver/Driver.d.ts +4 -0
  13. package/browser/driver/Driver.js.map +1 -1
  14. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +9 -6
  15. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  16. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js +9 -6
  17. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  18. package/browser/driver/cockroachdb/CockroachConnectionOptions.d.ts +6 -0
  19. package/browser/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  20. package/browser/driver/cockroachdb/CockroachDriver.d.ts +4 -0
  21. package/browser/driver/cockroachdb/CockroachDriver.js +10 -1
  22. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  23. package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +6 -1
  24. package/browser/driver/cockroachdb/CockroachQueryRunner.js +46 -17
  25. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  26. package/browser/driver/cordova/CordovaDriver.js +2 -2
  27. package/browser/driver/cordova/CordovaDriver.js.map +1 -1
  28. package/browser/driver/cordova/CordovaQueryRunner.js +8 -0
  29. package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
  30. package/browser/driver/expo/ExpoQueryRunner.js +9 -2
  31. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  32. package/browser/driver/mongodb/MongoQueryRunner.d.ts +3 -3
  33. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  34. package/browser/driver/mongodb/typings.d.ts +3 -3
  35. package/browser/driver/mongodb/typings.js.map +1 -1
  36. package/browser/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
  37. package/browser/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  38. package/browser/driver/mysql/MysqlQueryRunner.js +18 -7
  39. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  40. package/browser/driver/oracle/OracleConnectionOptions.d.ts +14 -0
  41. package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
  42. package/browser/driver/oracle/OracleDriver.d.ts +4 -0
  43. package/browser/driver/oracle/OracleDriver.js +17 -2
  44. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  45. package/browser/driver/oracle/OracleQueryRunner.js +48 -6
  46. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  47. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +5 -0
  48. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  49. package/browser/driver/postgres/PostgresConnectionOptions.d.ts +6 -5
  50. package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  51. package/browser/driver/postgres/PostgresDriver.d.ts +4 -0
  52. package/browser/driver/postgres/PostgresDriver.js +13 -4
  53. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  54. package/browser/driver/postgres/PostgresQueryRunner.js +46 -23
  55. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  56. package/browser/driver/react-native/ReactNativeQueryRunner.js +10 -2
  57. package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  58. package/browser/driver/sap/SapDriver.d.ts +8 -0
  59. package/browser/driver/sap/SapDriver.js +13 -2
  60. package/browser/driver/sap/SapDriver.js.map +1 -1
  61. package/browser/driver/sap/SapQueryRunner.d.ts +5 -14
  62. package/browser/driver/sap/SapQueryRunner.js +75 -65
  63. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  64. package/browser/driver/spanner/SpannerConnectionOptions.d.ts +6 -0
  65. package/browser/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  66. package/browser/driver/spanner/SpannerDriver.d.ts +4 -0
  67. package/browser/driver/spanner/SpannerDriver.js +10 -1
  68. package/browser/driver/spanner/SpannerDriver.js.map +1 -1
  69. package/browser/driver/spanner/SpannerQueryRunner.js +6 -0
  70. package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
  71. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  72. package/browser/driver/sqlite/SqliteQueryRunner.js +61 -46
  73. package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  74. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +10 -16
  75. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  76. package/browser/driver/sqljs/SqljsQueryRunner.js +11 -3
  77. package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  78. package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +6 -5
  79. package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  80. package/browser/driver/sqlserver/SqlServerDriver.d.ts +4 -0
  81. package/browser/driver/sqlserver/SqlServerDriver.js +10 -1
  82. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  83. package/browser/driver/sqlserver/SqlServerQueryRunner.js +12 -5
  84. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  85. package/browser/entity-manager/EntityManager.d.ts +5 -1
  86. package/browser/entity-manager/EntityManager.js +10 -1
  87. package/browser/entity-manager/EntityManager.js.map +1 -1
  88. package/browser/entity-manager/MongoEntityManager.d.ts +3 -3
  89. package/browser/entity-manager/MongoEntityManager.js +5 -10
  90. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  91. package/browser/error/EntityNotFoundError.d.ts +2 -0
  92. package/browser/error/EntityNotFoundError.js +2 -0
  93. package/browser/error/EntityNotFoundError.js.map +1 -1
  94. package/browser/find-options/FindOperatorType.d.ts +1 -1
  95. package/browser/find-options/FindOperatorType.js.map +1 -1
  96. package/browser/find-options/operator/Or.d.ts +2 -0
  97. package/browser/find-options/operator/Or.js +6 -0
  98. package/browser/find-options/operator/Or.js.map +1 -0
  99. package/browser/index.d.ts +1 -0
  100. package/browser/index.js +1 -0
  101. package/browser/index.js.map +1 -1
  102. package/browser/logger/AbstractLogger.js +1 -1
  103. package/browser/logger/AbstractLogger.js.map +1 -1
  104. package/browser/metadata/ColumnMetadata.js +4 -0
  105. package/browser/metadata/ColumnMetadata.js.map +1 -1
  106. package/browser/metadata/EntityMetadata.d.ts +3 -3
  107. package/browser/metadata/EntityMetadata.js +7 -3
  108. package/browser/metadata/EntityMetadata.js.map +1 -1
  109. package/browser/metadata/IndexMetadata.d.ts +5 -0
  110. package/browser/metadata/IndexMetadata.js +1 -0
  111. package/browser/metadata/IndexMetadata.js.map +1 -1
  112. package/browser/metadata-args/IndexMetadataArgs.d.ts +5 -0
  113. package/browser/metadata-args/IndexMetadataArgs.js.map +1 -1
  114. package/browser/metadata-builder/EntityMetadataBuilder.js +22 -0
  115. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  116. package/browser/persistence/EntityPersistExecutor.js +1 -1
  117. package/browser/persistence/EntityPersistExecutor.js.map +1 -1
  118. package/browser/persistence/SubjectExecutor.js +4 -1
  119. package/browser/persistence/SubjectExecutor.js.map +1 -1
  120. package/browser/platform/BrowserPlatformTools.js +3 -2
  121. package/browser/platform/BrowserPlatformTools.js.map +1 -1
  122. package/browser/platform/PlatformTools.js +2 -0
  123. package/browser/platform/PlatformTools.js.map +1 -1
  124. package/browser/query-builder/InsertQueryBuilder.js +19 -6
  125. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  126. package/browser/query-builder/QueryBuilder.d.ts +5 -0
  127. package/browser/query-builder/QueryBuilder.js +35 -23
  128. package/browser/query-builder/QueryBuilder.js.map +1 -1
  129. package/browser/query-builder/QueryExpressionMap.d.ts +2 -1
  130. package/browser/query-builder/QueryExpressionMap.js +0 -4
  131. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  132. package/browser/query-builder/SelectQueryBuilder.js +14 -4
  133. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  134. package/browser/query-builder/WhereClause.d.ts +1 -1
  135. package/browser/query-builder/WhereClause.js.map +1 -1
  136. package/browser/query-builder/index.d.ts +1 -0
  137. package/browser/query-builder/index.js +17 -0
  138. package/browser/query-builder/index.js.map +1 -0
  139. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +9 -0
  140. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +28 -0
  141. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  142. package/browser/repository/BaseEntity.d.ts +12 -0
  143. package/browser/repository/BaseEntity.js +12 -0
  144. package/browser/repository/BaseEntity.js.map +1 -1
  145. package/browser/repository/MongoRepository.d.ts +3 -3
  146. package/browser/repository/MongoRepository.js.map +1 -1
  147. package/browser/repository/Repository.d.ts +13 -1
  148. package/browser/repository/Repository.js +17 -1
  149. package/browser/repository/Repository.js.map +1 -1
  150. package/browser/schema-builder/options/TableIndexOptions.d.ts +5 -0
  151. package/browser/schema-builder/options/TableIndexOptions.js.map +1 -1
  152. package/browser/schema-builder/table/TableIndex.d.ts +5 -0
  153. package/browser/schema-builder/table/TableIndex.js +3 -0
  154. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  155. package/browser/subscriber/Broadcaster.d.ts +11 -1
  156. package/browser/subscriber/Broadcaster.js +48 -1
  157. package/browser/subscriber/Broadcaster.js.map +1 -1
  158. package/browser/subscriber/EntitySubscriberInterface.d.ts +9 -0
  159. package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
  160. package/browser/subscriber/event/InsertEvent.d.ts +5 -0
  161. package/browser/subscriber/event/InsertEvent.js.map +1 -1
  162. package/browser/subscriber/event/QueryEvent.d.ts +50 -0
  163. package/browser/subscriber/event/QueryEvent.js +3 -0
  164. package/browser/subscriber/event/QueryEvent.js.map +1 -0
  165. package/browser/util/DateUtils.js +4 -2
  166. package/browser/util/DateUtils.js.map +1 -1
  167. package/browser/util/OrmUtils.d.ts +6 -0
  168. package/browser/util/OrmUtils.js +66 -0
  169. package/browser/util/OrmUtils.js.map +1 -1
  170. package/cache/DbQueryResultCache.js +3 -0
  171. package/cache/DbQueryResultCache.js.map +1 -1
  172. package/commands/MigrationGenerateCommand.js +3 -1
  173. package/commands/MigrationGenerateCommand.js.map +1 -1
  174. package/data-source/BaseDataSourceOptions.d.ts +4 -0
  175. package/data-source/BaseDataSourceOptions.js.map +1 -1
  176. package/data-source/DataSource.d.ts +4 -0
  177. package/data-source/DataSource.js +14 -0
  178. package/data-source/DataSource.js.map +1 -1
  179. package/decorator/Index.js +1 -0
  180. package/decorator/Index.js.map +1 -1
  181. package/decorator/options/IndexOptions.d.ts +5 -0
  182. package/decorator/options/IndexOptions.js.map +1 -1
  183. package/driver/Driver.d.ts +4 -0
  184. package/driver/Driver.js.map +1 -1
  185. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +9 -6
  186. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  187. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js +9 -6
  188. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  189. package/driver/cockroachdb/CockroachConnectionOptions.d.ts +6 -0
  190. package/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  191. package/driver/cockroachdb/CockroachDriver.d.ts +4 -0
  192. package/driver/cockroachdb/CockroachDriver.js +10 -1
  193. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  194. package/driver/cockroachdb/CockroachQueryRunner.d.ts +6 -1
  195. package/driver/cockroachdb/CockroachQueryRunner.js +46 -17
  196. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  197. package/driver/cordova/CordovaDriver.js +2 -2
  198. package/driver/cordova/CordovaDriver.js.map +1 -1
  199. package/driver/cordova/CordovaQueryRunner.js +8 -0
  200. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  201. package/driver/expo/ExpoQueryRunner.js +9 -2
  202. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  203. package/driver/mongodb/MongoQueryRunner.d.ts +3 -3
  204. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  205. package/driver/mongodb/typings.d.ts +3 -3
  206. package/driver/mongodb/typings.js.map +1 -1
  207. package/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
  208. package/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  209. package/driver/mysql/MysqlQueryRunner.js +18 -7
  210. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  211. package/driver/oracle/OracleConnectionOptions.d.ts +14 -0
  212. package/driver/oracle/OracleConnectionOptions.js.map +1 -1
  213. package/driver/oracle/OracleDriver.d.ts +4 -0
  214. package/driver/oracle/OracleDriver.js +17 -2
  215. package/driver/oracle/OracleDriver.js.map +1 -1
  216. package/driver/oracle/OracleQueryRunner.js +48 -6
  217. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  218. package/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +5 -0
  219. package/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  220. package/driver/postgres/PostgresConnectionOptions.d.ts +6 -5
  221. package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  222. package/driver/postgres/PostgresDriver.d.ts +4 -0
  223. package/driver/postgres/PostgresDriver.js +13 -4
  224. package/driver/postgres/PostgresDriver.js.map +1 -1
  225. package/driver/postgres/PostgresQueryRunner.js +46 -23
  226. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  227. package/driver/react-native/ReactNativeQueryRunner.js +10 -2
  228. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  229. package/driver/sap/SapDriver.d.ts +8 -0
  230. package/driver/sap/SapDriver.js +13 -2
  231. package/driver/sap/SapDriver.js.map +1 -1
  232. package/driver/sap/SapQueryRunner.d.ts +5 -14
  233. package/driver/sap/SapQueryRunner.js +75 -65
  234. package/driver/sap/SapQueryRunner.js.map +1 -1
  235. package/driver/spanner/SpannerConnectionOptions.d.ts +6 -0
  236. package/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  237. package/driver/spanner/SpannerDriver.d.ts +4 -0
  238. package/driver/spanner/SpannerDriver.js +10 -1
  239. package/driver/spanner/SpannerDriver.js.map +1 -1
  240. package/driver/spanner/SpannerQueryRunner.js +6 -0
  241. package/driver/spanner/SpannerQueryRunner.js.map +1 -1
  242. package/driver/sqlite/SqliteDriver.js.map +1 -1
  243. package/driver/sqlite/SqliteQueryRunner.js +61 -46
  244. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  245. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +10 -16
  246. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  247. package/driver/sqljs/SqljsQueryRunner.js +11 -3
  248. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  249. package/driver/sqlserver/SqlServerConnectionOptions.d.ts +6 -5
  250. package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  251. package/driver/sqlserver/SqlServerDriver.d.ts +4 -0
  252. package/driver/sqlserver/SqlServerDriver.js +10 -1
  253. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  254. package/driver/sqlserver/SqlServerQueryRunner.js +12 -5
  255. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  256. package/entity-manager/EntityManager.d.ts +5 -1
  257. package/entity-manager/EntityManager.js +10 -1
  258. package/entity-manager/EntityManager.js.map +1 -1
  259. package/entity-manager/MongoEntityManager.d.ts +3 -3
  260. package/entity-manager/MongoEntityManager.js +5 -10
  261. package/entity-manager/MongoEntityManager.js.map +1 -1
  262. package/error/EntityNotFoundError.d.ts +2 -0
  263. package/error/EntityNotFoundError.js +2 -0
  264. package/error/EntityNotFoundError.js.map +1 -1
  265. package/find-options/FindOperatorType.d.ts +1 -1
  266. package/find-options/FindOperatorType.js.map +1 -1
  267. package/find-options/operator/Or.d.ts +2 -0
  268. package/find-options/operator/Or.js +10 -0
  269. package/find-options/operator/Or.js.map +1 -0
  270. package/index.d.ts +1 -0
  271. package/index.js +1 -0
  272. package/index.js.map +1 -1
  273. package/index.mjs +2 -0
  274. package/logger/AbstractLogger.js +1 -1
  275. package/logger/AbstractLogger.js.map +1 -1
  276. package/metadata/ColumnMetadata.js +4 -0
  277. package/metadata/ColumnMetadata.js.map +1 -1
  278. package/metadata/EntityMetadata.d.ts +3 -3
  279. package/metadata/EntityMetadata.js +7 -3
  280. package/metadata/EntityMetadata.js.map +1 -1
  281. package/metadata/IndexMetadata.d.ts +5 -0
  282. package/metadata/IndexMetadata.js +1 -0
  283. package/metadata/IndexMetadata.js.map +1 -1
  284. package/metadata-args/IndexMetadataArgs.d.ts +5 -0
  285. package/metadata-args/IndexMetadataArgs.js.map +1 -1
  286. package/metadata-builder/EntityMetadataBuilder.js +22 -0
  287. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  288. package/package.json +1 -1
  289. package/persistence/EntityPersistExecutor.js +1 -1
  290. package/persistence/EntityPersistExecutor.js.map +1 -1
  291. package/persistence/SubjectExecutor.js +4 -1
  292. package/persistence/SubjectExecutor.js.map +1 -1
  293. package/platform/PlatformTools.js +2 -0
  294. package/platform/PlatformTools.js.map +1 -1
  295. package/query-builder/InsertQueryBuilder.js +19 -6
  296. package/query-builder/InsertQueryBuilder.js.map +1 -1
  297. package/query-builder/QueryBuilder.d.ts +5 -0
  298. package/query-builder/QueryBuilder.js +35 -23
  299. package/query-builder/QueryBuilder.js.map +1 -1
  300. package/query-builder/QueryExpressionMap.d.ts +2 -1
  301. package/query-builder/QueryExpressionMap.js +0 -4
  302. package/query-builder/QueryExpressionMap.js.map +1 -1
  303. package/query-builder/SelectQueryBuilder.js +14 -4
  304. package/query-builder/SelectQueryBuilder.js.map +1 -1
  305. package/query-builder/WhereClause.d.ts +1 -1
  306. package/query-builder/WhereClause.js.map +1 -1
  307. package/query-builder/index.d.ts +1 -0
  308. package/query-builder/index.js +21 -0
  309. package/query-builder/index.js.map +1 -0
  310. package/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +9 -0
  311. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +28 -0
  312. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  313. package/repository/BaseEntity.d.ts +12 -0
  314. package/repository/BaseEntity.js +12 -0
  315. package/repository/BaseEntity.js.map +1 -1
  316. package/repository/MongoRepository.d.ts +3 -3
  317. package/repository/MongoRepository.js.map +1 -1
  318. package/repository/Repository.d.ts +13 -1
  319. package/repository/Repository.js +17 -1
  320. package/repository/Repository.js.map +1 -1
  321. package/schema-builder/options/TableIndexOptions.d.ts +5 -0
  322. package/schema-builder/options/TableIndexOptions.js.map +1 -1
  323. package/schema-builder/table/TableIndex.d.ts +5 -0
  324. package/schema-builder/table/TableIndex.js +3 -0
  325. package/schema-builder/table/TableIndex.js.map +1 -1
  326. package/subscriber/Broadcaster.d.ts +11 -1
  327. package/subscriber/Broadcaster.js +48 -1
  328. package/subscriber/Broadcaster.js.map +1 -1
  329. package/subscriber/EntitySubscriberInterface.d.ts +9 -0
  330. package/subscriber/EntitySubscriberInterface.js.map +1 -1
  331. package/subscriber/event/InsertEvent.d.ts +5 -0
  332. package/subscriber/event/InsertEvent.js.map +1 -1
  333. package/subscriber/event/QueryEvent.d.ts +50 -0
  334. package/subscriber/event/QueryEvent.js +4 -0
  335. package/subscriber/event/QueryEvent.js.map +1 -0
  336. package/util/DateUtils.js +5 -2
  337. package/util/DateUtils.js.map +1 -1
  338. package/util/OrmUtils.d.ts +6 -0
  339. package/util/OrmUtils.js +66 -0
  340. package/util/OrmUtils.js.map +1 -1
@@ -17,6 +17,7 @@ import { TableExclusion } from "../../schema-builder/table/TableExclusion";
17
17
  import { TypeORMError } from "../../error";
18
18
  import { MetadataTableType } from "../types/MetadataTableType";
19
19
  import { InstanceChecker } from "../../util/InstanceChecker";
20
+ import { BroadcasterResult } from "../../subscriber/BroadcasterResult";
20
21
  import { VersionUtils } from "../../util/VersionUtils";
21
22
  /**
22
23
  * Runs queries on a single postgres database connection.
@@ -62,7 +63,12 @@ export class CockroachQueryRunner extends BaseQueryRunner {
62
63
  .then(([connection, release]) => {
63
64
  this.driver.connectedQueryRunners.push(this);
64
65
  this.databaseConnection = connection;
65
- this.releaseCallback = release;
66
+ const onErrorCallback = (err) => this.releaseConnection(err);
67
+ this.releaseCallback = (err) => {
68
+ this.databaseConnection.removeListener("error", onErrorCallback);
69
+ release(err);
70
+ };
71
+ this.databaseConnection.on("error", onErrorCallback);
66
72
  return this.databaseConnection;
67
73
  });
68
74
  }
@@ -73,27 +79,41 @@ export class CockroachQueryRunner extends BaseQueryRunner {
73
79
  .then(([connection, release]) => {
74
80
  this.driver.connectedQueryRunners.push(this);
75
81
  this.databaseConnection = connection;
76
- this.releaseCallback = release;
82
+ const onErrorCallback = (err) => this.releaseConnection(err);
83
+ this.releaseCallback = (err) => {
84
+ this.databaseConnection.removeListener("error", onErrorCallback);
85
+ release(err);
86
+ };
87
+ this.databaseConnection.on("error", onErrorCallback);
77
88
  return this.databaseConnection;
78
89
  });
79
90
  }
80
91
  return this.databaseConnectionPromise;
81
92
  }
82
93
  /**
83
- * Releases used database connection.
84
- * You cannot use query runner methods once its released.
94
+ * Release a connection back to the pool, optionally specifying an Error to release with.
95
+ * Per pg-pool documentation this will prevent the pool from re-using the broken connection.
85
96
  */
86
- release() {
97
+ async releaseConnection(err) {
87
98
  if (this.isReleased) {
88
- return Promise.resolve();
99
+ return;
89
100
  }
90
101
  this.isReleased = true;
91
- if (this.releaseCallback)
92
- this.releaseCallback();
102
+ if (this.releaseCallback) {
103
+ this.releaseCallback(err);
104
+ this.releaseCallback = undefined;
105
+ }
93
106
  const index = this.driver.connectedQueryRunners.indexOf(this);
94
- if (index !== -1)
95
- this.driver.connectedQueryRunners.splice(index);
96
- return Promise.resolve();
107
+ if (index !== -1) {
108
+ this.driver.connectedQueryRunners.splice(index, 1);
109
+ }
110
+ }
111
+ /**
112
+ * Releases used database connection.
113
+ * You cannot use query runner methods once its released.
114
+ */
115
+ release() {
116
+ return this.releaseConnection();
97
117
  }
98
118
  /**
99
119
  * Starts transaction.
@@ -109,6 +129,7 @@ export class CockroachQueryRunner extends BaseQueryRunner {
109
129
  throw err;
110
130
  }
111
131
  if (this.transactionDepth === 0) {
132
+ this.transactionDepth += 1;
112
133
  await this.query("START TRANSACTION");
113
134
  await this.query("SAVEPOINT cockroach_restart");
114
135
  if (isolationLevel) {
@@ -116,9 +137,9 @@ export class CockroachQueryRunner extends BaseQueryRunner {
116
137
  }
117
138
  }
118
139
  else {
119
- await this.query(`SAVEPOINT typeorm_${this.transactionDepth}`);
140
+ this.transactionDepth += 1;
141
+ await this.query(`SAVEPOINT typeorm_${this.transactionDepth - 1}`);
120
142
  }
121
- this.transactionDepth += 1;
122
143
  this.storeQueries = true;
123
144
  await this.broadcaster.broadcast("AfterTransactionStart");
124
145
  }
@@ -131,17 +152,17 @@ export class CockroachQueryRunner extends BaseQueryRunner {
131
152
  throw new TransactionNotStartedError();
132
153
  await this.broadcaster.broadcast("BeforeTransactionCommit");
133
154
  if (this.transactionDepth > 1) {
134
- await this.query(`RELEASE SAVEPOINT typeorm_${this.transactionDepth - 1}`);
135
155
  this.transactionDepth -= 1;
156
+ await this.query(`RELEASE SAVEPOINT typeorm_${this.transactionDepth}`);
136
157
  }
137
158
  else {
138
159
  this.storeQueries = false;
160
+ this.transactionDepth -= 1;
139
161
  await this.query("RELEASE SAVEPOINT cockroach_restart");
140
162
  await this.query("COMMIT");
141
163
  this.queries = [];
142
164
  this.isTransactionActive = false;
143
165
  this.transactionRetries = 0;
144
- this.transactionDepth -= 1;
145
166
  }
146
167
  await this.broadcaster.broadcast("AfterTransactionCommit");
147
168
  }
@@ -154,16 +175,17 @@ export class CockroachQueryRunner extends BaseQueryRunner {
154
175
  throw new TransactionNotStartedError();
155
176
  await this.broadcaster.broadcast("BeforeTransactionRollback");
156
177
  if (this.transactionDepth > 1) {
157
- await this.query(`ROLLBACK TO SAVEPOINT typeorm_${this.transactionDepth - 1}`);
178
+ this.transactionDepth -= 1;
179
+ await this.query(`ROLLBACK TO SAVEPOINT typeorm_${this.transactionDepth}`);
158
180
  }
159
181
  else {
160
182
  this.storeQueries = false;
183
+ this.transactionDepth -= 1;
161
184
  await this.query("ROLLBACK");
162
185
  this.queries = [];
163
186
  this.isTransactionActive = false;
164
187
  this.transactionRetries = 0;
165
188
  }
166
- this.transactionDepth -= 1;
167
189
  await this.broadcaster.broadcast("AfterTransactionRollback");
168
190
  }
169
191
  /**
@@ -173,7 +195,9 @@ export class CockroachQueryRunner extends BaseQueryRunner {
173
195
  if (this.isReleased)
174
196
  throw new QueryRunnerAlreadyReleasedError();
175
197
  const databaseConnection = await this.connect();
198
+ const broadcasterResult = new BroadcasterResult();
176
199
  this.driver.connection.logger.logQuery(query, parameters, this);
200
+ this.broadcaster.broadcastBeforeQueryEvent(broadcasterResult, query, parameters);
177
201
  const queryStartTime = +new Date();
178
202
  if (this.isTransactionActive && this.storeQueries) {
179
203
  this.queries.push({ query, parameters });
@@ -205,6 +229,7 @@ export class CockroachQueryRunner extends BaseQueryRunner {
205
229
  default:
206
230
  result.raw = raw.rows;
207
231
  }
232
+ this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, true, queryExecutionTime, raw, undefined);
208
233
  if (useStructuredResult) {
209
234
  return result;
210
235
  }
@@ -236,9 +261,13 @@ export class CockroachQueryRunner extends BaseQueryRunner {
236
261
  }
237
262
  else {
238
263
  this.driver.connection.logger.logQueryError(err, query, parameters, this);
264
+ this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, false, undefined, undefined, err);
239
265
  throw new QueryFailedError(query, parameters, err);
240
266
  }
241
267
  }
268
+ finally {
269
+ await broadcasterResult.wait();
270
+ }
242
271
  }
243
272
  /**
244
273
  * Returns raw data stream.