typeorm 0.3.18-dev.ff6e875 → 0.3.19-dev.633c4e3

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 (473) 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/DirectoryExportedClassesLoader.js +1 -1
  226. package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
  227. package/browser/util/OrmUtils.d.ts +6 -0
  228. package/browser/util/OrmUtils.js +66 -0
  229. package/browser/util/OrmUtils.js.map +1 -1
  230. package/cache/DbQueryResultCache.js +3 -0
  231. package/cache/DbQueryResultCache.js.map +1 -1
  232. package/commands/CommandUtils.js +6 -1
  233. package/commands/CommandUtils.js.map +1 -1
  234. package/commands/EntityCreateCommand.d.ts +3 -0
  235. package/commands/EntityCreateCommand.js +7 -0
  236. package/commands/EntityCreateCommand.js.map +1 -1
  237. package/commands/InitCommand.js +1 -1
  238. package/commands/InitCommand.js.map +1 -1
  239. package/commands/MigrationCreateCommand.d.ts +5 -1
  240. package/commands/MigrationCreateCommand.js +6 -1
  241. package/commands/MigrationCreateCommand.js.map +1 -1
  242. package/commands/MigrationGenerateCommand.d.ts +5 -1
  243. package/commands/MigrationGenerateCommand.js +8 -1
  244. package/commands/MigrationGenerateCommand.js.map +1 -1
  245. package/commands/SubscriberCreateCommand.d.ts +3 -0
  246. package/commands/SubscriberCreateCommand.js +7 -0
  247. package/commands/SubscriberCreateCommand.js.map +1 -1
  248. package/data-source/BaseDataSourceOptions.d.ts +4 -0
  249. package/data-source/BaseDataSourceOptions.js.map +1 -1
  250. package/data-source/DataSource.d.ts +4 -0
  251. package/data-source/DataSource.js +15 -0
  252. package/data-source/DataSource.js.map +1 -1
  253. package/decorator/Index.js +1 -0
  254. package/decorator/Index.js.map +1 -1
  255. package/decorator/entity/Entity.js +1 -0
  256. package/decorator/entity/Entity.js.map +1 -1
  257. package/decorator/options/EntityOptions.d.ts +4 -0
  258. package/decorator/options/EntityOptions.js.map +1 -1
  259. package/decorator/options/IndexOptions.d.ts +5 -0
  260. package/decorator/options/IndexOptions.js.map +1 -1
  261. package/driver/Driver.d.ts +4 -0
  262. package/driver/Driver.js.map +1 -1
  263. package/driver/DriverUtils.js +2 -5
  264. package/driver/DriverUtils.js.map +1 -1
  265. package/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +4 -0
  266. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +15 -6
  267. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  268. package/driver/aurora-postgres/AuroraPostgresQueryRunner.d.ts +5 -0
  269. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js +16 -6
  270. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  271. package/driver/capacitor/CapacitorDriver.js +2 -2
  272. package/driver/capacitor/CapacitorDriver.js.map +1 -1
  273. package/driver/capacitor/CapacitorQueryRunner.js +2 -2
  274. package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  275. package/driver/cockroachdb/CockroachConnectionOptions.d.ts +6 -0
  276. package/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  277. package/driver/cockroachdb/CockroachDriver.d.ts +4 -0
  278. package/driver/cockroachdb/CockroachDriver.js +30 -11
  279. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  280. package/driver/cockroachdb/CockroachQueryRunner.d.ts +10 -1
  281. package/driver/cockroachdb/CockroachQueryRunner.js +55 -19
  282. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  283. package/driver/cordova/CordovaDriver.js +2 -2
  284. package/driver/cordova/CordovaDriver.js.map +1 -1
  285. package/driver/cordova/CordovaQueryRunner.js +8 -0
  286. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  287. package/driver/expo/ExpoQueryRunner.js +9 -2
  288. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  289. package/driver/mongodb/MongoQueryRunner.d.ts +7 -3
  290. package/driver/mongodb/MongoQueryRunner.js +6 -0
  291. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  292. package/driver/mongodb/typings.d.ts +3 -3
  293. package/driver/mongodb/typings.js.map +1 -1
  294. package/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
  295. package/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  296. package/driver/mysql/MysqlQueryRunner.d.ts +4 -0
  297. package/driver/mysql/MysqlQueryRunner.js +47 -10
  298. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  299. package/driver/oracle/OracleConnectionOptions.d.ts +14 -0
  300. package/driver/oracle/OracleConnectionOptions.js.map +1 -1
  301. package/driver/oracle/OracleDriver.d.ts +4 -0
  302. package/driver/oracle/OracleDriver.js +17 -2
  303. package/driver/oracle/OracleDriver.js.map +1 -1
  304. package/driver/oracle/OracleQueryRunner.d.ts +4 -0
  305. package/driver/oracle/OracleQueryRunner.js +55 -7
  306. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  307. package/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +5 -0
  308. package/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  309. package/driver/postgres/PostgresConnectionOptions.d.ts +6 -5
  310. package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  311. package/driver/postgres/PostgresDriver.d.ts +4 -0
  312. package/driver/postgres/PostgresDriver.js +14 -8
  313. package/driver/postgres/PostgresDriver.js.map +1 -1
  314. package/driver/postgres/PostgresQueryRunner.d.ts +4 -0
  315. package/driver/postgres/PostgresQueryRunner.js +53 -24
  316. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  317. package/driver/react-native/ReactNativeQueryRunner.js +10 -2
  318. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  319. package/driver/sap/SapDriver.d.ts +8 -0
  320. package/driver/sap/SapDriver.js +15 -4
  321. package/driver/sap/SapDriver.js.map +1 -1
  322. package/driver/sap/SapQueryRunner.d.ts +8 -13
  323. package/driver/sap/SapQueryRunner.js +81 -65
  324. package/driver/sap/SapQueryRunner.js.map +1 -1
  325. package/driver/spanner/SpannerConnectionOptions.d.ts +6 -0
  326. package/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  327. package/driver/spanner/SpannerDriver.d.ts +4 -0
  328. package/driver/spanner/SpannerDriver.js +10 -1
  329. package/driver/spanner/SpannerDriver.js.map +1 -1
  330. package/driver/spanner/SpannerQueryRunner.d.ts +4 -0
  331. package/driver/spanner/SpannerQueryRunner.js +13 -1
  332. package/driver/spanner/SpannerQueryRunner.js.map +1 -1
  333. package/driver/sqlite/SqliteDriver.js.map +1 -1
  334. package/driver/sqlite/SqliteQueryRunner.js +60 -46
  335. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  336. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +4 -0
  337. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +17 -17
  338. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  339. package/driver/sqljs/SqljsQueryRunner.js +11 -3
  340. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  341. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +2 -1
  342. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  343. package/driver/sqlserver/SqlServerConnectionOptions.d.ts +11 -5
  344. package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  345. package/driver/sqlserver/SqlServerDriver.d.ts +4 -0
  346. package/driver/sqlserver/SqlServerDriver.js +10 -1
  347. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  348. package/driver/sqlserver/SqlServerQueryRunner.d.ts +4 -0
  349. package/driver/sqlserver/SqlServerQueryRunner.js +32 -6
  350. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  351. package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.d.ts +12 -0
  352. package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js +4 -0
  353. package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -0
  354. package/entity-manager/EntityManager.d.ts +5 -1
  355. package/entity-manager/EntityManager.js +15 -2
  356. package/entity-manager/EntityManager.js.map +1 -1
  357. package/entity-manager/MongoEntityManager.d.ts +8 -4
  358. package/entity-manager/MongoEntityManager.js +12 -10
  359. package/entity-manager/MongoEntityManager.js.map +1 -1
  360. package/entity-schema/EntitySchemaOptions.d.ts +4 -0
  361. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  362. package/entity-schema/EntitySchemaTransformer.js +7 -0
  363. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  364. package/error/EntityNotFoundError.d.ts +2 -0
  365. package/error/EntityNotFoundError.js +2 -0
  366. package/error/EntityNotFoundError.js.map +1 -1
  367. package/error/QueryFailedError.d.ts +3 -3
  368. package/error/QueryFailedError.js.map +1 -1
  369. package/find-options/FindOperatorType.d.ts +1 -1
  370. package/find-options/FindOperatorType.js.map +1 -1
  371. package/find-options/FindOptionsUtils.js +1 -1
  372. package/find-options/FindOptionsUtils.js.map +1 -1
  373. package/find-options/FindOptionsWhere.d.ts +1 -1
  374. package/find-options/FindOptionsWhere.js.map +1 -1
  375. package/find-options/operator/Or.d.ts +2 -0
  376. package/find-options/operator/Or.js +10 -0
  377. package/find-options/operator/Or.js.map +1 -0
  378. package/index.d.ts +2 -0
  379. package/index.js +2 -0
  380. package/index.js.map +1 -1
  381. package/index.mjs +4 -0
  382. package/logger/AbstractLogger.js +1 -1
  383. package/logger/AbstractLogger.js.map +1 -1
  384. package/metadata/ColumnMetadata.js +4 -0
  385. package/metadata/ColumnMetadata.js.map +1 -1
  386. package/metadata/EntityMetadata.d.ts +7 -3
  387. package/metadata/EntityMetadata.js +8 -3
  388. package/metadata/EntityMetadata.js.map +1 -1
  389. package/metadata/IndexMetadata.d.ts +5 -0
  390. package/metadata/IndexMetadata.js +1 -0
  391. package/metadata/IndexMetadata.js.map +1 -1
  392. package/metadata-args/IndexMetadataArgs.d.ts +5 -0
  393. package/metadata-args/IndexMetadataArgs.js.map +1 -1
  394. package/metadata-args/TableMetadataArgs.d.ts +4 -0
  395. package/metadata-args/TableMetadataArgs.js.map +1 -1
  396. package/metadata-builder/EntityMetadataBuilder.js +22 -0
  397. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  398. package/naming-strategy/DefaultNamingStrategy.d.ts +0 -1
  399. package/naming-strategy/DefaultNamingStrategy.js +0 -3
  400. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  401. package/naming-strategy/NamingStrategyInterface.d.ts +0 -4
  402. package/naming-strategy/NamingStrategyInterface.js.map +1 -1
  403. package/package.json +1 -1
  404. package/persistence/Subject.js +2 -1
  405. package/persistence/Subject.js.map +1 -1
  406. package/persistence/SubjectExecutor.js +5 -2
  407. package/persistence/SubjectExecutor.js.map +1 -1
  408. package/persistence/subject-builder/ManyToManySubjectBuilder.js +6 -2
  409. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  410. package/platform/PlatformTools.js +2 -0
  411. package/platform/PlatformTools.js.map +1 -1
  412. package/query-builder/InsertQueryBuilder.js +19 -6
  413. package/query-builder/InsertQueryBuilder.js.map +1 -1
  414. package/query-builder/QueryBuilder.d.ts +5 -0
  415. package/query-builder/QueryBuilder.js +36 -24
  416. package/query-builder/QueryBuilder.js.map +1 -1
  417. package/query-builder/QueryExpressionMap.d.ts +2 -1
  418. package/query-builder/QueryExpressionMap.js +0 -4
  419. package/query-builder/QueryExpressionMap.js.map +1 -1
  420. package/query-builder/SelectQueryBuilder.js +14 -4
  421. package/query-builder/SelectQueryBuilder.js.map +1 -1
  422. package/query-builder/WhereClause.d.ts +1 -1
  423. package/query-builder/WhereClause.js.map +1 -1
  424. package/query-builder/index.d.ts +1 -0
  425. package/query-builder/index.js +21 -0
  426. package/query-builder/index.js.map +1 -0
  427. package/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +9 -0
  428. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +28 -0
  429. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  430. package/query-runner/BaseQueryRunner.js +1 -0
  431. package/query-runner/BaseQueryRunner.js.map +1 -1
  432. package/query-runner/QueryRunner.d.ts +4 -0
  433. package/query-runner/QueryRunner.js.map +1 -1
  434. package/repository/BaseEntity.d.ts +12 -0
  435. package/repository/BaseEntity.js +12 -0
  436. package/repository/BaseEntity.js.map +1 -1
  437. package/repository/MongoRepository.d.ts +8 -4
  438. package/repository/MongoRepository.js +6 -0
  439. package/repository/MongoRepository.js.map +1 -1
  440. package/repository/Repository.d.ts +14 -2
  441. package/repository/Repository.js +26 -6
  442. package/repository/Repository.js.map +1 -1
  443. package/schema-builder/RdbmsSchemaBuilder.d.ts +4 -0
  444. package/schema-builder/RdbmsSchemaBuilder.js +15 -0
  445. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  446. package/schema-builder/options/TableIndexOptions.d.ts +5 -0
  447. package/schema-builder/options/TableIndexOptions.js.map +1 -1
  448. package/schema-builder/options/TableOptions.d.ts +4 -0
  449. package/schema-builder/options/TableOptions.js.map +1 -1
  450. package/schema-builder/table/Table.d.ts +4 -0
  451. package/schema-builder/table/Table.js +3 -0
  452. package/schema-builder/table/Table.js.map +1 -1
  453. package/schema-builder/table/TableIndex.d.ts +5 -0
  454. package/schema-builder/table/TableIndex.js +3 -0
  455. package/schema-builder/table/TableIndex.js.map +1 -1
  456. package/subscriber/Broadcaster.d.ts +11 -1
  457. package/subscriber/Broadcaster.js +48 -1
  458. package/subscriber/Broadcaster.js.map +1 -1
  459. package/subscriber/EntitySubscriberInterface.d.ts +9 -0
  460. package/subscriber/EntitySubscriberInterface.js.map +1 -1
  461. package/subscriber/event/InsertEvent.d.ts +5 -0
  462. package/subscriber/event/InsertEvent.js.map +1 -1
  463. package/subscriber/event/QueryEvent.d.ts +50 -0
  464. package/subscriber/event/QueryEvent.js +4 -0
  465. package/subscriber/event/QueryEvent.js.map +1 -0
  466. package/typeorm-model-shim.js +61 -53
  467. package/util/DateUtils.js +5 -2
  468. package/util/DateUtils.js.map +1 -1
  469. package/util/DirectoryExportedClassesLoader.js +3 -3
  470. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  471. package/util/OrmUtils.d.ts +6 -0
  472. package/util/OrmUtils.js +66 -0
  473. package/util/OrmUtils.js.map +1 -1
