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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. package/browser/cache/DbQueryResultCache.js +3 -0
  2. package/browser/cache/DbQueryResultCache.js.map +1 -1
  3. package/browser/data-source/BaseDataSourceOptions.d.ts +4 -0
  4. package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
  5. package/browser/data-source/DataSource.d.ts +4 -0
  6. package/browser/data-source/DataSource.js +14 -0
  7. package/browser/data-source/DataSource.js.map +1 -1
  8. package/browser/decorator/Index.js +1 -0
  9. package/browser/decorator/Index.js.map +1 -1
  10. package/browser/decorator/options/IndexOptions.d.ts +5 -0
  11. package/browser/decorator/options/IndexOptions.js.map +1 -1
  12. package/browser/driver/Driver.d.ts +4 -0
  13. package/browser/driver/Driver.js.map +1 -1
  14. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +9 -6
  15. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  16. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js +9 -6
  17. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  18. package/browser/driver/cockroachdb/CockroachConnectionOptions.d.ts +6 -0
  19. package/browser/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  20. package/browser/driver/cockroachdb/CockroachDriver.d.ts +4 -0
  21. package/browser/driver/cockroachdb/CockroachDriver.js +10 -1
  22. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  23. package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +6 -1
  24. package/browser/driver/cockroachdb/CockroachQueryRunner.js +46 -17
  25. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  26. package/browser/driver/cordova/CordovaDriver.js +2 -2
  27. package/browser/driver/cordova/CordovaDriver.js.map +1 -1
  28. package/browser/driver/cordova/CordovaQueryRunner.js +8 -0
  29. package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
  30. package/browser/driver/expo/ExpoQueryRunner.js +9 -2
  31. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  32. package/browser/driver/mongodb/MongoQueryRunner.d.ts +3 -3
  33. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  34. package/browser/driver/mongodb/typings.d.ts +3 -3
  35. package/browser/driver/mongodb/typings.js.map +1 -1
  36. package/browser/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
  37. package/browser/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  38. package/browser/driver/mysql/MysqlQueryRunner.js +18 -7
  39. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  40. package/browser/driver/oracle/OracleConnectionOptions.d.ts +14 -0
  41. package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
  42. package/browser/driver/oracle/OracleDriver.d.ts +4 -0
  43. package/browser/driver/oracle/OracleDriver.js +17 -2
  44. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  45. package/browser/driver/oracle/OracleQueryRunner.js +48 -6
  46. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  47. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +5 -0
  48. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  49. package/browser/driver/postgres/PostgresConnectionOptions.d.ts +6 -5
  50. package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  51. package/browser/driver/postgres/PostgresDriver.d.ts +4 -0
  52. package/browser/driver/postgres/PostgresDriver.js +13 -4
  53. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  54. package/browser/driver/postgres/PostgresQueryRunner.js +46 -23
  55. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  56. package/browser/driver/react-native/ReactNativeQueryRunner.js +10 -2
  57. package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  58. package/browser/driver/sap/SapDriver.d.ts +8 -0
  59. package/browser/driver/sap/SapDriver.js +14 -3
  60. package/browser/driver/sap/SapDriver.js.map +1 -1
  61. package/browser/driver/sap/SapQueryRunner.d.ts +5 -14
  62. package/browser/driver/sap/SapQueryRunner.js +75 -65
  63. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  64. package/browser/driver/spanner/SpannerConnectionOptions.d.ts +6 -0
  65. package/browser/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  66. package/browser/driver/spanner/SpannerDriver.d.ts +4 -0
  67. package/browser/driver/spanner/SpannerDriver.js +10 -1
  68. package/browser/driver/spanner/SpannerDriver.js.map +1 -1
  69. package/browser/driver/spanner/SpannerQueryRunner.js +6 -0
  70. package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
  71. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  72. package/browser/driver/sqlite/SqliteQueryRunner.js +61 -46
  73. package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  74. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +10 -16
  75. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  76. package/browser/driver/sqljs/SqljsQueryRunner.js +11 -3
  77. package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  78. package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +6 -5
  79. package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  80. package/browser/driver/sqlserver/SqlServerDriver.d.ts +4 -0
  81. package/browser/driver/sqlserver/SqlServerDriver.js +10 -1
  82. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  83. package/browser/driver/sqlserver/SqlServerQueryRunner.js +12 -5
  84. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  85. package/browser/entity-manager/EntityManager.d.ts +5 -1
  86. package/browser/entity-manager/EntityManager.js +10 -1
  87. package/browser/entity-manager/EntityManager.js.map +1 -1
  88. package/browser/entity-manager/MongoEntityManager.d.ts +8 -4
  89. package/browser/entity-manager/MongoEntityManager.js +12 -10
  90. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  91. package/browser/entity-schema/EntitySchemaOptions.d.ts +4 -0
  92. package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
  93. package/browser/entity-schema/EntitySchemaTransformer.js +7 -0
  94. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  95. package/browser/error/EntityNotFoundError.d.ts +2 -0
  96. package/browser/error/EntityNotFoundError.js +2 -0
  97. package/browser/error/EntityNotFoundError.js.map +1 -1
  98. package/browser/find-options/FindOperatorType.d.ts +1 -1
  99. package/browser/find-options/FindOperatorType.js.map +1 -1
  100. package/browser/find-options/FindOptionsWhere.d.ts +1 -1
  101. package/browser/find-options/FindOptionsWhere.js.map +1 -1
  102. package/browser/find-options/operator/Or.d.ts +2 -0
  103. package/browser/find-options/operator/Or.js +6 -0
  104. package/browser/find-options/operator/Or.js.map +1 -0
  105. package/browser/index.d.ts +1 -0
  106. package/browser/index.js +1 -0
  107. package/browser/index.js.map +1 -1
  108. package/browser/logger/AbstractLogger.js +1 -1
  109. package/browser/logger/AbstractLogger.js.map +1 -1
  110. package/browser/metadata/ColumnMetadata.js +4 -0
  111. package/browser/metadata/ColumnMetadata.js.map +1 -1
  112. package/browser/metadata/EntityMetadata.d.ts +3 -3
  113. package/browser/metadata/EntityMetadata.js +7 -3
  114. package/browser/metadata/EntityMetadata.js.map +1 -1
  115. package/browser/metadata/IndexMetadata.d.ts +5 -0
  116. package/browser/metadata/IndexMetadata.js +1 -0
  117. package/browser/metadata/IndexMetadata.js.map +1 -1
  118. package/browser/metadata-args/IndexMetadataArgs.d.ts +5 -0
  119. package/browser/metadata-args/IndexMetadataArgs.js.map +1 -1
  120. package/browser/metadata-builder/EntityMetadataBuilder.js +22 -0
  121. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  122. package/browser/persistence/EntityPersistExecutor.js +1 -1
  123. package/browser/persistence/EntityPersistExecutor.js.map +1 -1
  124. package/browser/persistence/SubjectExecutor.js +4 -1
  125. package/browser/persistence/SubjectExecutor.js.map +1 -1
  126. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +6 -2
  127. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  128. package/browser/platform/BrowserPlatformTools.js +3 -2
  129. package/browser/platform/BrowserPlatformTools.js.map +1 -1
  130. package/browser/platform/PlatformTools.js +2 -0
  131. package/browser/platform/PlatformTools.js.map +1 -1
  132. package/browser/query-builder/InsertQueryBuilder.js +19 -6
  133. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  134. package/browser/query-builder/QueryBuilder.d.ts +5 -0
  135. package/browser/query-builder/QueryBuilder.js +35 -23
  136. package/browser/query-builder/QueryBuilder.js.map +1 -1
  137. package/browser/query-builder/QueryExpressionMap.d.ts +2 -1
  138. package/browser/query-builder/QueryExpressionMap.js +0 -4
  139. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  140. package/browser/query-builder/SelectQueryBuilder.js +14 -4
  141. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  142. package/browser/query-builder/WhereClause.d.ts +1 -1
  143. package/browser/query-builder/WhereClause.js.map +1 -1
  144. package/browser/query-builder/index.d.ts +1 -0
  145. package/browser/query-builder/index.js +17 -0
  146. package/browser/query-builder/index.js.map +1 -0
  147. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +9 -0
  148. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +28 -0
  149. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  150. package/browser/repository/BaseEntity.d.ts +12 -0
  151. package/browser/repository/BaseEntity.js +12 -0
  152. package/browser/repository/BaseEntity.js.map +1 -1
  153. package/browser/repository/MongoRepository.d.ts +8 -4
  154. package/browser/repository/MongoRepository.js +6 -0
  155. package/browser/repository/MongoRepository.js.map +1 -1
  156. package/browser/repository/Repository.d.ts +13 -1
  157. package/browser/repository/Repository.js +17 -1
  158. package/browser/repository/Repository.js.map +1 -1
  159. package/browser/schema-builder/options/TableIndexOptions.d.ts +5 -0
  160. package/browser/schema-builder/options/TableIndexOptions.js.map +1 -1
  161. package/browser/schema-builder/table/TableIndex.d.ts +5 -0
  162. package/browser/schema-builder/table/TableIndex.js +3 -0
  163. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  164. package/browser/subscriber/Broadcaster.d.ts +11 -1
  165. package/browser/subscriber/Broadcaster.js +48 -1
  166. package/browser/subscriber/Broadcaster.js.map +1 -1
  167. package/browser/subscriber/EntitySubscriberInterface.d.ts +9 -0
  168. package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
  169. package/browser/subscriber/event/InsertEvent.d.ts +5 -0
  170. package/browser/subscriber/event/InsertEvent.js.map +1 -1
  171. package/browser/subscriber/event/QueryEvent.d.ts +50 -0
  172. package/browser/subscriber/event/QueryEvent.js +3 -0
  173. package/browser/subscriber/event/QueryEvent.js.map +1 -0
  174. package/browser/util/DateUtils.js +4 -2
  175. package/browser/util/DateUtils.js.map +1 -1
  176. package/browser/util/OrmUtils.d.ts +6 -0
  177. package/browser/util/OrmUtils.js +66 -0
  178. package/browser/util/OrmUtils.js.map +1 -1
  179. package/cache/DbQueryResultCache.js +3 -0
  180. package/cache/DbQueryResultCache.js.map +1 -1
  181. package/commands/MigrationGenerateCommand.js +3 -1
  182. package/commands/MigrationGenerateCommand.js.map +1 -1
  183. package/data-source/BaseDataSourceOptions.d.ts +4 -0
  184. package/data-source/BaseDataSourceOptions.js.map +1 -1
  185. package/data-source/DataSource.d.ts +4 -0
  186. package/data-source/DataSource.js +14 -0
  187. package/data-source/DataSource.js.map +1 -1
  188. package/decorator/Index.js +1 -0
  189. package/decorator/Index.js.map +1 -1
  190. package/decorator/options/IndexOptions.d.ts +5 -0
  191. package/decorator/options/IndexOptions.js.map +1 -1
  192. package/driver/Driver.d.ts +4 -0
  193. package/driver/Driver.js.map +1 -1
  194. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +9 -6
  195. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  196. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js +9 -6
  197. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  198. package/driver/cockroachdb/CockroachConnectionOptions.d.ts +6 -0
  199. package/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  200. package/driver/cockroachdb/CockroachDriver.d.ts +4 -0
  201. package/driver/cockroachdb/CockroachDriver.js +10 -1
  202. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  203. package/driver/cockroachdb/CockroachQueryRunner.d.ts +6 -1
  204. package/driver/cockroachdb/CockroachQueryRunner.js +46 -17
  205. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  206. package/driver/cordova/CordovaDriver.js +2 -2
  207. package/driver/cordova/CordovaDriver.js.map +1 -1
  208. package/driver/cordova/CordovaQueryRunner.js +8 -0
  209. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  210. package/driver/expo/ExpoQueryRunner.js +9 -2
  211. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  212. package/driver/mongodb/MongoQueryRunner.d.ts +3 -3
  213. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  214. package/driver/mongodb/typings.d.ts +3 -3
  215. package/driver/mongodb/typings.js.map +1 -1
  216. package/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
  217. package/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  218. package/driver/mysql/MysqlQueryRunner.js +18 -7
  219. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  220. package/driver/oracle/OracleConnectionOptions.d.ts +14 -0
  221. package/driver/oracle/OracleConnectionOptions.js.map +1 -1
  222. package/driver/oracle/OracleDriver.d.ts +4 -0
  223. package/driver/oracle/OracleDriver.js +17 -2
  224. package/driver/oracle/OracleDriver.js.map +1 -1
  225. package/driver/oracle/OracleQueryRunner.js +48 -6
  226. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  227. package/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +5 -0
  228. package/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  229. package/driver/postgres/PostgresConnectionOptions.d.ts +6 -5
  230. package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  231. package/driver/postgres/PostgresDriver.d.ts +4 -0
  232. package/driver/postgres/PostgresDriver.js +13 -4
  233. package/driver/postgres/PostgresDriver.js.map +1 -1
  234. package/driver/postgres/PostgresQueryRunner.js +46 -23
  235. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  236. package/driver/react-native/ReactNativeQueryRunner.js +10 -2
  237. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  238. package/driver/sap/SapDriver.d.ts +8 -0
  239. package/driver/sap/SapDriver.js +15 -4
  240. package/driver/sap/SapDriver.js.map +1 -1
  241. package/driver/sap/SapQueryRunner.d.ts +5 -14
  242. package/driver/sap/SapQueryRunner.js +75 -65
  243. package/driver/sap/SapQueryRunner.js.map +1 -1
  244. package/driver/spanner/SpannerConnectionOptions.d.ts +6 -0
  245. package/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  246. package/driver/spanner/SpannerDriver.d.ts +4 -0
  247. package/driver/spanner/SpannerDriver.js +10 -1
  248. package/driver/spanner/SpannerDriver.js.map +1 -1
  249. package/driver/spanner/SpannerQueryRunner.js +6 -0
  250. package/driver/spanner/SpannerQueryRunner.js.map +1 -1
  251. package/driver/sqlite/SqliteDriver.js.map +1 -1
  252. package/driver/sqlite/SqliteQueryRunner.js +61 -46
  253. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  254. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +10 -16
  255. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  256. package/driver/sqljs/SqljsQueryRunner.js +11 -3
  257. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  258. package/driver/sqlserver/SqlServerConnectionOptions.d.ts +6 -5
  259. package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  260. package/driver/sqlserver/SqlServerDriver.d.ts +4 -0
  261. package/driver/sqlserver/SqlServerDriver.js +10 -1
  262. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  263. package/driver/sqlserver/SqlServerQueryRunner.js +12 -5
  264. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  265. package/entity-manager/EntityManager.d.ts +5 -1
  266. package/entity-manager/EntityManager.js +10 -1
  267. package/entity-manager/EntityManager.js.map +1 -1
  268. package/entity-manager/MongoEntityManager.d.ts +8 -4
  269. package/entity-manager/MongoEntityManager.js +12 -10
  270. package/entity-manager/MongoEntityManager.js.map +1 -1
  271. package/entity-schema/EntitySchemaOptions.d.ts +4 -0
  272. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  273. package/entity-schema/EntitySchemaTransformer.js +7 -0
  274. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  275. package/error/EntityNotFoundError.d.ts +2 -0
  276. package/error/EntityNotFoundError.js +2 -0
  277. package/error/EntityNotFoundError.js.map +1 -1
  278. package/find-options/FindOperatorType.d.ts +1 -1
  279. package/find-options/FindOperatorType.js.map +1 -1
  280. package/find-options/FindOptionsWhere.d.ts +1 -1
  281. package/find-options/FindOptionsWhere.js.map +1 -1
  282. package/find-options/operator/Or.d.ts +2 -0
  283. package/find-options/operator/Or.js +10 -0
  284. package/find-options/operator/Or.js.map +1 -0
  285. package/index.d.ts +1 -0
  286. package/index.js +1 -0
  287. package/index.js.map +1 -1
  288. package/index.mjs +2 -0
  289. package/logger/AbstractLogger.js +1 -1
  290. package/logger/AbstractLogger.js.map +1 -1
  291. package/metadata/ColumnMetadata.js +4 -0
  292. package/metadata/ColumnMetadata.js.map +1 -1
  293. package/metadata/EntityMetadata.d.ts +3 -3
  294. package/metadata/EntityMetadata.js +7 -3
  295. package/metadata/EntityMetadata.js.map +1 -1
  296. package/metadata/IndexMetadata.d.ts +5 -0
  297. package/metadata/IndexMetadata.js +1 -0
  298. package/metadata/IndexMetadata.js.map +1 -1
  299. package/metadata-args/IndexMetadataArgs.d.ts +5 -0
  300. package/metadata-args/IndexMetadataArgs.js.map +1 -1
  301. package/metadata-builder/EntityMetadataBuilder.js +22 -0
  302. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  303. package/package.json +1 -1
  304. package/persistence/EntityPersistExecutor.js +1 -1
  305. package/persistence/EntityPersistExecutor.js.map +1 -1
  306. package/persistence/SubjectExecutor.js +4 -1
  307. package/persistence/SubjectExecutor.js.map +1 -1
  308. package/persistence/subject-builder/ManyToManySubjectBuilder.js +6 -2
  309. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  310. package/platform/PlatformTools.js +2 -0
  311. package/platform/PlatformTools.js.map +1 -1
  312. package/query-builder/InsertQueryBuilder.js +19 -6
  313. package/query-builder/InsertQueryBuilder.js.map +1 -1
  314. package/query-builder/QueryBuilder.d.ts +5 -0
  315. package/query-builder/QueryBuilder.js +35 -23
  316. package/query-builder/QueryBuilder.js.map +1 -1
  317. package/query-builder/QueryExpressionMap.d.ts +2 -1
  318. package/query-builder/QueryExpressionMap.js +0 -4
  319. package/query-builder/QueryExpressionMap.js.map +1 -1
  320. package/query-builder/SelectQueryBuilder.js +14 -4
  321. package/query-builder/SelectQueryBuilder.js.map +1 -1
  322. package/query-builder/WhereClause.d.ts +1 -1
  323. package/query-builder/WhereClause.js.map +1 -1
  324. package/query-builder/index.d.ts +1 -0
  325. package/query-builder/index.js +21 -0
  326. package/query-builder/index.js.map +1 -0
  327. package/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +9 -0
  328. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +28 -0
  329. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  330. package/repository/BaseEntity.d.ts +12 -0
  331. package/repository/BaseEntity.js +12 -0
  332. package/repository/BaseEntity.js.map +1 -1
  333. package/repository/MongoRepository.d.ts +8 -4
  334. package/repository/MongoRepository.js +6 -0
  335. package/repository/MongoRepository.js.map +1 -1
  336. package/repository/Repository.d.ts +13 -1
  337. package/repository/Repository.js +17 -1
  338. package/repository/Repository.js.map +1 -1
  339. package/schema-builder/options/TableIndexOptions.d.ts +5 -0
  340. package/schema-builder/options/TableIndexOptions.js.map +1 -1
  341. package/schema-builder/table/TableIndex.d.ts +5 -0
  342. package/schema-builder/table/TableIndex.js +3 -0
  343. package/schema-builder/table/TableIndex.js.map +1 -1
  344. package/subscriber/Broadcaster.d.ts +11 -1
  345. package/subscriber/Broadcaster.js +48 -1
  346. package/subscriber/Broadcaster.js.map +1 -1
  347. package/subscriber/EntitySubscriberInterface.d.ts +9 -0
  348. package/subscriber/EntitySubscriberInterface.js.map +1 -1
  349. package/subscriber/event/InsertEvent.d.ts +5 -0
  350. package/subscriber/event/InsertEvent.js.map +1 -1
  351. package/subscriber/event/QueryEvent.d.ts +50 -0
  352. package/subscriber/event/QueryEvent.js +4 -0
  353. package/subscriber/event/QueryEvent.js.map +1 -0
  354. package/typeorm-model-shim.js +61 -53
  355. package/util/DateUtils.js +5 -2
  356. package/util/DateUtils.js.map +1 -1
  357. package/util/OrmUtils.d.ts +6 -0
  358. package/util/OrmUtils.js +66 -0
  359. package/util/OrmUtils.js.map +1 -1
