typeorm 0.3.18-dev.ff6e875 → 0.3.18

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 (469) hide show
  1. package/README.md +23 -23
  2. package/browser/cache/DbQueryResultCache.js +3 -0
  3. package/browser/cache/DbQueryResultCache.js.map +1 -1
  4. package/browser/data-source/BaseDataSourceOptions.d.ts +4 -0
  5. package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
  6. package/browser/data-source/DataSource.d.ts +4 -0
  7. package/browser/data-source/DataSource.js +15 -0
  8. package/browser/data-source/DataSource.js.map +1 -1
  9. package/browser/decorator/Index.js +1 -0
  10. package/browser/decorator/Index.js.map +1 -1
  11. package/browser/decorator/entity/Entity.js +1 -0
  12. package/browser/decorator/entity/Entity.js.map +1 -1
  13. package/browser/decorator/options/EntityOptions.d.ts +4 -0
  14. package/browser/decorator/options/EntityOptions.js.map +1 -1
  15. package/browser/decorator/options/IndexOptions.d.ts +5 -0
  16. package/browser/decorator/options/IndexOptions.js.map +1 -1
  17. package/browser/driver/Driver.d.ts +4 -0
  18. package/browser/driver/Driver.js.map +1 -1
  19. package/browser/driver/DriverUtils.js +2 -5
  20. package/browser/driver/DriverUtils.js.map +1 -1
  21. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +4 -0
  22. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +15 -6
  23. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  24. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +5 -0
  25. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js +16 -6
  26. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  27. package/browser/driver/capacitor/CapacitorDriver.js +2 -2
  28. package/browser/driver/capacitor/CapacitorDriver.js.map +1 -1
  29. package/browser/driver/capacitor/CapacitorQueryRunner.js +2 -2
  30. package/browser/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  31. package/browser/driver/cockroachdb/CockroachConnectionOptions.d.ts +6 -0
  32. package/browser/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  33. package/browser/driver/cockroachdb/CockroachDriver.d.ts +4 -0
  34. package/browser/driver/cockroachdb/CockroachDriver.js +30 -11
  35. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  36. package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +10 -1
  37. package/browser/driver/cockroachdb/CockroachQueryRunner.js +55 -19
  38. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  39. package/browser/driver/cordova/CordovaDriver.js +2 -2
  40. package/browser/driver/cordova/CordovaDriver.js.map +1 -1
  41. package/browser/driver/cordova/CordovaQueryRunner.js +8 -0
  42. package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
  43. package/browser/driver/expo/ExpoQueryRunner.js +9 -2
  44. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  45. package/browser/driver/mongodb/MongoQueryRunner.d.ts +7 -3
  46. package/browser/driver/mongodb/MongoQueryRunner.js +6 -0
  47. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  48. package/browser/driver/mongodb/typings.d.ts +3 -3
  49. package/browser/driver/mongodb/typings.js.map +1 -1
  50. package/browser/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
  51. package/browser/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  52. package/browser/driver/mysql/MysqlQueryRunner.d.ts +4 -0
  53. package/browser/driver/mysql/MysqlQueryRunner.js +47 -10
  54. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  55. package/browser/driver/oracle/OracleConnectionOptions.d.ts +14 -0
  56. package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
  57. package/browser/driver/oracle/OracleDriver.d.ts +4 -0
  58. package/browser/driver/oracle/OracleDriver.js +17 -2
  59. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  60. package/browser/driver/oracle/OracleQueryRunner.d.ts +4 -0
  61. package/browser/driver/oracle/OracleQueryRunner.js +55 -7
  62. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  63. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +5 -0
  64. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  65. package/browser/driver/postgres/PostgresConnectionOptions.d.ts +6 -5
  66. package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  67. package/browser/driver/postgres/PostgresDriver.d.ts +4 -0
  68. package/browser/driver/postgres/PostgresDriver.js +14 -8
  69. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  70. package/browser/driver/postgres/PostgresQueryRunner.d.ts +4 -0
  71. package/browser/driver/postgres/PostgresQueryRunner.js +53 -24
  72. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  73. package/browser/driver/react-native/ReactNativeQueryRunner.js +10 -2
  74. package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  75. package/browser/driver/sap/SapDriver.d.ts +8 -0
  76. package/browser/driver/sap/SapDriver.js +14 -3
  77. package/browser/driver/sap/SapDriver.js.map +1 -1
  78. package/browser/driver/sap/SapQueryRunner.d.ts +8 -13
  79. package/browser/driver/sap/SapQueryRunner.js +81 -65
  80. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  81. package/browser/driver/spanner/SpannerConnectionOptions.d.ts +6 -0
  82. package/browser/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  83. package/browser/driver/spanner/SpannerDriver.d.ts +4 -0
  84. package/browser/driver/spanner/SpannerDriver.js +10 -1
  85. package/browser/driver/spanner/SpannerDriver.js.map +1 -1
  86. package/browser/driver/spanner/SpannerQueryRunner.d.ts +4 -0
  87. package/browser/driver/spanner/SpannerQueryRunner.js +13 -1
  88. package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
  89. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  90. package/browser/driver/sqlite/SqliteQueryRunner.js +60 -46
  91. package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  92. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +4 -0
  93. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +17 -17
  94. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  95. package/browser/driver/sqljs/SqljsQueryRunner.js +11 -3
  96. package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  97. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +2 -1
  98. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  99. package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +11 -5
  100. package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  101. package/browser/driver/sqlserver/SqlServerDriver.d.ts +4 -0
  102. package/browser/driver/sqlserver/SqlServerDriver.js +10 -1
  103. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  104. package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +4 -0
  105. package/browser/driver/sqlserver/SqlServerQueryRunner.js +32 -6
  106. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  107. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.d.ts +12 -0
  108. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js +3 -0
  109. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -0
  110. package/browser/entity-manager/EntityManager.d.ts +5 -1
  111. package/browser/entity-manager/EntityManager.js +15 -2
  112. package/browser/entity-manager/EntityManager.js.map +1 -1
  113. package/browser/entity-manager/MongoEntityManager.d.ts +8 -4
  114. package/browser/entity-manager/MongoEntityManager.js +12 -10
  115. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  116. package/browser/entity-schema/EntitySchemaOptions.d.ts +4 -0
  117. package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
  118. package/browser/entity-schema/EntitySchemaTransformer.js +7 -0
  119. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  120. package/browser/error/EntityNotFoundError.d.ts +2 -0
  121. package/browser/error/EntityNotFoundError.js +2 -0
  122. package/browser/error/EntityNotFoundError.js.map +1 -1
  123. package/browser/error/QueryFailedError.d.ts +3 -3
  124. package/browser/error/QueryFailedError.js.map +1 -1
  125. package/browser/find-options/FindOperatorType.d.ts +1 -1
  126. package/browser/find-options/FindOperatorType.js.map +1 -1
  127. package/browser/find-options/FindOptionsUtils.js +1 -1
  128. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  129. package/browser/find-options/FindOptionsWhere.d.ts +1 -1
  130. package/browser/find-options/FindOptionsWhere.js.map +1 -1
  131. package/browser/find-options/operator/Or.d.ts +2 -0
  132. package/browser/find-options/operator/Or.js +6 -0
  133. package/browser/find-options/operator/Or.js.map +1 -0
  134. package/browser/index.d.ts +2 -0
  135. package/browser/index.js +2 -0
  136. package/browser/index.js.map +1 -1
  137. package/browser/logger/AbstractLogger.js +1 -1
  138. package/browser/logger/AbstractLogger.js.map +1 -1
  139. package/browser/metadata/ColumnMetadata.js +4 -0
  140. package/browser/metadata/ColumnMetadata.js.map +1 -1
  141. package/browser/metadata/EntityMetadata.d.ts +7 -3
  142. package/browser/metadata/EntityMetadata.js +8 -3
  143. package/browser/metadata/EntityMetadata.js.map +1 -1
  144. package/browser/metadata/IndexMetadata.d.ts +5 -0
  145. package/browser/metadata/IndexMetadata.js +1 -0
  146. package/browser/metadata/IndexMetadata.js.map +1 -1
  147. package/browser/metadata-args/IndexMetadataArgs.d.ts +5 -0
  148. package/browser/metadata-args/IndexMetadataArgs.js.map +1 -1
  149. package/browser/metadata-args/TableMetadataArgs.d.ts +4 -0
  150. package/browser/metadata-args/TableMetadataArgs.js.map +1 -1
  151. package/browser/metadata-builder/EntityMetadataBuilder.js +22 -0
  152. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  153. package/browser/naming-strategy/DefaultNamingStrategy.d.ts +0 -1
  154. package/browser/naming-strategy/DefaultNamingStrategy.js +0 -3
  155. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  156. package/browser/naming-strategy/NamingStrategyInterface.d.ts +0 -4
  157. package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
  158. package/browser/persistence/Subject.js +2 -1
  159. package/browser/persistence/Subject.js.map +1 -1
  160. package/browser/persistence/SubjectExecutor.js +5 -2
  161. package/browser/persistence/SubjectExecutor.js.map +1 -1
  162. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +6 -2
  163. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  164. package/browser/platform/BrowserPlatformTools.d.ts +0 -7
  165. package/browser/platform/BrowserPlatformTools.js +3 -2
  166. package/browser/platform/BrowserPlatformTools.js.map +1 -1
  167. package/browser/platform/PlatformTools.js +2 -0
  168. package/browser/platform/PlatformTools.js.map +1 -1
  169. package/browser/query-builder/InsertQueryBuilder.js +19 -6
  170. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  171. package/browser/query-builder/QueryBuilder.d.ts +5 -0
  172. package/browser/query-builder/QueryBuilder.js +36 -24
  173. package/browser/query-builder/QueryBuilder.js.map +1 -1
  174. package/browser/query-builder/QueryExpressionMap.d.ts +2 -1
  175. package/browser/query-builder/QueryExpressionMap.js +0 -4
  176. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  177. package/browser/query-builder/SelectQueryBuilder.js +14 -4
  178. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  179. package/browser/query-builder/WhereClause.d.ts +1 -1
  180. package/browser/query-builder/WhereClause.js.map +1 -1
  181. package/browser/query-builder/index.d.ts +1 -0
  182. package/browser/query-builder/index.js +17 -0
  183. package/browser/query-builder/index.js.map +1 -0
  184. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +9 -0
  185. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +28 -0
  186. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  187. package/browser/query-runner/BaseQueryRunner.js +1 -0
  188. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  189. package/browser/query-runner/QueryRunner.d.ts +4 -0
  190. package/browser/query-runner/QueryRunner.js.map +1 -1
  191. package/browser/repository/BaseEntity.d.ts +12 -0
  192. package/browser/repository/BaseEntity.js +12 -0
  193. package/browser/repository/BaseEntity.js.map +1 -1
  194. package/browser/repository/MongoRepository.d.ts +8 -4
  195. package/browser/repository/MongoRepository.js +6 -0
  196. package/browser/repository/MongoRepository.js.map +1 -1
  197. package/browser/repository/Repository.d.ts +14 -2
  198. package/browser/repository/Repository.js +26 -6
  199. package/browser/repository/Repository.js.map +1 -1
  200. package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +4 -0
  201. package/browser/schema-builder/RdbmsSchemaBuilder.js +15 -0
  202. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  203. package/browser/schema-builder/options/TableIndexOptions.d.ts +5 -0
  204. package/browser/schema-builder/options/TableIndexOptions.js.map +1 -1
  205. package/browser/schema-builder/options/TableOptions.d.ts +4 -0
  206. package/browser/schema-builder/options/TableOptions.js.map +1 -1
  207. package/browser/schema-builder/table/Table.d.ts +4 -0
  208. package/browser/schema-builder/table/Table.js +3 -0
  209. package/browser/schema-builder/table/Table.js.map +1 -1
  210. package/browser/schema-builder/table/TableIndex.d.ts +5 -0
  211. package/browser/schema-builder/table/TableIndex.js +3 -0
  212. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  213. package/browser/subscriber/Broadcaster.d.ts +11 -1
  214. package/browser/subscriber/Broadcaster.js +48 -1
  215. package/browser/subscriber/Broadcaster.js.map +1 -1
  216. package/browser/subscriber/EntitySubscriberInterface.d.ts +9 -0
  217. package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
  218. package/browser/subscriber/event/InsertEvent.d.ts +5 -0
  219. package/browser/subscriber/event/InsertEvent.js.map +1 -1
  220. package/browser/subscriber/event/QueryEvent.d.ts +50 -0
  221. package/browser/subscriber/event/QueryEvent.js +3 -0
  222. package/browser/subscriber/event/QueryEvent.js.map +1 -0
  223. package/browser/util/DateUtils.js +4 -2
  224. package/browser/util/DateUtils.js.map +1 -1
  225. package/browser/util/OrmUtils.d.ts +6 -0
  226. package/browser/util/OrmUtils.js +66 -0
  227. package/browser/util/OrmUtils.js.map +1 -1
  228. package/cache/DbQueryResultCache.js +3 -0
  229. package/cache/DbQueryResultCache.js.map +1 -1
  230. package/commands/CommandUtils.js +6 -1
  231. package/commands/CommandUtils.js.map +1 -1
  232. package/commands/EntityCreateCommand.d.ts +3 -0
  233. package/commands/EntityCreateCommand.js +7 -0
  234. package/commands/EntityCreateCommand.js.map +1 -1
  235. package/commands/InitCommand.js +1 -1
  236. package/commands/InitCommand.js.map +1 -1
  237. package/commands/MigrationCreateCommand.d.ts +5 -1
  238. package/commands/MigrationCreateCommand.js +6 -1
  239. package/commands/MigrationCreateCommand.js.map +1 -1
  240. package/commands/MigrationGenerateCommand.d.ts +5 -1
  241. package/commands/MigrationGenerateCommand.js +8 -1
  242. package/commands/MigrationGenerateCommand.js.map +1 -1
  243. package/commands/SubscriberCreateCommand.d.ts +3 -0
  244. package/commands/SubscriberCreateCommand.js +7 -0
  245. package/commands/SubscriberCreateCommand.js.map +1 -1
  246. package/data-source/BaseDataSourceOptions.d.ts +4 -0
  247. package/data-source/BaseDataSourceOptions.js.map +1 -1
  248. package/data-source/DataSource.d.ts +4 -0
  249. package/data-source/DataSource.js +15 -0
  250. package/data-source/DataSource.js.map +1 -1
  251. package/decorator/Index.js +1 -0
  252. package/decorator/Index.js.map +1 -1
  253. package/decorator/entity/Entity.js +1 -0
  254. package/decorator/entity/Entity.js.map +1 -1
  255. package/decorator/options/EntityOptions.d.ts +4 -0
  256. package/decorator/options/EntityOptions.js.map +1 -1
  257. package/decorator/options/IndexOptions.d.ts +5 -0
  258. package/decorator/options/IndexOptions.js.map +1 -1
  259. package/driver/Driver.d.ts +4 -0
  260. package/driver/Driver.js.map +1 -1
  261. package/driver/DriverUtils.js +2 -5
  262. package/driver/DriverUtils.js.map +1 -1
  263. package/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +4 -0
  264. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +15 -6
  265. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  266. package/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +5 -0
  267. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js +16 -6
  268. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  269. package/driver/capacitor/CapacitorDriver.js +2 -2
  270. package/driver/capacitor/CapacitorDriver.js.map +1 -1
  271. package/driver/capacitor/CapacitorQueryRunner.js +2 -2
  272. package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  273. package/driver/cockroachdb/CockroachConnectionOptions.d.ts +6 -0
  274. package/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  275. package/driver/cockroachdb/CockroachDriver.d.ts +4 -0
  276. package/driver/cockroachdb/CockroachDriver.js +30 -11
  277. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  278. package/driver/cockroachdb/CockroachQueryRunner.d.ts +10 -1
  279. package/driver/cockroachdb/CockroachQueryRunner.js +55 -19
  280. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  281. package/driver/cordova/CordovaDriver.js +2 -2
  282. package/driver/cordova/CordovaDriver.js.map +1 -1
  283. package/driver/cordova/CordovaQueryRunner.js +8 -0
  284. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  285. package/driver/expo/ExpoQueryRunner.js +9 -2
  286. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  287. package/driver/mongodb/MongoQueryRunner.d.ts +7 -3
  288. package/driver/mongodb/MongoQueryRunner.js +6 -0
  289. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  290. package/driver/mongodb/typings.d.ts +3 -3
  291. package/driver/mongodb/typings.js.map +1 -1
  292. package/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
  293. package/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  294. package/driver/mysql/MysqlQueryRunner.d.ts +4 -0
  295. package/driver/mysql/MysqlQueryRunner.js +47 -10
  296. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  297. package/driver/oracle/OracleConnectionOptions.d.ts +14 -0
  298. package/driver/oracle/OracleConnectionOptions.js.map +1 -1
  299. package/driver/oracle/OracleDriver.d.ts +4 -0
  300. package/driver/oracle/OracleDriver.js +17 -2
  301. package/driver/oracle/OracleDriver.js.map +1 -1
  302. package/driver/oracle/OracleQueryRunner.d.ts +4 -0
  303. package/driver/oracle/OracleQueryRunner.js +55 -7
  304. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  305. package/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +5 -0
  306. package/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  307. package/driver/postgres/PostgresConnectionOptions.d.ts +6 -5
  308. package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  309. package/driver/postgres/PostgresDriver.d.ts +4 -0
  310. package/driver/postgres/PostgresDriver.js +14 -8
  311. package/driver/postgres/PostgresDriver.js.map +1 -1
  312. package/driver/postgres/PostgresQueryRunner.d.ts +4 -0
  313. package/driver/postgres/PostgresQueryRunner.js +53 -24
  314. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  315. package/driver/react-native/ReactNativeQueryRunner.js +10 -2
  316. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  317. package/driver/sap/SapDriver.d.ts +8 -0
  318. package/driver/sap/SapDriver.js +15 -4
  319. package/driver/sap/SapDriver.js.map +1 -1
  320. package/driver/sap/SapQueryRunner.d.ts +8 -13
  321. package/driver/sap/SapQueryRunner.js +81 -65
  322. package/driver/sap/SapQueryRunner.js.map +1 -1
  323. package/driver/spanner/SpannerConnectionOptions.d.ts +6 -0
  324. package/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  325. package/driver/spanner/SpannerDriver.d.ts +4 -0
  326. package/driver/spanner/SpannerDriver.js +10 -1
  327. package/driver/spanner/SpannerDriver.js.map +1 -1
  328. package/driver/spanner/SpannerQueryRunner.d.ts +4 -0
  329. package/driver/spanner/SpannerQueryRunner.js +13 -1
  330. package/driver/spanner/SpannerQueryRunner.js.map +1 -1
  331. package/driver/sqlite/SqliteDriver.js.map +1 -1
  332. package/driver/sqlite/SqliteQueryRunner.js +60 -46
  333. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  334. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +4 -0
  335. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +17 -17
  336. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  337. package/driver/sqljs/SqljsQueryRunner.js +11 -3
  338. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  339. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +2 -1
  340. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  341. package/driver/sqlserver/SqlServerConnectionOptions.d.ts +11 -5
  342. package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  343. package/driver/sqlserver/SqlServerDriver.d.ts +4 -0
  344. package/driver/sqlserver/SqlServerDriver.js +10 -1
  345. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  346. package/driver/sqlserver/SqlServerQueryRunner.d.ts +4 -0
  347. package/driver/sqlserver/SqlServerQueryRunner.js +32 -6
  348. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  349. package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.d.ts +12 -0
  350. package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js +4 -0
  351. package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -0
  352. package/entity-manager/EntityManager.d.ts +5 -1
  353. package/entity-manager/EntityManager.js +15 -2
  354. package/entity-manager/EntityManager.js.map +1 -1
  355. package/entity-manager/MongoEntityManager.d.ts +8 -4
  356. package/entity-manager/MongoEntityManager.js +12 -10
  357. package/entity-manager/MongoEntityManager.js.map +1 -1
  358. package/entity-schema/EntitySchemaOptions.d.ts +4 -0
  359. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  360. package/entity-schema/EntitySchemaTransformer.js +7 -0
  361. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  362. package/error/EntityNotFoundError.d.ts +2 -0
  363. package/error/EntityNotFoundError.js +2 -0
  364. package/error/EntityNotFoundError.js.map +1 -1
  365. package/error/QueryFailedError.d.ts +3 -3
  366. package/error/QueryFailedError.js.map +1 -1
  367. package/find-options/FindOperatorType.d.ts +1 -1
  368. package/find-options/FindOperatorType.js.map +1 -1
  369. package/find-options/FindOptionsUtils.js +1 -1
  370. package/find-options/FindOptionsUtils.js.map +1 -1
  371. package/find-options/FindOptionsWhere.d.ts +1 -1
  372. package/find-options/FindOptionsWhere.js.map +1 -1
  373. package/find-options/operator/Or.d.ts +2 -0
  374. package/find-options/operator/Or.js +10 -0
  375. package/find-options/operator/Or.js.map +1 -0
  376. package/index.d.ts +2 -0
  377. package/index.js +2 -0
  378. package/index.js.map +1 -1
  379. package/index.mjs +4 -0
  380. package/logger/AbstractLogger.js +1 -1
  381. package/logger/AbstractLogger.js.map +1 -1
  382. package/metadata/ColumnMetadata.js +4 -0
  383. package/metadata/ColumnMetadata.js.map +1 -1
  384. package/metadata/EntityMetadata.d.ts +7 -3
  385. package/metadata/EntityMetadata.js +8 -3
  386. package/metadata/EntityMetadata.js.map +1 -1
  387. package/metadata/IndexMetadata.d.ts +5 -0
  388. package/metadata/IndexMetadata.js +1 -0
  389. package/metadata/IndexMetadata.js.map +1 -1
  390. package/metadata-args/IndexMetadataArgs.d.ts +5 -0
  391. package/metadata-args/IndexMetadataArgs.js.map +1 -1
  392. package/metadata-args/TableMetadataArgs.d.ts +4 -0
  393. package/metadata-args/TableMetadataArgs.js.map +1 -1
  394. package/metadata-builder/EntityMetadataBuilder.js +22 -0
  395. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  396. package/naming-strategy/DefaultNamingStrategy.d.ts +0 -1
  397. package/naming-strategy/DefaultNamingStrategy.js +0 -3
  398. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  399. package/naming-strategy/NamingStrategyInterface.d.ts +0 -4
  400. package/naming-strategy/NamingStrategyInterface.js.map +1 -1
  401. package/package.json +273 -1
  402. package/persistence/Subject.js +2 -1
  403. package/persistence/Subject.js.map +1 -1
  404. package/persistence/SubjectExecutor.js +5 -2
  405. package/persistence/SubjectExecutor.js.map +1 -1
  406. package/persistence/subject-builder/ManyToManySubjectBuilder.js +6 -2
  407. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  408. package/platform/PlatformTools.js +2 -0
  409. package/platform/PlatformTools.js.map +1 -1
  410. package/query-builder/InsertQueryBuilder.js +19 -6
  411. package/query-builder/InsertQueryBuilder.js.map +1 -1
  412. package/query-builder/QueryBuilder.d.ts +5 -0
  413. package/query-builder/QueryBuilder.js +36 -24
  414. package/query-builder/QueryBuilder.js.map +1 -1
  415. package/query-builder/QueryExpressionMap.d.ts +2 -1
  416. package/query-builder/QueryExpressionMap.js +0 -4
  417. package/query-builder/QueryExpressionMap.js.map +1 -1
  418. package/query-builder/SelectQueryBuilder.js +14 -4
  419. package/query-builder/SelectQueryBuilder.js.map +1 -1
  420. package/query-builder/WhereClause.d.ts +1 -1
  421. package/query-builder/WhereClause.js.map +1 -1
  422. package/query-builder/index.d.ts +1 -0
  423. package/query-builder/index.js +21 -0
  424. package/query-builder/index.js.map +1 -0
  425. package/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +9 -0
  426. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +28 -0
  427. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  428. package/query-runner/BaseQueryRunner.js +1 -0
  429. package/query-runner/BaseQueryRunner.js.map +1 -1
  430. package/query-runner/QueryRunner.d.ts +4 -0
  431. package/query-runner/QueryRunner.js.map +1 -1
  432. package/repository/BaseEntity.d.ts +12 -0
  433. package/repository/BaseEntity.js +12 -0
  434. package/repository/BaseEntity.js.map +1 -1
  435. package/repository/MongoRepository.d.ts +8 -4
  436. package/repository/MongoRepository.js +6 -0
  437. package/repository/MongoRepository.js.map +1 -1
  438. package/repository/Repository.d.ts +14 -2
  439. package/repository/Repository.js +26 -6
  440. package/repository/Repository.js.map +1 -1
  441. package/schema-builder/RdbmsSchemaBuilder.d.ts +4 -0
  442. package/schema-builder/RdbmsSchemaBuilder.js +15 -0
  443. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  444. package/schema-builder/options/TableIndexOptions.d.ts +5 -0
  445. package/schema-builder/options/TableIndexOptions.js.map +1 -1
  446. package/schema-builder/options/TableOptions.d.ts +4 -0
  447. package/schema-builder/options/TableOptions.js.map +1 -1
  448. package/schema-builder/table/Table.d.ts +4 -0
  449. package/schema-builder/table/Table.js +3 -0
  450. package/schema-builder/table/Table.js.map +1 -1
  451. package/schema-builder/table/TableIndex.d.ts +5 -0
  452. package/schema-builder/table/TableIndex.js +3 -0
  453. package/schema-builder/table/TableIndex.js.map +1 -1
  454. package/subscriber/Broadcaster.d.ts +11 -1
  455. package/subscriber/Broadcaster.js +48 -1
  456. package/subscriber/Broadcaster.js.map +1 -1
  457. package/subscriber/EntitySubscriberInterface.d.ts +9 -0
  458. package/subscriber/EntitySubscriberInterface.js.map +1 -1
  459. package/subscriber/event/InsertEvent.d.ts +5 -0
  460. package/subscriber/event/InsertEvent.js.map +1 -1
  461. package/subscriber/event/QueryEvent.d.ts +50 -0
  462. package/subscriber/event/QueryEvent.js +4 -0
  463. package/subscriber/event/QueryEvent.js.map +1 -0
  464. package/typeorm-model-shim.js +61 -53
  465. package/util/DateUtils.js +5 -2
  466. package/util/DateUtils.js.map +1 -1
  467. package/util/OrmUtils.d.ts +6 -0
  468. package/util/OrmUtils.js +66 -0
  469. 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,61 +1968,63 @@ 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
  */
1960
1984
  escapePath(target) {
1961
1985
  const { schema, tableName } = this.driver.parseTableName(target);
1962
- if (schema) {
1986
+ if (schema && schema !== this.driver.schema) {
1963
1987
  return `"${schema}"."${tableName}"`;
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
  }
2022
+ /**
2023
+ * Change table comment.
2024
+ */
2025
+ changeTableComment(tableOrName, comment) {
2026
+ throw new TypeORMError(`spa driver does not support change table comment.`);
2027
+ }
2012
2028
  }
2013
2029
 
2014
2030
  //# sourceMappingURL=SapQueryRunner.js.map