@@ -1,4 +1,5 @@
1
1
  import { BaseDataSourceOptions } from "../../data-source/BaseDataSourceOptions";
2
+ import { ReplicationMode } from "../types/ReplicationMode";
2
3
  import { MysqlConnectionCredentialsOptions } from "./MysqlConnectionCredentialsOptions";
3
4
  /**
4
5
  * MySQL specific connection options.
@@ -122,5 +123,10 @@ export interface MysqlConnectionOptions extends BaseDataSourceOptions, MysqlConn
122
123
  * ORDER: Select the first node available unconditionally.
123
124
  */
124
125
  readonly selector?: "RR" | "RANDOM" | "ORDER";
126
+ /**
127
+ * Default connection pool to use for SELECT queries
128
+ * @default "slave"
129
+ */
130
+ readonly defaultMode?: ReplicationMode;
125
131
  };
126
132
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../browser/src/driver/mysql/MysqlConnectionOptions.ts"],"names":[],"mappings":"","file":"MysqlConnectionOptions.js","sourcesContent":["import { BaseDataSourceOptions } from \"../../data-source/BaseDataSourceOptions\"\nimport { MysqlConnectionCredentialsOptions } from \"./MysqlConnectionCredentialsOptions\"\n\n/**\n * MySQL specific connection options.\n *\n * @see https://github.com/mysqljs/mysql#connection-options\n */\nexport interface MysqlConnectionOptions\n extends BaseDataSourceOptions,\n MysqlConnectionCredentialsOptions {\n /**\n * Database type.\n */\n readonly type: \"mysql\" | \"mariadb\"\n\n /**\n * The driver object\n * This defaults to require(\"mysql\").\n * Falls back to require(\"mysql2\")\n */\n readonly driver?: any\n\n /**\n * The charset for the connection. This is called \"collation\" in the SQL-level of MySQL (like utf8_general_ci).\n * If a SQL-level charset is specified (like utf8mb4) then the default collation for that charset is used.\n * Default: 'UTF8_GENERAL_CI'\n */\n readonly charset?: string\n\n /**\n * The timezone configured on the MySQL server.\n * This is used to type cast server date/time values to JavaScript Date object and vice versa.\n * This can be 'local', 'Z', or an offset in the form +HH:MM or -HH:MM. (Default: 'local')\n */\n readonly timezone?: string\n\n /**\n * The milliseconds before a timeout occurs during the initial connection to the MySQL server. (Default: 10000)\n */\n readonly connectTimeout?: number\n\n /**\n * The milliseconds before a timeout occurs during the initial connection to the MySQL server. (Default: 10000)\n * This difference between connectTimeout and acquireTimeout is subtle and is described in the mysqljs/mysql docs\n * https://github.com/mysqljs/mysql/tree/master#pool-options\n */\n readonly acquireTimeout?: number\n\n /**\n * Allow connecting to MySQL instances that ask for the old (insecure) authentication method. (Default: false)\n */\n readonly insecureAuth?: boolean\n\n /**\n * When dealing with big numbers (BIGINT and DECIMAL columns) in the database, you should enable this option (Default: false)\n */\n readonly supportBigNumbers?: boolean\n\n /**\n * Enabling both supportBigNumbers and bigNumberStrings forces big numbers (BIGINT and DECIMAL columns) to be always\n * returned as JavaScript String objects (Default: false). Enabling supportBigNumbers but leaving bigNumberStrings\n * disabled will return big numbers as String objects only when they cannot be accurately represented with\n * [JavaScript Number objects](http://ecma262-5.com/ELS5_HTML.htm#Section_8.5) (which happens when they exceed the [-2^53, +2^53] range),\n * otherwise they will be returned as Number objects. This option is ignored if supportBigNumbers is disabled.\n */\n readonly bigNumberStrings?: boolean\n\n /**\n * Force date types (TIMESTAMP, DATETIME, DATE) to be returned as strings rather then inflated into JavaScript Date objects.\n * Can be true/false or an array of type names to keep as strings.\n */\n readonly dateStrings?: boolean | string[]\n\n /**\n * Prints protocol details to stdout. Can be true/false or an array of packet type names that should be printed.\n * (Default: false)\n */\n readonly debug?: boolean | string[]\n\n /**\n * Generates stack traces on Error to include call site of library entrance (\"long stack traces\").\n * Slight performance penalty for most calls. (Default: true)\n */\n readonly trace?: boolean\n\n /**\n * Allow multiple mysql statements per query. Be careful with this, it could increase the scope of SQL injection attacks.\n * (Default: false)\n */\n readonly multipleStatements?: boolean\n\n /**\n * Use spatial functions like GeomFromText and AsText which are removed in MySQL 8.\n * (Default: true)\n */\n readonly legacySpatialSupport?: boolean\n\n /**\n * List of connection flags to use other than the default ones. It is also possible to blacklist default ones.\n * For more information, check https://github.com/mysqljs/mysql#connection-flags.\n */\n readonly flags?: string[]\n\n /**\n * TypeORM will automatically use package found in your node_modules, prioritizing mysql over mysql2,\n * but you can specify it manually\n */\n readonly connectorPackage?: \"mysql\" | \"mysql2\"\n\n /**\n * Replication setup.\n */\n readonly replication?: {\n /**\n * Master server used by orm to perform writes.\n */\n readonly master: MysqlConnectionCredentialsOptions\n\n /**\n * List of read-from severs (slaves).\n */\n readonly slaves: MysqlConnectionCredentialsOptions[]\n\n /**\n * If true, PoolCluster will attempt to reconnect when connection fails. (Default: true)\n */\n readonly canRetry?: boolean\n\n /**\n * If connection fails, node's errorCount increases.\n * When errorCount is greater than removeNodeErrorCount, remove a node in the PoolCluster. (Default: 5)\n */\n readonly removeNodeErrorCount?: number\n\n /**\n * If connection fails, specifies the number of milliseconds before another connection attempt will be made.\n * If set to 0, then node will be removed instead and never re-used. (Default: 0)\n */\n readonly restoreNodeTimeout?: number\n\n /**\n * Determines how slaves are selected:\n * RR: Select one alternately (Round-Robin).\n * RANDOM: Select the node by random function.\n * ORDER: Select the first node available unconditionally.\n */\n readonly selector?: \"RR\" | \"RANDOM\" | \"ORDER\"\n }\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../browser/src/driver/mysql/MysqlConnectionOptions.ts"],"names":[],"mappings":"","file":"MysqlConnectionOptions.js","sourcesContent":["import { BaseDataSourceOptions } from \"../../data-source/BaseDataSourceOptions\"\nimport { ReplicationMode } from \"../types/ReplicationMode\"\nimport { MysqlConnectionCredentialsOptions } from \"./MysqlConnectionCredentialsOptions\"\n\n/**\n * MySQL specific connection options.\n *\n * @see https://github.com/mysqljs/mysql#connection-options\n */\nexport interface MysqlConnectionOptions\n extends BaseDataSourceOptions,\n MysqlConnectionCredentialsOptions {\n /**\n * Database type.\n */\n readonly type: \"mysql\" | \"mariadb\"\n\n /**\n * The driver object\n * This defaults to require(\"mysql\").\n * Falls back to require(\"mysql2\")\n */\n readonly driver?: any\n\n /**\n * The charset for the connection. This is called \"collation\" in the SQL-level of MySQL (like utf8_general_ci).\n * If a SQL-level charset is specified (like utf8mb4) then the default collation for that charset is used.\n * Default: 'UTF8_GENERAL_CI'\n */\n readonly charset?: string\n\n /**\n * The timezone configured on the MySQL server.\n * This is used to type cast server date/time values to JavaScript Date object and vice versa.\n * This can be 'local', 'Z', or an offset in the form +HH:MM or -HH:MM. (Default: 'local')\n */\n readonly timezone?: string\n\n /**\n * The milliseconds before a timeout occurs during the initial connection to the MySQL server. (Default: 10000)\n */\n readonly connectTimeout?: number\n\n /**\n * The milliseconds before a timeout occurs during the initial connection to the MySQL server. (Default: 10000)\n * This difference between connectTimeout and acquireTimeout is subtle and is described in the mysqljs/mysql docs\n * https://github.com/mysqljs/mysql/tree/master#pool-options\n */\n readonly acquireTimeout?: number\n\n /**\n * Allow connecting to MySQL instances that ask for the old (insecure) authentication method. (Default: false)\n */\n readonly insecureAuth?: boolean\n\n /**\n * When dealing with big numbers (BIGINT and DECIMAL columns) in the database, you should enable this option (Default: false)\n */\n readonly supportBigNumbers?: boolean\n\n /**\n * Enabling both supportBigNumbers and bigNumberStrings forces big numbers (BIGINT and DECIMAL columns) to be always\n * returned as JavaScript String objects (Default: false). Enabling supportBigNumbers but leaving bigNumberStrings\n * disabled will return big numbers as String objects only when they cannot be accurately represented with\n * [JavaScript Number objects](http://ecma262-5.com/ELS5_HTML.htm#Section_8.5) (which happens when they exceed the [-2^53, +2^53] range),\n * otherwise they will be returned as Number objects. This option is ignored if supportBigNumbers is disabled.\n */\n readonly bigNumberStrings?: boolean\n\n /**\n * Force date types (TIMESTAMP, DATETIME, DATE) to be returned as strings rather then inflated into JavaScript Date objects.\n * Can be true/false or an array of type names to keep as strings.\n */\n readonly dateStrings?: boolean | string[]\n\n /**\n * Prints protocol details to stdout. Can be true/false or an array of packet type names that should be printed.\n * (Default: false)\n */\n readonly debug?: boolean | string[]\n\n /**\n * Generates stack traces on Error to include call site of library entrance (\"long stack traces\").\n * Slight performance penalty for most calls. (Default: true)\n */\n readonly trace?: boolean\n\n /**\n * Allow multiple mysql statements per query. Be careful with this, it could increase the scope of SQL injection attacks.\n * (Default: false)\n */\n readonly multipleStatements?: boolean\n\n /**\n * Use spatial functions like GeomFromText and AsText which are removed in MySQL 8.\n * (Default: true)\n */\n readonly legacySpatialSupport?: boolean\n\n /**\n * List of connection flags to use other than the default ones. It is also possible to blacklist default ones.\n * For more information, check https://github.com/mysqljs/mysql#connection-flags.\n */\n readonly flags?: string[]\n\n /**\n * TypeORM will automatically use package found in your node_modules, prioritizing mysql over mysql2,\n * but you can specify it manually\n */\n readonly connectorPackage?: \"mysql\" | \"mysql2\"\n\n /**\n * Replication setup.\n */\n readonly replication?: {\n /**\n * Master server used by orm to perform writes.\n */\n readonly master: MysqlConnectionCredentialsOptions\n\n /**\n * List of read-from severs (slaves).\n */\n readonly slaves: MysqlConnectionCredentialsOptions[]\n\n /**\n * If true, PoolCluster will attempt to reconnect when connection fails. (Default: true)\n */\n readonly canRetry?: boolean\n\n /**\n * If connection fails, node's errorCount increases.\n * When errorCount is greater than removeNodeErrorCount, remove a node in the PoolCluster. (Default: 5)\n */\n readonly removeNodeErrorCount?: number\n\n /**\n * If connection fails, specifies the number of milliseconds before another connection attempt will be made.\n * If set to 0, then node will be removed instead and never re-used. (Default: 0)\n */\n readonly restoreNodeTimeout?: number\n\n /**\n * Determines how slaves are selected:\n * RR: Select one alternately (Round-Robin).\n * RANDOM: Select the node by random function.\n * ORDER: Select the first node available unconditionally.\n */\n readonly selector?: \"RR\" | \"RANDOM\" | \"ORDER\"\n\n /**\n * Default connection pool to use for SELECT queries\n * @default \"slave\"\n */\n readonly defaultMode?: ReplicationMode\n }\n}\n"],"sourceRoot":"../.."}
@@ -128,6 +128,10 @@ export declare class MysqlQueryRunner extends BaseQueryRunner implements QueryRu
128
128
  * Renames a table.