@@ -21,6 +21,7 @@ const QueryLock_1 = require("../../query-runner/QueryLock");
21
21
  const MetadataTableType_1 = require("../types/MetadataTableType");
22
22
  const InstanceChecker_1 = require("../../util/InstanceChecker");
23
23
  const util_1 = require("util");
24
+ const BroadcasterResult_1 = require("../../subscriber/BroadcasterResult");
24
25
  /**
25
26
  * Runs queries on a single SQL Server database connection.
26
27
  */
@@ -136,21 +137,30 @@ class SapQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
136
137
  const release = await this.lock.acquire();
137
138
  let statement;
138
139
  const result = new QueryResult_1.QueryResult();
140
+ const broadcasterResult = new BroadcasterResult_1.BroadcasterResult();
139
141
  try {
140
142
  const databaseConnection = await this.connect();
141
143
  this.driver.connection.logger.logQuery(query, parameters, this);
144
+ this.broadcaster.broadcastBeforeQueryEvent(broadcasterResult, query, parameters);
142
145
  const queryStartTime = +new Date();
143
146
  const isInsertQuery = query.substr(0, 11) === "INSERT INTO";
144
- statement = databaseConnection.prepare(query);
145
- const raw = await new Promise((ok, fail) => {
146
- statement.exec(parameters, (err, raw) => err
147
- ? fail(new error_1.QueryFailedError(query, parameters, err))
148
- : ok(raw));
149
- });
147
+ if (parameters === null || parameters === void 0 ? void 0 : parameters.some(Array.isArray)) {
148
+ statement = await (0, util_1.promisify)(databaseConnection.prepare.bind(databaseConnection))(query);
149
+ }
150
+ let raw;
151
+ try {
152
+ raw = statement
153
+ ? await (0, util_1.promisify)(statement.exec.bind(statement))(parameters)
154
+ : await (0, util_1.promisify)(databaseConnection.exec.bind(databaseConnection))(query, parameters, {});
155
+ }
156
+ catch (err) {
157
+ throw new error_1.QueryFailedError(query, parameters, err);
158
+ }
150
159
  // log slow queries if maxQueryExecution time is set
151
160
  const maxQueryExecutionTime = this.driver.connection.options.maxQueryExecutionTime;
152
161
  const queryEndTime = +new Date();
153
162
  const queryExecutionTime = queryEndTime - queryStartTime;
163
+ this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, true, queryExecutionTime, raw, undefined);
154
164
  if (maxQueryExecutionTime &&
155
165
  queryExecutionTime > maxQueryExecutionTime) {
156
166
  this.driver.connection.logger.logQuerySlow(queryExecutionTime, query, parameters, this);
@@ -174,15 +184,17 @@ class SapQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
174
184
  result.records = identityValueResult;
175
185
  }
