typeorm 0.3.21-dev.fdbb013 → 0.3.21

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 (1213) hide show
  1. package/README.md +1315 -1325
  2. package/browser/cache/DbQueryResultCache.js.map +1 -1
  3. package/browser/cache/QueryResultCache.d.ts +4 -2
  4. package/browser/cache/QueryResultCache.js.map +1 -1
  5. package/browser/cache/QueryResultCacheFactory.js.map +1 -1
  6. package/browser/cache/QueryResultCacheOptions.js.map +1 -1
  7. package/browser/cache/RedisQueryResultCache.js.map +1 -1
  8. package/browser/cli-ts-node-commonjs.js.map +1 -1
  9. package/browser/cli-ts-node-esm.js.map +1 -1
  10. package/browser/common/DeepPartial.js.map +1 -1
  11. package/browser/common/EntityTarget.js.map +1 -1
  12. package/browser/common/MixedList.js.map +1 -1
  13. package/browser/common/NonNever.js.map +1 -1
  14. package/browser/common/ObjectLiteral.js.map +1 -1
  15. package/browser/common/ObjectType.js.map +1 -1
  16. package/browser/common/PickKeysByType.js.map +1 -1
  17. package/browser/common/RelationType.js.map +1 -1
  18. package/browser/connection/BaseConnectionOptions.js.map +1 -1
  19. package/browser/connection/Connection.js.map +1 -1
  20. package/browser/connection/ConnectionManager.js.map +1 -1
  21. package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
  22. package/browser/connection/ConnectionOptions.js.map +1 -1
  23. package/browser/connection/ConnectionOptionsReader.d.ts +4 -4
  24. package/browser/connection/ConnectionOptionsReader.js.map +1 -1
  25. package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  26. package/browser/container.js.map +1 -1
  27. package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
  28. package/browser/data-source/DataSource.d.ts +2 -0
  29. package/browser/data-source/DataSource.js +2 -0
  30. package/browser/data-source/DataSource.js.map +1 -1
  31. package/browser/data-source/DataSourceOptions.js.map +1 -1
  32. package/browser/data-source/index.js.map +1 -1
  33. package/browser/decorator/Check.js.map +1 -1
  34. package/browser/decorator/EntityRepository.js.map +1 -1
  35. package/browser/decorator/Exclusion.js.map +1 -1
  36. package/browser/decorator/Generated.js.map +1 -1
  37. package/browser/decorator/Index.js.map +1 -1
  38. package/browser/decorator/Unique.js.map +1 -1
  39. package/browser/decorator/columns/Column.js.map +1 -1
  40. package/browser/decorator/columns/CreateDateColumn.js.map +1 -1
  41. package/browser/decorator/columns/DeleteDateColumn.js.map +1 -1
  42. package/browser/decorator/columns/ObjectIdColumn.js.map +1 -1
  43. package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
  44. package/browser/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  45. package/browser/decorator/columns/UpdateDateColumn.js.map +1 -1
  46. package/browser/decorator/columns/VersionColumn.js.map +1 -1
  47. package/browser/decorator/columns/ViewColumn.js.map +1 -1
  48. package/browser/decorator/columns/VirtualColumn.js.map +1 -1
  49. package/browser/decorator/entity/ChildEntity.js.map +1 -1
  50. package/browser/decorator/entity/Entity.js.map +1 -1
  51. package/browser/decorator/entity/TableInheritance.js.map +1 -1
  52. package/browser/decorator/entity-view/ViewEntity.js.map +1 -1
  53. package/browser/decorator/listeners/AfterInsert.js.map +1 -1
  54. package/browser/decorator/listeners/AfterLoad.js.map +1 -1
  55. package/browser/decorator/listeners/AfterRecover.js.map +1 -1
  56. package/browser/decorator/listeners/AfterRemove.js.map +1 -1
  57. package/browser/decorator/listeners/AfterSoftRemove.js.map +1 -1
  58. package/browser/decorator/listeners/AfterUpdate.js.map +1 -1
  59. package/browser/decorator/listeners/BeforeInsert.js.map +1 -1
  60. package/browser/decorator/listeners/BeforeRecover.js.map +1 -1
  61. package/browser/decorator/listeners/BeforeRemove.js.map +1 -1
  62. package/browser/decorator/listeners/BeforeSoftRemove.js.map +1 -1
  63. package/browser/decorator/listeners/BeforeUpdate.js.map +1 -1
  64. package/browser/decorator/listeners/EventSubscriber.js.map +1 -1
  65. package/browser/decorator/options/ColumnCommonOptions.js.map +1 -1
  66. package/browser/decorator/options/ColumnEmbeddedOptions.js.map +1 -1
  67. package/browser/decorator/options/ColumnEnumOptions.js.map +1 -1
  68. package/browser/decorator/options/ColumnHstoreOptions.js.map +1 -1
  69. package/browser/decorator/options/ColumnNumericOptions.js.map +1 -1
  70. package/browser/decorator/options/ColumnOptions.js.map +1 -1
  71. package/browser/decorator/options/ColumnWithLengthOptions.js.map +1 -1
  72. package/browser/decorator/options/ColumnWithWidthOptions.js.map +1 -1
  73. package/browser/decorator/options/EntityOptions.js.map +1 -1
  74. package/browser/decorator/options/IndexOptions.js.map +1 -1
  75. package/browser/decorator/options/JoinColumnOptions.js.map +1 -1
  76. package/browser/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
  77. package/browser/decorator/options/JoinTableOptions.js.map +1 -1
  78. package/browser/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -1
  79. package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
  80. package/browser/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -1
  81. package/browser/decorator/options/RelationOptions.js.map +1 -1
  82. package/browser/decorator/options/SpatialColumnOptions.js.map +1 -1
  83. package/browser/decorator/options/TransactionOptions.js.map +1 -1
  84. package/browser/decorator/options/UniqueOptions.js.map +1 -1
  85. package/browser/decorator/options/ValueTransformer.js.map +1 -1
  86. package/browser/decorator/options/ViewColumnOptions.js.map +1 -1
  87. package/browser/decorator/options/ViewEntityOptions.js.map +1 -1
  88. package/browser/decorator/options/VirtualColumnOptions.js.map +1 -1
  89. package/browser/decorator/relations/JoinColumn.js.map +1 -1
  90. package/browser/decorator/relations/JoinTable.js.map +1 -1
  91. package/browser/decorator/relations/ManyToMany.js.map +1 -1
  92. package/browser/decorator/relations/ManyToOne.js.map +1 -1
  93. package/browser/decorator/relations/OneToMany.js.map +1 -1
  94. package/browser/decorator/relations/OneToOne.d.ts +4 -4
  95. package/browser/decorator/relations/OneToOne.js +2 -2
  96. package/browser/decorator/relations/OneToOne.js.map +1 -1
  97. package/browser/decorator/relations/RelationCount.js.map +1 -1
  98. package/browser/decorator/relations/RelationId.js.map +1 -1
  99. package/browser/decorator/tree/Tree.js.map +1 -1
  100. package/browser/decorator/tree/TreeChildren.js.map +1 -1
  101. package/browser/decorator/tree/TreeLevelColumn.js.map +1 -1
  102. package/browser/decorator/tree/TreeParent.js.map +1 -1
  103. package/browser/driver/Driver.js.map +1 -1
  104. package/browser/driver/DriverFactory.js.map +1 -1
  105. package/browser/driver/DriverUtils.js.map +1 -1
  106. package/browser/driver/Query.js.map +1 -1
  107. package/browser/driver/SqlInMemory.js.map +1 -1
  108. package/browser/driver/aurora-mysql/AuroraMysqlConnection.js.map +1 -1
  109. package/browser/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.d.ts +1 -1
  110. package/browser/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
  111. package/browser/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +1 -1
  112. package/browser/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  113. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +0 -1
  114. package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  115. package/browser/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +1 -1
  116. package/browser/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
  117. package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  118. package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
  119. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +2 -2
  120. package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  121. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js +4 -0
  122. package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  123. package/browser/driver/capacitor/CapacitorConnectionOptions.js.map +1 -1
  124. package/browser/driver/capacitor/CapacitorDriver.js.map +1 -1
  125. package/browser/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  126. package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.d.ts +1 -2
  127. package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
  128. package/browser/driver/cockroachdb/CockroachConnectionOptions.d.ts +1 -1
  129. package/browser/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  130. package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
  131. package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +0 -1
  132. package/browser/driver/cockroachdb/CockroachQueryRunner.js +5 -3
  133. package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  134. package/browser/driver/cordova/CordovaConnectionOptions.js.map +1 -1
  135. package/browser/driver/cordova/CordovaDriver.js.map +1 -1
  136. package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
  137. package/browser/driver/expo/ExpoConnectionOptions.js.map +1 -1
  138. package/browser/driver/expo/ExpoDriver.js.map +1 -1
  139. package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
  140. package/browser/driver/mongodb/MongoConnectionOptions.d.ts +1 -2
  141. package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  142. package/browser/driver/mongodb/MongoDriver.js.map +1 -1
  143. package/browser/driver/mongodb/MongoQueryRunner.d.ts +0 -1
  144. package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
  145. package/browser/driver/mongodb/bson.typings.js.map +1 -1
  146. package/browser/driver/mongodb/typings.d.ts +0 -8
  147. package/browser/driver/mongodb/typings.js +0 -1
  148. package/browser/driver/mongodb/typings.js.map +1 -1
  149. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +1 -1
  150. package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  151. package/browser/driver/mysql/MysqlConnectionOptions.d.ts +1 -1
  152. package/browser/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  153. package/browser/driver/mysql/MysqlDriver.js.map +1 -1
  154. package/browser/driver/mysql/MysqlQueryRunner.d.ts +0 -1
  155. package/browser/driver/mysql/MysqlQueryRunner.js +71 -71
  156. package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
  157. package/browser/driver/nativescript/NativescriptConnectionOptions.js.map +1 -1
  158. package/browser/driver/nativescript/NativescriptDriver.js.map +1 -1
  159. package/browser/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  160. package/browser/driver/oracle/OracleConnectionCredentialsOptions.d.ts +1 -1
  161. package/browser/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -1
  162. package/browser/driver/oracle/OracleConnectionOptions.d.ts +1 -1
  163. package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
  164. package/browser/driver/oracle/OracleDriver.js.map +1 -1
  165. package/browser/driver/oracle/OracleQueryRunner.d.ts +0 -1
  166. package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
  167. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +1 -2
  168. package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  169. package/browser/driver/postgres/PostgresConnectionOptions.d.ts +1 -1
  170. package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  171. package/browser/driver/postgres/PostgresDriver.js.map +1 -1
  172. package/browser/driver/postgres/PostgresQueryRunner.d.ts +0 -1
  173. package/browser/driver/postgres/PostgresQueryRunner.js +5 -1
  174. package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
  175. package/browser/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
  176. package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
  177. package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  178. package/browser/driver/sap/SapConnectionCredentialsOptions.js.map +1 -1
  179. package/browser/driver/sap/SapConnectionOptions.js.map +1 -1
  180. package/browser/driver/sap/SapDriver.js.map +1 -1
  181. package/browser/driver/sap/SapQueryRunner.d.ts +0 -1
  182. package/browser/driver/sap/SapQueryRunner.js.map +1 -1
  183. package/browser/driver/spanner/SpannerConnectionCredentialsOptions.d.ts +1 -1
  184. package/browser/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -1
  185. package/browser/driver/spanner/SpannerConnectionOptions.d.ts +1 -1
  186. package/browser/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  187. package/browser/driver/spanner/SpannerDriver.js.map +1 -1
  188. package/browser/driver/spanner/SpannerQueryRunner.d.ts +0 -1
  189. package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
  190. package/browser/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  191. package/browser/driver/sqlite/SqliteDriver.js +2 -2
  192. package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
  193. package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  194. package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  195. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +0 -1
  196. package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  197. package/browser/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
  198. package/browser/driver/sqljs/SqljsDriver.js.map +1 -1
  199. package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  200. package/browser/driver/sqlserver/MssqlParameter.js.map +1 -1
  201. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +1 -1
  202. package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  203. package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +1 -1
  204. package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  205. package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
  206. package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +0 -1
  207. package/browser/driver/sqlserver/SqlServerQueryRunner.js +26 -26
  208. package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  209. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -1
  210. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -1
  211. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -1
  212. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -1
  213. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -1
  214. package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -1
  215. package/browser/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -1
  216. package/browser/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -1
  217. package/browser/driver/types/ColumnTypes.js.map +1 -1
  218. package/browser/driver/types/CteCapabilities.js.map +1 -1
  219. package/browser/driver/types/DataTypeDefaults.js.map +1 -1
  220. package/browser/driver/types/DatabaseType.js.map +1 -1
  221. package/browser/driver/types/GeoJsonTypes.js.map +1 -1
  222. package/browser/driver/types/IsolationLevel.js.map +1 -1
  223. package/browser/driver/types/MappedColumnTypes.js.map +1 -1
  224. package/browser/driver/types/MetadataTableType.js.map +1 -1
  225. package/browser/driver/types/ReplicationMode.js.map +1 -1
  226. package/browser/driver/types/UpsertType.js.map +1 -1
  227. package/browser/entity-manager/EntityManager.d.ts +2 -0
  228. package/browser/entity-manager/EntityManager.js +4 -2
  229. package/browser/entity-manager/EntityManager.js.map +1 -1
  230. package/browser/entity-manager/EntityManagerFactory.js.map +1 -1
  231. package/browser/entity-manager/MongoEntityManager.js.map +1 -1
  232. package/browser/entity-manager/SqljsEntityManager.js.map +1 -1
  233. package/browser/entity-schema/EntitySchema.js.map +1 -1
  234. package/browser/entity-schema/EntitySchemaCheckOptions.js.map +1 -1
  235. package/browser/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  236. package/browser/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -1
  237. package/browser/entity-schema/EntitySchemaEmbeddedError.js.map +1 -1
  238. package/browser/entity-schema/EntitySchemaExclusionOptions.js.map +1 -1
  239. package/browser/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
  240. package/browser/entity-schema/EntitySchemaInheritanceOptions.js.map +1 -1
  241. package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
  242. package/browser/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -1
  243. package/browser/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  244. package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
  245. package/browser/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  246. package/browser/error/AlreadyHasActiveConnectionError.js.map +1 -1
  247. package/browser/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  248. package/browser/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  249. package/browser/error/CannotCreateEntityIdMapError.js.map +1 -1
  250. package/browser/error/CannotDetermineEntityError.js.map +1 -1
  251. package/browser/error/CannotExecuteNotConnectedError.js.map +1 -1
  252. package/browser/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  253. package/browser/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  254. package/browser/error/CircularRelationsError.js.map +1 -1
  255. package/browser/error/ColumnTypeUndefinedError.js.map +1 -1
  256. package/browser/error/ConnectionIsNotSetError.js.map +1 -1
  257. package/browser/error/ConnectionNotFoundError.js.map +1 -1
  258. package/browser/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
  259. package/browser/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
  260. package/browser/error/CustomRepositoryNotFoundError.js.map +1 -1
  261. package/browser/error/DataTypeNotSupportedError.js.map +1 -1
  262. package/browser/error/DriverOptionNotSetError.js.map +1 -1
  263. package/browser/error/DriverPackageNotInstalledError.js.map +1 -1
  264. package/browser/error/EntityMetadataNotFoundError.js.map +1 -1
  265. package/browser/error/EntityNotFoundError.js.map +1 -1
  266. package/browser/error/EntityPropertyNotFoundError.js.map +1 -1
  267. package/browser/error/FindRelationsNotFoundError.js.map +1 -1
  268. package/browser/error/ForbiddenTransactionModeOverrideError.js.map +1 -1
  269. package/browser/error/InitializedRelationError.js.map +1 -1
  270. package/browser/error/InsertValuesMissingError.js.map +1 -1
  271. package/browser/error/LimitOnUpdateNotSupportedError.js.map +1 -1
  272. package/browser/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
  273. package/browser/error/MetadataAlreadyExistsError.js.map +1 -1
  274. package/browser/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
  275. package/browser/error/MissingDeleteDateColumnError.js.map +1 -1
  276. package/browser/error/MissingDriverError.js.map +1 -1
  277. package/browser/error/MissingJoinColumnError.js.map +1 -1
  278. package/browser/error/MissingJoinTableError.js.map +1 -1
  279. package/browser/error/MissingPrimaryColumnError.js.map +1 -1
  280. package/browser/error/MustBeEntityError.js.map +1 -1
  281. package/browser/error/NamingStrategyNotFoundError.js.map +1 -1
  282. package/browser/error/NestedSetMultipleRootError.js.map +1 -1
  283. package/browser/error/NoConnectionForRepositoryError.js.map +1 -1
  284. package/browser/error/NoConnectionOptionError.js.map +1 -1
  285. package/browser/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
  286. package/browser/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  287. package/browser/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
  288. package/browser/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
  289. package/browser/error/OptimisticLockVersionMismatchError.js.map +1 -1
  290. package/browser/error/PersistedEntityNotFoundError.js.map +1 -1
  291. package/browser/error/PessimisticLockTransactionRequiredError.js.map +1 -1
  292. package/browser/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  293. package/browser/error/QueryFailedError.js.map +1 -1
  294. package/browser/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
  295. package/browser/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
  296. package/browser/error/RepositoryNotTreeError.js.map +1 -1
  297. package/browser/error/ReturningStatementNotSupportedError.js.map +1 -1
  298. package/browser/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  299. package/browser/error/SubjectWithoutIdentifierError.js.map +1 -1
  300. package/browser/error/TransactionAlreadyStartedError.js.map +1 -1
  301. package/browser/error/TransactionNotStartedError.js.map +1 -1
  302. package/browser/error/TreeRepositoryNotSupportedError.js.map +1 -1
  303. package/browser/error/TypeORMError.js.map +1 -1
  304. package/browser/error/UpdateValuesMissingError.js.map +1 -1
  305. package/browser/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  306. package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  307. package/browser/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  308. package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  309. package/browser/error/index.js.map +1 -1
  310. package/browser/find-options/EqualOperator.js.map +1 -1
  311. package/browser/find-options/FindManyOptions.js.map +1 -1
  312. package/browser/find-options/FindOneOptions.js.map +1 -1
  313. package/browser/find-options/FindOperator.js.map +1 -1
  314. package/browser/find-options/FindOperatorType.js.map +1 -1
  315. package/browser/find-options/FindOptionsOrder.d.ts +0 -1
  316. package/browser/find-options/FindOptionsOrder.js.map +1 -1
  317. package/browser/find-options/FindOptionsRelations.d.ts +0 -1
  318. package/browser/find-options/FindOptionsRelations.js.map +1 -1
  319. package/browser/find-options/FindOptionsSelect.d.ts +0 -1
  320. package/browser/find-options/FindOptionsSelect.js.map +1 -1
  321. package/browser/find-options/FindOptionsUtils.js.map +1 -1
  322. package/browser/find-options/FindOptionsWhere.d.ts +0 -1
  323. package/browser/find-options/FindOptionsWhere.js.map +1 -1
  324. package/browser/find-options/FindTreeOptions.js.map +1 -1
  325. package/browser/find-options/JoinOptions.js.map +1 -1
  326. package/browser/find-options/OrderByCondition.js.map +1 -1
  327. package/browser/find-options/mongodb/MongoFindManyOptions.js.map +1 -1
  328. package/browser/find-options/mongodb/MongoFindOneOptions.js.map +1 -1
  329. package/browser/find-options/operator/And.js.map +1 -1
  330. package/browser/find-options/operator/Any.js.map +1 -1
  331. package/browser/find-options/operator/ArrayContainedBy.js.map +1 -1
  332. package/browser/find-options/operator/ArrayContains.js.map +1 -1
  333. package/browser/find-options/operator/ArrayOverlap.js.map +1 -1
  334. package/browser/find-options/operator/Between.js.map +1 -1
  335. package/browser/find-options/operator/Equal.js.map +1 -1
  336. package/browser/find-options/operator/ILike.js.map +1 -1
  337. package/browser/find-options/operator/In.js.map +1 -1
  338. package/browser/find-options/operator/IsNull.js.map +1 -1
  339. package/browser/find-options/operator/JsonContains.js.map +1 -1
  340. package/browser/find-options/operator/LessThan.js.map +1 -1
  341. package/browser/find-options/operator/LessThanOrEqual.js.map +1 -1
  342. package/browser/find-options/operator/Like.js.map +1 -1
  343. package/browser/find-options/operator/MoreThan.js.map +1 -1
  344. package/browser/find-options/operator/MoreThanOrEqual.js.map +1 -1
  345. package/browser/find-options/operator/Not.js.map +1 -1
  346. package/browser/find-options/operator/Or.js.map +1 -1
  347. package/browser/find-options/operator/Raw.js.map +1 -1
  348. package/browser/globals.js.map +1 -1
  349. package/browser/index.js.map +1 -1
  350. package/browser/logger/AbstractLogger.js.map +1 -1
  351. package/browser/logger/AdvancedConsoleLogger.js.map +1 -1
  352. package/browser/logger/DebugLogger.js.map +1 -1
  353. package/browser/logger/FileLogger.js.map +1 -1
  354. package/browser/logger/Logger.js.map +1 -1
  355. package/browser/logger/LoggerFactory.js.map +1 -1
  356. package/browser/logger/LoggerOptions.js.map +1 -1
  357. package/browser/logger/SimpleConsoleLogger.js.map +1 -1
  358. package/browser/metadata/CheckMetadata.js.map +1 -1
  359. package/browser/metadata/ColumnMetadata.js.map +1 -1
  360. package/browser/metadata/EmbeddedMetadata.js.map +1 -1
  361. package/browser/metadata/EntityListenerMetadata.js.map +1 -1
  362. package/browser/metadata/EntityMetadata.js.map +1 -1
  363. package/browser/metadata/ExclusionMetadata.js.map +1 -1
  364. package/browser/metadata/ForeignKeyMetadata.js.map +1 -1
  365. package/browser/metadata/IndexMetadata.js.map +1 -1
  366. package/browser/metadata/RelationCountMetadata.js.map +1 -1
  367. package/browser/metadata/RelationIdMetadata.js.map +1 -1
  368. package/browser/metadata/RelationMetadata.js.map +1 -1
  369. package/browser/metadata/UniqueMetadata.js.map +1 -1
  370. package/browser/metadata/types/ClosureTreeOptions.js.map +1 -1
  371. package/browser/metadata/types/DeferrableType.js.map +1 -1
  372. package/browser/metadata/types/EventListenerTypes.js.map +1 -1
  373. package/browser/metadata/types/OnDeleteType.js.map +1 -1
  374. package/browser/metadata/types/OnUpdateType.js.map +1 -1
  375. package/browser/metadata/types/PropertyTypeInFunction.js.map +1 -1
  376. package/browser/metadata/types/RelationTypeInFunction.js.map +1 -1
  377. package/browser/metadata/types/RelationTypes.js.map +1 -1
  378. package/browser/metadata/types/TableTypes.js.map +1 -1
  379. package/browser/metadata/types/TreeTypes.js.map +1 -1
  380. package/browser/metadata-args/CheckMetadataArgs.js.map +1 -1
  381. package/browser/metadata-args/ColumnMetadataArgs.js.map +1 -1
  382. package/browser/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -1
  383. package/browser/metadata-args/EmbeddedMetadataArgs.js.map +1 -1
  384. package/browser/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
  385. package/browser/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
  386. package/browser/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -1
  387. package/browser/metadata-args/ExclusionMetadataArgs.js.map +1 -1
  388. package/browser/metadata-args/GeneratedMetadataArgs.js.map +1 -1
  389. package/browser/metadata-args/IndexMetadataArgs.js.map +1 -1
  390. package/browser/metadata-args/InheritanceMetadataArgs.js.map +1 -1
  391. package/browser/metadata-args/JoinColumnMetadataArgs.js.map +1 -1
  392. package/browser/metadata-args/JoinTableMetadataArgs.js.map +1 -1
  393. package/browser/metadata-args/MetadataArgsStorage.js.map +1 -1
  394. package/browser/metadata-args/NamingStrategyMetadataArgs.js.map +1 -1
  395. package/browser/metadata-args/RelationCountMetadataArgs.js.map +1 -1
  396. package/browser/metadata-args/RelationIdMetadataArgs.js.map +1 -1
  397. package/browser/metadata-args/RelationMetadataArgs.js.map +1 -1
  398. package/browser/metadata-args/TableMetadataArgs.js.map +1 -1
  399. package/browser/metadata-args/TransactionEntityMetadataArgs.js.map +1 -1
  400. package/browser/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -1
  401. package/browser/metadata-args/TreeMetadataArgs.js.map +1 -1
  402. package/browser/metadata-args/UniqueMetadataArgs.js.map +1 -1
  403. package/browser/metadata-args/types/ColumnMode.js.map +1 -1
  404. package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  405. package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  406. package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
  407. package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  408. package/browser/metadata-builder/MetadataUtils.js.map +1 -1
  409. package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  410. package/browser/migration/Migration.js.map +1 -1
  411. package/browser/migration/MigrationExecutor.js.map +1 -1
  412. package/browser/migration/MigrationInterface.js.map +1 -1
  413. package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  414. package/browser/naming-strategy/LegacyOracleNamingStrategy.js.map +1 -1
  415. package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
  416. package/browser/persistence/EntityPersistExecutor.js.map +1 -1
  417. package/browser/persistence/Subject.js.map +1 -1
  418. package/browser/persistence/SubjectChangeMap.js.map +1 -1
  419. package/browser/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  420. package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  421. package/browser/persistence/SubjectExecutor.js +3 -3
  422. package/browser/persistence/SubjectExecutor.js.map +1 -1
  423. package/browser/persistence/{SubjectTopoligicalSorter.d.ts → SubjectTopologicalSorter.d.ts} +1 -1
  424. package/browser/persistence/{SubjectTopoligicalSorter.js → SubjectTopologicalSorter.js} +2 -2
  425. package/browser/persistence/SubjectTopologicalSorter.js.map +1 -0
  426. package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  427. package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  428. package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  429. package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  430. package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  431. package/browser/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  432. package/browser/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  433. package/browser/platform/BrowserConnectionOptionsReaderDummy.js.map +1 -1
  434. package/browser/platform/BrowserDirectoryExportedClassesLoader.js.map +1 -1
  435. package/browser/platform/BrowserDisabledDriversDummy.js.map +1 -1
  436. package/browser/platform/BrowserFileLoggerDummy.js.map +1 -1
  437. package/browser/platform/BrowserPlatformTools.d.ts +2 -6
  438. package/browser/platform/BrowserPlatformTools.js +2 -8
  439. package/browser/platform/BrowserPlatformTools.js.map +1 -1
  440. package/browser/platform/PlatformTools.d.ts +2 -10
  441. package/browser/platform/PlatformTools.js +28 -36
  442. package/browser/platform/PlatformTools.js.map +1 -1
  443. package/browser/query-builder/Alias.js.map +1 -1
  444. package/browser/query-builder/Brackets.js.map +1 -1
  445. package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
  446. package/browser/query-builder/InsertOrUpdateOptions.js.map +1 -1
  447. package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
  448. package/browser/query-builder/JoinAttribute.js.map +1 -1
  449. package/browser/query-builder/JoinOptions.js.map +1 -1
  450. package/browser/query-builder/NotBrackets.js.map +1 -1
  451. package/browser/query-builder/QueryBuilder.js +2 -3
  452. package/browser/query-builder/QueryBuilder.js.map +1 -1
  453. package/browser/query-builder/QueryBuilderCte.js.map +1 -1
  454. package/browser/query-builder/QueryBuilderUtils.js.map +1 -1
  455. package/browser/query-builder/QueryExpressionMap.js.map +1 -1
  456. package/browser/query-builder/QueryPartialEntity.js.map +1 -1
  457. package/browser/query-builder/RelationIdLoader.js.map +1 -1
  458. package/browser/query-builder/RelationLoader.js.map +1 -1
  459. package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
  460. package/browser/query-builder/RelationRemover.js.map +1 -1
  461. package/browser/query-builder/RelationUpdater.js.map +1 -1
  462. package/browser/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  463. package/browser/query-builder/SelectQuery.js.map +1 -1
  464. package/browser/query-builder/SelectQueryBuilder.d.ts +0 -1
  465. package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
  466. package/browser/query-builder/SelectQueryBuilderOption.js.map +1 -1
  467. package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  468. package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
  469. package/browser/query-builder/WhereClause.js.map +1 -1
  470. package/browser/query-builder/WhereExpressionBuilder.js.map +1 -1
  471. package/browser/query-builder/index.js.map +1 -1
  472. package/browser/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  473. package/browser/query-builder/relation-count/RelationCountLoadResult.js.map +1 -1
  474. package/browser/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  475. package/browser/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
  476. package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  477. package/browser/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
  478. package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  479. package/browser/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  480. package/browser/query-builder/result/DeleteResult.js.map +1 -1
  481. package/browser/query-builder/result/InsertResult.js.map +1 -1
  482. package/browser/query-builder/result/UpdateResult.js.map +1 -1
  483. package/browser/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  484. package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  485. package/browser/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  486. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +9 -0
  487. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +95 -61
  488. package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  489. package/browser/query-runner/BaseQueryRunner.js.map +1 -1
  490. package/browser/query-runner/QueryLock.js.map +1 -1
  491. package/browser/query-runner/QueryResult.js.map +1 -1
  492. package/browser/query-runner/QueryRunner.d.ts +0 -1
  493. package/browser/query-runner/QueryRunner.js.map +1 -1
  494. package/browser/repository/AbstractRepository.js.map +1 -1
  495. package/browser/repository/BaseEntity.js.map +1 -1
  496. package/browser/repository/EntityId.js.map +1 -1
  497. package/browser/repository/FindTreesOptions.js.map +1 -1
  498. package/browser/repository/MongoRepository.js.map +1 -1
  499. package/browser/repository/RemoveOptions.js.map +1 -1
  500. package/browser/repository/Repository.d.ts +2 -0
  501. package/browser/repository/Repository.js +2 -0
  502. package/browser/repository/Repository.js.map +1 -1
  503. package/browser/repository/SaveOptions.js.map +1 -1
  504. package/browser/repository/TreeRepository.js.map +1 -1
  505. package/browser/repository/UpsertOptions.js.map +1 -1
  506. package/browser/schema-builder/MongoSchemaBuilder.js.map +1 -1
  507. package/browser/schema-builder/RdbmsSchemaBuilder.js +1 -1
  508. package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  509. package/browser/schema-builder/SchemaBuilder.js.map +1 -1
  510. package/browser/schema-builder/options/TableCheckOptions.js.map +1 -1
  511. package/browser/schema-builder/options/TableColumnOptions.js.map +1 -1
  512. package/browser/schema-builder/options/TableExclusionOptions.js.map +1 -1
  513. package/browser/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
  514. package/browser/schema-builder/options/TableIndexOptions.js.map +1 -1
  515. package/browser/schema-builder/options/TableOptions.js.map +1 -1
  516. package/browser/schema-builder/options/TableUniqueOptions.js.map +1 -1
  517. package/browser/schema-builder/options/ViewOptions.js.map +1 -1
  518. package/browser/schema-builder/table/Table.js.map +1 -1
  519. package/browser/schema-builder/table/TableCheck.js.map +1 -1
  520. package/browser/schema-builder/table/TableColumn.js.map +1 -1
  521. package/browser/schema-builder/table/TableExclusion.js.map +1 -1
  522. package/browser/schema-builder/table/TableForeignKey.js.map +1 -1
  523. package/browser/schema-builder/table/TableIndex.js.map +1 -1
  524. package/browser/schema-builder/table/TableUnique.js.map +1 -1
  525. package/browser/schema-builder/util/TableUtils.js.map +1 -1
  526. package/browser/schema-builder/util/ViewUtils.js.map +1 -1
  527. package/browser/schema-builder/view/View.js.map +1 -1
  528. package/browser/subscriber/Broadcaster.js.map +1 -1
  529. package/browser/subscriber/BroadcasterResult.js.map +1 -1
  530. package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
  531. package/browser/subscriber/event/InsertEvent.js.map +1 -1
  532. package/browser/subscriber/event/LoadEvent.js.map +1 -1
  533. package/browser/subscriber/event/QueryEvent.js.map +1 -1
  534. package/browser/subscriber/event/RecoverEvent.js.map +1 -1
  535. package/browser/subscriber/event/RemoveEvent.js.map +1 -1
  536. package/browser/subscriber/event/SoftRemoveEvent.js.map +1 -1
  537. package/browser/subscriber/event/TransactionCommitEvent.js.map +1 -1
  538. package/browser/subscriber/event/TransactionRollbackEvent.js.map +1 -1
  539. package/browser/subscriber/event/TransactionStartEvent.js.map +1 -1
  540. package/browser/subscriber/event/UpdateEvent.js.map +1 -1
  541. package/browser/util/ApplyValueTransformers.js.map +1 -1
  542. package/browser/util/DateUtils.js.map +1 -1
  543. package/browser/util/DepGraph.js.map +1 -1
  544. package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
  545. package/browser/util/ImportUtils.js +22 -34
  546. package/browser/util/ImportUtils.js.map +1 -1
  547. package/browser/util/InstanceChecker.js.map +1 -1
  548. package/browser/util/ObjectUtils.js.map +1 -1
  549. package/browser/util/OrmUtils.js.map +1 -1
  550. package/browser/util/PathUtils.js.map +1 -1
  551. package/browser/util/RandomGenerator.js.map +1 -1
  552. package/browser/util/StringUtils.js.map +1 -1
  553. package/browser/util/TreeRepositoryUtils.js.map +1 -1
  554. package/browser/util/VersionUtils.js.map +1 -1
  555. package/browser/util/escapeRegExp.js.map +1 -1
  556. package/cache/DbQueryResultCache.js.map +1 -1
  557. package/cache/QueryResultCache.d.ts +4 -2
  558. package/cache/QueryResultCache.js.map +1 -1
  559. package/cache/QueryResultCacheFactory.js.map +1 -1
  560. package/cache/QueryResultCacheOptions.js.map +1 -1
  561. package/cache/RedisQueryResultCache.js.map +1 -1
  562. package/cli-ts-node-commonjs.js.map +1 -1
  563. package/cli-ts-node-esm.js.map +1 -1
  564. package/cli.js.map +1 -1
  565. package/commands/CacheClearCommand.d.ts +1 -1
  566. package/commands/CacheClearCommand.js +3 -3
  567. package/commands/CacheClearCommand.js.map +1 -1
  568. package/commands/CommandUtils.d.ts +1 -1
  569. package/commands/CommandUtils.js +18 -16
  570. package/commands/CommandUtils.js.map +1 -1
  571. package/commands/EntityCreateCommand.d.ts +1 -1
  572. package/commands/EntityCreateCommand.js +13 -13
  573. package/commands/EntityCreateCommand.js.map +1 -1
  574. package/commands/InitCommand.d.ts +1 -1
  575. package/commands/InitCommand.js +311 -311
  576. package/commands/InitCommand.js.map +1 -1
  577. package/commands/MigrationCreateCommand.d.ts +1 -1
  578. package/commands/MigrationCreateCommand.js +27 -27
  579. package/commands/MigrationCreateCommand.js.map +1 -1
  580. package/commands/MigrationGenerateCommand.d.ts +1 -1
  581. package/commands/MigrationGenerateCommand.js +48 -48
  582. package/commands/MigrationGenerateCommand.js.map +1 -1
  583. package/commands/MigrationRevertCommand.js.map +1 -1
  584. package/commands/MigrationRunCommand.js.map +1 -1
  585. package/commands/MigrationShowCommand.js.map +1 -1
  586. package/commands/QueryCommand.d.ts +1 -1
  587. package/commands/QueryCommand.js +10 -7
  588. package/commands/QueryCommand.js.map +1 -1
  589. package/commands/SchemaDropCommand.d.ts +1 -1
  590. package/commands/SchemaDropCommand.js +3 -3
  591. package/commands/SchemaDropCommand.js.map +1 -1
  592. package/commands/SchemaLogCommand.d.ts +1 -1
  593. package/commands/SchemaLogCommand.js +12 -18
  594. package/commands/SchemaLogCommand.js.map +1 -1
  595. package/commands/SchemaSyncCommand.d.ts +1 -1
  596. package/commands/SchemaSyncCommand.js +3 -3
  597. package/commands/SchemaSyncCommand.js.map +1 -1
  598. package/commands/SubscriberCreateCommand.d.ts +1 -1
  599. package/commands/SubscriberCreateCommand.js +11 -11
  600. package/commands/SubscriberCreateCommand.js.map +1 -1
  601. package/commands/VersionCommand.js.map +1 -1
  602. package/common/DeepPartial.js.map +1 -1
  603. package/common/EntityTarget.js.map +1 -1
  604. package/common/MixedList.js.map +1 -1
  605. package/common/NonNever.js.map +1 -1
  606. package/common/ObjectLiteral.js.map +1 -1
  607. package/common/ObjectType.js.map +1 -1
  608. package/common/PickKeysByType.js.map +1 -1
  609. package/common/RelationType.js.map +1 -1
  610. package/connection/BaseConnectionOptions.js.map +1 -1
  611. package/connection/Connection.js.map +1 -1
  612. package/connection/ConnectionManager.js.map +1 -1
  613. package/connection/ConnectionMetadataBuilder.js.map +1 -1
  614. package/connection/ConnectionOptions.js.map +1 -1
  615. package/connection/ConnectionOptionsReader.d.ts +4 -4
  616. package/connection/ConnectionOptionsReader.js.map +1 -1
  617. package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
  618. package/container.js +2 -3
  619. package/container.js.map +1 -1
  620. package/data-source/BaseDataSourceOptions.js.map +1 -1
  621. package/data-source/DataSource.d.ts +2 -0
  622. package/data-source/DataSource.js +2 -0
  623. package/data-source/DataSource.js.map +1 -1
  624. package/data-source/DataSourceOptions.js.map +1 -1
  625. package/data-source/index.js.map +1 -1
  626. package/decorator/Check.js +1 -2
  627. package/decorator/Check.js.map +1 -1
  628. package/decorator/EntityRepository.js +1 -2
  629. package/decorator/EntityRepository.js.map +1 -1
  630. package/decorator/Exclusion.js +1 -2
  631. package/decorator/Exclusion.js.map +1 -1
  632. package/decorator/Generated.js +1 -2
  633. package/decorator/Generated.js.map +1 -1
  634. package/decorator/Index.js +1 -2
  635. package/decorator/Index.js.map +1 -1
  636. package/decorator/Unique.js +1 -2
  637. package/decorator/Unique.js.map +1 -1
  638. package/decorator/columns/Column.js +1 -2
  639. package/decorator/columns/Column.js.map +1 -1
  640. package/decorator/columns/CreateDateColumn.js +1 -2
  641. package/decorator/columns/CreateDateColumn.js.map +1 -1
  642. package/decorator/columns/DeleteDateColumn.js +1 -2
  643. package/decorator/columns/DeleteDateColumn.js.map +1 -1
  644. package/decorator/columns/ObjectIdColumn.js +1 -2
  645. package/decorator/columns/ObjectIdColumn.js.map +1 -1
  646. package/decorator/columns/PrimaryColumn.js +1 -2
  647. package/decorator/columns/PrimaryColumn.js.map +1 -1
  648. package/decorator/columns/PrimaryGeneratedColumn.js +1 -2
  649. package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
  650. package/decorator/columns/UpdateDateColumn.js +1 -2
  651. package/decorator/columns/UpdateDateColumn.js.map +1 -1
  652. package/decorator/columns/VersionColumn.js +1 -2
  653. package/decorator/columns/VersionColumn.js.map +1 -1
  654. package/decorator/columns/ViewColumn.js +1 -2
  655. package/decorator/columns/ViewColumn.js.map +1 -1
  656. package/decorator/columns/VirtualColumn.js +1 -2
  657. package/decorator/columns/VirtualColumn.js.map +1 -1
  658. package/decorator/entity/ChildEntity.js +1 -2
  659. package/decorator/entity/ChildEntity.js.map +1 -1
  660. package/decorator/entity/Entity.js +1 -2
  661. package/decorator/entity/Entity.js.map +1 -1
  662. package/decorator/entity/TableInheritance.js +1 -2
  663. package/decorator/entity/TableInheritance.js.map +1 -1
  664. package/decorator/entity-view/ViewEntity.js +1 -2
  665. package/decorator/entity-view/ViewEntity.js.map +1 -1
  666. package/decorator/listeners/AfterInsert.js +1 -2
  667. package/decorator/listeners/AfterInsert.js.map +1 -1
  668. package/decorator/listeners/AfterLoad.js +1 -2
  669. package/decorator/listeners/AfterLoad.js.map +1 -1
  670. package/decorator/listeners/AfterRecover.js +1 -2
  671. package/decorator/listeners/AfterRecover.js.map +1 -1
  672. package/decorator/listeners/AfterRemove.js +1 -2
  673. package/decorator/listeners/AfterRemove.js.map +1 -1
  674. package/decorator/listeners/AfterSoftRemove.js +1 -2
  675. package/decorator/listeners/AfterSoftRemove.js.map +1 -1
  676. package/decorator/listeners/AfterUpdate.js +1 -2
  677. package/decorator/listeners/AfterUpdate.js.map +1 -1
  678. package/decorator/listeners/BeforeInsert.js +1 -2
  679. package/decorator/listeners/BeforeInsert.js.map +1 -1
  680. package/decorator/listeners/BeforeRecover.js +1 -2
  681. package/decorator/listeners/BeforeRecover.js.map +1 -1
  682. package/decorator/listeners/BeforeRemove.js +1 -2
  683. package/decorator/listeners/BeforeRemove.js.map +1 -1
  684. package/decorator/listeners/BeforeSoftRemove.js +1 -2
  685. package/decorator/listeners/BeforeSoftRemove.js.map +1 -1
  686. package/decorator/listeners/BeforeUpdate.js +1 -2
  687. package/decorator/listeners/BeforeUpdate.js.map +1 -1
  688. package/decorator/listeners/EventSubscriber.js +1 -2
  689. package/decorator/listeners/EventSubscriber.js.map +1 -1
  690. package/decorator/options/ColumnCommonOptions.js.map +1 -1
  691. package/decorator/options/ColumnEmbeddedOptions.js.map +1 -1
  692. package/decorator/options/ColumnEnumOptions.js.map +1 -1
  693. package/decorator/options/ColumnHstoreOptions.js.map +1 -1
  694. package/decorator/options/ColumnNumericOptions.js.map +1 -1
  695. package/decorator/options/ColumnOptions.js.map +1 -1
  696. package/decorator/options/ColumnWithLengthOptions.js.map +1 -1
  697. package/decorator/options/ColumnWithWidthOptions.js.map +1 -1
  698. package/decorator/options/EntityOptions.js.map +1 -1
  699. package/decorator/options/IndexOptions.js.map +1 -1
  700. package/decorator/options/JoinColumnOptions.js.map +1 -1
  701. package/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
  702. package/decorator/options/JoinTableOptions.js.map +1 -1
  703. package/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -1
  704. package/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
  705. package/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -1
  706. package/decorator/options/RelationOptions.js.map +1 -1
  707. package/decorator/options/SpatialColumnOptions.js.map +1 -1
  708. package/decorator/options/TransactionOptions.js.map +1 -1
  709. package/decorator/options/UniqueOptions.js.map +1 -1
  710. package/decorator/options/ValueTransformer.js.map +1 -1
  711. package/decorator/options/ViewColumnOptions.js.map +1 -1
  712. package/decorator/options/ViewEntityOptions.js.map +1 -1
  713. package/decorator/options/VirtualColumnOptions.js.map +1 -1
  714. package/decorator/relations/JoinColumn.js +1 -2
  715. package/decorator/relations/JoinColumn.js.map +1 -1
  716. package/decorator/relations/JoinTable.js +1 -2
  717. package/decorator/relations/JoinTable.js.map +1 -1
  718. package/decorator/relations/ManyToMany.js +1 -2
  719. package/decorator/relations/ManyToMany.js.map +1 -1
  720. package/decorator/relations/ManyToOne.js +1 -2
  721. package/decorator/relations/ManyToOne.js.map +1 -1
  722. package/decorator/relations/OneToMany.js +1 -2
  723. package/decorator/relations/OneToMany.js.map +1 -1
  724. package/decorator/relations/OneToOne.d.ts +4 -4
  725. package/decorator/relations/OneToOne.js +3 -4
  726. package/decorator/relations/OneToOne.js.map +1 -1
  727. package/decorator/relations/RelationCount.js +1 -2
  728. package/decorator/relations/RelationCount.js.map +1 -1
  729. package/decorator/relations/RelationId.js +1 -2
  730. package/decorator/relations/RelationId.js.map +1 -1
  731. package/decorator/tree/Tree.js +1 -2
  732. package/decorator/tree/Tree.js.map +1 -1
  733. package/decorator/tree/TreeChildren.js +1 -2
  734. package/decorator/tree/TreeChildren.js.map +1 -1
  735. package/decorator/tree/TreeLevelColumn.js +1 -2
  736. package/decorator/tree/TreeLevelColumn.js.map +1 -1
  737. package/decorator/tree/TreeParent.js +1 -2
  738. package/decorator/tree/TreeParent.js.map +1 -1
  739. package/driver/Driver.js.map +1 -1
  740. package/driver/DriverFactory.js.map +1 -1
  741. package/driver/DriverUtils.js.map +1 -1
  742. package/driver/Query.js.map +1 -1
  743. package/driver/SqlInMemory.js.map +1 -1
  744. package/driver/aurora-mysql/AuroraMysqlConnection.js.map +1 -1
  745. package/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.d.ts +1 -1
  746. package/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
  747. package/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +1 -1
  748. package/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
  749. package/driver/aurora-mysql/AuroraMysqlQueryRunner.d.ts +0 -1
  750. package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
  751. package/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +1 -1
  752. package/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
  753. package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
  754. package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
  755. package/driver/better-sqlite3/BetterSqlite3Driver.js +2 -2
  756. package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
  757. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +4 -0
  758. package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
  759. package/driver/capacitor/CapacitorConnectionOptions.js.map +1 -1
  760. package/driver/capacitor/CapacitorDriver.js.map +1 -1
  761. package/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
  762. package/driver/cockroachdb/CockroachConnectionCredentialsOptions.d.ts +1 -2
  763. package/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
  764. package/driver/cockroachdb/CockroachConnectionOptions.d.ts +1 -1
  765. package/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
  766. package/driver/cockroachdb/CockroachDriver.js.map +1 -1
  767. package/driver/cockroachdb/CockroachQueryRunner.d.ts +0 -1
  768. package/driver/cockroachdb/CockroachQueryRunner.js +5 -3
  769. package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
  770. package/driver/cordova/CordovaConnectionOptions.js.map +1 -1
  771. package/driver/cordova/CordovaDriver.js.map +1 -1
  772. package/driver/cordova/CordovaQueryRunner.js.map +1 -1
  773. package/driver/expo/ExpoConnectionOptions.js.map +1 -1
  774. package/driver/expo/ExpoDriver.js.map +1 -1
  775. package/driver/expo/ExpoQueryRunner.js.map +1 -1
  776. package/driver/mongodb/MongoConnectionOptions.d.ts +1 -2
  777. package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
  778. package/driver/mongodb/MongoDriver.js.map +1 -1
  779. package/driver/mongodb/MongoQueryRunner.d.ts +0 -1
  780. package/driver/mongodb/MongoQueryRunner.js.map +1 -1
  781. package/driver/mongodb/bson.typings.js.map +1 -1
  782. package/driver/mongodb/typings.d.ts +0 -8
  783. package/driver/mongodb/typings.js +0 -1
  784. package/driver/mongodb/typings.js.map +1 -1
  785. package/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +1 -1
  786. package/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
  787. package/driver/mysql/MysqlConnectionOptions.d.ts +1 -1
  788. package/driver/mysql/MysqlConnectionOptions.js.map +1 -1
  789. package/driver/mysql/MysqlDriver.js.map +1 -1
  790. package/driver/mysql/MysqlQueryRunner.d.ts +0 -1
  791. package/driver/mysql/MysqlQueryRunner.js +71 -71
  792. package/driver/mysql/MysqlQueryRunner.js.map +1 -1
  793. package/driver/nativescript/NativescriptConnectionOptions.js.map +1 -1
  794. package/driver/nativescript/NativescriptDriver.js.map +1 -1
  795. package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
  796. package/driver/oracle/OracleConnectionCredentialsOptions.d.ts +1 -1
  797. package/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -1
  798. package/driver/oracle/OracleConnectionOptions.d.ts +1 -1
  799. package/driver/oracle/OracleConnectionOptions.js.map +1 -1
  800. package/driver/oracle/OracleDriver.js.map +1 -1
  801. package/driver/oracle/OracleQueryRunner.d.ts +0 -1
  802. package/driver/oracle/OracleQueryRunner.js.map +1 -1
  803. package/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +1 -2
  804. package/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
  805. package/driver/postgres/PostgresConnectionOptions.d.ts +1 -1
  806. package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
  807. package/driver/postgres/PostgresDriver.js.map +1 -1
  808. package/driver/postgres/PostgresQueryRunner.d.ts +0 -1
  809. package/driver/postgres/PostgresQueryRunner.js +5 -1
  810. package/driver/postgres/PostgresQueryRunner.js.map +1 -1
  811. package/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
  812. package/driver/react-native/ReactNativeDriver.js.map +1 -1
  813. package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
  814. package/driver/sap/SapConnectionCredentialsOptions.js.map +1 -1
  815. package/driver/sap/SapConnectionOptions.js.map +1 -1
  816. package/driver/sap/SapDriver.js.map +1 -1
  817. package/driver/sap/SapQueryRunner.d.ts +0 -1
  818. package/driver/sap/SapQueryRunner.js.map +1 -1
  819. package/driver/spanner/SpannerConnectionCredentialsOptions.d.ts +1 -1
  820. package/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -1
  821. package/driver/spanner/SpannerConnectionOptions.d.ts +1 -1
  822. package/driver/spanner/SpannerConnectionOptions.js.map +1 -1
  823. package/driver/spanner/SpannerDriver.js.map +1 -1
  824. package/driver/spanner/SpannerQueryRunner.d.ts +0 -1
  825. package/driver/spanner/SpannerQueryRunner.js.map +1 -1
  826. package/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
  827. package/driver/sqlite/SqliteDriver.js +2 -2
  828. package/driver/sqlite/SqliteDriver.js.map +1 -1
  829. package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
  830. package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
  831. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +0 -1
  832. package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
  833. package/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
  834. package/driver/sqljs/SqljsDriver.js.map +1 -1
  835. package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
  836. package/driver/sqlserver/MssqlParameter.js.map +1 -1
  837. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +1 -1
  838. package/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
  839. package/driver/sqlserver/SqlServerConnectionOptions.d.ts +1 -1
  840. package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
  841. package/driver/sqlserver/SqlServerDriver.js.map +1 -1
  842. package/driver/sqlserver/SqlServerQueryRunner.d.ts +0 -1
  843. package/driver/sqlserver/SqlServerQueryRunner.js +26 -26
  844. package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
  845. package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -1
  846. package/driver/sqlserver/authentication/AzureActiveDirectoryDefaultAuthentication.js.map +1 -1
  847. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -1
  848. package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -1
  849. package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -1
  850. package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -1
  851. package/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -1
  852. package/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -1
  853. package/driver/types/ColumnTypes.js.map +1 -1
  854. package/driver/types/CteCapabilities.js.map +1 -1
  855. package/driver/types/DataTypeDefaults.js.map +1 -1
  856. package/driver/types/DatabaseType.js.map +1 -1
  857. package/driver/types/GeoJsonTypes.js.map +1 -1
  858. package/driver/types/IsolationLevel.js.map +1 -1
  859. package/driver/types/MappedColumnTypes.js.map +1 -1
  860. package/driver/types/MetadataTableType.js.map +1 -1
  861. package/driver/types/ReplicationMode.js.map +1 -1
  862. package/driver/types/UpsertType.js.map +1 -1
  863. package/entity-manager/EntityManager.d.ts +2 -0
  864. package/entity-manager/EntityManager.js +4 -2
  865. package/entity-manager/EntityManager.js.map +1 -1
  866. package/entity-manager/EntityManagerFactory.js.map +1 -1
  867. package/entity-manager/MongoEntityManager.js.map +1 -1
  868. package/entity-manager/SqljsEntityManager.js.map +1 -1
  869. package/entity-schema/EntitySchema.js.map +1 -1
  870. package/entity-schema/EntitySchemaCheckOptions.js.map +1 -1
  871. package/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
  872. package/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -1
  873. package/entity-schema/EntitySchemaEmbeddedError.js.map +1 -1
  874. package/entity-schema/EntitySchemaExclusionOptions.js.map +1 -1
  875. package/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
  876. package/entity-schema/EntitySchemaInheritanceOptions.js.map +1 -1
  877. package/entity-schema/EntitySchemaOptions.js.map +1 -1
  878. package/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -1
  879. package/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
  880. package/entity-schema/EntitySchemaTransformer.js.map +1 -1
  881. package/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
  882. package/error/AlreadyHasActiveConnectionError.js.map +1 -1
  883. package/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
  884. package/error/CannotConnectAlreadyConnectedError.js.map +1 -1
  885. package/error/CannotCreateEntityIdMapError.js.map +1 -1
  886. package/error/CannotDetermineEntityError.js.map +1 -1
  887. package/error/CannotExecuteNotConnectedError.js.map +1 -1
  888. package/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
  889. package/error/CannotReflectMethodParameterTypeError.js.map +1 -1
  890. package/error/CircularRelationsError.js.map +1 -1
  891. package/error/ColumnTypeUndefinedError.js.map +1 -1
  892. package/error/ConnectionIsNotSetError.js.map +1 -1
  893. package/error/ConnectionNotFoundError.js.map +1 -1
  894. package/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
  895. package/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
  896. package/error/CustomRepositoryNotFoundError.js.map +1 -1
  897. package/error/DataTypeNotSupportedError.js.map +1 -1
  898. package/error/DriverOptionNotSetError.js.map +1 -1
  899. package/error/DriverPackageNotInstalledError.js.map +1 -1
  900. package/error/EntityMetadataNotFoundError.js.map +1 -1
  901. package/error/EntityNotFoundError.js.map +1 -1
  902. package/error/EntityPropertyNotFoundError.js.map +1 -1
  903. package/error/FindRelationsNotFoundError.js.map +1 -1
  904. package/error/ForbiddenTransactionModeOverrideError.js.map +1 -1
  905. package/error/InitializedRelationError.js.map +1 -1
  906. package/error/InsertValuesMissingError.js.map +1 -1
  907. package/error/LimitOnUpdateNotSupportedError.js.map +1 -1
  908. package/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
  909. package/error/MetadataAlreadyExistsError.js.map +1 -1
  910. package/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
  911. package/error/MissingDeleteDateColumnError.js.map +1 -1
  912. package/error/MissingDriverError.js.map +1 -1
  913. package/error/MissingJoinColumnError.js.map +1 -1
  914. package/error/MissingJoinTableError.js.map +1 -1
  915. package/error/MissingPrimaryColumnError.js.map +1 -1
  916. package/error/MustBeEntityError.js.map +1 -1
  917. package/error/NamingStrategyNotFoundError.js.map +1 -1
  918. package/error/NestedSetMultipleRootError.js.map +1 -1
  919. package/error/NoConnectionForRepositoryError.js.map +1 -1
  920. package/error/NoConnectionOptionError.js.map +1 -1
  921. package/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
  922. package/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
  923. package/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
  924. package/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
  925. package/error/OptimisticLockVersionMismatchError.js.map +1 -1
  926. package/error/PersistedEntityNotFoundError.js.map +1 -1
  927. package/error/PessimisticLockTransactionRequiredError.js.map +1 -1
  928. package/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
  929. package/error/QueryFailedError.js.map +1 -1
  930. package/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
  931. package/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
  932. package/error/RepositoryNotTreeError.js.map +1 -1
  933. package/error/ReturningStatementNotSupportedError.js.map +1 -1
  934. package/error/SubjectRemovedAndUpdatedError.js.map +1 -1
  935. package/error/SubjectWithoutIdentifierError.js.map +1 -1
  936. package/error/TransactionAlreadyStartedError.js.map +1 -1
  937. package/error/TransactionNotStartedError.js.map +1 -1
  938. package/error/TreeRepositoryNotSupportedError.js.map +1 -1
  939. package/error/TypeORMError.js.map +1 -1
  940. package/error/UpdateValuesMissingError.js.map +1 -1
  941. package/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
  942. package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
  943. package/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
  944. package/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
  945. package/error/index.js.map +1 -1
  946. package/find-options/EqualOperator.js.map +1 -1
  947. package/find-options/FindManyOptions.js.map +1 -1
  948. package/find-options/FindOneOptions.js.map +1 -1
  949. package/find-options/FindOperator.js.map +1 -1
  950. package/find-options/FindOperatorType.js.map +1 -1
  951. package/find-options/FindOptionsOrder.d.ts +0 -1
  952. package/find-options/FindOptionsOrder.js.map +1 -1
  953. package/find-options/FindOptionsRelations.d.ts +0 -1
  954. package/find-options/FindOptionsRelations.js.map +1 -1
  955. package/find-options/FindOptionsSelect.d.ts +0 -1
  956. package/find-options/FindOptionsSelect.js.map +1 -1
  957. package/find-options/FindOptionsUtils.js.map +1 -1
  958. package/find-options/FindOptionsWhere.d.ts +0 -1
  959. package/find-options/FindOptionsWhere.js.map +1 -1
  960. package/find-options/FindTreeOptions.js.map +1 -1
  961. package/find-options/JoinOptions.js.map +1 -1
  962. package/find-options/OrderByCondition.js.map +1 -1
  963. package/find-options/mongodb/MongoFindManyOptions.js.map +1 -1
  964. package/find-options/mongodb/MongoFindOneOptions.js.map +1 -1
  965. package/find-options/operator/And.js +1 -2
  966. package/find-options/operator/And.js.map +1 -1
  967. package/find-options/operator/Any.js +1 -2
  968. package/find-options/operator/Any.js.map +1 -1
  969. package/find-options/operator/ArrayContainedBy.js +1 -2
  970. package/find-options/operator/ArrayContainedBy.js.map +1 -1
  971. package/find-options/operator/ArrayContains.js +1 -2
  972. package/find-options/operator/ArrayContains.js.map +1 -1
  973. package/find-options/operator/ArrayOverlap.js +1 -2
  974. package/find-options/operator/ArrayOverlap.js.map +1 -1
  975. package/find-options/operator/Between.js +1 -2
  976. package/find-options/operator/Between.js.map +1 -1
  977. package/find-options/operator/Equal.js +1 -2
  978. package/find-options/operator/Equal.js.map +1 -1
  979. package/find-options/operator/ILike.js +1 -2
  980. package/find-options/operator/ILike.js.map +1 -1
  981. package/find-options/operator/In.js +1 -2
  982. package/find-options/operator/In.js.map +1 -1
  983. package/find-options/operator/IsNull.js +1 -2
  984. package/find-options/operator/IsNull.js.map +1 -1
  985. package/find-options/operator/JsonContains.js +1 -2
  986. package/find-options/operator/JsonContains.js.map +1 -1
  987. package/find-options/operator/LessThan.js +1 -2
  988. package/find-options/operator/LessThan.js.map +1 -1
  989. package/find-options/operator/LessThanOrEqual.js +1 -2
  990. package/find-options/operator/LessThanOrEqual.js.map +1 -1
  991. package/find-options/operator/Like.js +1 -2
  992. package/find-options/operator/Like.js.map +1 -1
  993. package/find-options/operator/MoreThan.js +1 -2
  994. package/find-options/operator/MoreThan.js.map +1 -1
  995. package/find-options/operator/MoreThanOrEqual.js +1 -2
  996. package/find-options/operator/MoreThanOrEqual.js.map +1 -1
  997. package/find-options/operator/Not.js +1 -2
  998. package/find-options/operator/Not.js.map +1 -1
  999. package/find-options/operator/Or.js +1 -2
  1000. package/find-options/operator/Or.js.map +1 -1
  1001. package/find-options/operator/Raw.js +1 -2
  1002. package/find-options/operator/Raw.js.map +1 -1
  1003. package/globals.js +14 -15
  1004. package/globals.js.map +1 -1
  1005. package/index.js.map +1 -1
  1006. package/logger/AbstractLogger.js.map +1 -1
  1007. package/logger/AdvancedConsoleLogger.js.map +1 -1
  1008. package/logger/DebugLogger.js.map +1 -1
  1009. package/logger/FileLogger.js.map +1 -1
  1010. package/logger/Logger.js.map +1 -1
  1011. package/logger/LoggerFactory.js.map +1 -1
  1012. package/logger/LoggerOptions.js.map +1 -1
  1013. package/logger/SimpleConsoleLogger.js.map +1 -1
  1014. package/metadata/CheckMetadata.js.map +1 -1
  1015. package/metadata/ColumnMetadata.js.map +1 -1
  1016. package/metadata/EmbeddedMetadata.js.map +1 -1
  1017. package/metadata/EntityListenerMetadata.js.map +1 -1
  1018. package/metadata/EntityMetadata.js.map +1 -1
  1019. package/metadata/ExclusionMetadata.js.map +1 -1
  1020. package/metadata/ForeignKeyMetadata.js.map +1 -1
  1021. package/metadata/IndexMetadata.js.map +1 -1
  1022. package/metadata/RelationCountMetadata.js.map +1 -1
  1023. package/metadata/RelationIdMetadata.js.map +1 -1
  1024. package/metadata/RelationMetadata.js.map +1 -1
  1025. package/metadata/UniqueMetadata.js.map +1 -1
  1026. package/metadata/types/ClosureTreeOptions.js.map +1 -1
  1027. package/metadata/types/DeferrableType.js.map +1 -1
  1028. package/metadata/types/EventListenerTypes.js.map +1 -1
  1029. package/metadata/types/OnDeleteType.js.map +1 -1
  1030. package/metadata/types/OnUpdateType.js.map +1 -1
  1031. package/metadata/types/PropertyTypeInFunction.js.map +1 -1
  1032. package/metadata/types/RelationTypeInFunction.js.map +1 -1
  1033. package/metadata/types/RelationTypes.js.map +1 -1
  1034. package/metadata/types/TableTypes.js.map +1 -1
  1035. package/metadata/types/TreeTypes.js.map +1 -1
  1036. package/metadata-args/CheckMetadataArgs.js.map +1 -1
  1037. package/metadata-args/ColumnMetadataArgs.js.map +1 -1
  1038. package/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -1
  1039. package/metadata-args/EmbeddedMetadataArgs.js.map +1 -1
  1040. package/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
  1041. package/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
  1042. package/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -1
  1043. package/metadata-args/ExclusionMetadataArgs.js.map +1 -1
  1044. package/metadata-args/GeneratedMetadataArgs.js.map +1 -1
  1045. package/metadata-args/IndexMetadataArgs.js.map +1 -1
  1046. package/metadata-args/InheritanceMetadataArgs.js.map +1 -1
  1047. package/metadata-args/JoinColumnMetadataArgs.js.map +1 -1
  1048. package/metadata-args/JoinTableMetadataArgs.js.map +1 -1
  1049. package/metadata-args/MetadataArgsStorage.js.map +1 -1
  1050. package/metadata-args/NamingStrategyMetadataArgs.js.map +1 -1
  1051. package/metadata-args/RelationCountMetadataArgs.js.map +1 -1
  1052. package/metadata-args/RelationIdMetadataArgs.js.map +1 -1
  1053. package/metadata-args/RelationMetadataArgs.js.map +1 -1
  1054. package/metadata-args/TableMetadataArgs.js.map +1 -1
  1055. package/metadata-args/TransactionEntityMetadataArgs.js.map +1 -1
  1056. package/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -1
  1057. package/metadata-args/TreeMetadataArgs.js.map +1 -1
  1058. package/metadata-args/UniqueMetadataArgs.js.map +1 -1
  1059. package/metadata-args/types/ColumnMode.js.map +1 -1
  1060. package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
  1061. package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
  1062. package/metadata-builder/EntityMetadataValidator.js.map +1 -1
  1063. package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
  1064. package/metadata-builder/MetadataUtils.js.map +1 -1
  1065. package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
  1066. package/migration/Migration.js.map +1 -1
  1067. package/migration/MigrationExecutor.js.map +1 -1
  1068. package/migration/MigrationInterface.js.map +1 -1
  1069. package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
  1070. package/naming-strategy/LegacyOracleNamingStrategy.js.map +1 -1
  1071. package/naming-strategy/NamingStrategyInterface.js.map +1 -1
  1072. package/package.json +260 -1
  1073. package/persistence/EntityPersistExecutor.js.map +1 -1
  1074. package/persistence/Subject.js.map +1 -1
  1075. package/persistence/SubjectChangeMap.js.map +1 -1
  1076. package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
  1077. package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
  1078. package/persistence/SubjectExecutor.js +3 -3
  1079. package/persistence/SubjectExecutor.js.map +1 -1
  1080. package/persistence/{SubjectTopoligicalSorter.d.ts → SubjectTopologicalSorter.d.ts} +1 -1
  1081. package/persistence/{SubjectTopoligicalSorter.js → SubjectTopologicalSorter.js} +4 -4
  1082. package/persistence/SubjectTopologicalSorter.js.map +1 -0
  1083. package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
  1084. package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
  1085. package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
  1086. package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
  1087. package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
  1088. package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
  1089. package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
  1090. package/platform/PlatformTools.d.ts +2 -10
  1091. package/platform/PlatformTools.js +37 -45
  1092. package/platform/PlatformTools.js.map +1 -1
  1093. package/query-builder/Alias.js.map +1 -1
  1094. package/query-builder/Brackets.js.map +1 -1
  1095. package/query-builder/DeleteQueryBuilder.js.map +1 -1
  1096. package/query-builder/InsertOrUpdateOptions.js.map +1 -1
  1097. package/query-builder/InsertQueryBuilder.js.map +1 -1
  1098. package/query-builder/JoinAttribute.js.map +1 -1
  1099. package/query-builder/JoinOptions.js.map +1 -1
  1100. package/query-builder/NotBrackets.js.map +1 -1
  1101. package/query-builder/QueryBuilder.js +2 -3
  1102. package/query-builder/QueryBuilder.js.map +1 -1
  1103. package/query-builder/QueryBuilderCte.js.map +1 -1
  1104. package/query-builder/QueryBuilderUtils.js.map +1 -1
  1105. package/query-builder/QueryExpressionMap.js.map +1 -1
  1106. package/query-builder/QueryPartialEntity.js.map +1 -1
  1107. package/query-builder/RelationIdLoader.js.map +1 -1
  1108. package/query-builder/RelationLoader.js.map +1 -1
  1109. package/query-builder/RelationQueryBuilder.js.map +1 -1
  1110. package/query-builder/RelationRemover.js.map +1 -1
  1111. package/query-builder/RelationUpdater.js.map +1 -1
  1112. package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
  1113. package/query-builder/SelectQuery.js.map +1 -1
  1114. package/query-builder/SelectQueryBuilder.d.ts +0 -1
  1115. package/query-builder/SelectQueryBuilder.js.map +1 -1
  1116. package/query-builder/SelectQueryBuilderOption.js.map +1 -1
  1117. package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
  1118. package/query-builder/UpdateQueryBuilder.js.map +1 -1
  1119. package/query-builder/WhereClause.js.map +1 -1
  1120. package/query-builder/WhereExpressionBuilder.js.map +1 -1
  1121. package/query-builder/index.js +1 -2
  1122. package/query-builder/index.js.map +1 -1
  1123. package/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
  1124. package/query-builder/relation-count/RelationCountLoadResult.js.map +1 -1
  1125. package/query-builder/relation-count/RelationCountLoader.js.map +1 -1
  1126. package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
  1127. package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
  1128. package/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
  1129. package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
  1130. package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
  1131. package/query-builder/result/DeleteResult.js.map +1 -1
  1132. package/query-builder/result/InsertResult.js.map +1 -1
  1133. package/query-builder/result/UpdateResult.js.map +1 -1
  1134. package/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
  1135. package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
  1136. package/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
  1137. package/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +9 -0
  1138. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +95 -61
  1139. package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
  1140. package/query-runner/BaseQueryRunner.js.map +1 -1
  1141. package/query-runner/QueryLock.js.map +1 -1
  1142. package/query-runner/QueryResult.js.map +1 -1
  1143. package/query-runner/QueryRunner.d.ts +0 -1
  1144. package/query-runner/QueryRunner.js.map +1 -1
  1145. package/repository/AbstractRepository.js.map +1 -1
  1146. package/repository/BaseEntity.js.map +1 -1
  1147. package/repository/EntityId.js.map +1 -1
  1148. package/repository/FindTreesOptions.js.map +1 -1
  1149. package/repository/MongoRepository.js.map +1 -1
  1150. package/repository/RemoveOptions.js.map +1 -1
  1151. package/repository/Repository.d.ts +2 -0
  1152. package/repository/Repository.js +2 -0
  1153. package/repository/Repository.js.map +1 -1
  1154. package/repository/SaveOptions.js.map +1 -1
  1155. package/repository/TreeRepository.js.map +1 -1
  1156. package/repository/UpsertOptions.js.map +1 -1
  1157. package/schema-builder/MongoSchemaBuilder.js.map +1 -1
  1158. package/schema-builder/RdbmsSchemaBuilder.js +1 -1
  1159. package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
  1160. package/schema-builder/SchemaBuilder.js.map +1 -1
  1161. package/schema-builder/options/TableCheckOptions.js.map +1 -1
  1162. package/schema-builder/options/TableColumnOptions.js.map +1 -1
  1163. package/schema-builder/options/TableExclusionOptions.js.map +1 -1
  1164. package/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
  1165. package/schema-builder/options/TableIndexOptions.js.map +1 -1
  1166. package/schema-builder/options/TableOptions.js.map +1 -1
  1167. package/schema-builder/options/TableUniqueOptions.js.map +1 -1
  1168. package/schema-builder/options/ViewOptions.js.map +1 -1
  1169. package/schema-builder/table/Table.js.map +1 -1
  1170. package/schema-builder/table/TableCheck.js.map +1 -1
  1171. package/schema-builder/table/TableColumn.js.map +1 -1
  1172. package/schema-builder/table/TableExclusion.js.map +1 -1
  1173. package/schema-builder/table/TableForeignKey.js.map +1 -1
  1174. package/schema-builder/table/TableIndex.js.map +1 -1
  1175. package/schema-builder/table/TableUnique.js.map +1 -1
  1176. package/schema-builder/util/TableUtils.js.map +1 -1
  1177. package/schema-builder/util/ViewUtils.js.map +1 -1
  1178. package/schema-builder/view/View.js.map +1 -1
  1179. package/subscriber/Broadcaster.js.map +1 -1
  1180. package/subscriber/BroadcasterResult.js.map +1 -1
  1181. package/subscriber/EntitySubscriberInterface.js.map +1 -1
  1182. package/subscriber/event/InsertEvent.js.map +1 -1
  1183. package/subscriber/event/LoadEvent.js.map +1 -1
  1184. package/subscriber/event/QueryEvent.js.map +1 -1
  1185. package/subscriber/event/RecoverEvent.js.map +1 -1
  1186. package/subscriber/event/RemoveEvent.js.map +1 -1
  1187. package/subscriber/event/SoftRemoveEvent.js.map +1 -1
  1188. package/subscriber/event/TransactionCommitEvent.js.map +1 -1
  1189. package/subscriber/event/TransactionRollbackEvent.js.map +1 -1
  1190. package/subscriber/event/TransactionStartEvent.js.map +1 -1
  1191. package/subscriber/event/UpdateEvent.js.map +1 -1
  1192. package/typeorm-class-transformer-shim.js +271 -271
  1193. package/typeorm-model-shim.js +295 -295
  1194. package/util/ApplyValueTransformers.js.map +1 -1
  1195. package/util/DateUtils.js.map +1 -1
  1196. package/util/DepGraph.js.map +1 -1
  1197. package/util/DirectoryExportedClassesLoader.js +2 -3
  1198. package/util/DirectoryExportedClassesLoader.js.map +1 -1
  1199. package/util/ImportUtils.js +23 -36
  1200. package/util/ImportUtils.js.map +1 -1
  1201. package/util/InstanceChecker.js.map +1 -1
  1202. package/util/ObjectUtils.js.map +1 -1
  1203. package/util/OrmUtils.js.map +1 -1
  1204. package/util/PathUtils.js +3 -4
  1205. package/util/PathUtils.js.map +1 -1
  1206. package/util/RandomGenerator.js.map +1 -1
  1207. package/util/StringUtils.js +6 -7
  1208. package/util/StringUtils.js.map +1 -1
  1209. package/util/TreeRepositoryUtils.js.map +1 -1
  1210. package/util/VersionUtils.js.map +1 -1
  1211. package/util/escapeRegExp.js.map +1 -1
  1212. package/browser/persistence/SubjectTopoligicalSorter.js.map +0 -1
  1213. package/persistence/SubjectTopoligicalSorter.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/driver/sqlserver/SqlServerDriver.ts"],"names":[],"mappings":"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","file":"SqlServerDriver.js","sourcesContent":["import { Driver } from \"../Driver\"\nimport { ConnectionIsNotSetError } from \"../../error/ConnectionIsNotSetError\"\nimport { DriverPackageNotInstalledError } from \"../../error/DriverPackageNotInstalledError\"\nimport { DriverUtils } from \"../DriverUtils\"\nimport { CteCapabilities } from \"../types/CteCapabilities\"\nimport { SqlServerQueryRunner } from \"./SqlServerQueryRunner\"\nimport { ObjectLiteral } from \"../../common/ObjectLiteral\"\nimport { ColumnMetadata } from \"../../metadata/ColumnMetadata\"\nimport { DateUtils } from \"../../util/DateUtils\"\nimport { PlatformTools } from \"../../platform/PlatformTools\"\nimport { DataSource } from \"../../data-source/DataSource\"\nimport { RdbmsSchemaBuilder } from \"../../schema-builder/RdbmsSchemaBuilder\"\nimport { SqlServerConnectionOptions } from \"./SqlServerConnectionOptions\"\nimport { MappedColumnTypes } from \"../types/MappedColumnTypes\"\nimport { ColumnType } from \"../types/ColumnTypes\"\nimport { DataTypeDefaults } from \"../types/DataTypeDefaults\"\nimport { MssqlParameter } from \"./MssqlParameter\"\nimport { TableColumn } from \"../../schema-builder/table/TableColumn\"\nimport { SqlServerConnectionCredentialsOptions } from \"./SqlServerConnectionCredentialsOptions\"\nimport { EntityMetadata } from \"../../metadata/EntityMetadata\"\nimport { OrmUtils } from \"../../util/OrmUtils\"\nimport { ApplyValueTransformers } from \"../../util/ApplyValueTransformers\"\nimport { ReplicationMode } from \"../types/ReplicationMode\"\nimport { Table } from \"../../schema-builder/table/Table\"\nimport { View } from \"../../schema-builder/view/View\"\nimport { TableForeignKey } from \"../../schema-builder/table/TableForeignKey\"\nimport { TypeORMError } from \"../../error\"\nimport { InstanceChecker } from \"../../util/InstanceChecker\"\nimport { UpsertType } from \"../types/UpsertType\"\n\n/**\n * Organizes communication with SQL Server DBMS.\n */\nexport class SqlServerDriver implements Driver {\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection used by driver.\n */\n connection: DataSource\n\n /**\n * SQL Server library.\n */\n mssql: any\n\n /**\n * Pool for master database.\n */\n master: any\n\n /**\n * Pool for slave databases.\n * Used in replication.\n */\n slaves: any[] = []\n\n // -------------------------------------------------------------------------\n // Public Implemented Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection options.\n */\n options: SqlServerConnectionOptions\n\n /**\n * Database name used to perform all write queries.\n */\n database?: string\n\n /**\n * Schema name used to perform all write queries.\n */\n schema?: string\n\n /**\n * Schema that's used internally by SQL Server for object resolution.\n *\n * Because we never set this we have to track it in separately from the `schema` so\n * we know when we have to specify the full schema or not.\n *\n * In most cases this will be `dbo`.\n */\n searchSchema?: string\n\n /**\n * Indicates if replication is enabled.\n */\n isReplicated: boolean = false\n\n /**\n * Indicates if tree tables are supported by this driver.\n */\n treeSupport = true\n\n /**\n * Represent transaction support by this driver\n */\n transactionSupport = \"simple\" as const\n\n /**\n * Gets list of supported column data types by a driver.\n *\n * @see https://docs.microsoft.com/en-us/sql/t-sql/data-types/data-types-transact-sql\n */\n supportedDataTypes: ColumnType[] = [\n \"int\",\n \"bigint\",\n \"bit\",\n \"decimal\",\n \"money\",\n \"numeric\",\n \"smallint\",\n \"smallmoney\",\n \"tinyint\",\n \"float\",\n \"real\",\n \"date\",\n \"datetime2\",\n \"datetime\",\n \"datetimeoffset\",\n \"smalldatetime\",\n \"time\",\n \"char\",\n \"varchar\",\n \"text\",\n \"nchar\",\n \"nvarchar\",\n \"ntext\",\n \"binary\",\n \"image\",\n \"varbinary\",\n \"hierarchyid\",\n \"sql_variant\",\n \"timestamp\",\n \"uniqueidentifier\",\n \"xml\",\n \"geometry\",\n \"geography\",\n \"rowversion\",\n ]\n\n /**\n * Returns type of upsert supported by driver if any\n */\n supportedUpsertTypes: UpsertType[] = []\n\n /**\n * Gets list of spatial column data types.\n */\n spatialTypes: ColumnType[] = [\"geometry\", \"geography\"]\n\n /**\n * Gets list of column data types that support length by a driver.\n */\n withLengthColumnTypes: ColumnType[] = [\n \"char\",\n \"varchar\",\n \"nchar\",\n \"nvarchar\",\n \"binary\",\n \"varbinary\",\n ]\n\n /**\n * Gets list of column data types that support precision by a driver.\n */\n withPrecisionColumnTypes: ColumnType[] = [\n \"decimal\",\n \"numeric\",\n \"time\",\n \"datetime2\",\n \"datetimeoffset\",\n ]\n\n /**\n * Gets list of column data types that support scale by a driver.\n */\n withScaleColumnTypes: ColumnType[] = [\"decimal\", \"numeric\"]\n\n /**\n * Orm has special columns and we need to know what database column types should be for those types.\n * Column types are driver dependant.\n */\n mappedDataTypes: MappedColumnTypes = {\n createDate: \"datetime2\",\n createDateDefault: \"getdate()\",\n updateDate: \"datetime2\",\n updateDateDefault: \"getdate()\",\n deleteDate: \"datetime2\",\n deleteDateNullable: true,\n version: \"int\",\n treeLevel: \"int\",\n migrationId: \"int\",\n migrationName: \"varchar\",\n migrationTimestamp: \"bigint\",\n cacheId: \"int\",\n cacheIdentifier: \"nvarchar\",\n cacheTime: \"bigint\",\n cacheDuration: \"int\",\n cacheQuery: \"nvarchar(MAX)\" as any,\n cacheResult: \"nvarchar(MAX)\" as any,\n metadataType: \"varchar\",\n metadataDatabase: \"varchar\",\n metadataSchema: \"varchar\",\n metadataTable: \"varchar\",\n metadataName: \"varchar\",\n metadataValue: \"nvarchar(MAX)\" as any,\n }\n\n /**\n * The prefix used for the parameters\n */\n parametersPrefix: string = \"@\"\n\n /**\n * Default values of length, precision and scale depends on column data type.\n * Used in the cases when length/precision/scale is not specified by user.\n */\n dataTypeDefaults: DataTypeDefaults = {\n char: { length: 1 },\n nchar: { length: 1 },\n varchar: { length: 255 },\n nvarchar: { length: 255 },\n binary: { length: 1 },\n varbinary: { length: 1 },\n decimal: { precision: 18, scale: 0 },\n numeric: { precision: 18, scale: 0 },\n time: { precision: 7 },\n datetime2: { precision: 7 },\n datetimeoffset: { precision: 7 },\n }\n\n cteCapabilities: CteCapabilities = {\n enabled: true,\n // todo: enable it for SQL Server - it's partially supported, but there are issues with generation of non-standard OUTPUT clause\n writable: false,\n }\n\n /**\n * Max length allowed by MSSQL Server for aliases (identifiers).\n * @see https://docs.microsoft.com/en-us/sql/sql-server/maximum-capacity-specifications-for-sql-server\n */\n maxAliasLength = 128\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: DataSource) {\n this.connection = connection\n this.options = connection.options as SqlServerConnectionOptions\n this.isReplicated = this.options.replication ? true : false\n\n // load mssql package\n this.loadDependencies()\n\n this.database = DriverUtils.buildDriverOptions(\n this.options.replication\n ? this.options.replication.master\n : this.options,\n ).database\n this.schema = DriverUtils.buildDriverOptions(this.options).schema\n\n // Object.assign(connection.options, DriverUtils.buildDriverOptions(connection.options)); // todo: do it better way\n // validate options to make sure everything is set\n // if (!this.options.host)\n // throw new DriverOptionNotSetError(\"host\");\n // if (!this.options.username)\n // throw new DriverOptionNotSetError(\"username\");\n // if (!this.options.database)\n // throw new DriverOptionNotSetError(\"database\");\n }\n\n // -------------------------------------------------------------------------\n // Public Implemented Methods\n // -------------------------------------------------------------------------\n\n /**\n * Performs connection to the database.\n * Based on pooling options, it can either create connection immediately,\n * either create a pool and create connection when needed.\n */\n async connect(): Promise<void> {\n if (this.options.replication) {\n this.slaves = await Promise.all(\n this.options.replication.slaves.map((slave) => {\n return this.createPool(this.options, slave)\n }),\n )\n this.master = await this.createPool(\n this.options,\n this.options.replication.master,\n )\n } else {\n this.master = await this.createPool(this.options, this.options)\n }\n\n if (!this.database || !this.searchSchema) {\n const queryRunner = await this.createQueryRunner(\"master\")\n\n if (!this.database) {\n this.database = await queryRunner.getCurrentDatabase()\n }\n\n if (!this.searchSchema) {\n this.searchSchema = await queryRunner.getCurrentSchema()\n }\n\n await queryRunner.release()\n }\n\n if (!this.schema) {\n this.schema = this.searchSchema\n }\n }\n\n /**\n * Makes any action after connection (e.g. create extensions in Postgres driver).\n */\n afterConnect(): Promise<void> {\n return Promise.resolve()\n }\n\n /**\n * Closes connection with the database.\n */\n async disconnect(): Promise<void> {\n if (!this.master)\n return Promise.reject(new ConnectionIsNotSetError(\"mssql\"))\n\n await this.closePool(this.master)\n await Promise.all(this.slaves.map((slave) => this.closePool(slave)))\n this.master = undefined\n this.slaves = []\n }\n\n /**\n * Closes connection pool.\n */\n protected async closePool(pool: any): Promise<void> {\n return new Promise<void>((ok, fail) => {\n pool.close((err: any) => (err ? fail(err) : ok()))\n })\n }\n\n /**\n * Creates a schema builder used to build and sync a schema.\n */\n createSchemaBuilder() {\n return new RdbmsSchemaBuilder(this.connection)\n }\n\n /**\n * Creates a query runner used to execute database queries.\n */\n createQueryRunner(mode: ReplicationMode) {\n return new SqlServerQueryRunner(this, mode)\n }\n\n /**\n * Replaces parameters in the given sql with special escaping character\n * and an array of parameter names to be passed to a query.\n */\n escapeQueryWithParameters(\n sql: string,\n parameters: ObjectLiteral,\n nativeParameters: ObjectLiteral,\n ): [string, any[]] {\n const escapedParameters: any[] = Object.keys(nativeParameters).map(\n (key) => nativeParameters[key],\n )\n if (!parameters || !Object.keys(parameters).length)\n return [sql, escapedParameters]\n\n const parameterIndexMap = new Map<string, number>()\n sql = sql.replace(\n /:(\\.\\.\\.)?([A-Za-z0-9_.]+)/g,\n (full, isArray: string, key: string): string => {\n if (!parameters.hasOwnProperty(key)) {\n return full\n }\n\n if (parameterIndexMap.has(key)) {\n return this.parametersPrefix + parameterIndexMap.get(key)\n }\n\n let value: any = parameters[key]\n\n if (isArray) {\n return value\n .map((v: any) => {\n escapedParameters.push(v)\n return this.createParameter(\n key,\n escapedParameters.length - 1,\n )\n })\n .join(\", \")\n }\n\n if (typeof value === \"function\") {\n return value()\n }\n\n escapedParameters.push(value)\n parameterIndexMap.set(key, escapedParameters.length - 1)\n return this.createParameter(key, escapedParameters.length - 1)\n },\n ) // todo: make replace only in value statements, otherwise problems\n return [sql, escapedParameters]\n }\n\n /**\n * Escapes a column name.\n */\n escape(columnName: string): string {\n return `\"${columnName}\"`\n }\n\n /**\n * Build full table name with database name, schema name and table name.\n * E.g. myDB.mySchema.myTable\n */\n buildTableName(\n tableName: string,\n schema?: string,\n database?: string,\n ): string {\n let tablePath = [tableName]\n\n if (schema) {\n tablePath.unshift(schema)\n }\n\n if (database) {\n if (!schema) {\n tablePath.unshift(\"\")\n }\n\n tablePath.unshift(database)\n }\n\n return tablePath.join(\".\")\n }\n\n /**\n * Parse a target table name or other types and return a normalized table definition.\n */\n parseTableName(\n target: EntityMetadata | Table | View | TableForeignKey | string,\n ): { database?: string; schema?: string; tableName: string } {\n const driverDatabase = this.database\n const driverSchema = this.schema\n\n if (InstanceChecker.isTable(target) || InstanceChecker.isView(target)) {\n const parsed = this.parseTableName(target.name)\n\n return {\n database: target.database || parsed.database || driverDatabase,\n schema: target.schema || parsed.schema || driverSchema,\n tableName: parsed.tableName,\n }\n }\n\n if (InstanceChecker.isTableForeignKey(target)) {\n const parsed = this.parseTableName(target.referencedTableName)\n\n return {\n database:\n target.referencedDatabase ||\n parsed.database ||\n driverDatabase,\n schema:\n target.referencedSchema || parsed.schema || driverSchema,\n tableName: parsed.tableName,\n }\n }\n\n if (InstanceChecker.isEntityMetadata(target)) {\n // EntityMetadata tableName is never a path\n\n return {\n database: target.database || driverDatabase,\n schema: target.schema || driverSchema,\n tableName: target.tableName,\n }\n }\n\n const parts = target.split(\".\")\n\n if (parts.length === 3) {\n return {\n database: parts[0] || driverDatabase,\n schema: parts[1] || driverSchema,\n tableName: parts[2],\n }\n } else if (parts.length === 2) {\n return {\n database: driverDatabase,\n schema: parts[0],\n tableName: parts[1],\n }\n } else {\n return {\n database: driverDatabase,\n schema: driverSchema,\n tableName: target,\n }\n }\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type and metadata.\n */\n preparePersistentValue(value: any, columnMetadata: ColumnMetadata): any {\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformTo(\n columnMetadata.transformer,\n value,\n )\n\n if (value === null || value === undefined) return value\n\n if (columnMetadata.type === Boolean) {\n return value === true ? 1 : 0\n } else if (columnMetadata.type === \"date\") {\n return DateUtils.mixedDateToDate(value)\n } else if (columnMetadata.type === \"time\") {\n return DateUtils.mixedTimeToDate(value)\n } else if (\n columnMetadata.type === \"datetime\" ||\n columnMetadata.type === \"smalldatetime\" ||\n columnMetadata.type === Date\n ) {\n return DateUtils.mixedDateToDate(value, false, false)\n } else if (\n columnMetadata.type === \"datetime2\" ||\n columnMetadata.type === \"datetimeoffset\"\n ) {\n return DateUtils.mixedDateToDate(value, false, true)\n } else if (columnMetadata.type === \"simple-array\") {\n return DateUtils.simpleArrayToString(value)\n } else if (columnMetadata.type === \"simple-json\") {\n return DateUtils.simpleJsonToString(value)\n } else if (columnMetadata.type === \"simple-enum\") {\n return DateUtils.simpleEnumToString(value)\n }\n\n return value\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type or metadata.\n */\n prepareHydratedValue(value: any, columnMetadata: ColumnMetadata): any {\n if (value === null || value === undefined)\n return columnMetadata.transformer\n ? ApplyValueTransformers.transformFrom(\n columnMetadata.transformer,\n value,\n )\n : value\n\n if (columnMetadata.type === Boolean) {\n value = value ? true : false\n } else if (\n columnMetadata.type === \"datetime\" ||\n columnMetadata.type === Date ||\n columnMetadata.type === \"datetime2\" ||\n columnMetadata.type === \"smalldatetime\" ||\n columnMetadata.type === \"datetimeoffset\"\n ) {\n value = DateUtils.normalizeHydratedDate(value)\n } else if (columnMetadata.type === \"date\") {\n value = DateUtils.mixedDateToDateString(value)\n } else if (columnMetadata.type === \"time\") {\n value = DateUtils.mixedTimeToString(value)\n } else if (columnMetadata.type === \"simple-array\") {\n value = DateUtils.stringToSimpleArray(value)\n } else if (columnMetadata.type === \"simple-json\") {\n value = DateUtils.stringToSimpleJson(value)\n } else if (columnMetadata.type === \"simple-enum\") {\n value = DateUtils.stringToSimpleEnum(value, columnMetadata)\n } else if (columnMetadata.type === Number) {\n // convert to number if number\n value = !isNaN(+value) ? parseInt(value) : value\n }\n\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformFrom(\n columnMetadata.transformer,\n value,\n )\n\n return value\n }\n\n /**\n * Creates a database type from a given column metadata.\n */\n normalizeType(column: {\n type?: ColumnType\n length?: number | string\n precision?: number | null\n scale?: number\n }): string {\n if (column.type === Number || column.type === \"integer\") {\n return \"int\"\n } else if (column.type === String) {\n return \"nvarchar\"\n } else if (column.type === Date) {\n return \"datetime\"\n } else if (column.type === Boolean) {\n return \"bit\"\n } else if ((column.type as any) === Buffer) {\n return \"binary\"\n } else if (column.type === \"uuid\") {\n return \"uniqueidentifier\"\n } else if (\n column.type === \"simple-array\" ||\n column.type === \"simple-json\"\n ) {\n return \"ntext\"\n } else if (column.type === \"simple-enum\") {\n return \"nvarchar\"\n } else if (column.type === \"dec\") {\n return \"decimal\"\n } else if (column.type === \"double precision\") {\n return \"float\"\n } else if (column.type === \"rowversion\") {\n return \"timestamp\" // the rowversion type's name in SQL server metadata is timestamp\n } else {\n return (column.type as string) || \"\"\n }\n }\n\n /**\n * Normalizes \"default\" value of the column.\n */\n normalizeDefault(columnMetadata: ColumnMetadata): string | undefined {\n const defaultValue = columnMetadata.default\n\n if (typeof defaultValue === \"number\") {\n return `${defaultValue}`\n }\n\n if (typeof defaultValue === \"boolean\") {\n return defaultValue ? \"1\" : \"0\"\n }\n\n if (typeof defaultValue === \"function\") {\n const value = defaultValue()\n if (value.toUpperCase() === \"CURRENT_TIMESTAMP\") {\n return \"getdate()\"\n }\n return value\n }\n\n if (typeof defaultValue === \"string\") {\n return `'${defaultValue}'`\n }\n\n if (defaultValue === undefined || defaultValue === null) {\n return undefined\n }\n\n return `${defaultValue}`\n }\n\n /**\n * Normalizes \"isUnique\" value of the column.\n */\n normalizeIsUnique(column: ColumnMetadata): boolean {\n return column.entityMetadata.uniques.some(\n (uq) => uq.columns.length === 1 && uq.columns[0] === column,\n )\n }\n\n /**\n * Returns default column lengths, which is required on column creation.\n */\n getColumnLength(column: ColumnMetadata | TableColumn): string {\n if (column.length) return column.length.toString()\n\n if (\n column.type === \"varchar\" ||\n column.type === \"nvarchar\" ||\n column.type === String\n )\n return \"255\"\n\n return \"\"\n }\n\n /**\n * Creates column type definition including length, precision and scale\n */\n createFullType(column: TableColumn): string {\n // The Database Engine determines the data type of the computed column by applying the rules\n // of data type precedence to the expressions specified in the formula.\n if (column.asExpression) return \"\"\n\n let type = column.type\n\n // used 'getColumnLength()' method, because SqlServer sets `varchar` and `nvarchar` length to 1 by default.\n if (this.getColumnLength(column)) {\n type += `(${this.getColumnLength(column)})`\n } else if (\n column.precision !== null &&\n column.precision !== undefined &&\n column.scale !== null &&\n column.scale !== undefined\n ) {\n type += `(${column.precision},${column.scale})`\n } else if (\n column.precision !== null &&\n column.precision !== undefined\n ) {\n type += `(${column.precision})`\n }\n\n if (column.isArray) type += \" array\"\n\n return type\n }\n\n /**\n * Obtains a new database connection to a master server.\n * Used for replication.\n * If replication is not setup then returns default connection's database connection.\n */\n obtainMasterConnection(): Promise<any> {\n if (!this.master) {\n return Promise.reject(new TypeORMError(\"Driver not Connected\"))\n }\n\n return Promise.resolve(this.master)\n }\n\n /**\n * Obtains a new database connection to a slave server.\n * Used for replication.\n * If replication is not setup then returns master (default) connection's database connection.\n */\n obtainSlaveConnection(): Promise<any> {\n if (!this.slaves.length) return this.obtainMasterConnection()\n\n const random = Math.floor(Math.random() * this.slaves.length)\n return Promise.resolve(this.slaves[random])\n }\n\n /**\n * Creates generated map of values generated or returned by database after INSERT query.\n */\n createGeneratedMap(metadata: EntityMetadata, insertResult: ObjectLiteral) {\n if (!insertResult) return undefined\n\n return Object.keys(insertResult).reduce((map, key) => {\n const column = metadata.findColumnWithDatabaseName(key)\n if (column) {\n OrmUtils.mergeDeep(\n map,\n column.createValueMap(\n this.prepareHydratedValue(insertResult[key], column),\n ),\n )\n }\n return map\n }, {} as ObjectLiteral)\n }\n\n /**\n * Differentiate columns of this table and columns from the given column metadatas columns\n * and returns only changed.\n */\n findChangedColumns(\n tableColumns: TableColumn[],\n columnMetadatas: ColumnMetadata[],\n ): ColumnMetadata[] {\n return columnMetadatas.filter((columnMetadata) => {\n const tableColumn = tableColumns.find(\n (c) => c.name === columnMetadata.databaseName,\n )\n if (!tableColumn) return false // we don't need new columns, we only need exist and changed\n\n const isColumnChanged =\n tableColumn.name !== columnMetadata.databaseName ||\n this.compareColumnType(tableColumn, columnMetadata) ||\n this.compareColumnLength(tableColumn, columnMetadata) ||\n tableColumn.precision !== columnMetadata.precision ||\n tableColumn.scale !== columnMetadata.scale ||\n // || tableColumn.comment !== columnMetadata.comment || // todo\n tableColumn.isGenerated !== columnMetadata.isGenerated ||\n (!tableColumn.isGenerated &&\n this.lowerDefaultValueIfNecessary(\n this.normalizeDefault(columnMetadata),\n ) !==\n this.lowerDefaultValueIfNecessary(\n tableColumn.default,\n )) || // we included check for generated here, because generated columns already can have default values\n tableColumn.isPrimary !== columnMetadata.isPrimary ||\n tableColumn.isNullable !== columnMetadata.isNullable ||\n tableColumn.asExpression !== columnMetadata.asExpression ||\n tableColumn.generatedType !== columnMetadata.generatedType ||\n tableColumn.isUnique !==\n this.normalizeIsUnique(columnMetadata) ||\n (tableColumn.enum &&\n columnMetadata.enum &&\n !OrmUtils.isArraysEqual(\n tableColumn.enum,\n columnMetadata.enum.map((val) => val + \"\"),\n ))\n\n // DEBUG SECTION\n // if (isColumnChanged) {\n // console.log(\"table:\", columnMetadata.entityMetadata.tableName)\n // console.log(\n // \"name:\",\n // tableColumn.name,\n // columnMetadata.databaseName,\n // )\n // console.log(\n // \"type:\",\n // tableColumn.type,\n // this.normalizeType(columnMetadata),\n // this.compareColumnType(tableColumn, columnMetadata),\n // )\n // console.log(\n // \"length:\",\n // tableColumn.length,\n // columnMetadata.length,\n // this.compareColumnLength(tableColumn, columnMetadata),\n // )\n // console.log(\n // \"precision:\",\n // tableColumn.precision,\n // columnMetadata.precision,\n // )\n // console.log(\"scale:\", tableColumn.scale, columnMetadata.scale)\n // console.log(\n // \"isGenerated:\",\n // tableColumn.isGenerated,\n // columnMetadata.isGenerated,\n // )\n // console.log(\n // \"isGenerated 2:\",\n // !tableColumn.isGenerated &&\n // this.lowerDefaultValueIfNecessary(\n // this.normalizeDefault(columnMetadata),\n // ) !==\n // this.lowerDefaultValueIfNecessary(\n // tableColumn.default,\n // ),\n // )\n // console.log(\n // \"isPrimary:\",\n // tableColumn.isPrimary,\n // columnMetadata.isPrimary,\n // )\n // console.log(\n // \"isNullable:\",\n // tableColumn.isNullable,\n // columnMetadata.isNullable,\n // )\n // console.log(\n // \"asExpression:\",\n // tableColumn.asExpression,\n // columnMetadata.asExpression,\n // )\n // console.log(\n // \"generatedType:\",\n // tableColumn.generatedType,\n // columnMetadata.generatedType,\n // )\n // console.log(\n // \"isUnique:\",\n // tableColumn.isUnique,\n // this.normalizeIsUnique(columnMetadata),\n // )\n // console.log(\"==========================================\")\n // }\n\n return isColumnChanged\n })\n }\n\n /**\n * Returns true if driver supports RETURNING / OUTPUT statement.\n */\n isReturningSqlSupported(): boolean {\n if (\n this.options.options &&\n this.options.options.disableOutputReturning\n ) {\n return false\n }\n return true\n }\n\n /**\n * Returns true if driver supports uuid values generation on its own.\n */\n isUUIDGenerationSupported(): boolean {\n return true\n }\n\n /**\n * Returns true if driver supports fulltext indices.\n */\n isFullTextColumnTypeSupported(): boolean {\n return false\n }\n\n /**\n * Creates an escaped parameter.\n */\n createParameter(parameterName: string, index: number): string {\n return this.parametersPrefix + index\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Sql server's parameters needs to be wrapped into special object with type information about this value.\n * This method wraps given value into MssqlParameter based on its column definition.\n */\n parametrizeValue(column: ColumnMetadata, value: any) {\n // if its already MssqlParameter then simply return it\n if (InstanceChecker.isMssqlParameter(value)) return value\n\n const normalizedType = this.normalizeType({ type: column.type })\n if (column.length) {\n return new MssqlParameter(\n value,\n normalizedType as any,\n column.length as any,\n )\n } else if (\n column.precision !== null &&\n column.precision !== undefined &&\n column.scale !== null &&\n column.scale !== undefined\n ) {\n return new MssqlParameter(\n value,\n normalizedType as any,\n column.precision,\n column.scale,\n )\n } else if (\n column.precision !== null &&\n column.precision !== undefined\n ) {\n return new MssqlParameter(\n value,\n normalizedType as any,\n column.precision,\n )\n } else if (column.scale !== null && column.scale !== undefined) {\n return new MssqlParameter(\n value,\n normalizedType as any,\n column.scale,\n )\n }\n\n return new MssqlParameter(value, normalizedType as any)\n }\n\n /**\n * Sql server's parameters needs to be wrapped into special object with type information about this value.\n * This method wraps all values of the given object into MssqlParameter based on their column definitions in the given table.\n */\n parametrizeMap(tablePath: string, map: ObjectLiteral): ObjectLiteral {\n // find metadata for the given table\n if (!this.connection.hasMetadata(tablePath))\n // if no metadata found then we can't proceed because we don't have columns and their types\n return map\n const metadata = this.connection.getMetadata(tablePath)\n\n return Object.keys(map).reduce((newMap, key) => {\n const value = map[key]\n\n // find column metadata\n const column = metadata.findColumnWithDatabaseName(key)\n if (!column)\n // if we didn't find a column then we can't proceed because we don't have a column type\n return value\n\n newMap[key] = this.parametrizeValue(column, value)\n return newMap\n }, {} as ObjectLiteral)\n }\n\n buildTableVariableDeclaration(\n identifier: string,\n columns: ColumnMetadata[],\n ): string {\n const outputColumns = columns.map((column) => {\n return `${this.escape(column.databaseName)} ${this.createFullType(\n new TableColumn({\n name: column.databaseName,\n type: this.normalizeType(column),\n length: column.length,\n isNullable: column.isNullable,\n isArray: column.isArray,\n }),\n )}`\n })\n\n return `DECLARE ${identifier} TABLE (${outputColumns.join(\", \")})`\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * If driver dependency is not given explicitly, then try to load it via \"require\".\n */\n protected loadDependencies(): void {\n try {\n const mssql = this.options.driver || PlatformTools.load(\"mssql\")\n this.mssql = mssql\n } catch (e) {\n // todo: better error for browser env\n throw new DriverPackageNotInstalledError(\"SQL Server\", \"mssql\")\n }\n }\n\n protected compareColumnType(\n tableColumn: TableColumn,\n columnMetadata: ColumnMetadata,\n ): boolean {\n // The Database Engine determines the data type of the computed column by applying the rules\n // of data type precedence to the expressions specified in the formula.\n if (columnMetadata.asExpression) return false\n\n return tableColumn.type !== this.normalizeType(columnMetadata)\n }\n\n protected compareColumnLength(\n tableColumn: TableColumn,\n columnMetadata: ColumnMetadata,\n ): boolean {\n // The Database Engine determines the data type of the computed column by applying the rules\n // of data type precedence to the expressions specified in the formula.\n if (columnMetadata.asExpression) return false\n\n return (\n tableColumn.length.toUpperCase() !==\n this.getColumnLength(columnMetadata).toUpperCase()\n )\n }\n\n protected lowerDefaultValueIfNecessary(value: string | undefined) {\n // SqlServer saves function calls in default value as lowercase https://github.com/typeorm/typeorm/issues/2733\n if (!value) {\n return value\n }\n return value\n .split(`'`)\n .map((v, i) => {\n return i % 2 === 1 ? v : v.toLowerCase()\n })\n .join(`'`)\n }\n\n /**\n * Creates a new connection pool for a given database credentials.\n */\n protected createPool(\n options: SqlServerConnectionOptions,\n credentials: SqlServerConnectionCredentialsOptions,\n ): Promise<any> {\n credentials = Object.assign(\n {},\n credentials,\n DriverUtils.buildDriverOptions(credentials),\n ) // todo: do it better way\n\n // todo: credentials.domain is deprecation. remove it in future\n const authentication = !credentials.domain\n ? credentials.authentication\n : {\n type: \"ntlm\",\n options: {\n domain: credentials.domain,\n userName: credentials.username,\n password: credentials.password,\n },\n }\n // build connection options for the driver\n const connectionOptions = Object.assign(\n {},\n {\n connectionTimeout: this.options.connectionTimeout,\n requestTimeout: this.options.requestTimeout,\n stream: this.options.stream,\n pool: this.options.pool,\n options: this.options.options,\n },\n {\n server: credentials.host,\n database: credentials.database,\n port: credentials.port,\n user: credentials.username,\n password: credentials.password,\n authentication: authentication,\n },\n options.extra || {},\n )\n\n // set default useUTC option if it hasn't been set\n if (!connectionOptions.options) {\n connectionOptions.options = { useUTC: false }\n } else if (!connectionOptions.options.useUTC) {\n Object.assign(connectionOptions.options, { useUTC: false })\n }\n\n // Match the next release of tedious for configuration options\n // Also prevents warning messages.\n Object.assign(connectionOptions.options, { enableArithAbort: true })\n\n // pooling is enabled either when its set explicitly to true,\n // either when its not defined at all (e.g. enabled by default)\n return new Promise<void>((ok, fail) => {\n const pool = new this.mssql.ConnectionPool(connectionOptions)\n\n const { logger } = this.connection\n\n const poolErrorHandler =\n (options.pool && options.pool.errorHandler) ||\n ((error: any) =>\n logger.log(\"warn\", `MSSQL pool raised an error. ${error}`))\n /**\n * Attaching an error handler to pool errors is essential, as, otherwise, errors raised will go unhandled and\n * cause the hosting app to crash.\n */\n pool.on(\"error\", poolErrorHandler)\n\n const connection = pool.connect((err: any) => {\n if (err) return fail(err)\n ok(connection)\n })\n })\n }\n}\n"],"sourceRoot":"../.."}
