typeorm 0.2.27 → 0.2.31

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 (907) hide show
  1. package/README.md +9 -4
  2. package/browser/common/EntityFieldsNames.d.ts +6 -0
  3. package/browser/common/EntityFieldsNames.js +3 -0
  4. package/browser/common/EntityFieldsNames.js.map +1 -0
  5. package/browser/connection/Connection.d.ts +2 -2
  6. package/browser/connection/Connection.js +2 -2
  7. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  8. package/browser/connection/ConnectionOptionsReader.d.ts +3 -3
  9. package/browser/connection/ConnectionOptionsReader.js +30 -30
  10. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  11. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js +1 -1
  12. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  13. package/browser/decorator/columns/PrimaryColumn.d.ts +9 -2
  14. package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
  15. package/browser/decorator/entity/ChildEntity.js +1 -1
  16. package/browser/decorator/entity/ChildEntity.js.map +1 -1
  17. package/browser/decorator/options/RelationOptions.d.ts +10 -0
  18. package/browser/decorator/options/RelationOptions.js.map +1 -1
  19. package/browser/decorator/relations/ManyToOne.d.ts +6 -6
  20. package/browser/decorator/relations/ManyToOne.js +5 -5
  21. package/browser/decorator/relations/ManyToOne.js.map +1 -1
  22. package/browser/decorator/relations/OneToMany.d.ts +3 -2
  23. package/browser/decorator/relations/OneToMany.js +4 -3
  24. package/browser/decorator/relations/OneToMany.js.map +1 -1
  25. package/browser/decorator/transaction/Transaction.d.ts +1 -1
  26. package/browser/decorator/transaction/Transaction.js +2 -2
  27. package/browser/decorator/transaction/Transaction.js.map +1 -1
  28. package/browser/decorator/tree/Tree.d.ts +2 -1
  29. package/browser/decorator/tree/Tree.js +3 -2
  30. package/browser/decorator/tree/Tree.js.map +1 -1
  31. package/browser/driver/DriverFactory.js.map +1 -1
  32. package/browser/driver/DriverUtils.js +20 -12
  33. package/browser/driver/DriverUtils.js.map +1 -1
  34. package/browser/driver/aurora-data-api/AuroraDataApiDriver.d.ts +0 -1
  35. package/browser/driver/aurora-data-api/AuroraDataApiDriver.js +2 -3
  36. package/browser/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
  37. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts +2 -1
  38. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +57 -9
  39. package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  40. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.d.ts +1 -2
  41. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +3 -3
  42. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
  43. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.d.ts +2 -1
  44. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +59 -11
  45. package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
  46. package/browser/driver/cockroachdb/CockroachDriver.js +3 -3
  47. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  48. package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +4 -0
  49. package/browser/driver/cockroachdb/CockroachQueryRunner.js +112 -42
  50. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  51. package/browser/driver/expo/ExpoQueryRunner.js +72 -14
  52. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  53. package/browser/driver/mongodb/MongoConnectionOptions.d.ts +4 -0
  54. package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  55. package/browser/driver/mongodb/MongoDriver.d.ts +7 -3
  56. package/browser/driver/mongodb/MongoDriver.js +19 -14
  57. package/browser/driver/mongodb/MongoDriver.js.map +1 -1
  58. package/browser/driver/mongodb/MongoQueryRunner.d.ts +3 -3
  59. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  60. package/browser/driver/mysql/MysqlDriver.js +4 -4
  61. package/browser/driver/mysql/MysqlDriver.js.map +1 -1
  62. package/browser/driver/mysql/MysqlQueryRunner.d.ts +4 -0
  63. package/browser/driver/mysql/MysqlQueryRunner.js +117 -42
  64. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  65. package/browser/driver/oracle/OracleConnectionOptions.d.ts +4 -0
  66. package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
  67. package/browser/driver/oracle/OracleDriver.js +3 -0
  68. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  69. package/browser/driver/oracle/OracleQueryRunner.js +52 -6
  70. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  71. package/browser/driver/postgres/PostgresConnectionOptions.d.ts +4 -0
  72. package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  73. package/browser/driver/postgres/PostgresDriver.d.ts +1 -1
  74. package/browser/driver/postgres/PostgresDriver.js +11 -8
  75. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  76. package/browser/driver/postgres/PostgresQueryRunner.d.ts +8 -0
  77. package/browser/driver/postgres/PostgresQueryRunner.js +154 -60
  78. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  79. package/browser/driver/react-native/ReactNativeDriver.js +1 -2
  80. package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
  81. package/browser/driver/sap/SapQueryRunner.js +56 -8
  82. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  83. package/browser/driver/sqlite/SqliteQueryRunner.js +4 -0
  84. package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  85. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +55 -7
  86. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  87. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  88. package/browser/driver/sqlserver/SqlServerQueryRunner.js +140 -67
  89. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  90. package/browser/driver/types/ColumnTypes.d.ts +1 -1
  91. package/browser/driver/types/ColumnTypes.js.map +1 -1
  92. package/browser/entity-manager/EntityManager.d.ts +13 -13
  93. package/browser/entity-manager/EntityManager.js +5 -16
  94. package/browser/entity-manager/EntityManager.js.map +1 -1
  95. package/browser/entity-manager/MongoEntityManager.d.ts +1 -1
  96. package/browser/entity-manager/MongoEntityManager.js +15 -4
  97. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  98. package/browser/error/index.d.ts +61 -0
  99. package/browser/error/index.js +63 -0
  100. package/browser/error/index.js.map +1 -0
  101. package/browser/find-options/FindOneOptions.d.ts +6 -1
  102. package/browser/find-options/FindOneOptions.js.map +1 -1
  103. package/browser/find-options/FindOperator.d.ts +25 -6
  104. package/browser/find-options/FindOperator.js +32 -6
  105. package/browser/find-options/FindOperator.js.map +1 -1
  106. package/browser/find-options/FindOperatorType.d.ts +1 -1
  107. package/browser/find-options/FindOperatorType.js.map +1 -1
  108. package/browser/find-options/FindOptionsUtils.d.ts +2 -2
  109. package/browser/find-options/FindOptionsUtils.js +5 -1
  110. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  111. package/browser/find-options/operator/ILike.d.ts +6 -0
  112. package/browser/find-options/operator/ILike.js +10 -0
  113. package/browser/find-options/operator/ILike.js.map +1 -0
  114. package/browser/find-options/operator/Raw.d.ts +14 -2
  115. package/browser/find-options/operator/Raw.js +5 -6
  116. package/browser/find-options/operator/Raw.js.map +1 -1
  117. package/browser/index.d.ts +3 -1
  118. package/browser/index.js +2 -23
  119. package/browser/index.js.map +1 -1
  120. package/browser/logger/Logger.d.ts +1 -1
  121. package/browser/logger/Logger.js.map +1 -1
  122. package/browser/metadata/ColumnMetadata.js +16 -3
  123. package/browser/metadata/ColumnMetadata.js.map +1 -1
  124. package/browser/metadata/EntityMetadata.d.ts +5 -0
  125. package/browser/metadata/EntityMetadata.js +1 -0
  126. package/browser/metadata/EntityMetadata.js.map +1 -1
  127. package/browser/metadata/RelationMetadata.d.ts +15 -0
  128. package/browser/metadata/RelationMetadata.js +18 -2
  129. package/browser/metadata/RelationMetadata.js.map +1 -1
  130. package/browser/metadata/types/ClosureTreeOptions.d.ts +10 -0
  131. package/browser/metadata/types/ClosureTreeOptions.js +3 -0
  132. package/browser/metadata/types/ClosureTreeOptions.js.map +1 -0
  133. package/browser/metadata/types/EventListenerTypes.d.ts +7 -7
  134. package/browser/metadata/types/EventListenerTypes.js.map +1 -1
  135. package/browser/metadata-args/TreeMetadataArgs.d.ts +5 -0
  136. package/browser/metadata-args/TreeMetadataArgs.js.map +1 -1
  137. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +3 -3
  138. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  139. package/browser/metadata-builder/EntityMetadataBuilder.js +19 -9
  140. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  141. package/browser/metadata-builder/EntityMetadataValidator.js +8 -5
  142. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  143. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +2 -2
  144. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  145. package/browser/metadata-builder/RelationJoinColumnBuilder.d.ts +1 -0
  146. package/browser/metadata-builder/RelationJoinColumnBuilder.js +5 -5
  147. package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  148. package/browser/persistence/EntityPersistExecutor.js +55 -52
  149. package/browser/persistence/EntityPersistExecutor.js.map +1 -1
  150. package/browser/persistence/Subject.d.ts +4 -4
  151. package/browser/persistence/Subject.js +6 -5
  152. package/browser/persistence/Subject.js.map +1 -1
  153. package/browser/persistence/SubjectExecutor.js +9 -5
  154. package/browser/persistence/SubjectExecutor.js.map +1 -1
  155. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  156. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +9 -4
  157. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  158. package/browser/persistence/tree/ClosureSubjectExecutor.d.ts +1 -1
  159. package/browser/persistence/tree/ClosureSubjectExecutor.js +5 -5
  160. package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  161. package/browser/query-builder/Alias.d.ts +3 -4
  162. package/browser/query-builder/Alias.js +3 -3
  163. package/browser/query-builder/DeleteQueryBuilder.js +2 -1
  164. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  165. package/browser/query-builder/InsertQueryBuilder.d.ts +6 -0
  166. package/browser/query-builder/InsertQueryBuilder.js +62 -13
  167. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  168. package/browser/query-builder/JoinAttribute.d.ts +10 -10
  169. package/browser/query-builder/JoinAttribute.js +10 -10
  170. package/browser/query-builder/QueryBuilder.d.ts +8 -1
  171. package/browser/query-builder/QueryBuilder.js +168 -33
  172. package/browser/query-builder/QueryBuilder.js.map +1 -1
  173. package/browser/query-builder/QueryBuilderUtils.js.map +1 -1
  174. package/browser/query-builder/QueryExpressionMap.d.ts +6 -2
  175. package/browser/query-builder/QueryExpressionMap.js +3 -2
  176. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  177. package/browser/query-builder/RelationLoader.js +1 -1
  178. package/browser/query-builder/RelationLoader.js.map +1 -1
  179. package/browser/query-builder/SelectQueryBuilder.d.ts +5 -0
  180. package/browser/query-builder/SelectQueryBuilder.js +98 -56
  181. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  182. package/browser/query-builder/UpdateQueryBuilder.js +2 -1
  183. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  184. package/browser/query-builder/relation-count/RelationCountAttribute.d.ts +7 -7
  185. package/browser/query-builder/relation-count/RelationCountAttribute.js +7 -7
  186. package/browser/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  187. package/browser/query-builder/relation-id/RelationIdAttribute.d.ts +8 -8
  188. package/browser/query-builder/relation-id/RelationIdAttribute.js +8 -8
  189. package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  190. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +3 -3
  191. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  192. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +6 -3
  193. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  194. package/browser/query-runner/QueryRunner.d.ts +1 -1
  195. package/browser/query-runner/QueryRunner.js.map +1 -1
  196. package/browser/repository/AbstractRepository.d.ts +2 -2
  197. package/browser/repository/AbstractRepository.js +2 -2
  198. package/browser/repository/BaseEntity.d.ts +1 -1
  199. package/browser/repository/BaseEntity.js +1 -1
  200. package/browser/repository/Repository.d.ts +4 -4
  201. package/browser/repository/Repository.js +1 -1
  202. package/browser/repository/Repository.js.map +1 -1
  203. package/browser/repository/TreeRepository.js +2 -2
  204. package/browser/repository/TreeRepository.js.map +1 -1
  205. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +2 -2
  206. package/browser/schema-builder/RdbmsSchemaBuilder.js +4 -3
  207. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  208. package/browser/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
  209. package/browser/schema-builder/table/Table.d.ts +1 -1
  210. package/browser/schema-builder/table/Table.js +1 -1
  211. package/browser/subscriber/Broadcaster.d.ts +24 -0
  212. package/browser/subscriber/Broadcaster.js +120 -0
  213. package/browser/subscriber/Broadcaster.js.map +1 -1
  214. package/browser/subscriber/EntitySubscriberInterface.d.ts +27 -0
  215. package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
  216. package/browser/subscriber/event/TransactionCommitEvent.d.ts +22 -0
  217. package/browser/subscriber/event/TransactionCommitEvent.js +3 -0
  218. package/browser/subscriber/event/TransactionCommitEvent.js.map +1 -0
  219. package/browser/subscriber/event/TransactionRollbackEvent.d.ts +22 -0
  220. package/browser/subscriber/event/TransactionRollbackEvent.js +3 -0
  221. package/browser/subscriber/event/TransactionRollbackEvent.js.map +1 -0
  222. package/browser/subscriber/event/TransactionStartEvent.d.ts +22 -0
  223. package/browser/subscriber/event/TransactionStartEvent.js +3 -0
  224. package/browser/subscriber/event/TransactionStartEvent.js.map +1 -0
  225. package/browser/util/DateUtils.d.ts +1 -1
  226. package/browser/util/DateUtils.js +1 -7
  227. package/browser/util/DateUtils.js.map +1 -1
  228. package/browser/util/StringUtils.js.map +1 -1
  229. package/cache/DbQueryResultCache.js +0 -1
  230. package/cache/DbQueryResultCache.js.map +1 -1
  231. package/cache/QueryResultCacheFactory.js +0 -1
  232. package/cache/QueryResultCacheFactory.js.map +1 -1
  233. package/cache/RedisQueryResultCache.js +0 -1
  234. package/cache/RedisQueryResultCache.js.map +1 -1
  235. package/cli.js +2 -2
  236. package/cli.js.map +1 -1
  237. package/commands/CacheClearCommand.js +0 -1
  238. package/commands/CacheClearCommand.js.map +1 -1
  239. package/commands/CommandUtils.js +0 -1
  240. package/commands/CommandUtils.js.map +1 -1
  241. package/commands/EntityCreateCommand.js +5 -3
  242. package/commands/EntityCreateCommand.js.map +1 -1
  243. package/commands/InitCommand.js +1 -2
  244. package/commands/InitCommand.js.map +1 -1
  245. package/commands/MigrationCreateCommand.d.ts +6 -0
  246. package/commands/MigrationCreateCommand.js +22 -5
  247. package/commands/MigrationCreateCommand.js.map +1 -1
  248. package/commands/MigrationGenerateCommand.d.ts +6 -0
  249. package/commands/MigrationGenerateCommand.js +44 -31
  250. package/commands/MigrationGenerateCommand.js.map +1 -1
  251. package/commands/MigrationRevertCommand.js +0 -1
  252. package/commands/MigrationRevertCommand.js.map +1 -1
  253. package/commands/MigrationRunCommand.js +0 -1
  254. package/commands/MigrationRunCommand.js.map +1 -1
  255. package/commands/MigrationShowCommand.js +0 -1
  256. package/commands/MigrationShowCommand.js.map +1 -1
  257. package/commands/QueryCommand.d.ts +2 -0
  258. package/commands/QueryCommand.js +16 -7
  259. package/commands/QueryCommand.js.map +1 -1
  260. package/commands/SchemaDropCommand.js +0 -1
  261. package/commands/SchemaDropCommand.js.map +1 -1
  262. package/commands/SchemaLogCommand.js +0 -1
  263. package/commands/SchemaLogCommand.js.map +1 -1
  264. package/commands/SchemaSyncCommand.js +0 -1
  265. package/commands/SchemaSyncCommand.js.map +1 -1
  266. package/commands/SubscriberCreateCommand.js +5 -3
  267. package/commands/SubscriberCreateCommand.js.map +1 -1
  268. package/commands/VersionCommand.js +0 -1
  269. package/commands/VersionCommand.js.map +1 -1
  270. package/common/EntityFieldsNames.d.ts +6 -0
  271. package/common/EntityFieldsNames.js +4 -0
  272. package/common/EntityFieldsNames.js.map +1 -0
  273. package/connection/Connection.d.ts +2 -2
  274. package/connection/Connection.js +2 -3
  275. package/connection/Connection.js.map +1 -1
  276. package/connection/ConnectionManager.js +0 -1
  277. package/connection/ConnectionManager.js.map +1 -1
  278. package/connection/ConnectionMetadataBuilder.js +0 -1
  279. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  280. package/connection/ConnectionOptionsReader.d.ts +3 -3
  281. package/connection/ConnectionOptionsReader.js +30 -31
  282. package/connection/ConnectionOptionsReader.js.map +1 -1
  283. package/connection/options-reader/ConnectionOptionsEnvReader.js +1 -2
  284. package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  285. package/connection/options-reader/ConnectionOptionsXmlReader.js +0 -1
  286. package/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
  287. package/connection/options-reader/ConnectionOptionsYmlReader.js +0 -1
  288. package/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
  289. package/container.js +0 -1
  290. package/container.js.map +1 -1
  291. package/decorator/Check.js +0 -1
  292. package/decorator/Check.js.map +1 -1
  293. package/decorator/EntityRepository.js +0 -1
  294. package/decorator/EntityRepository.js.map +1 -1
  295. package/decorator/Exclusion.js +0 -1
  296. package/decorator/Exclusion.js.map +1 -1
  297. package/decorator/Generated.js +0 -1
  298. package/decorator/Generated.js.map +1 -1
  299. package/decorator/Index.js +0 -1
  300. package/decorator/Index.js.map +1 -1
  301. package/decorator/Unique.js +0 -1
  302. package/decorator/Unique.js.map +1 -1
  303. package/decorator/columns/Column.js +0 -1
  304. package/decorator/columns/Column.js.map +1 -1
  305. package/decorator/columns/CreateDateColumn.js +0 -1
  306. package/decorator/columns/CreateDateColumn.js.map +1 -1
  307. package/decorator/columns/DeleteDateColumn.js +0 -1
  308. package/decorator/columns/DeleteDateColumn.js.map +1 -1
  309. package/decorator/columns/ObjectIdColumn.js +0 -1
  310. package/decorator/columns/ObjectIdColumn.js.map +1 -1
  311. package/decorator/columns/PrimaryColumn.d.ts +9 -2
  312. package/decorator/columns/PrimaryColumn.js +0 -1
  313. package/decorator/columns/PrimaryColumn.js.map +1 -1
  314. package/decorator/columns/PrimaryGeneratedColumn.js +0 -1
  315. package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  316. package/decorator/columns/UpdateDateColumn.js +0 -1
  317. package/decorator/columns/UpdateDateColumn.js.map +1 -1
  318. package/decorator/columns/VersionColumn.js +0 -1
  319. package/decorator/columns/VersionColumn.js.map +1 -1
  320. package/decorator/columns/ViewColumn.js +0 -1
  321. package/decorator/columns/ViewColumn.js.map +1 -1
  322. package/decorator/entity/ChildEntity.js +1 -2
  323. package/decorator/entity/ChildEntity.js.map +1 -1
  324. package/decorator/entity/Entity.js +0 -1
  325. package/decorator/entity/Entity.js.map +1 -1
  326. package/decorator/entity/TableInheritance.js +0 -1
  327. package/decorator/entity/TableInheritance.js.map +1 -1
  328. package/decorator/entity-view/ViewEntity.js +0 -1
  329. package/decorator/entity-view/ViewEntity.js.map +1 -1
  330. package/decorator/listeners/AfterInsert.js +0 -1
  331. package/decorator/listeners/AfterInsert.js.map +1 -1
  332. package/decorator/listeners/AfterLoad.js +0 -1
  333. package/decorator/listeners/AfterLoad.js.map +1 -1
  334. package/decorator/listeners/AfterRemove.js +0 -1
  335. package/decorator/listeners/AfterRemove.js.map +1 -1
  336. package/decorator/listeners/AfterUpdate.js +0 -1
  337. package/decorator/listeners/AfterUpdate.js.map +1 -1
  338. package/decorator/listeners/BeforeInsert.js +0 -1
  339. package/decorator/listeners/BeforeInsert.js.map +1 -1
  340. package/decorator/listeners/BeforeRemove.js +0 -1
  341. package/decorator/listeners/BeforeRemove.js.map +1 -1
  342. package/decorator/listeners/BeforeUpdate.js +0 -1
  343. package/decorator/listeners/BeforeUpdate.js.map +1 -1
  344. package/decorator/listeners/EventSubscriber.js +0 -1
  345. package/decorator/listeners/EventSubscriber.js.map +1 -1
  346. package/decorator/options/RelationOptions.d.ts +10 -0
  347. package/decorator/options/RelationOptions.js.map +1 -1
  348. package/decorator/relations/JoinColumn.js +0 -1
  349. package/decorator/relations/JoinColumn.js.map +1 -1
  350. package/decorator/relations/JoinTable.js +0 -1
  351. package/decorator/relations/JoinTable.js.map +1 -1
  352. package/decorator/relations/ManyToMany.js +0 -1
  353. package/decorator/relations/ManyToMany.js.map +1 -1
  354. package/decorator/relations/ManyToOne.d.ts +6 -6
  355. package/decorator/relations/ManyToOne.js +5 -6
  356. package/decorator/relations/ManyToOne.js.map +1 -1
  357. package/decorator/relations/OneToMany.d.ts +3 -2
  358. package/decorator/relations/OneToMany.js +4 -4
  359. package/decorator/relations/OneToMany.js.map +1 -1
  360. package/decorator/relations/OneToOne.js +0 -1
  361. package/decorator/relations/OneToOne.js.map +1 -1
  362. package/decorator/relations/RelationCount.js +0 -1
  363. package/decorator/relations/RelationCount.js.map +1 -1
  364. package/decorator/relations/RelationId.js +0 -1
  365. package/decorator/relations/RelationId.js.map +1 -1
  366. package/decorator/transaction/Transaction.d.ts +1 -1
  367. package/decorator/transaction/Transaction.js +2 -3
  368. package/decorator/transaction/Transaction.js.map +1 -1
  369. package/decorator/transaction/TransactionManager.js +0 -1
  370. package/decorator/transaction/TransactionManager.js.map +1 -1
  371. package/decorator/transaction/TransactionRepository.js +0 -1
  372. package/decorator/transaction/TransactionRepository.js.map +1 -1
  373. package/decorator/tree/Tree.d.ts +2 -1
  374. package/decorator/tree/Tree.js +3 -3
  375. package/decorator/tree/Tree.js.map +1 -1
  376. package/decorator/tree/TreeChildren.js +0 -1
  377. package/decorator/tree/TreeChildren.js.map +1 -1
  378. package/decorator/tree/TreeLevelColumn.js +0 -1
  379. package/decorator/tree/TreeLevelColumn.js.map +1 -1
  380. package/decorator/tree/TreeParent.js +0 -1
  381. package/decorator/tree/TreeParent.js.map +1 -1
  382. package/driver/DriverFactory.js +0 -1
  383. package/driver/DriverFactory.js.map +1 -1
  384. package/driver/DriverUtils.js +19 -12
  385. package/driver/DriverUtils.js.map +1 -1
  386. package/driver/Query.js +0 -1
  387. package/driver/Query.js.map +1 -1
  388. package/driver/SqlInMemory.js +0 -1
  389. package/driver/SqlInMemory.js.map +1 -1
  390. package/driver/aurora-data-api/AuroraDataApiConnection.js +0 -1
  391. package/driver/aurora-data-api/AuroraDataApiConnection.js.map +1 -1
  392. package/driver/aurora-data-api/AuroraDataApiDriver.d.ts +0 -1
  393. package/driver/aurora-data-api/AuroraDataApiDriver.js +2 -4
  394. package/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
  395. package/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts +2 -1
  396. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +57 -10
  397. package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
  398. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.d.ts +1 -2
  399. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +3 -4
  400. package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
  401. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.d.ts +2 -1
  402. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +59 -12
  403. package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
  404. package/driver/better-sqlite3/BetterSqlite3Driver.js +0 -1
  405. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  406. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +0 -1
  407. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  408. package/driver/cockroachdb/CockroachDriver.js +3 -4
  409. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  410. package/driver/cockroachdb/CockroachQueryRunner.d.ts +4 -0
  411. package/driver/cockroachdb/CockroachQueryRunner.js +112 -43
  412. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  413. package/driver/cordova/CordovaDriver.js +0 -1
  414. package/driver/cordova/CordovaDriver.js.map +1 -1
  415. package/driver/cordova/CordovaQueryRunner.js +0 -1
  416. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  417. package/driver/expo/ExpoDriver.js +0 -1
  418. package/driver/expo/ExpoDriver.js.map +1 -1
  419. package/driver/expo/ExpoQueryRunner.js +72 -15
  420. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  421. package/driver/mongodb/MongoConnectionOptions.d.ts +4 -0
  422. package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  423. package/driver/mongodb/MongoDriver.d.ts +7 -3
  424. package/driver/mongodb/MongoDriver.js +19 -15
  425. package/driver/mongodb/MongoDriver.js.map +1 -1
  426. package/driver/mongodb/MongoQueryRunner.d.ts +3 -3
  427. package/driver/mongodb/MongoQueryRunner.js +0 -1
  428. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  429. package/driver/mysql/MysqlDriver.js +4 -5
  430. package/driver/mysql/MysqlDriver.js.map +1 -1
  431. package/driver/mysql/MysqlQueryRunner.d.ts +4 -0
  432. package/driver/mysql/MysqlQueryRunner.js +117 -43
  433. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  434. package/driver/nativescript/NativescriptDriver.js +0 -1
  435. package/driver/nativescript/NativescriptDriver.js.map +1 -1
  436. package/driver/nativescript/NativescriptQueryRunner.js +0 -1
  437. package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  438. package/driver/oracle/OracleConnectionOptions.d.ts +4 -0
  439. package/driver/oracle/OracleConnectionOptions.js.map +1 -1
  440. package/driver/oracle/OracleDriver.js +3 -1
  441. package/driver/oracle/OracleDriver.js.map +1 -1
  442. package/driver/oracle/OracleQueryRunner.js +52 -7
  443. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  444. package/driver/postgres/PostgresConnectionOptions.d.ts +4 -0
  445. package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  446. package/driver/postgres/PostgresDriver.d.ts +1 -1
  447. package/driver/postgres/PostgresDriver.js +11 -9
  448. package/driver/postgres/PostgresDriver.js.map +1 -1
  449. package/driver/postgres/PostgresQueryRunner.d.ts +8 -0
  450. package/driver/postgres/PostgresQueryRunner.js +155 -61
  451. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  452. package/driver/react-native/ReactNativeDriver.js +1 -3
  453. package/driver/react-native/ReactNativeDriver.js.map +1 -1
  454. package/driver/react-native/ReactNativeQueryRunner.js +0 -1
  455. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  456. package/driver/sap/SapDriver.js +0 -1
  457. package/driver/sap/SapDriver.js.map +1 -1
  458. package/driver/sap/SapQueryRunner.js +56 -9
  459. package/driver/sap/SapQueryRunner.js.map +1 -1
  460. package/driver/sqlite/SqliteDriver.js +0 -1
  461. package/driver/sqlite/SqliteDriver.js.map +1 -1
  462. package/driver/sqlite/SqliteQueryRunner.js +4 -1
  463. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  464. package/driver/sqlite-abstract/AbstractSqliteDriver.js +0 -1
  465. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  466. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +55 -8
  467. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  468. package/driver/sqljs/SqljsDriver.js +0 -1
  469. package/driver/sqljs/SqljsDriver.js.map +1 -1
  470. package/driver/sqljs/SqljsQueryRunner.js +0 -1
  471. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  472. package/driver/sqlserver/MssqlParameter.js +0 -1
  473. package/driver/sqlserver/MssqlParameter.js.map +1 -1
  474. package/driver/sqlserver/SqlServerDriver.js +0 -1
  475. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  476. package/driver/sqlserver/SqlServerQueryRunner.js +140 -68
  477. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  478. package/driver/types/ColumnTypes.d.ts +1 -1
  479. package/driver/types/ColumnTypes.js.map +1 -1
  480. package/entity-manager/EntityManager.d.ts +13 -13
  481. package/entity-manager/EntityManager.js +5 -17
  482. package/entity-manager/EntityManager.js.map +1 -1
  483. package/entity-manager/EntityManagerFactory.js +0 -1
  484. package/entity-manager/EntityManagerFactory.js.map +1 -1
  485. package/entity-manager/MongoEntityManager.d.ts +1 -1
  486. package/entity-manager/MongoEntityManager.js +15 -5
  487. package/entity-manager/MongoEntityManager.js.map +1 -1
  488. package/entity-manager/SqljsEntityManager.js +0 -1
  489. package/entity-manager/SqljsEntityManager.js.map +1 -1
  490. package/entity-schema/EntitySchema.js +0 -1
  491. package/entity-schema/EntitySchema.js.map +1 -1
  492. package/entity-schema/EntitySchemaOptions.js +0 -1
  493. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  494. package/entity-schema/EntitySchemaTransformer.js +0 -1
  495. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  496. package/error/AlreadyHasActiveConnectionError.js +0 -1
  497. package/error/AlreadyHasActiveConnectionError.js.map +1 -1
  498. package/error/CannotAttachTreeChildrenEntityError.js +0 -1
  499. package/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  500. package/error/CannotConnectAlreadyConnectedError.js +0 -1
  501. package/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  502. package/error/CannotCreateEntityIdMapError.js +0 -1
  503. package/error/CannotCreateEntityIdMapError.js.map +1 -1
  504. package/error/CannotDetermineEntityError.js +0 -1
  505. package/error/CannotDetermineEntityError.js.map +1 -1
  506. package/error/CannotExecuteNotConnectedError.js +0 -1
  507. package/error/CannotExecuteNotConnectedError.js.map +1 -1
  508. package/error/CannotGetEntityManagerNotConnectedError.js +0 -1
  509. package/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  510. package/error/CannotReflectMethodParameterTypeError.js +0 -1
  511. package/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  512. package/error/CircularRelationsError.js +0 -1
  513. package/error/CircularRelationsError.js.map +1 -1
  514. package/error/ColumnTypeUndefinedError.js +0 -1
  515. package/error/ColumnTypeUndefinedError.js.map +1 -1
  516. package/error/ConnectionIsNotSetError.js +0 -1
  517. package/error/ConnectionIsNotSetError.js.map +1 -1
  518. package/error/ConnectionNotFoundError.js +0 -1
  519. package/error/ConnectionNotFoundError.js.map +1 -1
  520. package/error/CustomRepositoryCannotInheritRepositoryError.js +0 -1
  521. package/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
  522. package/error/CustomRepositoryDoesNotHaveEntityError.js +0 -1
  523. package/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
  524. package/error/CustomRepositoryNotFoundError.js +0 -1
  525. package/error/CustomRepositoryNotFoundError.js.map +1 -1
  526. package/error/DataTypeNotSupportedError.js +0 -1
  527. package/error/DataTypeNotSupportedError.js.map +1 -1
  528. package/error/DriverOptionNotSetError.js +0 -1
  529. package/error/DriverOptionNotSetError.js.map +1 -1
  530. package/error/DriverPackageNotInstalledError.js +0 -1
  531. package/error/DriverPackageNotInstalledError.js.map +1 -1
  532. package/error/EntityColumnNotFound.js +0 -1
  533. package/error/EntityColumnNotFound.js.map +1 -1
  534. package/error/EntityMetadataNotFoundError.js +0 -1
  535. package/error/EntityMetadataNotFoundError.js.map +1 -1
  536. package/error/EntityNotFoundError.js +0 -1
  537. package/error/EntityNotFoundError.js.map +1 -1
  538. package/error/FindRelationsNotFoundError.js +0 -1
  539. package/error/FindRelationsNotFoundError.js.map +1 -1
  540. package/error/InitializedRelationError.js +0 -1
  541. package/error/InitializedRelationError.js.map +1 -1
  542. package/error/InsertValuesMissingError.js +0 -1
  543. package/error/InsertValuesMissingError.js.map +1 -1
  544. package/error/LimitOnUpdateNotSupportedError.js +0 -1
  545. package/error/LimitOnUpdateNotSupportedError.js.map +1 -1
  546. package/error/LockNotSupportedOnGivenDriverError.js +0 -1
  547. package/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
  548. package/error/MetadataAlreadyExistsError.js +0 -1
  549. package/error/MetadataAlreadyExistsError.js.map +1 -1
  550. package/error/MetadataWithSuchNameAlreadyExistsError.js +0 -1
  551. package/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
  552. package/error/MissingDeleteDateColumnError.js +0 -1
  553. package/error/MissingDeleteDateColumnError.js.map +1 -1
  554. package/error/MissingDriverError.js +0 -1
  555. package/error/MissingDriverError.js.map +1 -1
  556. package/error/MissingJoinColumnError.js +0 -1
  557. package/error/MissingJoinColumnError.js.map +1 -1
  558. package/error/MissingJoinTableError.js +0 -1
  559. package/error/MissingJoinTableError.js.map +1 -1
  560. package/error/MissingPrimaryColumnError.js +0 -1
  561. package/error/MissingPrimaryColumnError.js.map +1 -1
  562. package/error/MustBeEntityError.js +0 -1
  563. package/error/MustBeEntityError.js.map +1 -1
  564. package/error/NamingStrategyNotFoundError.js +0 -1
  565. package/error/NamingStrategyNotFoundError.js.map +1 -1
  566. package/error/NoConnectionForRepositoryError.js +0 -1
  567. package/error/NoConnectionForRepositoryError.js.map +1 -1
  568. package/error/NoConnectionOptionError.js +0 -1
  569. package/error/NoConnectionOptionError.js.map +1 -1
  570. package/error/NoNeedToReleaseEntityManagerError.js +0 -1
  571. package/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
  572. package/error/NoVersionOrUpdateDateColumnError.js +0 -1
  573. package/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  574. package/error/OffsetWithoutLimitNotSupportedError.js +0 -1
  575. package/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
  576. package/error/OptimisticLockCanNotBeUsedError.js +0 -1
  577. package/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
  578. package/error/OptimisticLockVersionMismatchError.js +0 -1
  579. package/error/OptimisticLockVersionMismatchError.js.map +1 -1
  580. package/error/PersistedEntityNotFoundError.js +0 -1
  581. package/error/PersistedEntityNotFoundError.js.map +1 -1
  582. package/error/PessimisticLockTransactionRequiredError.js +0 -1
  583. package/error/PessimisticLockTransactionRequiredError.js.map +1 -1
  584. package/error/PrimaryColumnCannotBeNullableError.js +0 -1
  585. package/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  586. package/error/QueryFailedError.js +0 -1
  587. package/error/QueryFailedError.js.map +1 -1
  588. package/error/QueryRunnerAlreadyReleasedError.js +0 -1
  589. package/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
  590. package/error/QueryRunnerProviderAlreadyReleasedError.js +0 -1
  591. package/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
  592. package/error/RepositoryNotFoundError.js +0 -1
  593. package/error/RepositoryNotFoundError.js.map +1 -1
  594. package/error/RepositoryNotTreeError.js +0 -1
  595. package/error/RepositoryNotTreeError.js.map +1 -1
  596. package/error/ReturningStatementNotSupportedError.js +0 -1
  597. package/error/ReturningStatementNotSupportedError.js.map +1 -1
  598. package/error/SubjectRemovedAndUpdatedError.js +0 -1
  599. package/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  600. package/error/SubjectWithoutIdentifierError.js +0 -1
  601. package/error/SubjectWithoutIdentifierError.js.map +1 -1
  602. package/error/TransactionAlreadyStartedError.js +0 -1
  603. package/error/TransactionAlreadyStartedError.js.map +1 -1
  604. package/error/TransactionNotStartedError.js +0 -1
  605. package/error/TransactionNotStartedError.js.map +1 -1
  606. package/error/TreeRepositoryNotSupportedError.js +0 -1
  607. package/error/TreeRepositoryNotSupportedError.js.map +1 -1
  608. package/error/UpdateValuesMissingError.js +0 -1
  609. package/error/UpdateValuesMissingError.js.map +1 -1
  610. package/error/UsingJoinColumnIsNotAllowedError.js +0 -1
  611. package/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  612. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +0 -1
  613. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  614. package/error/UsingJoinTableIsNotAllowedError.js +0 -1
  615. package/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  616. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js +0 -1
  617. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  618. package/error/index.d.ts +61 -0
  619. package/error/index.js +66 -0
  620. package/error/index.js.map +1 -0
  621. package/find-options/FindOneOptions.d.ts +6 -1
  622. package/find-options/FindOneOptions.js.map +1 -1
  623. package/find-options/FindOperator.d.ts +25 -6
  624. package/find-options/FindOperator.js +32 -7
  625. package/find-options/FindOperator.js.map +1 -1
  626. package/find-options/FindOperatorType.d.ts +1 -1
  627. package/find-options/FindOperatorType.js.map +1 -1
  628. package/find-options/FindOptionsUtils.d.ts +2 -2
  629. package/find-options/FindOptionsUtils.js +5 -2
  630. package/find-options/FindOptionsUtils.js.map +1 -1
  631. package/find-options/operator/Any.js +0 -1
  632. package/find-options/operator/Any.js.map +1 -1
  633. package/find-options/operator/Between.js +0 -1
  634. package/find-options/operator/Between.js.map +1 -1
  635. package/find-options/operator/Equal.js +0 -1
  636. package/find-options/operator/Equal.js.map +1 -1
  637. package/find-options/operator/ILike.d.ts +6 -0
  638. package/find-options/operator/ILike.js +13 -0
  639. package/find-options/operator/ILike.js.map +1 -0
  640. package/find-options/operator/In.js +0 -1
  641. package/find-options/operator/In.js.map +1 -1
  642. package/find-options/operator/IsNull.js +0 -1
  643. package/find-options/operator/IsNull.js.map +1 -1
  644. package/find-options/operator/LessThan.js +0 -1
  645. package/find-options/operator/LessThan.js.map +1 -1
  646. package/find-options/operator/LessThanOrEqual.js +0 -1
  647. package/find-options/operator/LessThanOrEqual.js.map +1 -1
  648. package/find-options/operator/Like.js +0 -1
  649. package/find-options/operator/Like.js.map +1 -1
  650. package/find-options/operator/MoreThan.js +0 -1
  651. package/find-options/operator/MoreThan.js.map +1 -1
  652. package/find-options/operator/MoreThanOrEqual.js +0 -1
  653. package/find-options/operator/MoreThanOrEqual.js.map +1 -1
  654. package/find-options/operator/Not.js +0 -1
  655. package/find-options/operator/Not.js.map +1 -1
  656. package/find-options/operator/Raw.d.ts +14 -2
  657. package/find-options/operator/Raw.js +5 -7
  658. package/find-options/operator/Raw.js.map +1 -1
  659. package/index.d.ts +3 -1
  660. package/index.js +20 -42
  661. package/index.js.map +1 -1
  662. package/logger/AdvancedConsoleLogger.js +0 -1
  663. package/logger/AdvancedConsoleLogger.js.map +1 -1
  664. package/logger/DebugLogger.js +0 -1
  665. package/logger/DebugLogger.js.map +1 -1
  666. package/logger/FileLogger.js +0 -1
  667. package/logger/FileLogger.js.map +1 -1
  668. package/logger/Logger.d.ts +1 -1
  669. package/logger/Logger.js.map +1 -1
  670. package/logger/LoggerFactory.js +0 -1
  671. package/logger/LoggerFactory.js.map +1 -1
  672. package/logger/SimpleConsoleLogger.js +0 -1
  673. package/logger/SimpleConsoleLogger.js.map +1 -1
  674. package/metadata/CheckMetadata.js +0 -1
  675. package/metadata/CheckMetadata.js.map +1 -1
  676. package/metadata/ColumnMetadata.js +16 -4
  677. package/metadata/ColumnMetadata.js.map +1 -1
  678. package/metadata/EmbeddedMetadata.js +0 -1
  679. package/metadata/EmbeddedMetadata.js.map +1 -1
  680. package/metadata/EntityListenerMetadata.js +0 -1
  681. package/metadata/EntityListenerMetadata.js.map +1 -1
  682. package/metadata/EntityMetadata.d.ts +5 -0
  683. package/metadata/EntityMetadata.js +1 -1
  684. package/metadata/EntityMetadata.js.map +1 -1
  685. package/metadata/ExclusionMetadata.js +0 -1
  686. package/metadata/ExclusionMetadata.js.map +1 -1
  687. package/metadata/ForeignKeyMetadata.js +0 -1
  688. package/metadata/ForeignKeyMetadata.js.map +1 -1
  689. package/metadata/IndexMetadata.js +0 -1
  690. package/metadata/IndexMetadata.js.map +1 -1
  691. package/metadata/RelationCountMetadata.js +0 -1
  692. package/metadata/RelationCountMetadata.js.map +1 -1
  693. package/metadata/RelationIdMetadata.js +0 -1
  694. package/metadata/RelationIdMetadata.js.map +1 -1
  695. package/metadata/RelationMetadata.d.ts +15 -0
  696. package/metadata/RelationMetadata.js +18 -3
  697. package/metadata/RelationMetadata.js.map +1 -1
  698. package/metadata/UniqueMetadata.js +0 -1
  699. package/metadata/UniqueMetadata.js.map +1 -1
  700. package/metadata/types/ClosureTreeOptions.d.ts +10 -0
  701. package/metadata/types/ClosureTreeOptions.js +4 -0
  702. package/metadata/types/ClosureTreeOptions.js.map +1 -0
  703. package/metadata/types/EventListenerTypes.d.ts +7 -7
  704. package/metadata/types/EventListenerTypes.js +0 -1
  705. package/metadata/types/EventListenerTypes.js.map +1 -1
  706. package/metadata-args/MetadataArgsStorage.js +0 -1
  707. package/metadata-args/MetadataArgsStorage.js.map +1 -1
  708. package/metadata-args/TreeMetadataArgs.d.ts +5 -0
  709. package/metadata-args/TreeMetadataArgs.js.map +1 -1
  710. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +3 -4
  711. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  712. package/metadata-builder/EntityMetadataBuilder.js +19 -10
  713. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  714. package/metadata-builder/EntityMetadataValidator.js +8 -6
  715. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  716. package/metadata-builder/JunctionEntityMetadataBuilder.js +2 -3
  717. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  718. package/metadata-builder/MetadataUtils.js +0 -1
  719. package/metadata-builder/MetadataUtils.js.map +1 -1
  720. package/metadata-builder/RelationJoinColumnBuilder.d.ts +1 -0
  721. package/metadata-builder/RelationJoinColumnBuilder.js +5 -6
  722. package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  723. package/migration/Migration.js +0 -1
  724. package/migration/Migration.js.map +1 -1
  725. package/migration/MigrationExecutor.js +0 -1
  726. package/migration/MigrationExecutor.js.map +1 -1
  727. package/naming-strategy/DefaultNamingStrategy.js +0 -1
  728. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  729. package/package.json +7 -5
  730. package/persistence/EntityPersistExecutor.js +55 -53
  731. package/persistence/EntityPersistExecutor.js.map +1 -1
  732. package/persistence/Subject.d.ts +4 -4
  733. package/persistence/Subject.js +6 -6
  734. package/persistence/Subject.js.map +1 -1
  735. package/persistence/SubjectChangedColumnsComputer.js +0 -1
  736. package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  737. package/persistence/SubjectDatabaseEntityLoader.js +0 -1
  738. package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  739. package/persistence/SubjectExecutor.js +9 -6
  740. package/persistence/SubjectExecutor.js.map +1 -1
  741. package/persistence/SubjectTopoligicalSorter.js +0 -1
  742. package/persistence/SubjectTopoligicalSorter.js.map +1 -1
  743. package/persistence/subject-builder/CascadesSubjectBuilder.js +0 -1
  744. package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  745. package/persistence/subject-builder/ManyToManySubjectBuilder.js +0 -1
  746. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  747. package/persistence/subject-builder/OneToManySubjectBuilder.js +9 -5
  748. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  749. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +0 -1
  750. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  751. package/persistence/tree/ClosureSubjectExecutor.d.ts +1 -1
  752. package/persistence/tree/ClosureSubjectExecutor.js +5 -6
  753. package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  754. package/persistence/tree/MaterializedPathSubjectExecutor.js +0 -1
  755. package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  756. package/persistence/tree/NestedSetSubjectExecutor.js +0 -1
  757. package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  758. package/platform/PlatformTools.js +4 -5
  759. package/platform/PlatformTools.js.map +1 -1
  760. package/query-builder/Alias.d.ts +3 -4
  761. package/query-builder/Alias.js +3 -4
  762. package/query-builder/Alias.js.map +1 -1
  763. package/query-builder/Brackets.js +0 -1
  764. package/query-builder/Brackets.js.map +1 -1
  765. package/query-builder/DeleteQueryBuilder.js +2 -2
  766. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  767. package/query-builder/InsertQueryBuilder.d.ts +6 -0
  768. package/query-builder/InsertQueryBuilder.js +62 -14
  769. package/query-builder/InsertQueryBuilder.js.map +1 -1
  770. package/query-builder/JoinAttribute.d.ts +10 -10
  771. package/query-builder/JoinAttribute.js +10 -11
  772. package/query-builder/JoinAttribute.js.map +1 -1
  773. package/query-builder/QueryBuilder.d.ts +8 -1
  774. package/query-builder/QueryBuilder.js +167 -33
  775. package/query-builder/QueryBuilder.js.map +1 -1
  776. package/query-builder/QueryBuilderUtils.js +0 -1
  777. package/query-builder/QueryBuilderUtils.js.map +1 -1
  778. package/query-builder/QueryExpressionMap.d.ts +6 -2
  779. package/query-builder/QueryExpressionMap.js +3 -3
  780. package/query-builder/QueryExpressionMap.js.map +1 -1
  781. package/query-builder/RelationIdLoader.js +0 -1
  782. package/query-builder/RelationIdLoader.js.map +1 -1
  783. package/query-builder/RelationLoader.js +1 -2
  784. package/query-builder/RelationLoader.js.map +1 -1
  785. package/query-builder/RelationQueryBuilder.js +0 -1
  786. package/query-builder/RelationQueryBuilder.js.map +1 -1
  787. package/query-builder/RelationRemover.js +0 -1
  788. package/query-builder/RelationRemover.js.map +1 -1
  789. package/query-builder/RelationUpdater.js +0 -1
  790. package/query-builder/RelationUpdater.js.map +1 -1
  791. package/query-builder/ReturningResultsEntityUpdator.js +0 -1
  792. package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  793. package/query-builder/SelectQueryBuilder.d.ts +5 -0
  794. package/query-builder/SelectQueryBuilder.js +98 -57
  795. package/query-builder/SelectQueryBuilder.js.map +1 -1
  796. package/query-builder/SoftDeleteQueryBuilder.js +0 -1
  797. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  798. package/query-builder/UpdateQueryBuilder.js +2 -2
  799. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  800. package/query-builder/relation-count/RelationCountAttribute.d.ts +7 -7
  801. package/query-builder/relation-count/RelationCountAttribute.js +7 -8
  802. package/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  803. package/query-builder/relation-count/RelationCountLoader.js +0 -1
  804. package/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  805. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +0 -1
  806. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
  807. package/query-builder/relation-id/RelationIdAttribute.d.ts +8 -8
  808. package/query-builder/relation-id/RelationIdAttribute.js +8 -9
  809. package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  810. package/query-builder/relation-id/RelationIdLoader.js +0 -1
  811. package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  812. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +0 -1
  813. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  814. package/query-builder/result/DeleteResult.js +0 -1
  815. package/query-builder/result/DeleteResult.js.map +1 -1
  816. package/query-builder/result/InsertResult.js +0 -1
  817. package/query-builder/result/InsertResult.js.map +1 -1
  818. package/query-builder/result/UpdateResult.js +0 -1
  819. package/query-builder/result/UpdateResult.js.map +1 -1
  820. package/query-builder/transformer/DocumentToEntityTransformer.js +0 -1
  821. package/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  822. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +3 -4
  823. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  824. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js +0 -1
  825. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  826. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +6 -4
  827. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  828. package/query-runner/BaseQueryRunner.js +0 -1
  829. package/query-runner/BaseQueryRunner.js.map +1 -1
  830. package/query-runner/QueryRunner.d.ts +1 -1
  831. package/query-runner/QueryRunner.js.map +1 -1
  832. package/repository/AbstractRepository.d.ts +2 -2
  833. package/repository/AbstractRepository.js +2 -3
  834. package/repository/AbstractRepository.js.map +1 -1
  835. package/repository/BaseEntity.d.ts +1 -1
  836. package/repository/BaseEntity.js +1 -2
  837. package/repository/BaseEntity.js.map +1 -1
  838. package/repository/MongoRepository.js +0 -1
  839. package/repository/MongoRepository.js.map +1 -1
  840. package/repository/Repository.d.ts +4 -4
  841. package/repository/Repository.js +1 -2
  842. package/repository/Repository.js.map +1 -1
  843. package/repository/RepositoryFactory.js +0 -1
  844. package/repository/RepositoryFactory.js.map +1 -1
  845. package/repository/TreeRepository.js +2 -3
  846. package/repository/TreeRepository.js.map +1 -1
  847. package/schema-builder/MongoSchemaBuilder.js +0 -1
  848. package/schema-builder/MongoSchemaBuilder.js.map +1 -1
  849. package/schema-builder/RdbmsSchemaBuilder.d.ts +2 -2
  850. package/schema-builder/RdbmsSchemaBuilder.js +4 -4
  851. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  852. package/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
  853. package/schema-builder/table/Table.d.ts +1 -1
  854. package/schema-builder/table/Table.js +1 -2
  855. package/schema-builder/table/Table.js.map +1 -1
  856. package/schema-builder/table/TableCheck.js +0 -1
  857. package/schema-builder/table/TableCheck.js.map +1 -1
  858. package/schema-builder/table/TableColumn.js +0 -1
  859. package/schema-builder/table/TableColumn.js.map +1 -1
  860. package/schema-builder/table/TableExclusion.js +0 -1
  861. package/schema-builder/table/TableExclusion.js.map +1 -1
  862. package/schema-builder/table/TableForeignKey.js +0 -1
  863. package/schema-builder/table/TableForeignKey.js.map +1 -1
  864. package/schema-builder/table/TableIndex.js +0 -1
  865. package/schema-builder/table/TableIndex.js.map +1 -1
  866. package/schema-builder/table/TableUnique.js +0 -1
  867. package/schema-builder/table/TableUnique.js.map +1 -1
  868. package/schema-builder/util/TableUtils.js +0 -1
  869. package/schema-builder/util/TableUtils.js.map +1 -1
  870. package/schema-builder/view/View.js +0 -1
  871. package/schema-builder/view/View.js.map +1 -1
  872. package/subscriber/Broadcaster.d.ts +24 -0
  873. package/subscriber/Broadcaster.js +120 -1
  874. package/subscriber/Broadcaster.js.map +1 -1
  875. package/subscriber/BroadcasterResult.js +0 -1
  876. package/subscriber/BroadcasterResult.js.map +1 -1
  877. package/subscriber/EntitySubscriberInterface.d.ts +27 -0
  878. package/subscriber/EntitySubscriberInterface.js.map +1 -1
  879. package/subscriber/event/TransactionCommitEvent.d.ts +22 -0
  880. package/subscriber/event/TransactionCommitEvent.js +4 -0
  881. package/subscriber/event/TransactionCommitEvent.js.map +1 -0
  882. package/subscriber/event/TransactionRollbackEvent.d.ts +22 -0
  883. package/subscriber/event/TransactionRollbackEvent.js +4 -0
  884. package/subscriber/event/TransactionRollbackEvent.js.map +1 -0
  885. package/subscriber/event/TransactionStartEvent.d.ts +22 -0
  886. package/subscriber/event/TransactionStartEvent.js +4 -0
  887. package/subscriber/event/TransactionStartEvent.js.map +1 -0
  888. package/typeorm-model-shim.js +145 -128
  889. package/util/ApplyValueTransformers.js +0 -1
  890. package/util/ApplyValueTransformers.js.map +1 -1
  891. package/util/DateUtils.d.ts +1 -1
  892. package/util/DateUtils.js +1 -8
  893. package/util/DateUtils.js.map +1 -1
  894. package/util/DepGraph.js +0 -1
  895. package/util/DepGraph.js.map +1 -1
  896. package/util/DirectoryExportedClassesLoader.js +0 -1
  897. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  898. package/util/ObjectUtils.js +0 -1
  899. package/util/ObjectUtils.js.map +1 -1
  900. package/util/OrmUtils.js +0 -1
  901. package/util/OrmUtils.js.map +1 -1
  902. package/util/RandomGenerator.js +0 -1
  903. package/util/RandomGenerator.js.map +1 -1
  904. package/util/StringUtils.js +0 -1
  905. package/util/StringUtils.js.map +1 -1
  906. package/util/VersionUtils.js +0 -1
  907. package/util/VersionUtils.js.map +1 -1