176
186
  }
177
- catch (e) {
178
- this.driver.connection.logger.logQueryError(e, query, parameters, this);
179
- throw e;
187
+ catch (err) {
188
+ this.driver.connection.logger.logQueryError(err, query, parameters, this);
189
+ this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, false, undefined, undefined, err);
190
+ throw err;
180
191
  }
181
192
  finally {
182
193
  // Never forget to drop the statement we reserved
183
194
  if (statement === null || statement === void 0 ? void 0 : statement.drop) {
184
195
  await new Promise((ok) => statement.drop(() => ok()));
185
196
  }
197
+ await broadcasterResult.wait();
186
198
  // Always release the lock.
187
199
  release();
188
200
  }
@@ -197,7 +209,19 @@ class SapQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
197
209
  * Returns raw data stream.
198
210
  */
199
211
  async stream(query, parameters, onEnd, onError) {
200
- throw new error_1.TypeORMError(`Stream is not supported by SAP driver.`);
212
+ if (this.isReleased)
213
+ throw new QueryRunnerAlreadyReleasedError_1.QueryRunnerAlreadyReleasedError();
214
+ const databaseConnection = await this.connect();
215
+ this.driver.connection.logger.logQuery(query, parameters, this);
216
+ const prepareAsync = (0, util_1.promisify)(databaseConnection.prepare).bind(databaseConnection);
217
+ const statement = await prepareAsync(query);
218
+ const resultSet = statement.executeQuery(parameters);
219
+ const stream = this.driver.streamClient.createObjectStream(resultSet);
220
+ if (onEnd)
221
+ stream.on("end", onEnd);
222
+ if (onError)
223
+ stream.on("error", onError);
224
+ return stream;
201
225
  }