1
+ {"version":3,"sources":["../../src/driver/sqlserver/SqlServerDriver.ts"],"names":[],"mappings":"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","file":"SqlServerDriver.js","sourcesContent":["import { Driver } from \"../Driver\"\r\nimport { ConnectionIsNotSetError } from \"../../error/ConnectionIsNotSetError\"\r\nimport { DriverPackageNotInstalledError } from \"../../error/DriverPackageNotInstalledError\"\r\nimport { DriverUtils } from \"../DriverUtils\"\r\nimport { CteCapabilities } from \"../types/CteCapabilities\"\r\nimport { SqlServerQueryRunner } from \"./SqlServerQueryRunner\"\r\nimport { ObjectLiteral } from \"../../common/ObjectLiteral\"\r\nimport { ColumnMetadata } from \"../../metadata/ColumnMetadata\"\r\nimport { DateUtils } from \"../../util/DateUtils\"\r\nimport { PlatformTools } from \"../../platform/PlatformTools\"\r\nimport { DataSource } from \"../../data-source/DataSource\"\r\nimport { RdbmsSchemaBuilder } from \"../../schema-builder/RdbmsSchemaBuilder\"\r\nimport { SqlServerConnectionOptions } from \"./SqlServerConnectionOptions\"\r\nimport { MappedColumnTypes } from \"../types/MappedColumnTypes\"\r\nimport { ColumnType } from \"../types/ColumnTypes\"\r\nimport { DataTypeDefaults } from \"../types/DataTypeDefaults\"\r\nimport { MssqlParameter } from \"./MssqlParameter\"\r\nimport { TableColumn } from \"../../schema-builder/table/TableColumn\"\r\nimport { SqlServerConnectionCredentialsOptions } from \"./SqlServerConnectionCredentialsOptions\"\r\nimport { EntityMetadata } from \"../../metadata/EntityMetadata\"\r\nimport { OrmUtils } from \"../../util/OrmUtils\"\r\nimport { ApplyValueTransformers } from \"../../util/ApplyValueTransformers\"\r\nimport { ReplicationMode } from \"../types/ReplicationMode\"\r\nimport { Table } from \"../../schema-builder/table/Table\"\r\nimport { View } from \"../../schema-builder/view/View\"\r\nimport { TableForeignKey } from \"../../schema-builder/table/TableForeignKey\"\r\nimport { TypeORMError } from \"../../error\"\r\nimport { InstanceChecker } from \"../../util/InstanceChecker\"\r\nimport { UpsertType } from \"../types/UpsertType\"\r\n\r\n/**\r\n * Organizes communication with SQL Server DBMS.\r\n */\r\nexport class SqlServerDriver implements Driver {\r\n // -------------------------------------------------------------------------\r\n // Public Properties\r\n // -------------------------------------------------------------------------\r\n\r\n /**\r\n * Connection used by driver.\r\n */\r\n connection: DataSource\r\n\r\n /**\r\n * SQL Server library.\r\n */\r\n mssql: any\r\n\r\n /**\r\n * Pool for master database.\r\n */\r\n master: any\r\n\r\n /**\r\n * Pool for slave databases.\r\n * Used in replication.\r\n */\r\n slaves: any[] = []\r\n\r\n // -------------------------------------------------------------------------\r\n // Public Implemented Properties\r\n // -------------------------------------------------------------------------\r\n\r\n /**\r\n * Connection options.\r\n */\r\n options: SqlServerConnectionOptions\r\n\r\n /**\r\n * Database name used to perform all write queries.\r\n */\r\n database?: string\r\n\r\n /**\r\n * Schema name used to perform all write queries.\r\n */\r\n schema?: string\r\n\r\n /**\r\n * Schema that's used internally by SQL Server for object resolution.\r\n *\r\n * Because we never set this we have to track it in separately from the `schema` so\r\n * we know when we have to specify the full schema or not.\r\n *\r\n * In most cases this will be `dbo`.\r\n */\r\n searchSchema?: string\r\n\r\n /**\r\n * Indicates if replication is enabled.\r\n */\r\n isReplicated: boolean = false\r\n\r\n /**\r\n * Indicates if tree tables are supported by this driver.\r\n */\r\n treeSupport = true\r\n\r\n /**\r\n * Represent transaction support by this driver\r\n */\r\n transactionSupport = \"simple\" as const\r\n\r\n /**\r\n * Gets list of supported column data types by a driver.\r\n *\r\n * @see https://docs.microsoft.com/en-us/sql/t-sql/data-types/data-types-transact-sql\r\n */\r\n supportedDataTypes: ColumnType[] = [\r\n \"int\",\r\n \"bigint\",\r\n \"bit\",\r\n \"decimal\",\r\n \"money\",\r\n \"numeric\",\r\n \"smallint\",\r\n \"smallmoney\",\r\n \"tinyint\",\r\n \"float\",\r\n \"real\",\r\n \"date\",\r\n \"datetime2\",\r\n \"datetime\",\r\n \"datetimeoffset\",\r\n \"smalldatetime\",\r\n \"time\",\r\n \"char\",\r\n \"varchar\",\r\n \"text\",\r\n \"nchar\",\r\n \"nvarchar\",\r\n \"ntext\",\r\n \"binary\",\r\n \"image\",\r\n \"varbinary\",\r\n \"hierarchyid\",\r\n \"sql_variant\",\r\n \"timestamp\",\r\n \"uniqueidentifier\",\r\n \"xml\",\r\n \"geometry\",\r\n \"geography\",\r\n \"rowversion\",\r\n ]\r\n\r\n /**\r\n * Returns type of upsert supported by driver if any\r\n */\r\n supportedUpsertTypes: UpsertType[] = []\r\n\r\n /**\r\n * Gets list of spatial column data types.\r\n */\r\n spatialTypes: ColumnType[] = [\"geometry\", \"geography\"]\r\n\r\n /**\r\n * Gets list of column data types that support length by a driver.\r\n */\r\n withLengthColumnTypes: ColumnType[] = [\r\n \"char\",\r\n \"varchar\",\r\n \"nchar\",\r\n \"nvarchar\",\r\n \"binary\",\r\n \"varbinary\",\r\n ]\r\n\r\n /**\r\n * Gets list of column data types that support precision by a driver.\r\n */\r\n withPrecisionColumnTypes: ColumnType[] = [\r\n \"decimal\",\r\n \"numeric\",\r\n \"time\",\r\n \"datetime2\",\r\n \"datetimeoffset\",\r\n ]\r\n\r\n /**\r\n * Gets list of column data types that support scale by a driver.\r\n */\r\n withScaleColumnTypes: ColumnType[] = [\"decimal\", \"numeric\"]\r\n\r\n /**\r\n * Orm has special columns and we need to know what database column types should be for those types.\r\n * Column types are driver dependant.\r\n */\r\n mappedDataTypes: MappedColumnTypes = {\r\n createDate: \"datetime2\",\r\n createDateDefault: \"getdate()\",\r\n updateDate: \"datetime2\",\r\n updateDateDefault: \"getdate()\",\r\n deleteDate: \"datetime2\",\r\n deleteDateNullable: true,\r\n version: \"int\",\r\n treeLevel: \"int\",\r\n migrationId: \"int\",\r\n migrationName: \"varchar\",\r\n migrationTimestamp: \"bigint\",\r\n cacheId: \"int\",\r\n cacheIdentifier: \"nvarchar\",\r\n cacheTime: \"bigint\",\r\n cacheDuration: \"int\",\r\n cacheQuery: \"nvarchar(MAX)\" as any,\r\n cacheResult: \"nvarchar(MAX)\" as any,\r\n metadataType: \"varchar\",\r\n metadataDatabase: \"varchar\",\r\n metadataSchema: \"varchar\",\r\n metadataTable: \"varchar\",\r\n metadataName: \"varchar\",\r\n metadataValue: \"nvarchar(MAX)\" as any,\r\n }\r\n\r\n /**\r\n * The prefix used for the parameters\r\n */\r\n parametersPrefix: string = \"@\"\r\n\r\n /**\r\n * Default values of length, precision and scale depends on column data type.\r\n * Used in the cases when length/precision/scale is not specified by user.\r\n */\r\n dataTypeDefaults: DataTypeDefaults = {\r\n char: { length: 1 },\r\n nchar: { length: 1 },\r\n varchar: { length: 255 },\r\n nvarchar: { length: 255 },\r\n binary: { length: 1 },\r\n varbinary: { length: 1 },\r\n decimal: { precision: 18, scale: 0 },\r\n numeric: { precision: 18, scale: 0 },\r\n time: { precision: 7 },\r\n datetime2: { precision: 7 },\r\n datetimeoffset: { precision: 7 },\r\n }\r\n\r\n cteCapabilities: CteCapabilities = {\r\n enabled: true,\r\n // todo: enable it for SQL Server - it's partially supported, but there are issues with generation of non-standard OUTPUT clause\r\n writable: false,\r\n }\r\n\r\n /**\r\n * Max length allowed by MSSQL Server for aliases (identifiers).\r\n * @see https://docs.microsoft.com/en-us/sql/sql-server/maximum-capacity-specifications-for-sql-server\r\n */\r\n maxAliasLength = 128\r\n\r\n // -------------------------------------------------------------------------\r\n // Constructor\r\n // -------------------------------------------------------------------------\r\n\r\n constructor(connection: DataSource) {\r\n this.connection = connection\r\n this.options = connection.options as SqlServerConnectionOptions\r\n this.isReplicated = this.options.replication ? true : false\r\n\r\n // load mssql package\r\n this.loadDependencies()\r\n\r\n this.database = DriverUtils.buildDriverOptions(\r\n this.options.replication\r\n ? this.options.replication.master\r\n : this.options,\r\n ).database\r\n this.schema = DriverUtils.buildDriverOptions(this.options).schema\r\n\r\n // Object.assign(connection.options, DriverUtils.buildDriverOptions(connection.options)); // todo: do it better way\r\n // validate options to make sure everything is set\r\n // if (!this.options.host)\r\n // throw new DriverOptionNotSetError(\"host\");\r\n // if (!this.options.username)\r\n // throw new DriverOptionNotSetError(\"username\");\r\n // if (!this.options.database)\r\n // throw new DriverOptionNotSetError(\"database\");\r\n }\r\n\r\n // -------------------------------------------------------------------------\r\n // Public Implemented Methods\r\n // -------------------------------------------------------------------------\r\n\r\n /**\r\n * Performs connection to the database.\r\n * Based on pooling options, it can either create connection immediately,\r\n * either create a pool and create connection when needed.\r\n */\r\n async connect(): Promise<void> {\r\n if (this.options.replication) {\r\n this.slaves = await Promise.all(\r\n this.options.replication.slaves.map((slave) => {\r\n return this.createPool(this.options, slave)\r\n }),\r\n )\r\n this.master = await this.createPool(\r\n this.options,\r\n this.options.replication.master,\r\n )\r\n } else {\r\n this.master = await this.createPool(this.options, this.options)\r\n }\r\n\r\n if (!this.database || !this.searchSchema) {\r\n const queryRunner = await this.createQueryRunner(\"master\")\r\n\r\n if (!this.database) {\r\n this.database = await queryRunner.getCurrentDatabase()\r\n }\r\n\r\n if (!this.searchSchema) {\r\n this.searchSchema = await queryRunner.getCurrentSchema()\r\n }\r\n\r\n await queryRunner.release()\r\n }\r\n\r\n if (!this.schema) {\r\n this.schema = this.searchSchema\r\n }\r\n }\r\n\r\n /**\r\n * Makes any action after connection (e.g. create extensions in Postgres driver).\r\n */\r\n afterConnect(): Promise<void> {\r\n return Promise.resolve()\r\n }\r\n\r\n /**\r\n * Closes connection with the database.\r\n */\r\n async disconnect(): Promise<void> {\r\n if (!this.master)\r\n return Promise.reject(new ConnectionIsNotSetError(\"mssql\"))\r\n\r\n await this.closePool(this.master)\r\n await Promise.all(this.slaves.map((slave) => this.closePool(slave)))\r\n this.master = undefined\r\n this.slaves = []\r\n }\r\n\r\n /**\r\n * Closes connection pool.\r\n */\r\n protected async closePool(pool: any): Promise<void> {\r\n return new Promise<void>((ok, fail) => {\r\n pool.close((err: any) => (err ? fail(err) : ok()))\r\n })\r\n }\r\n\r\n /**\r\n * Creates a schema builder used to build and sync a schema.\r\n */\r\n createSchemaBuilder() {\r\n return new RdbmsSchemaBuilder(this.connection)\r\n }\r\n\r\n /**\r\n * Creates a query runner used to execute database queries.\r\n */\r\n createQueryRunner(mode: ReplicationMode) {\r\n return new SqlServerQueryRunner(this, mode)\r\n }\r\n\r\n /**\r\n * Replaces parameters in the given sql with special escaping character\r\n * and an array of parameter names to be passed to a query.\r\n */\r\n escapeQueryWithParameters(\r\n sql: string,\r\n parameters: ObjectLiteral,\r\n nativeParameters: ObjectLiteral,\r\n ): [string, any[]] {\r\n const escapedParameters: any[] = Object.keys(nativeParameters).map(\r\n (key) => nativeParameters[key],\r\n )\r\n if (!parameters || !Object.keys(parameters).length)\r\n return [sql, escapedParameters]\r\n\r\n const parameterIndexMap = new Map<string, number>()\r\n sql = sql.replace(\r\n /:(\\.\\.\\.)?([A-Za-z0-9_.]+)/g,\r\n (full, isArray: string, key: string): string => {\r\n if (!parameters.hasOwnProperty(key)) {\r\n return full\r\n }\r\n\r\n if (parameterIndexMap.has(key)) {\r\n return this.parametersPrefix + parameterIndexMap.get(key)\r\n }\r\n\r\n let value: any = parameters[key]\r\n\r\n if (isArray) {\r\n return value\r\n .map((v: any) => {\r\n escapedParameters.push(v)\r\n return this.createParameter(\r\n key,\r\n escapedParameters.length - 1,\r\n )\r\n })\r\n .join(\", \")\r\n }\r\n\r\n if (typeof value === \"function\") {\r\n return value()\r\n }\r\n\r\n escapedParameters.push(value)\r\n parameterIndexMap.set(key, escapedParameters.length - 1)\r\n return this.createParameter(key, escapedParameters.length - 1)\r\n },\r\n ) // todo: make replace only in value statements, otherwise problems\r\n return [sql, escapedParameters]\r\n }\r\n\r\n /**\r\n * Escapes a column name.\r\n */\r\n escape(columnName: string): string {\r\n return `\"${columnName}\"`\r\n }\r\n\r\n /**\r\n * Build full table name with database name, schema name and table name.\r\n * E.g. myDB.mySchema.myTable\r\n */\r\n buildTableName(\r\n tableName: string,\r\n schema?: string,\r\n database?: string,\r\n ): string {\r\n let tablePath = [tableName]\r\n\r\n if (schema) {\r\n tablePath.unshift(schema)\r\n }\r\n\r\n if (database) {\r\n if (!schema) {\r\n tablePath.unshift(\"\")\r\n }\r\n\r\n tablePath.unshift(database)\r\n }\r\n\r\n return tablePath.join(\".\")\r\n }\r\n\r\n /**\r\n * Parse a target table name or other types and return a normalized table definition.\r\n */\r\n parseTableName(\r\n target: EntityMetadata | Table | View | TableForeignKey | string,\r\n ): { database?: string; schema?: string; tableName: string } {\r\n const driverDatabase = this.database\r\n const driverSchema = this.schema\r\n\r\n if (InstanceChecker.isTable(target) || InstanceChecker.isView(target)) {\r\n const parsed = this.parseTableName(target.name)\r\n\r\n return {\r\n database: target.database || parsed.database || driverDatabase,\r\n schema: target.schema || parsed.schema || driverSchema,\r\n tableName: parsed.tableName,\r\n }\r\n }\r\n\r\n if (InstanceChecker.isTableForeignKey(target)) {\r\n const parsed = this.parseTableName(target.referencedTableName)\r\n\r\n return {\r\n database:\r\n target.referencedDatabase ||\r\n parsed.database ||\r\n driverDatabase,\r\n schema:\r\n target.referencedSchema || parsed.schema || driverSchema,\r\n tableName: parsed.tableName,\r\n }\r\n }\r\n\r\n if (InstanceChecker.isEntityMetadata(target)) {\r\n // EntityMetadata tableName is never a path\r\n\r\n return {\r\n database: target.database || driverDatabase,\r\n schema: target.schema || driverSchema,\r\n tableName: target.tableName,\r\n }\r\n }\r\n\r\n const parts = target.split(\".\")\r\n\r\n if (parts.length === 3) {\r\n return {\r\n database: parts[0] || driverDatabase,\r\n schema: parts[1] || driverSchema,\r\n tableName: parts[2],\r\n }\r\n } else if (parts.length === 2) {\r\n return {\r\n database: driverDatabase,\r\n schema: parts[0],\r\n tableName: parts[1],\r\n }\r\n } else {\r\n return {\r\n database: driverDatabase,\r\n schema: driverSchema,\r\n tableName: target,\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Prepares given value to a value to be persisted, based on its column type and metadata.\r\n */\r\n preparePersistentValue(value: any, columnMetadata: ColumnMetadata): any {\r\n if (columnMetadata.transformer)\r\n value = ApplyValueTransformers.transformTo(\r\n columnMetadata.transformer,\r\n value,\r\n )\r\n\r\n if (value === null || value === undefined) return value\r\n\r\n if (columnMetadata.type === Boolean) {\r\n return value === true ? 1 : 0\r\n } else if (columnMetadata.type === \"date\") {\r\n return DateUtils.mixedDateToDate(value)\r\n } else if (columnMetadata.type === \"time\") {\r\n return DateUtils.mixedTimeToDate(value)\r\n } else if (\r\n columnMetadata.type === \"datetime\" ||\r\n columnMetadata.type === \"smalldatetime\" ||\r\n columnMetadata.type === Date\r\n ) {\r\n return DateUtils.mixedDateToDate(value, false, false)\r\n } else if (\r\n columnMetadata.type === \"datetime2\" ||\r\n columnMetadata.type === \"datetimeoffset\"\r\n ) {\r\n return DateUtils.mixedDateToDate(value, false, true)\r\n } else if (columnMetadata.type === \"simple-array\") {\r\n return DateUtils.simpleArrayToString(value)\r\n } else if (columnMetadata.type === \"simple-json\") {\r\n return DateUtils.simpleJsonToString(value)\r\n } else if (columnMetadata.type === \"simple-enum\") {\r\n return DateUtils.simpleEnumToString(value)\r\n }\r\n\r\n return value\r\n }\r\n\r\n /**\r\n * Prepares given value to a value to be persisted, based on its column type or metadata.\r\n */\r\n prepareHydratedValue(value: any, columnMetadata: ColumnMetadata): any {\r\n if (value === null || value === undefined)\r\n return columnMetadata.transformer\r\n ? ApplyValueTransformers.transformFrom(\r\n columnMetadata.transformer,\r\n value,\r\n )\r\n : value\r\n\r\n if (columnMetadata.type === Boolean) {\r\n value = value ? true : false\r\n } else if (\r\n columnMetadata.type === \"datetime\" ||\r\n columnMetadata.type === Date ||\r\n columnMetadata.type === \"datetime2\" ||\r\n columnMetadata.type === \"smalldatetime\" ||\r\n columnMetadata.type === \"datetimeoffset\"\r\n ) {\r\n value = DateUtils.normalizeHydratedDate(value)\r\n } else if (columnMetadata.type === \"date\") {\r\n value = DateUtils.mixedDateToDateString(value)\r\n } else if (columnMetadata.type === \"time\") {\r\n value = DateUtils.mixedTimeToString(value)\r\n } else if (columnMetadata.type === \"simple-array\") {\r\n value = DateUtils.stringToSimpleArray(value)\r\n } else if (columnMetadata.type === \"simple-json\") {\r\n value = DateUtils.stringToSimpleJson(value)\r\n } else if (columnMetadata.type === \"simple-enum\") {\r\n value = DateUtils.stringToSimpleEnum(value, columnMetadata)\r\n } else if (columnMetadata.type === Number) {\r\n // convert to number if number\r\n value = !isNaN(+value) ? parseInt(value) : value\r\n }\r\n\r\n if (columnMetadata.transformer)\r\n value = ApplyValueTransformers.transformFrom(\r\n columnMetadata.transformer,\r\n value,\r\n )\r\n\r\n return value\r\n }\r\n\r\n /**\r\n * Creates a database type from a given column metadata.\r\n */\r\n normalizeType(column: {\r\n type?: ColumnType\r\n length?: number | string\r\n precision?: number | null\r\n scale?: number\r\n }): string {\r\n if (column.type === Number || column.type === \"integer\") {\r\n return \"int\"\r\n } else if (column.type === String) {\r\n return \"nvarchar\"\r\n } else if (column.type === Date) {\r\n return \"datetime\"\r\n } else if (column.type === Boolean) {\r\n return \"bit\"\r\n } else if ((column.type as any) === Buffer) {\r\n return \"binary\"\r\n } else if (column.type === \"uuid\") {\r\n return \"uniqueidentifier\"\r\n } else if (\r\n column.type === \"simple-array\" ||\r\n column.type === \"simple-json\"\r\n ) {\r\n return \"ntext\"\r\n } else if (column.type === \"simple-enum\") {\r\n return \"nvarchar\"\r\n } else if (column.type === \"dec\") {\r\n return \"decimal\"\r\n } else if (column.type === \"double precision\") {\r\n return \"float\"\r\n } else if (column.type === \"rowversion\") {\r\n return \"timestamp\" // the rowversion type's name in SQL server metadata is timestamp\r\n } else {\r\n return (column.type as string) || \"\"\r\n }\r\n }\r\n\r\n /**\r\n * Normalizes \"default\" value of the column.\r\n */\r\n normalizeDefault(columnMetadata: ColumnMetadata): string | undefined {\r\n const defaultValue = columnMetadata.default\r\n\r\n if (typeof defaultValue === \"number\") {\r\n return `${defaultValue}`\r\n }\r\n\r\n if (typeof defaultValue === \"boolean\") {\r\n return defaultValue ? \"1\" : \"0\"\r\n }\r\n\r\n if (typeof defaultValue === \"function\") {\r\n const value = defaultValue()\r\n if (value.toUpperCase() === \"CURRENT_TIMESTAMP\") {\r\n return \"getdate()\"\r\n }\r\n return value\r\n }\r\n\r\n if (typeof defaultValue === \"string\") {\r\n return `'${defaultValue}'`\r\n }\r\n\r\n if (defaultValue === undefined || defaultValue === null) {\r\n return undefined\r\n }\r\n\r\n return `${defaultValue}`\r\n }\r\n\r\n /**\r\n * Normalizes \"isUnique\" value of the column.\r\n */\r\n normalizeIsUnique(column: ColumnMetadata): boolean {\r\n return column.entityMetadata.uniques.some(\r\n (uq) => uq.columns.length === 1 && uq.columns[0] === column,\r\n )\r\n }\r\n\r\n /**\r\n * Returns default column lengths, which is required on column creation.\r\n */\r\n getColumnLength(column: ColumnMetadata | TableColumn): string {\r\n if (column.length) return column.length.toString()\r\n\r\n if (\r\n column.type === \"varchar\" ||\r\n column.type === \"nvarchar\" ||\r\n column.type === String\r\n )\r\n return \"255\"\r\n\r\n return \"\"\r\n }\r\n\r\n /**\r\n * Creates column type definition including length, precision and scale\r\n */\r\n createFullType(column: TableColumn): string {\r\n // The Database Engine determines the data type of the computed column by applying the rules\r\n // of data type precedence to the expressions specified in the formula.\r\n if (column.asExpression) return \"\"\r\n\r\n let type = column.type\r\n\r\n // used 'getColumnLength()' method, because SqlServer sets `varchar` and `nvarchar` length to 1 by default.\r\n if (this.getColumnLength(column)) {\r\n type += `(${this.getColumnLength(column)})`\r\n } else if (\r\n column.precision !== null &&\r\n column.precision !== undefined &&\r\n column.scale !== null &&\r\n column.scale !== undefined\r\n ) {\r\n type += `(${column.precision},${column.scale})`\r\n } else if (\r\n column.precision !== null &&\r\n column.precision !== undefined\r\n ) {\r\n type += `(${column.precision})`\r\n }\r\n\r\n if (column.isArray) type += \" array\"\r\n\r\n return type\r\n }\r\n\r\n /**\r\n * Obtains a new database connection to a master server.\r\n * Used for replication.\r\n * If replication is not setup then returns default connection's database connection.\r\n */\r\n obtainMasterConnection(): Promise<any> {\r\n if (!this.master) {\r\n return Promise.reject(new TypeORMError(\"Driver not Connected\"))\r\n }\r\n\r\n return Promise.resolve(this.master)\r\n }\r\n\r\n /**\r\n * Obtains a new database connection to a slave server.\r\n * Used for replication.\r\n * If replication is not setup then returns master (default) connection's database connection.\r\n */\r\n obtainSlaveConnection(): Promise<any> {\r\n if (!this.slaves.length) return this.obtainMasterConnection()\r\n\r\n const random = Math.floor(Math.random() * this.slaves.length)\r\n return Promise.resolve(this.slaves[random])\r\n }\r\n\r\n /**\r\n * Creates generated map of values generated or returned by database after INSERT query.\r\n */\r\n createGeneratedMap(metadata: EntityMetadata, insertResult: ObjectLiteral) {\r\n if (!insertResult) return undefined\r\n\r\n return Object.keys(insertResult).reduce((map, key) => {\r\n const column = metadata.findColumnWithDatabaseName(key)\r\n if (column) {\r\n OrmUtils.mergeDeep(\r\n map,\r\n column.createValueMap(\r\n this.prepareHydratedValue(insertResult[key], column),\r\n ),\r\n )\r\n }\r\n return map\r\n }, {} as ObjectLiteral)\r\n }\r\n\r\n /**\r\n * Differentiate columns of this table and columns from the given column metadatas columns\r\n * and returns only changed.\r\n */\r\n findChangedColumns(\r\n tableColumns: TableColumn[],\r\n columnMetadatas: ColumnMetadata[],\r\n ): ColumnMetadata[] {\r\n return columnMetadatas.filter((columnMetadata) => {\r\n const tableColumn = tableColumns.find(\r\n (c) => c.name === columnMetadata.databaseName,\r\n )\r\n if (!tableColumn) return false // we don't need new columns, we only need exist and changed\r\n\r\n const isColumnChanged =\r\n tableColumn.name !== columnMetadata.databaseName ||\r\n this.compareColumnType(tableColumn, columnMetadata) ||\r\n this.compareColumnLength(tableColumn, columnMetadata) ||\r\n tableColumn.precision !== columnMetadata.precision ||\r\n tableColumn.scale !== columnMetadata.scale ||\r\n // || tableColumn.comment !== columnMetadata.comment || // todo\r\n tableColumn.isGenerated !== columnMetadata.isGenerated ||\r\n (!tableColumn.isGenerated &&\r\n this.lowerDefaultValueIfNecessary(\r\n this.normalizeDefault(columnMetadata),\r\n ) !==\r\n this.lowerDefaultValueIfNecessary(\r\n tableColumn.default,\r\n )) || // we included check for generated here, because generated columns already can have default values\r\n tableColumn.isPrimary !== columnMetadata.isPrimary ||\r\n tableColumn.isNullable !== columnMetadata.isNullable ||\r\n tableColumn.asExpression !== columnMetadata.asExpression ||\r\n tableColumn.generatedType !== columnMetadata.generatedType ||\r\n tableColumn.isUnique !==\r\n this.normalizeIsUnique(columnMetadata) ||\r\n (tableColumn.enum &&\r\n columnMetadata.enum &&\r\n !OrmUtils.isArraysEqual(\r\n tableColumn.enum,\r\n columnMetadata.enum.map((val) => val + \"\"),\r\n ))\r\n\r\n // DEBUG SECTION\r\n // if (isColumnChanged) {\r\n // console.log(\"table:\", columnMetadata.entityMetadata.tableName)\r\n // console.log(\r\n // \"name:\",\r\n // tableColumn.name,\r\n // columnMetadata.databaseName,\r\n // )\r\n // console.log(\r\n // \"type:\",\r\n // tableColumn.type,\r\n // this.normalizeType(columnMetadata),\r\n // this.compareColumnType(tableColumn, columnMetadata),\r\n // )\r\n // console.log(\r\n // \"length:\",\r\n // tableColumn.length,\r\n // columnMetadata.length,\r\n // this.compareColumnLength(tableColumn, columnMetadata),\r\n // )\r\n // console.log(\r\n // \"precision:\",\r\n // tableColumn.precision,\r\n // columnMetadata.precision,\r\n // )\r\n // console.log(\"scale:\", tableColumn.scale, columnMetadata.scale)\r\n // console.log(\r\n // \"isGenerated:\",\r\n // tableColumn.isGenerated,\r\n // columnMetadata.isGenerated,\r\n // )\r\n // console.log(\r\n // \"isGenerated 2:\",\r\n // !tableColumn.isGenerated &&\r\n // this.lowerDefaultValueIfNecessary(\r\n // this.normalizeDefault(columnMetadata),\r\n // ) !==\r\n // this.lowerDefaultValueIfNecessary(\r\n // tableColumn.default,\r\n // ),\r\n // )\r\n // console.log(\r\n // \"isPrimary:\",\r\n // tableColumn.isPrimary,\r\n // columnMetadata.isPrimary,\r\n // )\r\n // console.log(\r\n // \"isNullable:\",\r\n // tableColumn.isNullable,\r\n // columnMetadata.isNullable,\r\n // )\r\n // console.log(\r\n // \"asExpression:\",\r\n // tableColumn.asExpression,\r\n // columnMetadata.asExpression,\r\n // )\r\n // console.log(\r\n // \"generatedType:\",\r\n // tableColumn.generatedType,\r\n // columnMetadata.generatedType,\r\n // )\r\n // console.log(\r\n // \"isUnique:\",\r\n // tableColumn.isUnique,\r\n // this.normalizeIsUnique(columnMetadata),\r\n // )\r\n // console.log(\"==========================================\")\r\n // }\r\n\r\n return isColumnChanged\r\n })\r\n }\r\n\r\n /**\r\n * Returns true if driver supports RETURNING / OUTPUT statement.\r\n */\r\n isReturningSqlSupported(): boolean {\r\n if (\r\n this.options.options &&\r\n this.options.options.disableOutputReturning\r\n ) {\r\n return false\r\n }\r\n return true\r\n }\r\n\r\n /**\r\n * Returns true if driver supports uuid values generation on its own.\r\n */\r\n isUUIDGenerationSupported(): boolean {\r\n return true\r\n }\r\n\r\n /**\r\n * Returns true if driver supports fulltext indices.\r\n */\r\n isFullTextColumnTypeSupported(): boolean {\r\n return false\r\n }\r\n\r\n /**\r\n * Creates an escaped parameter.\r\n */\r\n createParameter(parameterName: string, index: number): string {\r\n return this.parametersPrefix + index\r\n }\r\n\r\n // -------------------------------------------------------------------------\r\n // Public Methods\r\n // -------------------------------------------------------------------------\r\n\r\n /**\r\n * Sql server's parameters needs to be wrapped into special object with type information about this value.\r\n * This method wraps given value into MssqlParameter based on its column definition.\r\n */\r\n parametrizeValue(column: ColumnMetadata, value: any) {\r\n // if its already MssqlParameter then simply return it\r\n if (InstanceChecker.isMssqlParameter(value)) return value\r\n\r\n const normalizedType = this.normalizeType({ type: column.type })\r\n if (column.length) {\r\n return new MssqlParameter(\r\n value,\r\n normalizedType as any,\r\n column.length as any,\r\n )\r\n } else if (\r\n column.precision !== null &&\r\n column.precision !== undefined &&\r\n column.scale !== null &&\r\n column.scale !== undefined\r\n ) {\r\n return new MssqlParameter(\r\n value,\r\n normalizedType as any,\r\n column.precision,\r\n column.scale,\r\n )\r\n } else if (\r\n column.precision !== null &&\r\n column.precision !== undefined\r\n ) {\r\n return new MssqlParameter(\r\n value,\r\n normalizedType as any,\r\n column.precision,\r\n )\r\n } else if (column.scale !== null && column.scale !== undefined) {\r\n return new MssqlParameter(\r\n value,\r\n normalizedType as any,\r\n column.scale,\r\n )\r\n }\r\n\r\n return new MssqlParameter(value, normalizedType as any)\r\n }\r\n\r\n /**\r\n * Sql server's parameters needs to be wrapped into special object with type information about this value.\r\n * This method wraps all values of the given object into MssqlParameter based on their column definitions in the given table.\r\n */\r\n parametrizeMap(tablePath: string, map: ObjectLiteral): ObjectLiteral {\r\n // find metadata for the given table\r\n if (!this.connection.hasMetadata(tablePath))\r\n // if no metadata found then we can't proceed because we don't have columns and their types\r\n return map\r\n const metadata = this.connection.getMetadata(tablePath)\r\n\r\n return Object.keys(map).reduce((newMap, key) => {\r\n const value = map[key]\r\n\r\n // find column metadata\r\n const column = metadata.findColumnWithDatabaseName(key)\r\n if (!column)\r\n // if we didn't find a column then we can't proceed because we don't have a column type\r\n return value\r\n\r\n newMap[key] = this.parametrizeValue(column, value)\r\n return newMap\r\n }, {} as ObjectLiteral)\r\n }\r\n\r\n buildTableVariableDeclaration(\r\n identifier: string,\r\n columns: ColumnMetadata[],\r\n ): string {\r\n const outputColumns = columns.map((column) => {\r\n return `${this.escape(column.databaseName)} ${this.createFullType(\r\n new TableColumn({\r\n name: column.databaseName,\r\n type: this.normalizeType(column),\r\n length: column.length,\r\n isNullable: column.isNullable,\r\n isArray: column.isArray,\r\n }),\r\n )}`\r\n })\r\n\r\n return `DECLARE ${identifier} TABLE (${outputColumns.join(\", \")})`\r\n }\r\n\r\n // -------------------------------------------------------------------------\r\n // Protected Methods\r\n // -------------------------------------------------------------------------\r\n\r\n /**\r\n * If driver dependency is not given explicitly, then try to load it via \"require\".\r\n */\r\n protected loadDependencies(): void {\r\n try {\r\n const mssql = this.options.driver || PlatformTools.load(\"mssql\")\r\n this.mssql = mssql\r\n } catch (e) {\r\n // todo: better error for browser env\r\n throw new DriverPackageNotInstalledError(\"SQL Server\", \"mssql\")\r\n }\r\n }\r\n\r\n protected compareColumnType(\r\n tableColumn: TableColumn,\r\n columnMetadata: ColumnMetadata,\r\n ): boolean {\r\n // The Database Engine determines the data type of the computed column by applying the rules\r\n // of data type precedence to the expressions specified in the formula.\r\n if (columnMetadata.asExpression) return false\r\n\r\n return tableColumn.type !== this.normalizeType(columnMetadata)\r\n }\r\n\r\n protected compareColumnLength(\r\n tableColumn: TableColumn,\r\n columnMetadata: ColumnMetadata,\r\n ): boolean {\r\n // The Database Engine determines the data type of the computed column by applying the rules\r\n // of data type precedence to the expressions specified in the formula.\r\n if (columnMetadata.asExpression) return false\r\n\r\n return (\r\n tableColumn.length.toUpperCase() !==\r\n this.getColumnLength(columnMetadata).toUpperCase()\r\n )\r\n }\r\n\r\n protected lowerDefaultValueIfNecessary(value: string | undefined) {\r\n // SqlServer saves function calls in default value as lowercase https://github.com/typeorm/typeorm/issues/2733\r\n if (!value) {\r\n return value\r\n }\r\n return value\r\n .split(`'`)\r\n .map((v, i) => {\r\n return i % 2 === 1 ? v : v.toLowerCase()\r\n })\r\n .join(`'`)\r\n }\r\n\r\n /**\r\n * Creates a new connection pool for a given database credentials.\r\n */\r\n protected createPool(\r\n options: SqlServerConnectionOptions,\r\n credentials: SqlServerConnectionCredentialsOptions,\r\n ): Promise<any> {\r\n credentials = Object.assign(\r\n {},\r\n credentials,\r\n DriverUtils.buildDriverOptions(credentials),\r\n ) // todo: do it better way\r\n\r\n // todo: credentials.domain is deprecation. remove it in future\r\n const authentication = !credentials.domain\r\n ? credentials.authentication\r\n : {\r\n type: \"ntlm\",\r\n options: {\r\n domain: credentials.domain,\r\n userName: credentials.username,\r\n password: credentials.password,\r\n },\r\n }\r\n // build connection options for the driver\r\n const connectionOptions = Object.assign(\r\n {},\r\n {\r\n connectionTimeout: this.options.connectionTimeout,\r\n requestTimeout: this.options.requestTimeout,\r\n stream: this.options.stream,\r\n pool: this.options.pool,\r\n options: this.options.options,\r\n },\r\n {\r\n server: credentials.host,\r\n database: credentials.database,\r\n port: credentials.port,\r\n user: credentials.username,\r\n password: credentials.password,\r\n authentication: authentication,\r\n },\r\n options.extra || {},\r\n )\r\n\r\n // set default useUTC option if it hasn't been set\r\n if (!connectionOptions.options) {\r\n connectionOptions.options = { useUTC: false }\r\n } else if (!connectionOptions.options.useUTC) {\r\n Object.assign(connectionOptions.options, { useUTC: false })\r\n }\r\n\r\n // Match the next release of tedious for configuration options\r\n // Also prevents warning messages.\r\n Object.assign(connectionOptions.options, { enableArithAbort: true })\r\n\r\n // pooling is enabled either when its set explicitly to true,\r\n // either when its not defined at all (e.g. enabled by default)\r\n return new Promise<void>((ok, fail) => {\r\n const pool = new this.mssql.ConnectionPool(connectionOptions)\r\n\r\n const { logger } = this.connection\r\n\r\n const poolErrorHandler =\r\n (options.pool && options.pool.errorHandler) ||\r\n ((error: any) =>\r\n logger.log(\"warn\", `MSSQL pool raised an error. ${error}`))\r\n /**\r\n * Attaching an error handler to pool errors is essential, as, otherwise, errors raised will go unhandled and\r\n * cause the hosting app to crash.\r\n */\r\n pool.on(\"error\", poolErrorHandler)\r\n\r\n const connection = pool.connect((err: any) => {\r\n if (err) return fail(err)\r\n ok(connection)\r\n })\r\n })\r\n }\r\n}\r\n"],"sourceRoot":"../.."}
@@ -1,4 +1,3 @@
1
-
2
1
  import { ReadStream } from "../../platform/PlatformTools";
