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
@@ -18,6 +18,7 @@ import { OrmUtils } from "../../util/OrmUtils";
18
18
  import { VersionUtils } from "../../util/VersionUtils";
19
19
  import { Query } from "../Query";
20
20
  import { MetadataTableType } from "../types/MetadataTableType";
21
+ import { BroadcasterResult } from "../../subscriber/BroadcasterResult";
21
22
  /**
22
23
  * Runs queries on a single postgres database connection.
23
24
  */
@@ -115,15 +116,16 @@ export class PostgresQueryRunner extends BaseQueryRunner {
115
116
  throw err;
116
117
  }
117
118
  if (this.transactionDepth === 0) {
119
+ this.transactionDepth += 1;
118
120
  await this.query("START TRANSACTION");
119
121
  if (isolationLevel) {
120
122
  await this.query("SET TRANSACTION ISOLATION LEVEL " + isolationLevel);
121
123
  }
122
124
  }
123
125
  else {
124
- await this.query(`SAVEPOINT typeorm_${this.transactionDepth}`);
126
+ this.transactionDepth += 1;
127
+ await this.query(`SAVEPOINT typeorm_${this.transactionDepth - 1}`);
125
128
  }
126
- this.transactionDepth += 1;
127
129
  await this.broadcaster.broadcast("AfterTransactionStart");
128
130
  }