202
226
  /**
203
227
  * Returns all available database names including system databases.
@@ -265,7 +289,7 @@ class SapQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
265
289
  if (!parsedTableName.schema) {
266
290
  parsedTableName.schema = await this.getCurrentSchema();
267
291
  }
268
- const sql = `SELECT * FROM "SYS"."TABLE_COLUMNS" WHERE "SCHEMA_NAME" = ${parsedTableName.schema} AND "TABLE_NAME" = ${parsedTableName.tableName} AND "COLUMN_NAME" = '${columnName}'`;
292
+ const sql = `SELECT * FROM "SYS"."TABLE_COLUMNS" WHERE "SCHEMA_NAME" = '${parsedTableName.schema}' AND "TABLE_NAME" = '${parsedTableName.tableName}' AND "COLUMN_NAME" = '${columnName}'`;
269
293
  const result = await this.query(sql);
270
294
  return result.length ? true : false;
271
295
  }
@@ -747,9 +771,15 @@ class SapQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
747
771
  clonedTable.columns[clonedTable.columns.indexOf(oldTableColumn)].name = newColumn.name;
748
772
  oldColumn.name = newColumn.name;
749
773
  }
750
- if (this.isColumnChanged(oldColumn, newColumn)) {
751
- upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER (${this.buildCreateColumnSql(newColumn)})`));
752
- downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER (${this.buildCreateColumnSql(oldColumn)})`));
774
+ if (this.isColumnChanged(oldColumn, newColumn, true)) {
775
+ upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER (${this.buildCreateColumnSql(newColumn, !(oldColumn.default === null ||
776
+ oldColumn.default === undefined), !oldColumn.isNullable)})`));
777
+ downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER (${this.buildCreateColumnSql(oldColumn, !(newColumn.default === null ||
778
+ newColumn.default === undefined), !newColumn.isNullable)})`));
779
+ }
780
+ else if (oldColumn.comment !== newColumn.comment) {
781
+ upQueries.push(new Query_1.Query(`COMMENT ON COLUMN ${this.escapePath(table)}."${oldColumn.name}" IS ${this.escapeComment(newColumn.comment)}`));
782
+ downQueries.push(new Query_1.Query(`COMMENT ON COLUMN ${this.escapePath(table)}."${newColumn.name}" IS ${this.escapeComment(oldColumn.comment)}`));
753
783
  }
754
784
  if (newColumn.isPrimary !== oldColumn.isPrimary) {
755
785
  const primaryColumns = clonedTable.primaryColumns;
@@ -821,24 +851,6 @@ class SapQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
821
851
  downQueries.push(this.createIndexSql(table, uniqueIndex));
822
852
  }
823
853
  }
824
- if (newColumn.default !== oldColumn.default) {
825
- if (newColumn.default !== null &&
826
- newColumn.default !== undefined) {
827
- upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER ("${newColumn.name}" ${this.connection.driver.createFullType(newColumn)} DEFAULT ${newColumn.default})`));
828
- if (oldColumn.default !== null &&
829
- oldColumn.default !== undefined) {
830
- downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER ("${oldColumn.name}" ${this.connection.driver.createFullType(oldColumn)} DEFAULT ${oldColumn.default})`));
831
- }
832
- else {
833
- downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER ("${oldColumn.name}" ${this.connection.driver.createFullType(oldColumn)} DEFAULT NULL)`));
834
- }
835
- }
836
- else if (oldColumn.default !== null &&
837
- oldColumn.default !== undefined) {
838
- upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER ("${newColumn.name}" ${this.connection.driver.createFullType(newColumn)} DEFAULT NULL)`));
839
- downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER ("${oldColumn.name}" ${this.connection.driver.createFullType(oldColumn)} DEFAULT ${oldColumn.default})`));
840
- }
841
- }
842
854
  await this.executeQueries(upQueries, downQueries);
843
855
  this.replaceCachedTable(table, clonedTable);
844
856
  }
@@ -1623,7 +1635,9 @@ class SapQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
1623
1635
  dbColumn["DEFAULT_VALUE"];
1624
1636
  }
1625
1637
  }
1626
- tableColumn.comment = ""; // dbColumn["COLUMN_COMMENT"];
1638
+ if (dbColumn["COMMENTS"]) {
1639
+ tableColumn.comment = dbColumn["COMMENTS"];
1640
+ }
1627
1641
  if (dbColumn["character_set_name"])
1628
1642
  tableColumn.charset =
1629
1643
  dbColumn["character_set_name"];
@@ -1957,59 +1971,55 @@ class SapQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
1957
1971
  : foreignKeyOrName;
1958
1972
  return new Query_1.Query(`ALTER TABLE ${this.escapePath(tableOrName)} DROP CONSTRAINT "${foreignKeyName}"`);
1959
1973
  }
1974
+ /**
1975
+ * Escapes a given comment so it's safe to include in a query.
1976
+ */
1977
+ escapeComment(comment) {
1978
+ if (!comment) {
1979
+ return "NULL";
1980
+ }
1981
+ comment = comment.replace(/'/g, "''").replace(/\u0000/g, ""); // Null bytes aren't allowed in comments
1982
+ return `'${comment}'`;
1983
+ }
1960
1984
  /**
1961
1985
  * Escapes given table or view path.
1962
1986
  */
1963
1987
  escapePath(target) {
1964
1988
  const { schema, tableName } = this.driver.parseTableName(target);
1965
- if (schema) {
1989
+ if (schema && schema !== this.driver.schema) {
1966
1990
  return `"${schema}"."${tableName}"`;
1967
1991
  }
1968
1992
  return `"${tableName}"`;
1969
1993
  }
1970
- /**
1971
- * Concat database name and schema name to the foreign key name.
1972
- * Needs because FK name is relevant to the schema and database.
1973
- */
1974
- buildForeignKeyName(fkName, schemaName, dbName) {
1975
- let joinedFkName = fkName;
1976
- if (schemaName)
1977
- joinedFkName = schemaName + "." + joinedFkName;
1978
- if (dbName)
1979
- joinedFkName = dbName + "." + joinedFkName;
1980
- return joinedFkName;
1981
- }
1982
- /**
1983
- * Removes parenthesis around default value.
1984
- * Sql server returns default value with parenthesis around, e.g.
1985
- * ('My text') - for string
1986
- * ((1)) - for number
1987
- * (newsequentialId()) - for function
1988
- */
1989
- removeParenthesisFromDefault(defaultValue) {
1990
- if (defaultValue.substr(0, 1) !== "(")
1991
- return defaultValue;
1992
- const normalizedDefault = defaultValue.substr(1, defaultValue.lastIndexOf(")") - 1);
1993
- return this.removeParenthesisFromDefault(normalizedDefault);
1994
- }
1995
1994
  /**
1996
1995
  * Builds a query for create column.
1997
1996
  */
1998
- buildCreateColumnSql(column) {
1997
+ buildCreateColumnSql(column, explicitDefault, explicitNullable) {
1999
1998
  let c = `"${column.name}" ` + this.connection.driver.createFullType(column);
2000
1999
  if (column.charset)
2001
2000
  c += " CHARACTER SET " + column.charset;
2002
2001
  if (column.collation)
2003
2002
  c += " COLLATE " + column.collation;
2004
- if (column.default !== undefined && column.default !== null)
2005
- // DEFAULT must be placed before NOT NULL
2003
+ if (column.default !== undefined && column.default !== null) {
2006
2004
  c += " DEFAULT " + column.default;
2007
- if (column.isNullable !== true && !column.isGenerated)
2005
+ }
2006
+ else if (explicitDefault) {
2007
+ c += " DEFAULT NULL";
2008
+ }
2009
+ if (!column.isGenerated) {
2008
2010
  // NOT NULL is not supported with GENERATED
2009
- c += " NOT NULL";
2011
+ if (column.isNullable !== true)
2012
+ c += " NOT NULL";
2013
+ else if (explicitNullable)
2014
+ c += " NULL";
2015
+ }
2010
2016
  if (column.isGenerated === true &&
2011
- column.generationStrategy === "increment")
2017
+ column.generationStrategy === "increment") {
2012
2018
  c += " GENERATED ALWAYS AS IDENTITY";
2019
+ }
2020
+ if (column.comment) {
2021
+ c += ` COMMENT ${this.escapeComment(column.comment)}`;
2022
+ }
2013
2023
  return c;
2014
2024
  }
2015
2025
  }