3
2
  import { BaseQueryRunner } from "../../query-runner/BaseQueryRunner";
4
3
  import { QueryRunner } from "../../query-runner/QueryRunner";
@@ -1499,14 +1499,14 @@ class SqlServerQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
1499
1499
  return `("fk"."referenced_object_id" = OBJECT_ID('"${TABLE_CATALOG}"."${TABLE_SCHEMA}"."${TABLE_NAME}"'))`;
1500
1500
  })
1501
1501
  .join(" OR ");
1502
- return `
1503
- SELECT DISTINCT '${TABLE_CATALOG}' AS "TABLE_CATALOG",
1504
- OBJECT_SCHEMA_NAME("fk"."parent_object_id",
1505
- DB_ID('${TABLE_CATALOG}')) AS "TABLE_SCHEMA",
1506
- OBJECT_NAME("fk"."parent_object_id", DB_ID('${TABLE_CATALOG}')) AS "TABLE_NAME",
1507
- "fk"."name" AS "CONSTRAINT_NAME"
1508
- FROM "${TABLE_CATALOG}"."sys"."foreign_keys" AS "fk"
1509
- WHERE (${conditions})
1502
+ return `
1503
+ SELECT DISTINCT '${TABLE_CATALOG}' AS "TABLE_CATALOG",
1504
+ OBJECT_SCHEMA_NAME("fk"."parent_object_id",
1505
+ DB_ID('${TABLE_CATALOG}')) AS "TABLE_SCHEMA",
1506
+ OBJECT_NAME("fk"."parent_object_id", DB_ID('${TABLE_CATALOG}')) AS "TABLE_NAME",
1507
+ "fk"."name" AS "CONSTRAINT_NAME"
1508
+ FROM "${TABLE_CATALOG}"."sys"."foreign_keys" AS "fk"
1509
+ WHERE (${conditions})
1510
1510
  `;
1511
1511
  })
1512
1512
  .join(" UNION ALL ");
@@ -1609,16 +1609,16 @@ class SqlServerQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
1609
1609
  const dbDatabases = await this.query(databasesSql);
1610
1610
  const tablesSql = dbDatabases
1611
1611
  .map(({ name }) => {
1612
- return `
1613
- SELECT DISTINCT
1614
- "TABLE_CATALOG", "TABLE_SCHEMA", "TABLE_NAME"
1615
- FROM "${name}"."INFORMATION_SCHEMA"."TABLES"
1616
- WHERE
1617
- "TABLE_TYPE" = 'BASE TABLE'
1618
- AND
1619
- "TABLE_CATALOG" = '${name}'
1620
- AND
1621
- ISNULL(Objectproperty(Object_id("TABLE_CATALOG" + '.' + "TABLE_SCHEMA" + '.' + "TABLE_NAME"), 'IsMSShipped'), 0) = 0
1612
+ return `
1613
+ SELECT DISTINCT
1614
+ "TABLE_CATALOG", "TABLE_SCHEMA", "TABLE_NAME"
1615
+ FROM "${name}"."INFORMATION_SCHEMA"."TABLES"
1616
+ WHERE
1617
+ "TABLE_TYPE" = 'BASE TABLE'
1618
+ AND
1619
+ "TABLE_CATALOG" = '${name}'
1620
+ AND
1621
+ ISNULL(Objectproperty(Object_id("TABLE_CATALOG" + '.' + "TABLE_SCHEMA" + '.' + "TABLE_NAME"), 'IsMSShipped'), 0) = 0
1622
1622
  `;