@@ -26,7 +26,7 @@ var JoinAttribute = /** @class */ (function () {
26
26
  return this.relation.isManyToMany || this.relation.isOneToMany;
27
27
  return false;
28
28
  },
29
- enumerable: false,
29
+ enumerable: true,
30
30
  configurable: true
31
31
  });
32
32
  Object.defineProperty(JoinAttribute.prototype, "isSelected", {
@@ -66,7 +66,7 @@ var JoinAttribute = /** @class */ (function () {
66
66
  }
67
67
  return this.isSelectedCache;
68
68
  },
69
- enumerable: false,
69
+ enumerable: true,
70
70
  configurable: true
71
71
  });
72
72
  Object.defineProperty(JoinAttribute.prototype, "tablePath", {
@@ -76,7 +76,7 @@ var JoinAttribute = /** @class */ (function () {
76
76
  get: function () {
77
77
  return this.metadata ? this.metadata.tablePath : this.entityOrProperty;
78
78
  },
79
- enumerable: false,
79
+ enumerable: true,
80
80
  configurable: true
81
81
  });
82
82
  Object.defineProperty(JoinAttribute.prototype, "parentAlias", {
@@ -91,7 +91,7 @@ var JoinAttribute = /** @class */ (function () {
91
91
  return undefined;
92
92
  return this.entityOrProperty.substr(0, this.entityOrProperty.indexOf("."));
93
93
  },
94
- enumerable: false,
94
+ enumerable: true,
95
95
  configurable: true
96
96
  });
97
97
  Object.defineProperty(JoinAttribute.prototype, "relationPropertyPath", {
@@ -107,7 +107,7 @@ var JoinAttribute = /** @class */ (function () {
107
107
  return undefined;
108
108
  return this.entityOrProperty.substr(this.entityOrProperty.indexOf(".") + 1);
109
109
  },
110
- enumerable: false,
110
+ enumerable: true,
111
111
  configurable: true
112
112
  });
113
113
  Object.defineProperty(JoinAttribute.prototype, "relation", {
@@ -141,7 +141,7 @@ var JoinAttribute = /** @class */ (function () {
141
141
  }
142
142
  return this.relationCache;
143
143
  },
144
- enumerable: false,
144
+ enumerable: true,
145
145
  configurable: true
146
146
  });
147
147
  Object.defineProperty(JoinAttribute.prototype, "metadata", {
@@ -169,7 +169,7 @@ var JoinAttribute = /** @class */ (function () {
169
169
  return this.connection.entityMetadatas.find(metadata => metadata.tableName === this.entityOrProperty);
170
170
  }*/
171
171
  },
172
- enumerable: false,
172
+ enumerable: true,
173
173
  configurable: true
174
174
  });
175
175
  Object.defineProperty(JoinAttribute.prototype, "junctionAlias", {
@@ -181,7 +181,7 @@ var JoinAttribute = /** @class */ (function () {
181
181
  throw new Error("Cannot get junction table for join without relation.");
182
182
  return this.relation.isOwning ? this.parentAlias + "_" + this.alias.name : this.alias.name + "_" + this.parentAlias;
183
183
  },
184
- enumerable: false,
184
+ enumerable: true,
185
185
  configurable: true
186
186
  });
187
187
  Object.defineProperty(JoinAttribute.prototype, "mapToPropertyParentAlias", {
@@ -190,7 +190,7 @@ var JoinAttribute = /** @class */ (function () {
190
190
  return undefined;
191
191
  return this.mapToProperty.split(".")[0];
192
192
  },
193
- enumerable: false,
193
+ enumerable: true,
194
194
  configurable: true
195
195
  });
196
196
  Object.defineProperty(JoinAttribute.prototype, "mapToPropertyPropertyName", {
@@ -199,7 +199,7 @@ var JoinAttribute = /** @class */ (function () {
199
199
  return undefined;
200
200
  return this.mapToProperty.split(".")[1];
201
201
  },
202
- enumerable: false,
202
+ enumerable: true,
203
203
  configurable: true
204
204
  });
205
205
  return JoinAttribute;
@@ -45,7 +45,7 @@ export declare abstract class QueryBuilder<Entity> {
45
45
  /**
46
46
  * Gets the main alias string used in this query builder.
47
47
  */
48
- get alias(): string;
48
+ readonly alias: string;
49
49
  /**
50
50
  * Creates SELECT query.
51
51
  * Replaces all previous selections if they exist.
@@ -154,6 +154,12 @@ export declare abstract class QueryBuilder<Entity> {
154
154
  * where queryBuilder is cloned QueryBuilder.
155
155
  */
156
156
  clone(): this;
157
+ /**
158
+ * Includes a Query comment in the query builder. This is helpful for debugging purposes,
159
+ * such as finding a specific query in the database server's logs, or for categorization using
160
+ * an APM product.
161
+ */
162
+ comment(comment: string): this;
157
163
  /**
158
164
  * Disables escaping.
159
165
  */
@@ -193,6 +199,7 @@ export declare abstract class QueryBuilder<Entity> {
193
199
  * Replaces all entity's propertyName to name in the given statement.
194
200
  */
195
201
  protected replacePropertyNames(statement: string): string;
202
+ protected createComment(): string;
196
203
  /**
197
204
  * Creates "WHERE" expression.
198
205
  */
@@ -1,11 +1,12 @@
1
- import { __awaiter, __generator, __read, __spread } from "tslib";
1
+ import { __awaiter, __generator, __read, __spread, __values } from "tslib";
2
2
  import { QueryExpressionMap } from "./QueryExpressionMap";
3
3
  import { Brackets } from "./Brackets";
4
4
  import { EntityMetadata } from "../metadata/EntityMetadata";
5
5
  import { SqljsDriver } from "../driver/sqljs/SqljsDriver";
6
+ import { PostgresDriver } from "../driver/postgres/PostgresDriver";
7
+ import { CockroachDriver } from "../driver/cockroachdb/CockroachDriver";
6
8
  import { SqlServerDriver } from "../driver/sqlserver/SqlServerDriver";
7
9
  import { OracleDriver } from "../driver/oracle/OracleDriver";
8
- import { MysqlDriver } from "../driver/mysql/MysqlDriver";
9
10
  import { EntitySchema } from "../";
10
11
  import { FindOperator } from "../find-options/FindOperator";
11
12
  import { In } from "../find-options/operator/In";
@@ -54,7 +55,7 @@ var QueryBuilder = /** @class */ (function () {
54
55
  throw new Error("Main alias is not set"); // todo: better exception
55
56
  return this.expressionMap.mainAlias.name;
56
57
  },
57
- enumerable: false,
58
+ enumerable: true,
58
59
  configurable: true
59
60
  });
60
61
  /**
@@ -291,6 +292,15 @@ var QueryBuilder = /** @class */ (function () {
291
292
  QueryBuilder.prototype.clone = function () {
292
293
  return new this.constructor(this);
293
294
  };
295
+ /**
296
+ * Includes a Query comment in the query builder. This is helpful for debugging purposes,
297
+ * such as finding a specific query in the database server's logs, or for categorization using
298
+ * an APM product.
299
+ */
300
+ QueryBuilder.prototype.comment = function (comment) {
301
+ this.expressionMap.comment = comment;
302
+ return this;
303
+ };
294
304
  /**
295
305
  * Disables escaping.
296
306
  */
@@ -395,31 +405,142 @@ var QueryBuilder = /** @class */ (function () {
395
405
  * Replaces all entity's propertyName to name in the given statement.
396
406
  */
397
407
  QueryBuilder.prototype.replacePropertyNames = function (statement) {
408
+ var e_1, _a;
398
409
  var _this = this;
399
- this.expressionMap.aliases.forEach(function (alias) {
410
+ // Escape special characters in regular expressions
411
+ // Per https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Escaping
412
+ var escapeRegExp = function (s) { return s.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); };
413
+ var _loop_1 = function (alias) {
414
+ var e_2, _a, e_3, _b, e_4, _c, e_5, _d, e_6, _e, e_7, _f;
400
415
  if (!alias.hasMetadata)
401
- return;
402
- var replaceAliasNamePrefix = _this.expressionMap.aliasNamePrefixingEnabled ? alias.name + "\\." : "";
403
- var replacementAliasNamePrefix = _this.expressionMap.aliasNamePrefixingEnabled ? _this.escape(alias.name) + "." : "";
404
- alias.metadata.columns.forEach(function (column) {
405
- var expression = "([ =\(]|^.{0})" + replaceAliasNamePrefix + column.propertyPath + "([ =\)\,]|.{0}$)";
406
- statement = statement.replace(new RegExp(expression, "gm"), "$1" + replacementAliasNamePrefix + _this.escape(column.databaseName) + "$2");
407
- var expression2 = "([ =\(]|^.{0})" + replaceAliasNamePrefix + column.propertyName + "([ =\)\,]|.{0}$)";
408
- statement = statement.replace(new RegExp(expression2, "gm"), "$1" + replacementAliasNamePrefix + _this.escape(column.databaseName) + "$2");
409
- });
410
- alias.metadata.relations.forEach(function (relation) {
411
- __spread(relation.joinColumns, relation.inverseJoinColumns).forEach(function (joinColumn) {
412
- var expression = "([ =\(]|^.{0})" + replaceAliasNamePrefix + relation.propertyPath + "\\." + joinColumn.referencedColumn.propertyPath + "([ =\)\,]|.{0}$)";
413
- statement = statement.replace(new RegExp(expression, "gm"), "$1" + replacementAliasNamePrefix + _this.escape(joinColumn.databaseName) + "$2"); // todo: fix relation.joinColumns[0], what if multiple columns
414
- });
415
- if (relation.joinColumns.length > 0) {
416
- var expression = "([ =\(]|^.{0})" + replaceAliasNamePrefix + relation.propertyPath + "([ =\)\,]|.{0}$)";
417
- statement = statement.replace(new RegExp(expression, "gm"), "$1" + replacementAliasNamePrefix + _this.escape(relation.joinColumns[0].databaseName) + "$2"); // todo: fix relation.joinColumns[0], what if multiple columns
416
+ return "continue";
417
+ var replaceAliasNamePrefix = this_1.expressionMap.aliasNamePrefixingEnabled ? alias.name + "." : "";
418
+ var replacementAliasNamePrefix = this_1.expressionMap.aliasNamePrefixingEnabled ? this_1.escape(alias.name) + "." : "";
419
+ var replacements = {};
420
+ try {
421
+ // Insert & overwrite the replacements from least to most relevant in our replacements object.
422
+ // To do this we iterate and overwrite in the order of relevance.
423
+ // Least to Most Relevant:
424
+ // * Relation Property Path to first join column key
425
+ // * Relation Property Path + Column Path
426
+ // * Column Database Name
427
+ // * Column Propety Name
428
+ // * Column Property Path
429
+ for (var _g = (e_2 = void 0, __values(alias.metadata.relations)), _h = _g.next(); !_h.done; _h = _g.next()) {
430
+ var relation = _h.value;
431
+ if (relation.joinColumns.length > 0)
432
+ replacements[relation.propertyPath] = relation.joinColumns[0].databaseName;
418
433
  }
419
- });
420
- });
434
+ }
435
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
436
+ finally {
437
+ try {
438
+ if (_h && !_h.done && (_a = _g.return)) _a.call(_g);
439
+ }
440
+ finally { if (e_2) throw e_2.error; }
441
+ }
442
+ try {
443
+ for (var _j = (e_3 = void 0, __values(alias.metadata.relations)), _k = _j.next(); !_k.done; _k = _j.next()) {
444
+ var relation = _k.value;
445
+ try {
446
+ for (var _l = (e_4 = void 0, __values(__spread(relation.joinColumns, relation.inverseJoinColumns))), _m = _l.next(); !_m.done; _m = _l.next()) {
447
+ var joinColumn = _m.value;
448
+ var propertyKey = relation.propertyPath + "." + joinColumn.referencedColumn.propertyPath;
449
+ replacements[propertyKey] = joinColumn.databaseName;
450
+ }
451
+ }
452
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
453
+ finally {
454
+ try {
455
+ if (_m && !_m.done && (_c = _l.return)) _c.call(_l);
456
+ }
457
+ finally { if (e_4) throw e_4.error; }
458
+ }
459
+ }
460
+ }
461
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
462
+ finally {
463
+ try {
464
+ if (_k && !_k.done && (_b = _j.return)) _b.call(_j);
465
+ }
466
+ finally { if (e_3) throw e_3.error; }
467
+ }
468
+ try {
469
+ for (var _o = (e_5 = void 0, __values(alias.metadata.columns)), _p = _o.next(); !_p.done; _p = _o.next()) {
470
+ var column = _p.value;
471
+ replacements[column.databaseName] = column.databaseName;
472
+ }
473
+ }
474
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
475
+ finally {
476
+ try {
477
+ if (_p && !_p.done && (_d = _o.return)) _d.call(_o);
478
+ }
479
+ finally { if (e_5) throw e_5.error; }
480
+ }
481
+ try {
482
+ for (var _q = (e_6 = void 0, __values(alias.metadata.columns)), _r = _q.next(); !_r.done; _r = _q.next()) {
483
+ var column = _r.value;
484
+ replacements[column.propertyName] = column.databaseName;
485
+ }
486
+ }
487
+ catch (e_6_1) { e_6 = { error: e_6_1 }; }
488
+ finally {
489
+ try {
490
+ if (_r && !_r.done && (_e = _q.return)) _e.call(_q);
491
+ }
492
+ finally { if (e_6) throw e_6.error; }
493
+ }
494
+ try {
495
+ for (var _s = (e_7 = void 0, __values(alias.metadata.columns)), _t = _s.next(); !_t.done; _t = _s.next()) {
496
+ var column = _t.value;
497
+ replacements[column.propertyPath] = column.databaseName;
498
+ }
499
+ }
500
+ catch (e_7_1) { e_7 = { error: e_7_1 }; }
501
+ finally {
502
+ try {
503
+ if (_t && !_t.done && (_f = _s.return)) _f.call(_s);
504
+ }
505
+ finally { if (e_7) throw e_7.error; }
506
+ }
507
+ var replacementKeys = Object.keys(replacements);
508
+ if (replacementKeys.length) {
509
+ statement = statement.replace(new RegExp(
510
+ // Avoid a lookbehind here since it's not well supported
511
+ "([ =(]|^.{0})" +
512
+ (escapeRegExp(replaceAliasNamePrefix) + "(" + replacementKeys.map(escapeRegExp).join("|") + ")") +
513
+ "(?=[ =),]|.{0}$)", "gm"), function (_, pre, p) {
514
+ return "" + pre + replacementAliasNamePrefix + _this.escape(replacements[p]);
515
+ });
516
+ }
517
+ };
518
+ var this_1 = this;
519
+ try {
520
+ for (var _b = __values(this.expressionMap.aliases), _c = _b.next(); !_c.done; _c = _b.next()) {
521
+ var alias = _c.value;
522
+ _loop_1(alias);
523
+ }
524
+ }
525
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
526
+ finally {
527
+ try {
528
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
529
+ }
530
+ finally { if (e_1) throw e_1.error; }
531
+ }
421
532
  return statement;
422
533
  };
534
+ QueryBuilder.prototype.createComment = function () {
535
+ if (!this.expressionMap.comment) {
536
+ return "";
537
+ }
538
+ // ANSI SQL 2003 support C style comments - comments that start with `/*` and end with `*/`
539
+ // In some dialects query nesting is available - but not all. Because of this, we'll need
540
+ // to scrub "ending" characters from the SQL but otherwise we can leave everything else
541
+ // as-is and it should be valid.
542
+ return "/* " + this.expressionMap.comment.replace("*/", "") + " */ ";
543
+ };
423
544
  /**
424
545
  * Creates "WHERE" expression.
425
546
  */
@@ -588,6 +709,9 @@ var QueryBuilder = /** @class */ (function () {
588
709
  return where;
589
710
  if (where instanceof Brackets) {
590
711
  var whereQueryBuilder = this.createQueryBuilder();
712
+ whereQueryBuilder.expressionMap.mainAlias = this.expressionMap.mainAlias;
713
+ whereQueryBuilder.expressionMap.aliasNamePrefixingEnabled = this.expressionMap.aliasNamePrefixingEnabled;
714
+ whereQueryBuilder.expressionMap.nativeParameters = this.expressionMap.nativeParameters;
591
715
  where.whereFactory(whereQueryBuilder);
592
716
  var whereString = whereQueryBuilder.createWhereExpressionString();
593
717
  this.setParameters(whereQueryBuilder.getParameters());
@@ -619,12 +743,17 @@ var QueryBuilder = /** @class */ (function () {
619
743
  else if (parameterValue instanceof FindOperator) {
620
744
  var parameters_1 = [];
621
745
  if (parameterValue.useParameter) {
622
- var realParameterValues = parameterValue.multipleParameters ? parameterValue.value : [parameterValue.value];
623
- realParameterValues.forEach(function (realParameterValue, realParameterValueIndex) {
624
- _this.expressionMap.nativeParameters[parameterName + (parameterBaseCount + realParameterValueIndex)] = realParameterValue;
625
- parameterIndex_1++;
626
- parameters_1.push(_this.connection.driver.createParameter(parameterName + (parameterBaseCount + realParameterValueIndex), parameterIndex_1 - 1));
627
- });
746
+ if (parameterValue.objectLiteralParameters) {
747
+ _this.setParameters(parameterValue.objectLiteralParameters);
748
+ }
749
+ else {
750
+ var realParameterValues = parameterValue.multipleParameters ? parameterValue.value : [parameterValue.value];
751
+ realParameterValues.forEach(function (realParameterValue, realParameterValueIndex) {
752
+ _this.expressionMap.nativeParameters[parameterName + (parameterBaseCount + realParameterValueIndex)] = realParameterValue;
753
+ parameterIndex_1++;
754
+ parameters_1.push(_this.connection.driver.createParameter(parameterName + (parameterBaseCount + realParameterValueIndex), parameterIndex_1 - 1));
755
+ });
756
+ }
628
757
  }
629
758
  return _this.computeFindOperatorExpression(parameterValue, aliasPath, parameters_1);
630
759
  }
@@ -665,6 +794,7 @@ var QueryBuilder = /** @class */ (function () {
665
794
  * Gets SQL needs to be inserted into final query.
666
795
  */
667
796
  QueryBuilder.prototype.computeFindOperatorExpression = function (operator, aliasPath, parameters) {
797
+ var driver = this.connection.driver;
668
798
  switch (operator.type) {
669
799
  case "not":
670
800
  if (operator.child) {
@@ -683,13 +813,18 @@ var QueryBuilder = /** @class */ (function () {
683
813
  return aliasPath + " >= " + parameters[0];
684
814
  case "equal":
685
815
  return aliasPath + " = " + parameters[0];
816
+ case "ilike":
817
+ if (driver instanceof PostgresDriver || driver instanceof CockroachDriver) {
818
+ return aliasPath + " ILIKE " + parameters[0];
819
+ }
820
+ return "UPPER(" + aliasPath + ") LIKE UPPER(" + parameters[0] + ")";
686
821
  case "like":
687
822
  return aliasPath + " LIKE " + parameters[0];
688
823
  case "between":
689
824
  return aliasPath + " BETWEEN " + parameters[0] + " AND " + parameters[1];
690
825
  case "in":
691
- if ((this.connection.driver instanceof OracleDriver || this.connection.driver instanceof MysqlDriver) && parameters.length === 0) {
692
- return aliasPath + " IN (null)";
826
+ if (parameters.length === 0) {
827
+ return "0=1";
693
828
  }
694
829
  return aliasPath + " IN (" + parameters.join(", ") + ")";
695
830
  case "any":
@@ -697,8 +832,8 @@ var QueryBuilder = /** @class */ (function () {
697
832
  case "isNull":
698
833
  return aliasPath + " IS NULL";
699
834
  case "raw":
700
- if (typeof operator.value === "function") {
701
- return operator.value(aliasPath);
835
+ if (operator.getSql) {
836
+ return operator.getSql(aliasPath);
702
837
  }
703
838
  else {
704
839
  return aliasPath + " = " + operator.value;