129
129
  */
130
130
  renameTable(oldTableOrName: Table | string, newTableName: string): Promise<void>;
131
+ /**
132
+ * Change table comment.
133
+ */
134
+ changeTableComment(tableOrName: Table | string, newComment?: string): Promise<void>;
131
135
  /**
132
136
  * Creates a new column from the column in the table.
133
137
  */
@@ -16,6 +16,7 @@ import { VersionUtils } from "../../util/VersionUtils";
16
16
  import { TypeORMError } from "../../error";
17
17
  import { MetadataTableType } from "../types/MetadataTableType";
18
18
  import { InstanceChecker } from "../../util/InstanceChecker";
19
+ import { BroadcasterResult } from "../../subscriber/BroadcasterResult";
19
20
  /**
20
21
  * Runs queries on a single mysql database connection.
21
22
  */
@@ -84,15 +85,16 @@ export class MysqlQueryRunner extends BaseQueryRunner {
84
85
  throw err;
85
86
  }
86
87
  if (this.transactionDepth === 0) {
88
+ this.transactionDepth += 1;
87
89
  if (isolationLevel) {
88
90
  await this.query("SET TRANSACTION ISOLATION LEVEL " + isolationLevel);
89
91
  }
90
92
  await this.query("START TRANSACTION");
91
93
  }
