typeorm 0.3.18-dev.8d0e7f9 → 0.3.18-dev.a00b1df

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