129
131
  /**
@@ -135,13 +137,14 @@ export class PostgresQueryRunner extends BaseQueryRunner {
135
137
  throw new TransactionNotStartedError();
136
138
  await this.broadcaster.broadcast("BeforeTransactionCommit");
137
139
  if (this.transactionDepth > 1) {
138
- await this.query(`RELEASE SAVEPOINT typeorm_${this.transactionDepth - 1}`);
140
+ this.transactionDepth -= 1;
141
+ await this.query(`RELEASE SAVEPOINT typeorm_${this.transactionDepth}`);
139
142
  }
140
143
  else {
144
+ this.transactionDepth -= 1;
141
145
  await this.query("COMMIT");
142
146
  this.isTransactionActive = false;
143
147
  }
144
- this.transactionDepth -= 1;
145
148
  await this.broadcaster.broadcast("AfterTransactionCommit");
146
149
  }
147
150
  /**
@@ -153,13 +156,14 @@ export class PostgresQueryRunner extends BaseQueryRunner {
153
156
  throw new TransactionNotStartedError();
154
157
  await this.broadcaster.broadcast("BeforeTransactionRollback");
155
158
  if (this.transactionDepth > 1) {
156
- await this.query(`ROLLBACK TO SAVEPOINT typeorm_${this.transactionDepth - 1}`);
159
+ this.transactionDepth -= 1;
160
+ await this.query(`ROLLBACK TO SAVEPOINT typeorm_${this.transactionDepth}`);
157
161
  }
158
162
  else {
163
+ this.transactionDepth -= 1;
159
164
  await this.query("ROLLBACK");
160
165
  this.isTransactionActive = false;
161
166
  }
162
- this.transactionDepth -= 1;
163
167
  await this.broadcaster.broadcast("AfterTransactionRollback");
164
168
  }
165
169
  /**
@@ -169,7 +173,9 @@ export class PostgresQueryRunner extends BaseQueryRunner {
169
173
  if (this.isReleased)
170
174
  throw new QueryRunnerAlreadyReleasedError();
171
175
  const databaseConnection = await this.connect();
176
+ const broadcasterResult = new BroadcasterResult();
172
177
  this.driver.connection.logger.logQuery(query, parameters, this);
178
+ this.broadcaster.broadcastBeforeQueryEvent(broadcasterResult, query, parameters);
173
179
  try {
174
180
  const queryStartTime = +new Date();
175
181
  const raw = await databaseConnection.query(query, parameters);
@@ -177,6 +183,7 @@ export class PostgresQueryRunner extends BaseQueryRunner {
177
183
  const maxQueryExecutionTime = this.driver.options.maxQueryExecutionTime;
178
184
  const queryEndTime = +new Date();
179
185
  const queryExecutionTime = queryEndTime - queryStartTime;
186
+ this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, true, queryExecutionTime, raw, undefined);
180
187
  if (maxQueryExecutionTime &&
181
188
  queryExecutionTime > maxQueryExecutionTime)
182
189
  this.driver.connection.logger.logQuerySlow(queryExecutionTime, query, parameters, this);
@@ -205,8 +212,12 @@ export class PostgresQueryRunner extends BaseQueryRunner {
205
212
  }
206
213
  catch (err) {
207
214
  this.driver.connection.logger.logQueryError(err, query, parameters, this);
215
+ this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, false, undefined, undefined, err);
208
216
  throw new QueryFailedError(query, parameters, err);
209
217
  }
218
+ finally {
219
+ await broadcasterResult.wait();
220
+ }
210
221
  }
211
222
  /**
212
223
  * Returns raw data stream.
@@ -1781,13 +1792,14 @@ export class PostgresQueryRunner extends BaseQueryRunner {
1781
1792
  `WHERE "t"."relkind" IN ('r', 'p') AND (${constraintsCondition})`;
1782
1793
  const indicesSql = `SELECT "ns"."nspname" AS "table_schema", "t"."relname" AS "table_name", "i"."relname" AS "constraint_name", "a"."attname" AS "column_name", ` +
1783
1794
  `CASE "ix"."indisunique" WHEN 't' THEN 'TRUE' ELSE'FALSE' END AS "is_unique", pg_get_expr("ix"."indpred", "ix"."indrelid") AS "condition", ` +
1784
- `"types"."typname" AS "type_name" ` +
1795
+ `"types"."typname" AS "type_name", "am"."amname" AS "index_type" ` +
1785
1796
  `FROM "pg_class" "t" ` +
1786
1797
  `INNER JOIN "pg_index" "ix" ON "ix"."indrelid" = "t"."oid" ` +
1787
1798
  `INNER JOIN "pg_attribute" "a" ON "a"."attrelid" = "t"."oid" AND "a"."attnum" = ANY ("ix"."indkey") ` +
1788
1799
  `INNER JOIN "pg_namespace" "ns" ON "ns"."oid" = "t"."relnamespace" ` +
1789
1800
  `INNER JOIN "pg_class" "i" ON "i"."oid" = "ix"."indexrelid" ` +
1790
1801
  `INNER JOIN "pg_type" "types" ON "types"."oid" = "a"."atttypid" ` +
1802
+ `INNER JOIN "pg_am" "am" ON "i"."relam" = "am"."oid" ` +
1791
1803
  `LEFT JOIN "pg_constraint" "cnst" ON "cnst"."conname" = "i"."relname" ` +
1792
1804
  `WHERE "t"."relkind" IN ('r', 'p') AND "cnst"."contype" IS NULL AND (${constraintsCondition})`;
1793
1805
  const foreignKeysCondition = dbTables
@@ -1857,26 +1869,34 @@ export class PostgresQueryRunner extends BaseQueryRunner {
1857
1869
  tableColumn.name = dbColumn["column_name"];
1858
1870
  tableColumn.type = dbColumn["regtype"].toLowerCase();
1859
1871
  if (tableColumn.type === "numeric" ||
1872
+ tableColumn.type === "numeric[]" ||
1860
1873
  tableColumn.type === "decimal" ||
1861
1874
  tableColumn.type === "float") {
1875
+ let numericPrecision = dbColumn["numeric_precision"];
1876
+ let numericScale = dbColumn["numeric_scale"];
1877
+ if (dbColumn["data_type"] === "ARRAY") {
1878
+ const numericSize = dbColumn["format_type"].match(/^numeric\(([0-9]+),([0-9]+)\)\[\]$/);
1879
+ if (numericSize) {
1880
+ numericPrecision = +numericSize[1];
1881
+ numericScale = +numericSize[2];
1882
+ }
1883
+ }
1862
1884
  // If one of these properties was set, and another was not, Postgres sets '0' in to unspecified property
1863
1885
  // we set 'undefined' in to unspecified property to avoid changing column on sync
1864
- if (dbColumn["numeric_precision"] !== null &&
1865
- !this.isDefaultColumnPrecision(table, tableColumn, dbColumn["numeric_precision"])) {
1866
- tableColumn.precision =
1867
- dbColumn["numeric_precision"];
1886
+ if (numericPrecision !== null &&
1887
+ !this.isDefaultColumnPrecision(table, tableColumn, numericPrecision)) {
1888
+ tableColumn.precision = numericPrecision;
1868
1889
  }
1869
- else if (dbColumn["numeric_scale"] !== null &&
1870
- !this.isDefaultColumnScale(table, tableColumn, dbColumn["numeric_scale"])) {
1890
+ else if (numericScale !== null &&
1891
+ !this.isDefaultColumnScale(table, tableColumn, numericScale)) {
1871
1892
  tableColumn.precision = undefined;
1872
1893
  }
1873
- if (dbColumn["numeric_scale"] !== null &&
1874
- !this.isDefaultColumnScale(table, tableColumn, dbColumn["numeric_scale"])) {
1875
- tableColumn.scale =
1876
- dbColumn["numeric_scale"];
1894
+ if (numericScale !== null &&
1895
+ !this.isDefaultColumnScale(table, tableColumn, numericScale)) {
1896
+ tableColumn.scale = numericScale;
1877
1897
  }
1878
- else if (dbColumn["numeric_precision"] !== null &&
1879
- !this.isDefaultColumnPrecision(table, tableColumn, dbColumn["numeric_precision"])) {
1898
+ else if (numericPrecision !== null &&
1899
+ !this.isDefaultColumnPrecision(table, tableColumn, numericPrecision)) {
1880
1900
  tableColumn.scale = undefined;
1881
1901
  }
1882
1902
  }
@@ -2159,7 +2179,7 @@ export class PostgresQueryRunner extends BaseQueryRunner {
2159
2179
  columnNames: indices.map((i) => i["column_name"]),
2160
2180
  isUnique: constraint["is_unique"] === "TRUE",
2161
2181
  where: constraint["condition"],
2162
- isSpatial: indices.every((i) => this.driver.spatialTypes.indexOf(i["type_name"]) >= 0),
2182
+ isSpatial: constraint["index_type"] === "gist",
2163
2183
  isFulltext: false,
2164
2184
  });
2165
2185
  });
@@ -2380,7 +2400,7 @@ export class PostgresQueryRunner extends BaseQueryRunner {
2380
2400
  const columns = index.columnNames
2381
2401
  .map((columnName) => `"${columnName}"`)
2382
2402
  .join(", ");
2383
- return new Query(`CREATE ${index.isUnique ? "UNIQUE " : ""}INDEX "${index.name}" ON ${this.escapePath(table)} ${index.isSpatial ? "USING GiST " : ""}(${columns}) ${index.where ? "WHERE " + index.where : ""}`);
2403
+ return new Query(`CREATE ${index.isUnique ? "UNIQUE " : ""}${index.isConcurrent ? "CONCURRENTLY " : ""}INDEX "${index.name}" ON ${this.escapePath(table)} ${index.isSpatial ? "USING GiST " : ""}(${columns}) ${index.where ? "WHERE " + index.where : ""}`);
2384
2404
  }
2385
2405
  /**
2386
2406
  * Builds create view index sql.
@@ -2398,10 +2418,13 @@ export class PostgresQueryRunner extends BaseQueryRunner {
2398
2418
  let indexName = InstanceChecker.isTableIndex(indexOrName)
2399
2419
  ? indexOrName.name
2400
2420
  : indexOrName;
2421
+ const concurrent = InstanceChecker.isTableIndex(indexOrName)
2422
+ ? indexOrName.isConcurrent
2423
+ : false;
2401
2424
  const { schema } = this.driver.parseTableName(table);
2402
2425
  return schema
2403
- ? new Query(`DROP INDEX "${schema}"."${indexName}"`)
2404
- : new Query(`DROP INDEX "${indexName}"`);
2426
+ ? new Query(`DROP INDEX ${concurrent ? "CONCURRENTLY" : ""}"${schema}"."${indexName}"`)
2427
+ : new Query(`DROP INDEX ${concurrent ? "CONCURRENTLY" : ""}"${indexName}"`);
2405
2428
  }
2406
2429
  /**
2407
2430
  * Builds create primary key sql.