92
94
  else {
93
- await this.query(`SAVEPOINT typeorm_${this.transactionDepth}`);
95
+ this.transactionDepth += 1;
96
+ await this.query(`SAVEPOINT typeorm_${this.transactionDepth - 1}`);
94
97
  }
95
- this.transactionDepth += 1;
96
98
  await this.broadcaster.broadcast("AfterTransactionStart");
97
99
  }
98
100
  /**
@@ -104,13 +106,14 @@ export class MysqlQueryRunner extends BaseQueryRunner {
104
106
  throw new TransactionNotStartedError();
105
107
  await this.broadcaster.broadcast("BeforeTransactionCommit");
106
108
  if (this.transactionDepth > 1) {
107
- await this.query(`RELEASE SAVEPOINT typeorm_${this.transactionDepth - 1}`);
109
+ this.transactionDepth -= 1;
110
+ await this.query(`RELEASE SAVEPOINT typeorm_${this.transactionDepth}`);
108
111
  }
109
112
  else {
113
+ this.transactionDepth -= 1;
110
114
  await this.query("COMMIT");
111
115
  this.isTransactionActive = false;
112
116
  }
113
- this.transactionDepth -= 1;
114
117
  await this.broadcaster.broadcast("AfterTransactionCommit");
115
118
  }
116
119
  /**
@@ -122,13 +125,14 @@ export class MysqlQueryRunner extends BaseQueryRunner {
122
125
  throw new TransactionNotStartedError();
123
126
  await this.broadcaster.broadcast("BeforeTransactionRollback");
124
127
  if (this.transactionDepth > 1) {
125
- await this.query(`ROLLBACK TO SAVEPOINT typeorm_${this.transactionDepth - 1}`);
128
+ this.transactionDepth -= 1;
129
+ await this.query(`ROLLBACK TO SAVEPOINT typeorm_${this.transactionDepth}`);
126
130
  }
127
131
  else {
132
+ this.transactionDepth -= 1;
128
133
  await this.query("ROLLBACK");
129
134
  this.isTransactionActive = false;
130
135
  }
131
- this.transactionDepth -= 1;
132
136
  await this.broadcaster.broadcast("AfterTransactionRollback");
133
137
  }
134
138
  /**
@@ -138,11 +142,13 @@ export class MysqlQueryRunner extends BaseQueryRunner {
138
142
  if (this.isReleased)
139
143
  throw new QueryRunnerAlreadyReleasedError();
140
144
  return new Promise(async (ok, fail) => {
145
+ const broadcasterResult = new BroadcasterResult();
141
146
  try {
142
147
  const databaseConnection = await this.connect();
143
148
  this.driver.connection.logger.logQuery(query, parameters, this);
149
+ this.broadcaster.broadcastBeforeQueryEvent(broadcasterResult, query, parameters);
144
150
  const queryStartTime = +new Date();
145
- databaseConnection.query(query, parameters, (err, raw) => {
151
+ databaseConnection.query(query, parameters, async (err, raw) => {
146
152
  // log slow queries if maxQueryExecution time is set
147
153
  const maxQueryExecutionTime = this.driver.options.maxQueryExecutionTime;
148
154
  const queryEndTime = +new Date();
@@ -152,8 +158,10 @@ export class MysqlQueryRunner extends BaseQueryRunner {
152
158
  this.driver.connection.logger.logQuerySlow(queryExecutionTime, query, parameters, this);
153
159
  if (err) {
154
160
  this.driver.connection.logger.logQueryError(err, query, parameters, this);
161
+ this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, false, undefined, undefined, err);
155
162
  return fail(new QueryFailedError(query, parameters, err));
156
163
  }
164
+ this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, true, queryExecutionTime, raw, undefined);
157
165
  const result = new QueryResult();
158
166
  result.raw = raw;
159
167
  try {
@@ -176,6 +184,9 @@ export class MysqlQueryRunner extends BaseQueryRunner {
176
184
  catch (err) {
177
185
  fail(err);
178
186
  }
187
+ finally {
188
+ await broadcasterResult.wait();
189
+ }
179
190
  });
180
191
  }
181
192
  /**
@@ -488,6 +499,28 @@ export class MysqlQueryRunner extends BaseQueryRunner {
488
499
  oldTable.name = newTable.name;
489
500
  this.replaceCachedTable(oldTable, newTable);
490
501
  }
502
+ /**
503
+ * Change table comment.
504
+ */
505
+ async changeTableComment(tableOrName, newComment) {
506
+ const upQueries = [];
507
+ const downQueries = [];
508
+ const table = InstanceChecker.isTable(tableOrName)
509
+ ? tableOrName
510
+ : await this.getCachedTable(tableOrName);
511
+ newComment = this.escapeComment(newComment);
512
+ const comment = this.escapeComment(table.comment);
513
+ if (newComment === comment) {
514
+ return;
515
+ }
516
+ const newTable = table.clone();
517
+ upQueries.push(new Query(`ALTER TABLE ${this.escapePath(newTable)} COMMENT ${newComment}`));
518
+ downQueries.push(new Query(`ALTER TABLE ${this.escapePath(table)} COMMENT ${comment}`));
519
+ await this.executeQueries(upQueries, downQueries);
520
+ // change table comment and replace it in cached tabled;
521
+ table.comment = newTable.comment;
522
+ this.replaceCachedTable(table, newTable);
523
+ }
491
524
  /**
492
525
  * Creates a new column from the column in the table.
493
526
  */
