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

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