1623
1623
  })
1624
1624
  .join(" UNION ALL ");
@@ -1643,14 +1643,14 @@ class SqlServerQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
1643
1643
  return `("TABLE_SCHEMA" = '${schema}' AND "TABLE_NAME" = '${tableName}')`;
1644
1644
  })
1645
1645
  .join(" OR ");
1646
- return `
1647
- SELECT DISTINCT
1648
- "TABLE_CATALOG", "TABLE_SCHEMA", "TABLE_NAME"
1649
- FROM "${database}"."INFORMATION_SCHEMA"."TABLES"
1650
- WHERE
1651
- "TABLE_TYPE" = 'BASE TABLE' AND
1652
- "TABLE_CATALOG" = '${database}' AND
1653
- ${tablesCondition}
1646
+ return `
1647
+ SELECT DISTINCT
1648
+ "TABLE_CATALOG", "TABLE_SCHEMA", "TABLE_NAME"
1649
+ FROM "${database}"."INFORMATION_SCHEMA"."TABLES"
1650
+ WHERE
1651
+ "TABLE_TYPE" = 'BASE TABLE' AND
1652
+ "TABLE_CATALOG" = '${database}' AND
1653
+ ${tablesCondition}
1654
1654
  `;
1655
1655
  })
1656
1656
  .join(" UNION ALL ");