@@ -1367,7 +1400,7 @@ export class MysqlQueryRunner extends BaseQueryRunner {
1367
1400
  const dbTables = [];
1368
1401
  if (!tableNames) {
1369
1402
  // Since we don't have any of this data we have to do a scan
1370
- const tablesSql = `SELECT \`TABLE_SCHEMA\`, \`TABLE_NAME\` FROM \`INFORMATION_SCHEMA\`.\`TABLES\``;
1403
+ const tablesSql = `SELECT \`TABLE_SCHEMA\`, \`TABLE_NAME\`, \`TABLE_COMMENT\` FROM \`INFORMATION_SCHEMA\`.\`TABLES\``;
1371
1404
  dbTables.push(...(await this.query(tablesSql)));
1372
1405
  }
1373
1406
  else {
@@ -1381,7 +1414,7 @@ export class MysqlQueryRunner extends BaseQueryRunner {
1381
1414
  if (!database) {
1382
1415
  database = currentDatabase;
1383
1416
  }
1384
- return `SELECT \`TABLE_SCHEMA\`, \`TABLE_NAME\` FROM \`INFORMATION_SCHEMA\`.\`TABLES\` WHERE \`TABLE_SCHEMA\` = '${database}' AND \`TABLE_NAME\` = '${name}'`;
1417
+ return `SELECT \`TABLE_SCHEMA\`, \`TABLE_NAME\`, \`TABLE_COMMENT\` FROM \`INFORMATION_SCHEMA\`.\`TABLES\` WHERE \`TABLE_SCHEMA\` = '${database}' AND \`TABLE_NAME\` = '${name}'`;
1385
1418
  })
1386
1419
  .join(" UNION ");
1387
1420
  dbTables.push(...(await this.query(tablesSql)));
@@ -1613,7 +1646,7 @@ export class MysqlQueryRunner extends BaseQueryRunner {
1613
1646
  ? "VIRTUAL"
1614
1647
  : "STORED";
1615
1648
  // We cannot relay on information_schema.columns.generation_expression, because it is formatted different.
1616
- const asExpressionQuery = await this.selectTypeormMetadataSql({
1649
+ const asExpressionQuery = this.selectTypeormMetadataSql({
1617
1650
  schema: dbTable["TABLE_SCHEMA"],
1618
1651
  table: dbTable["TABLE_NAME"],
1619
1652
  type: MetadataTableType.GENERATED_COLUMN,
@@ -1756,6 +1789,7 @@ export class MysqlQueryRunner extends BaseQueryRunner {
1756
1789
  isFulltext: constraint["INDEX_TYPE"] === "FULLTEXT",
1757
1790
  });
1758
1791
  });
1792
+ table.comment = dbTable["TABLE_COMMENT"];
1759
1793
  return table;
1760
1794
  }));
1761
1795
  }
@@ -1852,6 +1886,9 @@ export class MysqlQueryRunner extends BaseQueryRunner {
1852
1886
  sql += `, PRIMARY KEY (${columnNames})`;
1853
1887
  }
1854
1888
  sql += `) ENGINE=${table.engine || "InnoDB"}`;
1889
+ if (table.comment) {
1890
+ sql += ` COMMENT="${table.comment}"`;
1891
+ }
1855
1892
  return new Query(sql);
1856
1893
  }
1857
1894
  /**