typeorm 0.3.18-dev.dff2d53 → 0.3.18-dev.e67d704

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 (378) hide show
  1. package/README.md +23 -23
  2. package/browser/data-source/BaseDataSourceOptions.d.ts +4 -0
  3. package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
  4. package/browser/data-source/DataSource.d.ts +4 -0
  5. package/browser/data-source/DataSource.js +14 -0
  6. package/browser/data-source/DataSource.js.map +1 -1
  7. package/browser/decorator/Index.js +1 -0
  8. package/browser/decorator/Index.js.map +1 -1
  9. package/browser/decorator/options/IndexOptions.d.ts +5 -0
  10. package/browser/decorator/options/IndexOptions.js.map +1 -1
  11. package/browser/driver/Driver.d.ts +4 -0
  12. package/browser/driver/Driver.js.map +1 -1
  13. package/browser/driver/DriverUtils.js +2 -5
  14. package/browser/driver/DriverUtils.js.map +1 -1
  15. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +9 -6
  16. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  17. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js +9 -6
  18. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  19. package/browser/driver/cockroachdb/CockroachConnectionOptions.d.ts +6 -0
  20. package/browser/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  21. package/browser/driver/cockroachdb/CockroachDriver.d.ts +4 -0
  22. package/browser/driver/cockroachdb/CockroachDriver.js +10 -1
  23. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  24. package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +6 -1
  25. package/browser/driver/cockroachdb/CockroachQueryRunner.js +46 -17
  26. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  27. package/browser/driver/cordova/CordovaQueryRunner.js +8 -0
  28. package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
  29. package/browser/driver/expo/ExpoQueryRunner.js +9 -2
  30. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  31. package/browser/driver/mongodb/MongoQueryRunner.d.ts +3 -3
  32. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  33. package/browser/driver/mongodb/typings.d.ts +3 -3
  34. package/browser/driver/mongodb/typings.js.map +1 -1
  35. package/browser/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
  36. package/browser/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  37. package/browser/driver/mysql/MysqlQueryRunner.js +18 -7
  38. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  39. package/browser/driver/oracle/OracleConnectionOptions.d.ts +14 -0
  40. package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
  41. package/browser/driver/oracle/OracleDriver.d.ts +4 -0
  42. package/browser/driver/oracle/OracleDriver.js +17 -2
  43. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  44. package/browser/driver/oracle/OracleQueryRunner.js +48 -6
  45. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  46. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +5 -0
  47. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  48. package/browser/driver/postgres/PostgresConnectionOptions.d.ts +6 -5
  49. package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  50. package/browser/driver/postgres/PostgresDriver.d.ts +4 -0
  51. package/browser/driver/postgres/PostgresDriver.js +13 -4
  52. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  53. package/browser/driver/postgres/PostgresQueryRunner.js +46 -23
  54. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  55. package/browser/driver/react-native/ReactNativeQueryRunner.js +10 -2
  56. package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  57. package/browser/driver/sap/SapDriver.d.ts +8 -0
  58. package/browser/driver/sap/SapDriver.js +14 -3
  59. package/browser/driver/sap/SapDriver.js.map +1 -1
  60. package/browser/driver/sap/SapQueryRunner.d.ts +5 -14
  61. package/browser/driver/sap/SapQueryRunner.js +74 -64
  62. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  63. package/browser/driver/spanner/SpannerConnectionOptions.d.ts +6 -0
  64. package/browser/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  65. package/browser/driver/spanner/SpannerDriver.d.ts +4 -0
  66. package/browser/driver/spanner/SpannerDriver.js +10 -1
  67. package/browser/driver/spanner/SpannerDriver.js.map +1 -1
  68. package/browser/driver/spanner/SpannerQueryRunner.js +6 -0
  69. package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
  70. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  71. package/browser/driver/sqlite/SqliteQueryRunner.js +61 -46
  72. package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  73. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +10 -16
  74. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  75. package/browser/driver/sqljs/SqljsQueryRunner.js +11 -3
  76. package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  77. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +2 -1
  78. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  79. package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +11 -5
  80. package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  81. package/browser/driver/sqlserver/SqlServerDriver.d.ts +4 -0
  82. package/browser/driver/sqlserver/SqlServerDriver.js +10 -1
  83. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  84. package/browser/driver/sqlserver/SqlServerQueryRunner.js +25 -5
  85. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  86. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.d.ts +12 -0
  87. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js +3 -0
  88. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -0
  89. package/browser/entity-manager/EntityManager.d.ts +5 -1
  90. package/browser/entity-manager/EntityManager.js +15 -2
  91. package/browser/entity-manager/EntityManager.js.map +1 -1
  92. package/browser/entity-manager/MongoEntityManager.d.ts +8 -4
  93. package/browser/entity-manager/MongoEntityManager.js +12 -10
  94. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  95. package/browser/entity-schema/EntitySchemaOptions.d.ts +4 -0
  96. package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
  97. package/browser/entity-schema/EntitySchemaTransformer.js +7 -0
  98. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  99. package/browser/error/EntityNotFoundError.d.ts +2 -0
  100. package/browser/error/EntityNotFoundError.js +2 -0
  101. package/browser/error/EntityNotFoundError.js.map +1 -1
  102. package/browser/error/QueryFailedError.d.ts +3 -3
  103. package/browser/error/QueryFailedError.js.map +1 -1
  104. package/browser/find-options/FindOptionsUtils.js +1 -1
  105. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  106. package/browser/find-options/FindOptionsWhere.d.ts +1 -1
  107. package/browser/find-options/FindOptionsWhere.js.map +1 -1
  108. package/browser/index.d.ts +1 -0
  109. package/browser/index.js +1 -0
  110. package/browser/index.js.map +1 -1
  111. package/browser/logger/AbstractLogger.js +1 -1
  112. package/browser/logger/AbstractLogger.js.map +1 -1
  113. package/browser/metadata/ColumnMetadata.js +4 -0
  114. package/browser/metadata/ColumnMetadata.js.map +1 -1
  115. package/browser/metadata/EntityMetadata.d.ts +3 -3
  116. package/browser/metadata/EntityMetadata.js +7 -3
  117. package/browser/metadata/EntityMetadata.js.map +1 -1
  118. package/browser/metadata/IndexMetadata.d.ts +5 -0
  119. package/browser/metadata/IndexMetadata.js +1 -0
  120. package/browser/metadata/IndexMetadata.js.map +1 -1
  121. package/browser/metadata-args/IndexMetadataArgs.d.ts +5 -0
  122. package/browser/metadata-args/IndexMetadataArgs.js.map +1 -1
  123. package/browser/metadata-builder/EntityMetadataBuilder.js +22 -0
  124. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  125. package/browser/naming-strategy/DefaultNamingStrategy.d.ts +0 -1
  126. package/browser/naming-strategy/DefaultNamingStrategy.js +0 -3
  127. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  128. package/browser/naming-strategy/NamingStrategyInterface.d.ts +0 -4
  129. package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
  130. package/browser/persistence/Subject.js +2 -1
  131. package/browser/persistence/Subject.js.map +1 -1
  132. package/browser/persistence/SubjectExecutor.js +4 -1
  133. package/browser/persistence/SubjectExecutor.js.map +1 -1
  134. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +6 -2
  135. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  136. package/browser/platform/BrowserPlatformTools.js +3 -2
  137. package/browser/platform/BrowserPlatformTools.js.map +1 -1
  138. package/browser/platform/PlatformTools.js +2 -0
  139. package/browser/platform/PlatformTools.js.map +1 -1
  140. package/browser/query-builder/InsertQueryBuilder.js +19 -6
  141. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  142. package/browser/query-builder/QueryBuilder.d.ts +5 -0
  143. package/browser/query-builder/QueryBuilder.js +27 -24
  144. package/browser/query-builder/QueryBuilder.js.map +1 -1
  145. package/browser/query-builder/SelectQueryBuilder.js +13 -3
  146. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  147. package/browser/query-builder/index.d.ts +1 -0
  148. package/browser/query-builder/index.js +17 -0
  149. package/browser/query-builder/index.js.map +1 -0
  150. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +9 -0
  151. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +28 -0
  152. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  153. package/browser/repository/BaseEntity.d.ts +12 -0
  154. package/browser/repository/BaseEntity.js +12 -0
  155. package/browser/repository/BaseEntity.js.map +1 -1
  156. package/browser/repository/MongoRepository.d.ts +8 -4
  157. package/browser/repository/MongoRepository.js +6 -0
  158. package/browser/repository/MongoRepository.js.map +1 -1
  159. package/browser/repository/Repository.d.ts +14 -2
  160. package/browser/repository/Repository.js +26 -6
  161. package/browser/repository/Repository.js.map +1 -1
  162. package/browser/schema-builder/options/TableIndexOptions.d.ts +5 -0
  163. package/browser/schema-builder/options/TableIndexOptions.js.map +1 -1
  164. package/browser/schema-builder/table/TableIndex.d.ts +5 -0
  165. package/browser/schema-builder/table/TableIndex.js +3 -0
  166. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  167. package/browser/subscriber/Broadcaster.d.ts +11 -1
  168. package/browser/subscriber/Broadcaster.js +48 -1
  169. package/browser/subscriber/Broadcaster.js.map +1 -1
  170. package/browser/subscriber/EntitySubscriberInterface.d.ts +9 -0
  171. package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
  172. package/browser/subscriber/event/InsertEvent.d.ts +5 -0
  173. package/browser/subscriber/event/InsertEvent.js.map +1 -1
  174. package/browser/subscriber/event/QueryEvent.d.ts +50 -0
  175. package/browser/subscriber/event/QueryEvent.js +3 -0
  176. package/browser/subscriber/event/QueryEvent.js.map +1 -0
  177. package/browser/util/DateUtils.js +4 -2
  178. package/browser/util/DateUtils.js.map +1 -1
  179. package/browser/util/OrmUtils.d.ts +6 -0
  180. package/browser/util/OrmUtils.js +66 -0
  181. package/browser/util/OrmUtils.js.map +1 -1
  182. package/commands/CommandUtils.js +6 -1
  183. package/commands/CommandUtils.js.map +1 -1
  184. package/commands/EntityCreateCommand.d.ts +3 -0
  185. package/commands/EntityCreateCommand.js +7 -0
  186. package/commands/EntityCreateCommand.js.map +1 -1
  187. package/commands/InitCommand.js +1 -1
  188. package/commands/InitCommand.js.map +1 -1
  189. package/commands/MigrationCreateCommand.d.ts +5 -1
  190. package/commands/MigrationCreateCommand.js +6 -1
  191. package/commands/MigrationCreateCommand.js.map +1 -1
  192. package/commands/MigrationGenerateCommand.d.ts +5 -1
  193. package/commands/MigrationGenerateCommand.js +8 -1
  194. package/commands/MigrationGenerateCommand.js.map +1 -1
  195. package/commands/SubscriberCreateCommand.d.ts +3 -0
  196. package/commands/SubscriberCreateCommand.js +7 -0
  197. package/commands/SubscriberCreateCommand.js.map +1 -1
  198. package/data-source/BaseDataSourceOptions.d.ts +4 -0
  199. package/data-source/BaseDataSourceOptions.js.map +1 -1
  200. package/data-source/DataSource.d.ts +4 -0
  201. package/data-source/DataSource.js +14 -0
  202. package/data-source/DataSource.js.map +1 -1
  203. package/decorator/Index.js +1 -0
  204. package/decorator/Index.js.map +1 -1
  205. package/decorator/options/IndexOptions.d.ts +5 -0
  206. package/decorator/options/IndexOptions.js.map +1 -1
  207. package/driver/Driver.d.ts +4 -0
  208. package/driver/Driver.js.map +1 -1
  209. package/driver/DriverUtils.js +2 -5
  210. package/driver/DriverUtils.js.map +1 -1
  211. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +9 -6
  212. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  213. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js +9 -6
  214. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  215. package/driver/cockroachdb/CockroachConnectionOptions.d.ts +6 -0
  216. package/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  217. package/driver/cockroachdb/CockroachDriver.d.ts +4 -0
  218. package/driver/cockroachdb/CockroachDriver.js +10 -1
  219. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  220. package/driver/cockroachdb/CockroachQueryRunner.d.ts +6 -1
  221. package/driver/cockroachdb/CockroachQueryRunner.js +46 -17
  222. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  223. package/driver/cordova/CordovaQueryRunner.js +8 -0
  224. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  225. package/driver/expo/ExpoQueryRunner.js +9 -2
  226. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  227. package/driver/mongodb/MongoQueryRunner.d.ts +3 -3
  228. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  229. package/driver/mongodb/typings.d.ts +3 -3
  230. package/driver/mongodb/typings.js.map +1 -1
  231. package/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
  232. package/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  233. package/driver/mysql/MysqlQueryRunner.js +18 -7
  234. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  235. package/driver/oracle/OracleConnectionOptions.d.ts +14 -0
  236. package/driver/oracle/OracleConnectionOptions.js.map +1 -1
  237. package/driver/oracle/OracleDriver.d.ts +4 -0
  238. package/driver/oracle/OracleDriver.js +17 -2
  239. package/driver/oracle/OracleDriver.js.map +1 -1
  240. package/driver/oracle/OracleQueryRunner.js +48 -6
  241. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  242. package/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +5 -0
  243. package/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  244. package/driver/postgres/PostgresConnectionOptions.d.ts +6 -5
  245. package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  246. package/driver/postgres/PostgresDriver.d.ts +4 -0
  247. package/driver/postgres/PostgresDriver.js +13 -4
  248. package/driver/postgres/PostgresDriver.js.map +1 -1
  249. package/driver/postgres/PostgresQueryRunner.js +46 -23
  250. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  251. package/driver/react-native/ReactNativeQueryRunner.js +10 -2
  252. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  253. package/driver/sap/SapDriver.d.ts +8 -0
  254. package/driver/sap/SapDriver.js +15 -4
  255. package/driver/sap/SapDriver.js.map +1 -1
  256. package/driver/sap/SapQueryRunner.d.ts +5 -14
  257. package/driver/sap/SapQueryRunner.js +74 -64
  258. package/driver/sap/SapQueryRunner.js.map +1 -1
  259. package/driver/spanner/SpannerConnectionOptions.d.ts +6 -0
  260. package/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  261. package/driver/spanner/SpannerDriver.d.ts +4 -0
  262. package/driver/spanner/SpannerDriver.js +10 -1
  263. package/driver/spanner/SpannerDriver.js.map +1 -1
  264. package/driver/spanner/SpannerQueryRunner.js +6 -0
  265. package/driver/spanner/SpannerQueryRunner.js.map +1 -1
  266. package/driver/sqlite/SqliteDriver.js.map +1 -1
  267. package/driver/sqlite/SqliteQueryRunner.js +61 -46
  268. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  269. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +10 -16
  270. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  271. package/driver/sqljs/SqljsQueryRunner.js +11 -3
  272. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  273. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +2 -1
  274. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  275. package/driver/sqlserver/SqlServerConnectionOptions.d.ts +11 -5
  276. package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  277. package/driver/sqlserver/SqlServerDriver.d.ts +4 -0
  278. package/driver/sqlserver/SqlServerDriver.js +10 -1
  279. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  280. package/driver/sqlserver/SqlServerQueryRunner.js +25 -5
  281. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  282. package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.d.ts +12 -0
  283. package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js +4 -0
  284. package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -0
  285. package/entity-manager/EntityManager.d.ts +5 -1
  286. package/entity-manager/EntityManager.js +15 -2
  287. package/entity-manager/EntityManager.js.map +1 -1
  288. package/entity-manager/MongoEntityManager.d.ts +8 -4
  289. package/entity-manager/MongoEntityManager.js +12 -10
  290. package/entity-manager/MongoEntityManager.js.map +1 -1
  291. package/entity-schema/EntitySchemaOptions.d.ts +4 -0
  292. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  293. package/entity-schema/EntitySchemaTransformer.js +7 -0
  294. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  295. package/error/EntityNotFoundError.d.ts +2 -0
  296. package/error/EntityNotFoundError.js +2 -0
  297. package/error/EntityNotFoundError.js.map +1 -1
  298. package/error/QueryFailedError.d.ts +3 -3
  299. package/error/QueryFailedError.js.map +1 -1
  300. package/find-options/FindOptionsUtils.js +1 -1
  301. package/find-options/FindOptionsUtils.js.map +1 -1
  302. package/find-options/FindOptionsWhere.d.ts +1 -1
  303. package/find-options/FindOptionsWhere.js.map +1 -1
  304. package/index.d.ts +1 -0
  305. package/index.js +1 -0
  306. package/index.js.map +1 -1
  307. package/index.mjs +2 -0
  308. package/logger/AbstractLogger.js +1 -1
  309. package/logger/AbstractLogger.js.map +1 -1
  310. package/metadata/ColumnMetadata.js +4 -0
  311. package/metadata/ColumnMetadata.js.map +1 -1
  312. package/metadata/EntityMetadata.d.ts +3 -3
  313. package/metadata/EntityMetadata.js +7 -3
  314. package/metadata/EntityMetadata.js.map +1 -1
  315. package/metadata/IndexMetadata.d.ts +5 -0
  316. package/metadata/IndexMetadata.js +1 -0
  317. package/metadata/IndexMetadata.js.map +1 -1
  318. package/metadata-args/IndexMetadataArgs.d.ts +5 -0
  319. package/metadata-args/IndexMetadataArgs.js.map +1 -1
  320. package/metadata-builder/EntityMetadataBuilder.js +22 -0
  321. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  322. package/naming-strategy/DefaultNamingStrategy.d.ts +0 -1
  323. package/naming-strategy/DefaultNamingStrategy.js +0 -3
  324. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  325. package/naming-strategy/NamingStrategyInterface.d.ts +0 -4
  326. package/naming-strategy/NamingStrategyInterface.js.map +1 -1
  327. package/package.json +1 -1
  328. package/persistence/Subject.js +2 -1
  329. package/persistence/Subject.js.map +1 -1
  330. package/persistence/SubjectExecutor.js +4 -1
  331. package/persistence/SubjectExecutor.js.map +1 -1
  332. package/persistence/subject-builder/ManyToManySubjectBuilder.js +6 -2
  333. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  334. package/platform/PlatformTools.js +2 -0
  335. package/platform/PlatformTools.js.map +1 -1
  336. package/query-builder/InsertQueryBuilder.js +19 -6
  337. package/query-builder/InsertQueryBuilder.js.map +1 -1
  338. package/query-builder/QueryBuilder.d.ts +5 -0
  339. package/query-builder/QueryBuilder.js +27 -24
  340. package/query-builder/QueryBuilder.js.map +1 -1
  341. package/query-builder/SelectQueryBuilder.js +13 -3
  342. package/query-builder/SelectQueryBuilder.js.map +1 -1
  343. package/query-builder/index.d.ts +1 -0
  344. package/query-builder/index.js +21 -0
  345. package/query-builder/index.js.map +1 -0
  346. package/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +9 -0
  347. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +28 -0
  348. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  349. package/repository/BaseEntity.d.ts +12 -0
  350. package/repository/BaseEntity.js +12 -0
  351. package/repository/BaseEntity.js.map +1 -1
  352. package/repository/MongoRepository.d.ts +8 -4
  353. package/repository/MongoRepository.js +6 -0
  354. package/repository/MongoRepository.js.map +1 -1
  355. package/repository/Repository.d.ts +14 -2
  356. package/repository/Repository.js +26 -6
  357. package/repository/Repository.js.map +1 -1
  358. package/schema-builder/options/TableIndexOptions.d.ts +5 -0
  359. package/schema-builder/options/TableIndexOptions.js.map +1 -1
  360. package/schema-builder/table/TableIndex.d.ts +5 -0
  361. package/schema-builder/table/TableIndex.js +3 -0
  362. package/schema-builder/table/TableIndex.js.map +1 -1
  363. package/subscriber/Broadcaster.d.ts +11 -1
  364. package/subscriber/Broadcaster.js +48 -1
  365. package/subscriber/Broadcaster.js.map +1 -1
  366. package/subscriber/EntitySubscriberInterface.d.ts +9 -0
  367. package/subscriber/EntitySubscriberInterface.js.map +1 -1
  368. package/subscriber/event/InsertEvent.d.ts +5 -0
  369. package/subscriber/event/InsertEvent.js.map +1 -1
  370. package/subscriber/event/QueryEvent.d.ts +50 -0
  371. package/subscriber/event/QueryEvent.js +4 -0
  372. package/subscriber/event/QueryEvent.js.map +1 -0
  373. package/typeorm-model-shim.js +61 -53
  374. package/util/DateUtils.js +5 -2
  375. package/util/DateUtils.js.map +1 -1
  376. package/util/OrmUtils.d.ts +6 -0
  377. package/util/OrmUtils.js +66 -0
  378. 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.