typeorm 0.2.24 → 0.2.28
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.
- package/README.md +12 -8
- package/browser/cache/DbQueryResultCache.js +14 -14
- package/browser/cache/DbQueryResultCache.js.map +1 -1
- package/browser/cache/RedisQueryResultCache.js +20 -15
- package/browser/cache/RedisQueryResultCache.js.map +1 -1
- package/browser/common/DeepPartial.d.ts +1 -1
- package/browser/common/DeepPartial.js.map +1 -1
- package/browser/common/EntityTarget.d.ts +9 -0
- package/browser/common/EntityTarget.js +3 -0
- package/browser/common/EntityTarget.js.map +1 -0
- package/browser/connection/Connection.d.ts +11 -10
- package/browser/connection/Connection.js +66 -42
- package/browser/connection/Connection.js.map +1 -1
- package/browser/connection/ConnectionMetadataBuilder.js +8 -8
- package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/browser/connection/ConnectionOptions.d.ts +3 -1
- package/browser/connection/ConnectionOptions.js.map +1 -1
- package/browser/connection/ConnectionOptionsReader.js +47 -42
- package/browser/connection/ConnectionOptionsReader.js.map +1 -1
- package/browser/connection/options-reader/ConnectionOptionsEnvReader.d.ts +5 -1
- package/browser/connection/options-reader/ConnectionOptionsEnvReader.js +45 -31
- package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
- package/browser/connection/options-reader/ConnectionOptionsXmlReader.js +4 -4
- package/browser/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
- package/browser/connection/options-reader/ConnectionOptionsYmlReader.d.ts +1 -1
- package/browser/connection/options-reader/ConnectionOptionsYmlReader.js +15 -4
- package/browser/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
- package/browser/decorator/Check.d.ts +2 -2
- package/browser/decorator/Check.js.map +1 -1
- package/browser/decorator/EntityRepository.d.ts +1 -1
- package/browser/decorator/EntityRepository.js.map +1 -1
- package/browser/decorator/Exclusion.d.ts +2 -2
- package/browser/decorator/Exclusion.js.map +1 -1
- package/browser/decorator/Generated.d.ts +1 -1
- package/browser/decorator/Generated.js.map +1 -1
- package/browser/decorator/Index.d.ts +7 -7
- package/browser/decorator/Index.js.map +1 -1
- package/browser/decorator/Unique.d.ts +4 -4
- package/browser/decorator/Unique.js +12 -1
- package/browser/decorator/Unique.js.map +1 -1
- package/browser/decorator/columns/Column.d.ts +12 -12
- package/browser/decorator/columns/Column.js.map +1 -1
- package/browser/decorator/columns/CreateDateColumn.d.ts +1 -1
- package/browser/decorator/columns/CreateDateColumn.js.map +1 -1
- package/browser/decorator/columns/DeleteDateColumn.d.ts +1 -1
- package/browser/decorator/columns/DeleteDateColumn.js.map +1 -1
- package/browser/decorator/columns/ObjectIdColumn.d.ts +1 -1
- package/browser/decorator/columns/ObjectIdColumn.js.map +1 -1
- package/browser/decorator/columns/PrimaryColumn.d.ts +2 -2
- package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
- package/browser/decorator/columns/PrimaryGeneratedColumn.d.ts +5 -5
- package/browser/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
- package/browser/decorator/columns/UpdateDateColumn.d.ts +1 -1
- package/browser/decorator/columns/UpdateDateColumn.js.map +1 -1
- package/browser/decorator/columns/VersionColumn.d.ts +1 -1
- package/browser/decorator/columns/VersionColumn.js.map +1 -1
- package/browser/decorator/columns/ViewColumn.d.ts +2 -1
- package/browser/decorator/columns/ViewColumn.js +2 -2
- package/browser/decorator/columns/ViewColumn.js.map +1 -1
- package/browser/decorator/entity/ChildEntity.d.ts +1 -1
- package/browser/decorator/entity/ChildEntity.js.map +1 -1
- package/browser/decorator/entity/Entity.d.ts +2 -2
- package/browser/decorator/entity/Entity.js.map +1 -1
- package/browser/decorator/entity/TableInheritance.d.ts +1 -1
- package/browser/decorator/entity/TableInheritance.js.map +1 -1
- package/browser/decorator/entity-view/ViewEntity.d.ts +2 -2
- package/browser/decorator/entity-view/ViewEntity.js.map +1 -1
- package/browser/decorator/listeners/AfterInsert.d.ts +1 -1
- package/browser/decorator/listeners/AfterInsert.js.map +1 -1
- package/browser/decorator/listeners/AfterLoad.d.ts +1 -1
- package/browser/decorator/listeners/AfterLoad.js.map +1 -1
- package/browser/decorator/listeners/AfterRemove.d.ts +1 -1
- package/browser/decorator/listeners/AfterRemove.js.map +1 -1
- package/browser/decorator/listeners/AfterUpdate.d.ts +1 -1
- package/browser/decorator/listeners/AfterUpdate.js.map +1 -1
- package/browser/decorator/listeners/BeforeInsert.d.ts +1 -1
- package/browser/decorator/listeners/BeforeInsert.js.map +1 -1
- package/browser/decorator/listeners/BeforeRemove.d.ts +1 -1
- package/browser/decorator/listeners/BeforeRemove.js.map +1 -1
- package/browser/decorator/listeners/BeforeUpdate.d.ts +1 -1
- package/browser/decorator/listeners/BeforeUpdate.js.map +1 -1
- package/browser/decorator/listeners/EventSubscriber.d.ts +1 -1
- package/browser/decorator/listeners/EventSubscriber.js.map +1 -1
- package/browser/decorator/options/ColumnOptions.js.map +1 -1
- package/browser/decorator/options/TransactionOptions.js.map +1 -1
- package/browser/decorator/options/ViewColumnOptions.d.ts +9 -0
- package/browser/decorator/options/ViewColumnOptions.js +3 -0
- package/browser/decorator/options/ViewColumnOptions.js.map +1 -0
- package/browser/decorator/relations/JoinColumn.d.ts +3 -3
- package/browser/decorator/relations/JoinColumn.js.map +1 -1
- package/browser/decorator/relations/JoinTable.d.ts +3 -3
- package/browser/decorator/relations/JoinTable.js.map +1 -1
- package/browser/decorator/relations/ManyToMany.d.ts +2 -2
- package/browser/decorator/relations/ManyToMany.js.map +1 -1
- package/browser/decorator/relations/ManyToOne.d.ts +2 -2
- package/browser/decorator/relations/ManyToOne.js.map +1 -1
- package/browser/decorator/relations/OneToMany.d.ts +3 -3
- package/browser/decorator/relations/OneToMany.js +2 -2
- package/browser/decorator/relations/OneToMany.js.map +1 -1
- package/browser/decorator/relations/OneToOne.d.ts +2 -2
- package/browser/decorator/relations/OneToOne.js.map +1 -1
- package/browser/decorator/relations/RelationCount.d.ts +1 -1
- package/browser/decorator/relations/RelationCount.js.map +1 -1
- package/browser/decorator/relations/RelationId.d.ts +1 -1
- package/browser/decorator/relations/RelationId.js.map +1 -1
- package/browser/decorator/transaction/Transaction.js +4 -4
- package/browser/decorator/transaction/Transaction.js.map +1 -1
- package/browser/decorator/transaction/TransactionManager.d.ts +1 -1
- package/browser/decorator/transaction/TransactionManager.js.map +1 -1
- package/browser/decorator/tree/Tree.d.ts +1 -1
- package/browser/decorator/tree/Tree.js.map +1 -1
- package/browser/decorator/tree/TreeChildren.d.ts +1 -1
- package/browser/decorator/tree/TreeChildren.js.map +1 -1
- package/browser/decorator/tree/TreeLevelColumn.d.ts +1 -1
- package/browser/decorator/tree/TreeLevelColumn.js.map +1 -1
- package/browser/decorator/tree/TreeParent.d.ts +1 -1
- package/browser/decorator/tree/TreeParent.js.map +1 -1
- package/browser/driver/Driver.d.ts +7 -2
- package/browser/driver/Driver.js.map +1 -1
- package/browser/driver/DriverFactory.js +6 -0
- package/browser/driver/DriverFactory.js.map +1 -1
- package/browser/driver/DriverUtils.d.ts +2 -2
- package/browser/driver/DriverUtils.js +8 -4
- package/browser/driver/DriverUtils.js.map +1 -1
- package/browser/driver/aurora-data-api/AuroraDataApiConnection.d.ts +2 -1
- package/browser/driver/aurora-data-api/AuroraDataApiConnection.js +2 -3
- package/browser/driver/aurora-data-api/AuroraDataApiConnection.js.map +1 -1
- package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +6 -0
- package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +1 -1
- package/browser/driver/aurora-data-api/AuroraDataApiDriver.d.ts +6 -1
- package/browser/driver/aurora-data-api/AuroraDataApiDriver.js +14 -9
- package/browser/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts +5 -0
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +230 -143
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.d.ts +27 -0
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js +3 -0
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js.map +1 -0
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.d.ts +57 -0
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +99 -0
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -0
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.d.ts +51 -0
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +142 -0
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -0
- package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts +50 -0
- package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js +3 -0
- package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -0
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.d.ts +46 -0
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.js +125 -0
- package/browser/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -0
- package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +22 -0
- package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js +113 -0
- package/browser/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -0
- package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachDriver.d.ts +6 -1
- package/browser/driver/cockroachdb/CockroachDriver.js +18 -13
- package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +3 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.js +420 -192
- package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/browser/driver/cordova/CordovaDriver.d.ts +2 -1
- package/browser/driver/cordova/CordovaDriver.js +4 -5
- package/browser/driver/cordova/CordovaDriver.js.map +1 -1
- package/browser/driver/cordova/CordovaQueryRunner.js +4 -4
- package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/browser/driver/expo/ExpoDriver.d.ts +2 -1
- package/browser/driver/expo/ExpoDriver.js +5 -5
- package/browser/driver/expo/ExpoDriver.js.map +1 -1
- package/browser/driver/expo/ExpoQueryRunner.js +10 -10
- package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/browser/driver/mongodb/MongoDriver.d.ts +6 -1
- package/browser/driver/mongodb/MongoDriver.js +9 -4
- package/browser/driver/mongodb/MongoDriver.js.map +1 -1
- package/browser/driver/mongodb/MongoQueryRunner.d.ts +1 -0
- package/browser/driver/mongodb/MongoQueryRunner.js +175 -175
- package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/browser/driver/mongodb/typings.d.ts +4 -1
- package/browser/driver/mongodb/typings.js.map +1 -1
- package/browser/driver/mysql/MysqlDriver.d.ts +7 -2
- package/browser/driver/mysql/MysqlDriver.js +16 -9
- package/browser/driver/mysql/MysqlDriver.js.map +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.d.ts +7 -1
- package/browser/driver/mysql/MysqlQueryRunner.js +246 -149
- package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/browser/driver/nativescript/NativescriptDriver.d.ts +2 -1
- package/browser/driver/nativescript/NativescriptDriver.js +4 -5
- package/browser/driver/nativescript/NativescriptDriver.js.map +1 -1
- package/browser/driver/nativescript/NativescriptQueryRunner.js +2 -2
- package/browser/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
- package/browser/driver/oracle/OracleDriver.d.ts +6 -1
- package/browser/driver/oracle/OracleDriver.js +17 -12
- package/browser/driver/oracle/OracleDriver.js.map +1 -1
- package/browser/driver/oracle/OracleQueryRunner.d.ts +3 -1
- package/browser/driver/oracle/OracleQueryRunner.js +195 -128
- package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/browser/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +1 -1
- package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/postgres/PostgresConnectionOptions.d.ts +9 -0
- package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
- package/browser/driver/postgres/PostgresDriver.d.ts +19 -4
- package/browser/driver/postgres/PostgresDriver.js +194 -124
- package/browser/driver/postgres/PostgresDriver.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.d.ts +3 -1
- package/browser/driver/postgres/PostgresQueryRunner.js +416 -196
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/driver/react-native/ReactNativeDriver.d.ts +2 -1
- package/browser/driver/react-native/ReactNativeDriver.js +6 -6
- package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
- package/browser/driver/react-native/ReactNativeQueryRunner.js +4 -4
- package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/browser/driver/sap/SapConnectionCredentialsOptions.d.ts +1 -1
- package/browser/driver/sap/SapConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/sap/SapDriver.d.ts +6 -1
- package/browser/driver/sap/SapDriver.js +25 -15
- package/browser/driver/sap/SapDriver.js.map +1 -1
- package/browser/driver/sap/SapQueryRunner.d.ts +3 -1
- package/browser/driver/sap/SapQueryRunner.js +224 -156
- package/browser/driver/sap/SapQueryRunner.js.map +1 -1
- package/browser/driver/sqlite/SqliteConnectionOptions.d.ts +18 -0
- package/browser/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
- package/browser/driver/sqlite/SqliteDriver.d.ts +2 -1
- package/browser/driver/sqlite/SqliteDriver.js +30 -18
- package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
- package/browser/driver/sqlite/SqliteQueryRunner.js +33 -18
- package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +7 -2
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +36 -9
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.d.ts +1 -0
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +134 -120
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqljs/SqljsDriver.d.ts +2 -1
- package/browser/driver/sqljs/SqljsDriver.js +15 -16
- package/browser/driver/sqljs/SqljsDriver.js.map +1 -1
- package/browser/driver/sqljs/SqljsQueryRunner.js +11 -7
- package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerDriver.d.ts +6 -1
- package/browser/driver/sqlserver/SqlServerDriver.js +13 -8
- package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +3 -1
- package/browser/driver/sqlserver/SqlServerQueryRunner.js +237 -170
- package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/browser/driver/types/ColumnTypes.d.ts +1 -1
- package/browser/driver/types/ColumnTypes.js.map +1 -1
- package/browser/driver/types/DatabaseType.d.ts +1 -1
- package/browser/driver/types/DatabaseType.js.map +1 -1
- package/browser/driver/types/ReplicationMode.d.ts +1 -0
- package/browser/driver/types/ReplicationMode.js +3 -0
- package/browser/driver/types/ReplicationMode.js.map +1 -0
- package/browser/entity-manager/EntityManager.d.ts +42 -257
- package/browser/entity-manager/EntityManager.js +39 -39
- package/browser/entity-manager/EntityManager.js.map +1 -1
- package/browser/entity-manager/MongoEntityManager.d.ts +46 -46
- package/browser/entity-manager/MongoEntityManager.js +17 -17
- package/browser/entity-manager/MongoEntityManager.js.map +1 -1
- package/browser/entity-manager/SqljsEntityManager.js +6 -6
- package/browser/entity-manager/SqljsEntityManager.js.map +1 -1
- package/browser/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaRelationOptions.d.ts +1 -1
- package/browser/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaTransformer.js +22 -7
- package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/browser/error/AlreadyHasActiveConnectionError.js +2 -2
- package/browser/error/AlreadyHasActiveConnectionError.js.map +1 -1
- package/browser/error/CannotAttachTreeChildrenEntityError.js +2 -2
- package/browser/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
- package/browser/error/CannotConnectAlreadyConnectedError.js +2 -2
- package/browser/error/CannotConnectAlreadyConnectedError.js.map +1 -1
- package/browser/error/CannotCreateEntityIdMapError.js +2 -2
- package/browser/error/CannotCreateEntityIdMapError.js.map +1 -1
- package/browser/error/CannotDetermineEntityError.js +2 -2
- package/browser/error/CannotDetermineEntityError.js.map +1 -1
- package/browser/error/CannotExecuteNotConnectedError.js +2 -2
- package/browser/error/CannotExecuteNotConnectedError.js.map +1 -1
- package/browser/error/CannotGetEntityManagerNotConnectedError.js +2 -2
- package/browser/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
- package/browser/error/CannotReflectMethodParameterTypeError.js +2 -2
- package/browser/error/CannotReflectMethodParameterTypeError.js.map +1 -1
- package/browser/error/CircularRelationsError.js +2 -2
- package/browser/error/CircularRelationsError.js.map +1 -1
- package/browser/error/ColumnTypeUndefinedError.js +2 -2
- package/browser/error/ColumnTypeUndefinedError.js.map +1 -1
- package/browser/error/ConnectionIsNotSetError.js +2 -2
- package/browser/error/ConnectionIsNotSetError.js.map +1 -1
- package/browser/error/ConnectionNotFoundError.js +2 -2
- package/browser/error/ConnectionNotFoundError.js.map +1 -1
- package/browser/error/CustomRepositoryCannotInheritRepositoryError.js +2 -2
- package/browser/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
- package/browser/error/CustomRepositoryDoesNotHaveEntityError.js +2 -2
- package/browser/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
- package/browser/error/CustomRepositoryNotFoundError.js +2 -2
- package/browser/error/CustomRepositoryNotFoundError.js.map +1 -1
- package/browser/error/DataTypeNotSupportedError.js +2 -2
- package/browser/error/DataTypeNotSupportedError.js.map +1 -1
- package/browser/error/DriverOptionNotSetError.js +2 -2
- package/browser/error/DriverOptionNotSetError.js.map +1 -1
- package/browser/error/DriverPackageNotInstalledError.js +2 -2
- package/browser/error/DriverPackageNotInstalledError.js.map +1 -1
- package/browser/error/EntityColumnNotFound.js +2 -2
- package/browser/error/EntityColumnNotFound.js.map +1 -1
- package/browser/error/EntityMetadataNotFoundError.d.ts +2 -2
- package/browser/error/EntityMetadataNotFoundError.js +5 -2
- package/browser/error/EntityMetadataNotFoundError.js.map +1 -1
- package/browser/error/EntityNotFoundError.d.ts +2 -3
- package/browser/error/EntityNotFoundError.js +5 -2
- package/browser/error/EntityNotFoundError.js.map +1 -1
- package/browser/error/FindRelationsNotFoundError.js +4 -4
- package/browser/error/FindRelationsNotFoundError.js.map +1 -1
- package/browser/error/InitializedRelationError.js +2 -2
- package/browser/error/InitializedRelationError.js.map +1 -1
- package/browser/error/InsertValuesMissingError.js +2 -2
- package/browser/error/InsertValuesMissingError.js.map +1 -1
- package/browser/error/LimitOnUpdateNotSupportedError.js +2 -2
- package/browser/error/LimitOnUpdateNotSupportedError.js.map +1 -1
- package/browser/error/LockNotSupportedOnGivenDriverError.js +2 -2
- package/browser/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
- package/browser/error/MetadataAlreadyExistsError.js +2 -2
- package/browser/error/MetadataAlreadyExistsError.js.map +1 -1
- package/browser/error/MetadataWithSuchNameAlreadyExistsError.js +2 -2
- package/browser/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
- package/browser/error/MissingDeleteDateColumnError.js +2 -2
- package/browser/error/MissingDeleteDateColumnError.js.map +1 -1
- package/browser/error/MissingDriverError.js +3 -3
- package/browser/error/MissingDriverError.js.map +1 -1
- package/browser/error/MissingJoinColumnError.js +2 -2
- package/browser/error/MissingJoinColumnError.js.map +1 -1
- package/browser/error/MissingJoinTableError.js +2 -2
- package/browser/error/MissingJoinTableError.js.map +1 -1
- package/browser/error/MissingPrimaryColumnError.js +2 -2
- package/browser/error/MissingPrimaryColumnError.js.map +1 -1
- package/browser/error/MustBeEntityError.js +2 -2
- package/browser/error/MustBeEntityError.js.map +1 -1
- package/browser/error/NamingStrategyNotFoundError.js +2 -2
- package/browser/error/NamingStrategyNotFoundError.js.map +1 -1
- package/browser/error/NoConnectionForRepositoryError.js +2 -2
- package/browser/error/NoConnectionForRepositoryError.js.map +1 -1
- package/browser/error/NoConnectionOptionError.js +2 -2
- package/browser/error/NoConnectionOptionError.js.map +1 -1
- package/browser/error/NoNeedToReleaseEntityManagerError.js +2 -2
- package/browser/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
- package/browser/error/NoVersionOrUpdateDateColumnError.js +2 -2
- package/browser/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
- package/browser/error/OffsetWithoutLimitNotSupportedError.js +2 -2
- package/browser/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
- package/browser/error/OptimisticLockCanNotBeUsedError.js +2 -2
- package/browser/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
- package/browser/error/OptimisticLockVersionMismatchError.js +2 -2
- package/browser/error/OptimisticLockVersionMismatchError.js.map +1 -1
- package/browser/error/PersistedEntityNotFoundError.js +2 -2
- package/browser/error/PersistedEntityNotFoundError.js.map +1 -1
- package/browser/error/PessimisticLockTransactionRequiredError.js +2 -2
- package/browser/error/PessimisticLockTransactionRequiredError.js.map +1 -1
- package/browser/error/PrimaryColumnCannotBeNullableError.js +2 -2
- package/browser/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
- package/browser/error/QueryFailedError.js +3 -3
- package/browser/error/QueryFailedError.js.map +1 -1
- package/browser/error/QueryRunnerAlreadyReleasedError.js +2 -2
- package/browser/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
- package/browser/error/QueryRunnerProviderAlreadyReleasedError.js +2 -2
- package/browser/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
- package/browser/error/RepositoryNotFoundError.d.ts +2 -2
- package/browser/error/RepositoryNotFoundError.js +5 -2
- package/browser/error/RepositoryNotFoundError.js.map +1 -1
- package/browser/error/RepositoryNotTreeError.d.ts +2 -2
- package/browser/error/RepositoryNotTreeError.js +11 -8
- package/browser/error/RepositoryNotTreeError.js.map +1 -1
- package/browser/error/ReturningStatementNotSupportedError.js +2 -2
- package/browser/error/ReturningStatementNotSupportedError.js.map +1 -1
- package/browser/error/SubjectRemovedAndUpdatedError.js +2 -2
- package/browser/error/SubjectRemovedAndUpdatedError.js.map +1 -1
- package/browser/error/SubjectWithoutIdentifierError.js +2 -2
- package/browser/error/SubjectWithoutIdentifierError.js.map +1 -1
- package/browser/error/TransactionAlreadyStartedError.js +2 -2
- package/browser/error/TransactionAlreadyStartedError.js.map +1 -1
- package/browser/error/TransactionNotStartedError.js +2 -2
- package/browser/error/TransactionNotStartedError.js.map +1 -1
- package/browser/error/TreeRepositoryNotSupportedError.js +2 -2
- package/browser/error/TreeRepositoryNotSupportedError.js.map +1 -1
- package/browser/error/UpdateValuesMissingError.js +2 -2
- package/browser/error/UpdateValuesMissingError.js.map +1 -1
- package/browser/error/UsingJoinColumnIsNotAllowedError.js +2 -2
- package/browser/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
- package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +2 -2
- package/browser/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
- package/browser/error/UsingJoinTableIsNotAllowedError.js +2 -2
- package/browser/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
- package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.js +2 -2
- package/browser/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
- package/browser/find-options/FindOneOptions.d.ts +2 -2
- package/browser/find-options/FindOneOptions.js.map +1 -1
- package/browser/find-options/FindOperator.d.ts +6 -3
- package/browser/find-options/FindOperator.js +22 -45
- package/browser/find-options/FindOperator.js.map +1 -1
- package/browser/find-options/FindOptionsUtils.d.ts +2 -2
- package/browser/find-options/FindOptionsUtils.js +1 -1
- package/browser/find-options/FindOptionsUtils.js.map +1 -1
- package/browser/find-options/operator/Any.d.ts +1 -1
- package/browser/find-options/operator/Any.js.map +1 -1
- package/browser/find-options/operator/Between.d.ts +1 -1
- package/browser/find-options/operator/Between.js.map +1 -1
- package/browser/find-options/operator/In.d.ts +1 -1
- package/browser/find-options/operator/In.js.map +1 -1
- package/browser/find-options/operator/Raw.d.ts +1 -1
- package/browser/find-options/operator/Raw.js.map +1 -1
- package/browser/index.d.ts +8 -11
- package/browser/index.js +8 -15
- package/browser/index.js.map +1 -1
- package/browser/logger/DebugLogger.d.ts +0 -1
- package/browser/logger/DebugLogger.js +9 -9
- package/browser/logger/DebugLogger.js.map +1 -1
- package/browser/logger/FileLogger.d.ts +3 -1
- package/browser/logger/FileLogger.js +9 -3
- package/browser/logger/FileLogger.js.map +1 -1
- package/browser/logger/LoggerOptions.d.ts +9 -0
- package/browser/logger/LoggerOptions.js.map +1 -1
- package/browser/metadata/ColumnMetadata.js +15 -16
- package/browser/metadata/ColumnMetadata.js.map +1 -1
- package/browser/metadata/EmbeddedMetadata.js +2 -2
- package/browser/metadata/EmbeddedMetadata.js.map +1 -1
- package/browser/metadata/EntityMetadata.d.ts +1 -5
- package/browser/metadata/EntityMetadata.js +15 -16
- package/browser/metadata/EntityMetadata.js.map +1 -1
- package/browser/metadata/RelationMetadata.js +12 -12
- package/browser/metadata/RelationMetadata.js.map +1 -1
- package/browser/metadata-args/EntityRepositoryMetadataArgs.d.ts +2 -2
- package/browser/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
- package/browser/metadata-args/RelationCountMetadataArgs.js.map +1 -1
- package/browser/metadata-args/RelationIdMetadataArgs.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataBuilder.js +14 -12
- package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +3 -2
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/browser/migration/MigrationExecutor.js +132 -103
- package/browser/migration/MigrationExecutor.js.map +1 -1
- package/browser/naming-strategy/DefaultNamingStrategy.d.ts +5 -0
- package/browser/naming-strategy/DefaultNamingStrategy.js +8 -6
- package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/browser/naming-strategy/NamingStrategyInterface.d.ts +11 -0
- package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
- package/browser/persistence/EntityPersistExecutor.js +64 -46
- package/browser/persistence/EntityPersistExecutor.js.map +1 -1
- package/browser/persistence/Subject.js +2 -2
- package/browser/persistence/Subject.js.map +1 -1
- package/browser/persistence/SubjectChangedColumnsComputer.js +11 -7
- package/browser/persistence/SubjectChangedColumnsComputer.js.map +1 -1
- package/browser/persistence/SubjectDatabaseEntityLoader.js +9 -8
- package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
- package/browser/persistence/SubjectExecutor.js +263 -206
- package/browser/persistence/SubjectExecutor.js.map +1 -1
- package/browser/persistence/SubjectTopoligicalSorter.js +6 -6
- package/browser/persistence/SubjectTopoligicalSorter.js.map +1 -1
- package/browser/persistence/subject-builder/CascadesSubjectBuilder.js +2 -2
- package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
- package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +2 -3
- package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
- package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +1 -1
- package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
- package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +1 -1
- package/browser/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
- package/browser/persistence/tree/ClosureSubjectExecutor.js +4 -4
- package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
- package/browser/persistence/tree/MaterializedPathSubjectExecutor.js +5 -4
- package/browser/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
- package/browser/persistence/tree/NestedSetSubjectExecutor.js +3 -3
- package/browser/platform/BrowserConnectionOptionsReaderDummy.d.ts +38 -0
- package/browser/platform/BrowserConnectionOptionsReaderDummy.js +93 -0
- package/browser/platform/BrowserConnectionOptionsReaderDummy.js.map +1 -0
- package/browser/platform/BrowserDirectoryExportedClassesLoader.d.ts +15 -0
- package/browser/platform/BrowserDirectoryExportedClassesLoader.js +22 -0
- package/browser/platform/BrowserDirectoryExportedClassesLoader.js.map +1 -0
- package/browser/platform/BrowserDisabledDriversDummy.d.ts +32 -2
- package/browser/platform/BrowserDisabledDriversDummy.js +52 -2
- package/browser/platform/BrowserDisabledDriversDummy.js.map +1 -1
- package/browser/platform/BrowserFileLoggerDummy.d.ts +33 -0
- package/browser/platform/BrowserFileLoggerDummy.js +58 -0
- package/browser/platform/BrowserFileLoggerDummy.js.map +1 -0
- package/browser/platform/BrowserPlatformTools.d.ts +74 -0
- package/browser/platform/BrowserPlatformTools.js +157 -0
- package/browser/platform/BrowserPlatformTools.js.map +1 -0
- package/browser/platform/PlatformTools.d.ts +15 -21
- package/browser/platform/PlatformTools.js +142 -81
- package/browser/platform/PlatformTools.js.map +1 -1
- package/browser/query-builder/Alias.js.map +1 -1
- package/browser/query-builder/DeleteQueryBuilder.d.ts +2 -3
- package/browser/query-builder/DeleteQueryBuilder.js +10 -5
- package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/InsertQueryBuilder.d.ts +2 -3
- package/browser/query-builder/InsertQueryBuilder.js +23 -9
- package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
- package/browser/query-builder/JoinAttribute.js +2 -2
- package/browser/query-builder/JoinAttribute.js.map +1 -1
- package/browser/query-builder/QueryBuilder.d.ts +11 -15
- package/browser/query-builder/QueryBuilder.js +92 -31
- package/browser/query-builder/QueryBuilder.js.map +1 -1
- package/browser/query-builder/QueryBuilderUtils.js +2 -2
- package/browser/query-builder/QueryBuilderUtils.js.map +1 -1
- package/browser/query-builder/QueryExpressionMap.d.ts +1 -1
- package/browser/query-builder/QueryExpressionMap.js +4 -4
- package/browser/query-builder/QueryExpressionMap.js.map +1 -1
- package/browser/query-builder/QueryPartialEntity.d.ts +1 -1
- package/browser/query-builder/QueryPartialEntity.js.map +1 -1
- package/browser/query-builder/RelationIdLoader.js +5 -5
- package/browser/query-builder/RelationLoader.js +3 -3
- package/browser/query-builder/RelationLoader.js.map +1 -1
- package/browser/query-builder/RelationQueryBuilder.js +14 -14
- package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
- package/browser/query-builder/RelationRemover.js +7 -7
- package/browser/query-builder/RelationRemover.js.map +1 -1
- package/browser/query-builder/RelationUpdater.js +3 -3
- package/browser/query-builder/ReturningResultsEntityUpdator.js +30 -31
- package/browser/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilder.d.ts +5 -4
- package/browser/query-builder/SelectQueryBuilder.js +77 -41
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-builder/SoftDeleteQueryBuilder.d.ts +2 -3
- package/browser/query-builder/SoftDeleteQueryBuilder.js +7 -7
- package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/UpdateQueryBuilder.js +22 -8
- package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/browser/query-builder/relation-count/RelationCountAttribute.js +3 -3
- package/browser/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
- package/browser/query-builder/relation-count/RelationCountLoader.js +5 -5
- package/browser/query-builder/relation-id/RelationIdAttribute.js +2 -2
- package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdLoader.js +6 -6
- package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
- package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +4 -4
- package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +4 -7
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/browser/query-runner/BaseQueryRunner.d.ts +2 -5
- package/browser/query-runner/BaseQueryRunner.js +106 -56
- package/browser/query-runner/BaseQueryRunner.js.map +1 -1
- package/browser/query-runner/QueryRunner.d.ts +1 -0
- package/browser/repository/AbstractRepository.js.map +1 -1
- package/browser/repository/BaseEntity.d.ts +17 -1
- package/browser/repository/BaseEntity.js +24 -6
- package/browser/repository/BaseEntity.js.map +1 -1
- package/browser/repository/MongoRepository.js +2 -2
- package/browser/repository/MongoRepository.js.map +1 -1
- package/browser/repository/Repository.d.ts +1 -1
- package/browser/repository/Repository.js +4 -4
- package/browser/repository/Repository.js.map +1 -1
- package/browser/repository/TreeRepository.js +4 -4
- package/browser/repository/TreeRepository.js.map +1 -1
- package/browser/schema-builder/MongoSchemaBuilder.js +4 -4
- package/browser/schema-builder/MongoSchemaBuilder.js.map +1 -1
- package/browser/schema-builder/RdbmsSchemaBuilder.js +924 -368
- package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/browser/schema-builder/options/TableIndexOptions.d.ts +1 -1
- package/browser/schema-builder/options/TableIndexOptions.js.map +1 -1
- package/browser/schema-builder/table/TableCheck.js +2 -2
- package/browser/schema-builder/table/TableCheck.js.map +1 -1
- package/browser/schema-builder/table/TableForeignKey.js +3 -3
- package/browser/schema-builder/table/TableForeignKey.js.map +1 -1
- package/browser/schema-builder/table/TableIndex.js +2 -2
- package/browser/schema-builder/table/TableIndex.js.map +1 -1
- package/browser/schema-builder/table/TableUnique.js +2 -2
- package/browser/schema-builder/table/TableUnique.js.map +1 -1
- package/browser/schema-builder/view/View.d.ts +1 -2
- package/browser/schema-builder/view/View.js.map +1 -1
- package/browser/util/ApplyValueTransformers.js.map +1 -1
- package/browser/util/DateUtils.js +3 -3
- package/browser/util/DateUtils.js.map +1 -1
- package/browser/util/DirectoryExportedClassesLoader.js +6 -5
- package/browser/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/browser/util/ObjectUtils.js +4 -4
- package/browser/util/ObjectUtils.js.map +1 -1
- package/browser/util/OrmUtils.d.ts +4 -0
- package/browser/util/OrmUtils.js +19 -4
- package/browser/util/OrmUtils.js.map +1 -1
- package/browser/util/StringUtils.js +1 -1
- package/browser/util/StringUtils.js.map +1 -1
- package/cache/DbQueryResultCache.js +1 -1
- package/cache/DbQueryResultCache.js.map +1 -1
- package/cache/RedisQueryResultCache.js +7 -2
- package/cache/RedisQueryResultCache.js.map +1 -1
- package/cli.js +2 -1
- package/cli.js.map +1 -1
- package/commands/CacheClearCommand.js +4 -4
- package/commands/CacheClearCommand.js.map +1 -1
- package/commands/CommandUtils.d.ts +1 -1
- package/commands/CommandUtils.js +4 -4
- package/commands/CommandUtils.js.map +1 -1
- package/commands/EntityCreateCommand.js +4 -4
- package/commands/EntityCreateCommand.js.map +1 -1
- package/commands/InitCommand.js +15 -5
- package/commands/InitCommand.js.map +1 -1
- package/commands/MigrationCreateCommand.js +6 -6
- package/commands/MigrationCreateCommand.js.map +1 -1
- package/commands/MigrationGenerateCommand.d.ts +11 -1
- package/commands/MigrationGenerateCommand.js +42 -10
- package/commands/MigrationGenerateCommand.js.map +1 -1
- package/commands/MigrationRevertCommand.js +2 -2
- package/commands/MigrationRevertCommand.js.map +1 -1
- package/commands/MigrationRunCommand.js +3 -3
- package/commands/MigrationRunCommand.js.map +1 -1
- package/commands/MigrationShowCommand.js +3 -3
- package/commands/MigrationShowCommand.js.map +1 -1
- package/commands/QueryCommand.js +5 -5
- package/commands/QueryCommand.js.map +1 -1
- package/commands/SchemaDropCommand.js +3 -3
- package/commands/SchemaDropCommand.js.map +1 -1
- package/commands/SchemaLogCommand.js +6 -6
- package/commands/SchemaLogCommand.js.map +1 -1
- package/commands/SchemaSyncCommand.js +3 -3
- package/commands/SchemaSyncCommand.js.map +1 -1
- package/commands/SubscriberCreateCommand.js +3 -3
- package/commands/SubscriberCreateCommand.js.map +1 -1
- package/commands/VersionCommand.js +2 -2
- package/commands/VersionCommand.js.map +1 -1
- package/common/DeepPartial.d.ts +1 -1
- package/common/DeepPartial.js.map +1 -1
- package/common/EntityTarget.d.ts +9 -0
- package/common/EntityTarget.js +4 -0
- package/common/EntityTarget.js.map +1 -0
- package/connection/Connection.d.ts +11 -10
- package/connection/Connection.js +48 -24
- package/connection/Connection.js.map +1 -1
- package/connection/ConnectionOptions.d.ts +3 -1
- package/connection/ConnectionOptions.js.map +1 -1
- package/connection/ConnectionOptionsReader.js +38 -33
- package/connection/ConnectionOptionsReader.js.map +1 -1
- package/connection/options-reader/ConnectionOptionsEnvReader.d.ts +5 -1
- package/connection/options-reader/ConnectionOptionsEnvReader.js +45 -31
- package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
- package/connection/options-reader/ConnectionOptionsXmlReader.js +2 -2
- package/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
- package/connection/options-reader/ConnectionOptionsYmlReader.d.ts +1 -1
- package/connection/options-reader/ConnectionOptionsYmlReader.js +15 -4
- package/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
- package/decorator/Check.d.ts +2 -2
- package/decorator/Check.js.map +1 -1
- package/decorator/EntityRepository.d.ts +1 -1
- package/decorator/EntityRepository.js.map +1 -1
- package/decorator/Exclusion.d.ts +2 -2
- package/decorator/Exclusion.js.map +1 -1
- package/decorator/Generated.d.ts +1 -1
- package/decorator/Generated.js.map +1 -1
- package/decorator/Index.d.ts +7 -7
- package/decorator/Index.js.map +1 -1
- package/decorator/Unique.d.ts +4 -4
- package/decorator/Unique.js +12 -1
- package/decorator/Unique.js.map +1 -1
- package/decorator/columns/Column.d.ts +12 -12
- package/decorator/columns/Column.js.map +1 -1
- package/decorator/columns/CreateDateColumn.d.ts +1 -1
- package/decorator/columns/CreateDateColumn.js.map +1 -1
- package/decorator/columns/DeleteDateColumn.d.ts +1 -1
- package/decorator/columns/DeleteDateColumn.js.map +1 -1
- package/decorator/columns/ObjectIdColumn.d.ts +1 -1
- package/decorator/columns/ObjectIdColumn.js.map +1 -1
- package/decorator/columns/PrimaryColumn.d.ts +2 -2
- package/decorator/columns/PrimaryColumn.js.map +1 -1
- package/decorator/columns/PrimaryGeneratedColumn.d.ts +5 -5
- package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
- package/decorator/columns/UpdateDateColumn.d.ts +1 -1
- package/decorator/columns/UpdateDateColumn.js.map +1 -1
- package/decorator/columns/VersionColumn.d.ts +1 -1
- package/decorator/columns/VersionColumn.js.map +1 -1
- package/decorator/columns/ViewColumn.d.ts +2 -1
- package/decorator/columns/ViewColumn.js +2 -2
- package/decorator/columns/ViewColumn.js.map +1 -1
- package/decorator/entity/ChildEntity.d.ts +1 -1
- package/decorator/entity/ChildEntity.js.map +1 -1
- package/decorator/entity/Entity.d.ts +2 -2
- package/decorator/entity/Entity.js.map +1 -1
- package/decorator/entity/TableInheritance.d.ts +1 -1
- package/decorator/entity/TableInheritance.js.map +1 -1
- package/decorator/entity-view/ViewEntity.d.ts +2 -2
- package/decorator/entity-view/ViewEntity.js.map +1 -1
- package/decorator/listeners/AfterInsert.d.ts +1 -1
- package/decorator/listeners/AfterInsert.js.map +1 -1
- package/decorator/listeners/AfterLoad.d.ts +1 -1
- package/decorator/listeners/AfterLoad.js.map +1 -1
- package/decorator/listeners/AfterRemove.d.ts +1 -1
- package/decorator/listeners/AfterRemove.js.map +1 -1
- package/decorator/listeners/AfterUpdate.d.ts +1 -1
- package/decorator/listeners/AfterUpdate.js.map +1 -1
- package/decorator/listeners/BeforeInsert.d.ts +1 -1
- package/decorator/listeners/BeforeInsert.js.map +1 -1
- package/decorator/listeners/BeforeRemove.d.ts +1 -1
- package/decorator/listeners/BeforeRemove.js.map +1 -1
- package/decorator/listeners/BeforeUpdate.d.ts +1 -1
- package/decorator/listeners/BeforeUpdate.js.map +1 -1
- package/decorator/listeners/EventSubscriber.d.ts +1 -1
- package/decorator/listeners/EventSubscriber.js.map +1 -1
- package/decorator/options/ColumnOptions.js.map +1 -1
- package/decorator/options/TransactionOptions.js.map +1 -1
- package/decorator/options/ViewColumnOptions.d.ts +9 -0
- package/decorator/options/ViewColumnOptions.js +4 -0
- package/decorator/options/ViewColumnOptions.js.map +1 -0
- package/decorator/relations/JoinColumn.d.ts +3 -3
- package/decorator/relations/JoinColumn.js.map +1 -1
- package/decorator/relations/JoinTable.d.ts +3 -3
- package/decorator/relations/JoinTable.js.map +1 -1
- package/decorator/relations/ManyToMany.d.ts +2 -2
- package/decorator/relations/ManyToMany.js.map +1 -1
- package/decorator/relations/ManyToOne.d.ts +2 -2
- package/decorator/relations/ManyToOne.js.map +1 -1
- package/decorator/relations/OneToMany.d.ts +3 -3
- package/decorator/relations/OneToMany.js +2 -2
- package/decorator/relations/OneToMany.js.map +1 -1
- package/decorator/relations/OneToOne.d.ts +2 -2
- package/decorator/relations/OneToOne.js.map +1 -1
- package/decorator/relations/RelationCount.d.ts +1 -1
- package/decorator/relations/RelationCount.js.map +1 -1
- package/decorator/relations/RelationId.d.ts +1 -1
- package/decorator/relations/RelationId.js.map +1 -1
- package/decorator/transaction/TransactionManager.d.ts +1 -1
- package/decorator/transaction/TransactionManager.js.map +1 -1
- package/decorator/tree/Tree.d.ts +1 -1
- package/decorator/tree/Tree.js.map +1 -1
- package/decorator/tree/TreeChildren.d.ts +1 -1
- package/decorator/tree/TreeChildren.js.map +1 -1
- package/decorator/tree/TreeLevelColumn.d.ts +1 -1
- package/decorator/tree/TreeLevelColumn.js.map +1 -1
- package/decorator/tree/TreeParent.d.ts +1 -1
- package/decorator/tree/TreeParent.js.map +1 -1
- package/driver/Driver.d.ts +7 -2
- package/driver/Driver.js.map +1 -1
- package/driver/DriverFactory.js +6 -0
- package/driver/DriverFactory.js.map +1 -1
- package/driver/DriverUtils.d.ts +2 -2
- package/driver/DriverUtils.js +6 -2
- package/driver/DriverUtils.js.map +1 -1
- package/driver/aurora-data-api/AuroraDataApiConnection.d.ts +2 -1
- package/driver/aurora-data-api/AuroraDataApiConnection.js +0 -1
- package/driver/aurora-data-api/AuroraDataApiConnection.js.map +1 -1
- package/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +6 -0
- package/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +1 -1
- package/driver/aurora-data-api/AuroraDataApiDriver.d.ts +6 -1
- package/driver/aurora-data-api/AuroraDataApiDriver.js +7 -2
- package/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts +4 -0
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +106 -19
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.d.ts +27 -0
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js +4 -0
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js.map +1 -0
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.d.ts +57 -0
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +101 -0
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -0
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.d.ts +51 -0
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +144 -0
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -0
- package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.d.ts +50 -0
- package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js +4 -0
- package/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -0
- package/driver/better-sqlite3/BetterSqlite3Driver.d.ts +46 -0
- package/driver/better-sqlite3/BetterSqlite3Driver.js +127 -0
- package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -0
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.d.ts +22 -0
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +115 -0
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -0
- package/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
- package/driver/cockroachdb/CockroachDriver.d.ts +6 -1
- package/driver/cockroachdb/CockroachDriver.js +6 -1
- package/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.d.ts +2 -1
- package/driver/cockroachdb/CockroachQueryRunner.js +303 -75
- package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/driver/cordova/CordovaDriver.d.ts +2 -1
- package/driver/cordova/CordovaDriver.js +0 -1
- package/driver/cordova/CordovaDriver.js.map +1 -1
- package/driver/expo/ExpoDriver.d.ts +2 -1
- package/driver/expo/ExpoDriver.js +1 -1
- package/driver/expo/ExpoDriver.js.map +1 -1
- package/driver/mongodb/MongoDriver.d.ts +6 -1
- package/driver/mongodb/MongoDriver.js +6 -1
- package/driver/mongodb/MongoDriver.js.map +1 -1
- package/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/driver/mongodb/typings.d.ts +4 -1
- package/driver/mongodb/typings.js.map +1 -1
- package/driver/mysql/MysqlDriver.d.ts +7 -2
- package/driver/mysql/MysqlDriver.js +10 -3
- package/driver/mysql/MysqlDriver.js.map +1 -1
- package/driver/mysql/MysqlQueryRunner.d.ts +6 -1
- package/driver/mysql/MysqlQueryRunner.js +122 -25
- package/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/driver/nativescript/NativescriptDriver.d.ts +2 -1
- package/driver/nativescript/NativescriptDriver.js +0 -1
- package/driver/nativescript/NativescriptDriver.js.map +1 -1
- package/driver/oracle/OracleDriver.d.ts +6 -1
- package/driver/oracle/OracleDriver.js +8 -3
- package/driver/oracle/OracleDriver.js.map +1 -1
- package/driver/oracle/OracleQueryRunner.d.ts +2 -1
- package/driver/oracle/OracleQueryRunner.js +87 -20
- package/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +1 -1
- package/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
- package/driver/postgres/PostgresConnectionOptions.d.ts +9 -0
- package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
- package/driver/postgres/PostgresDriver.d.ts +19 -4
- package/driver/postgres/PostgresDriver.js +179 -109
- package/driver/postgres/PostgresDriver.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.d.ts +2 -1
- package/driver/postgres/PostgresQueryRunner.js +288 -68
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/react-native/ReactNativeDriver.d.ts +2 -1
- package/driver/react-native/ReactNativeDriver.js +2 -2
- package/driver/react-native/ReactNativeDriver.js.map +1 -1
- package/driver/sap/SapConnectionCredentialsOptions.d.ts +1 -1
- package/driver/sap/SapConnectionCredentialsOptions.js.map +1 -1
- package/driver/sap/SapDriver.d.ts +6 -1
- package/driver/sap/SapDriver.js +19 -9
- package/driver/sap/SapDriver.js.map +1 -1
- package/driver/sap/SapQueryRunner.d.ts +2 -1
- package/driver/sap/SapQueryRunner.js +91 -23
- package/driver/sap/SapQueryRunner.js.map +1 -1
- package/driver/sqlite/SqliteConnectionOptions.d.ts +18 -0
- package/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
- package/driver/sqlite/SqliteDriver.d.ts +2 -1
- package/driver/sqlite/SqliteDriver.js +24 -12
- package/driver/sqlite/SqliteDriver.js.map +1 -1
- package/driver/sqlite/SqliteQueryRunner.js +29 -14
- package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +7 -2
- package/driver/sqlite-abstract/AbstractSqliteDriver.js +31 -4
- package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +17 -3
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/driver/sqljs/SqljsDriver.d.ts +2 -1
- package/driver/sqljs/SqljsDriver.js +1 -2
- package/driver/sqljs/SqljsDriver.js.map +1 -1
- package/driver/sqljs/SqljsQueryRunner.js +5 -1
- package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/driver/sqlserver/SqlServerDriver.d.ts +6 -1
- package/driver/sqlserver/SqlServerDriver.js +6 -1
- package/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/driver/sqlserver/SqlServerQueryRunner.d.ts +2 -1
- package/driver/sqlserver/SqlServerQueryRunner.js +91 -24
- package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/driver/types/ColumnTypes.d.ts +1 -1
- package/driver/types/ColumnTypes.js.map +1 -1
- package/driver/types/DatabaseType.d.ts +1 -1
- package/driver/types/DatabaseType.js.map +1 -1
- package/driver/types/ReplicationMode.d.ts +1 -0
- package/driver/types/ReplicationMode.js +4 -0
- package/driver/types/ReplicationMode.js.map +1 -0
- package/entity-manager/EntityManager.d.ts +42 -257
- package/entity-manager/EntityManager.js +10 -10
- package/entity-manager/EntityManager.js.map +1 -1
- package/entity-manager/MongoEntityManager.d.ts +46 -46
- package/entity-manager/MongoEntityManager.js.map +1 -1
- package/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
- package/entity-schema/EntitySchemaRelationOptions.d.ts +1 -1
- package/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
- package/entity-schema/EntitySchemaTransformer.js +22 -7
- package/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/error/EntityMetadataNotFoundError.d.ts +2 -2
- package/error/EntityMetadataNotFoundError.js +3 -0
- package/error/EntityMetadataNotFoundError.js.map +1 -1
- package/error/EntityNotFoundError.d.ts +2 -3
- package/error/EntityNotFoundError.js +3 -0
- package/error/EntityNotFoundError.js.map +1 -1
- package/error/FindRelationsNotFoundError.js +2 -2
- package/error/FindRelationsNotFoundError.js.map +1 -1
- package/error/MissingDriverError.js +1 -1
- package/error/MissingDriverError.js.map +1 -1
- package/error/QueryFailedError.js +1 -1
- package/error/QueryFailedError.js.map +1 -1
- package/error/RepositoryNotFoundError.d.ts +2 -2
- package/error/RepositoryNotFoundError.js +3 -0
- package/error/RepositoryNotFoundError.js.map +1 -1
- package/error/RepositoryNotTreeError.d.ts +2 -2
- package/error/RepositoryNotTreeError.js +9 -6
- package/error/RepositoryNotTreeError.js.map +1 -1
- package/find-options/FindOneOptions.d.ts +2 -2
- package/find-options/FindOneOptions.js.map +1 -1
- package/find-options/FindOperator.d.ts +6 -3
- package/find-options/FindOperator.js +22 -45
- package/find-options/FindOperator.js.map +1 -1
- package/find-options/FindOptionsUtils.d.ts +2 -2
- package/find-options/FindOptionsUtils.js +1 -1
- package/find-options/FindOptionsUtils.js.map +1 -1
- package/find-options/operator/Any.d.ts +1 -1
- package/find-options/operator/Any.js.map +1 -1
- package/find-options/operator/Between.d.ts +1 -1
- package/find-options/operator/Between.js.map +1 -1
- package/find-options/operator/In.d.ts +1 -1
- package/find-options/operator/In.js.map +1 -1
- package/find-options/operator/Raw.d.ts +1 -1
- package/find-options/operator/Raw.js.map +1 -1
- package/index.d.ts +8 -11
- package/index.js +1 -14
- package/index.js.map +1 -1
- package/logger/DebugLogger.d.ts +0 -1
- package/logger/DebugLogger.js +10 -9
- package/logger/DebugLogger.js.map +1 -1
- package/logger/FileLogger.d.ts +3 -1
- package/logger/FileLogger.js +10 -3
- package/logger/FileLogger.js.map +1 -1
- package/logger/LoggerOptions.d.ts +9 -0
- package/logger/LoggerOptions.js.map +1 -1
- package/metadata/ColumnMetadata.js +10 -11
- package/metadata/ColumnMetadata.js.map +1 -1
- package/metadata/EntityMetadata.d.ts +1 -5
- package/metadata/EntityMetadata.js +13 -14
- package/metadata/EntityMetadata.js.map +1 -1
- package/metadata/RelationMetadata.js +7 -7
- package/metadata/RelationMetadata.js.map +1 -1
- package/metadata-args/EntityRepositoryMetadataArgs.d.ts +2 -2
- package/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
- package/metadata-args/RelationCountMetadataArgs.js.map +1 -1
- package/metadata-args/RelationIdMetadataArgs.js.map +1 -1
- package/metadata-builder/EntityMetadataBuilder.js +8 -6
- package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/JunctionEntityMetadataBuilder.js +1 -0
- package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/migration/MigrationExecutor.js +103 -74
- package/migration/MigrationExecutor.js.map +1 -1
- package/naming-strategy/DefaultNamingStrategy.d.ts +5 -0
- package/naming-strategy/DefaultNamingStrategy.js +2 -0
- package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/naming-strategy/NamingStrategyInterface.d.ts +11 -0
- package/naming-strategy/NamingStrategyInterface.js.map +1 -1
- package/package.json +72 -51
- package/persistence/EntityPersistExecutor.js +60 -42
- package/persistence/EntityPersistExecutor.js.map +1 -1
- package/persistence/SubjectChangedColumnsComputer.js +11 -7
- package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
- package/persistence/SubjectDatabaseEntityLoader.js +2 -1
- package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
- package/persistence/SubjectExecutor.js +244 -187
- package/persistence/SubjectExecutor.js.map +1 -1
- package/persistence/subject-builder/ManyToManySubjectBuilder.js +2 -3
- package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
- package/persistence/subject-builder/OneToManySubjectBuilder.js +1 -1
- package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
- package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +1 -1
- package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
- package/persistence/tree/MaterializedPathSubjectExecutor.js +2 -1
- package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
- package/platform/PlatformTools.d.ts +7 -1
- package/platform/PlatformTools.js +44 -43
- package/platform/PlatformTools.js.map +1 -1
- package/query-builder/Alias.js.map +1 -1
- package/query-builder/DeleteQueryBuilder.d.ts +2 -3
- package/query-builder/DeleteQueryBuilder.js +5 -0
- package/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/query-builder/InsertQueryBuilder.d.ts +2 -3
- package/query-builder/InsertQueryBuilder.js +18 -4
- package/query-builder/InsertQueryBuilder.js.map +1 -1
- package/query-builder/QueryBuilder.d.ts +11 -15
- package/query-builder/QueryBuilder.js +84 -23
- package/query-builder/QueryBuilder.js.map +1 -1
- package/query-builder/QueryExpressionMap.d.ts +1 -1
- package/query-builder/QueryExpressionMap.js.map +1 -1
- package/query-builder/QueryPartialEntity.d.ts +1 -1
- package/query-builder/QueryPartialEntity.js.map +1 -1
- package/query-builder/ReturningResultsEntityUpdator.js +23 -24
- package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
- package/query-builder/SelectQueryBuilder.d.ts +4 -4
- package/query-builder/SelectQueryBuilder.js +41 -5
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-builder/SoftDeleteQueryBuilder.d.ts +2 -3
- package/query-builder/SoftDeleteQueryBuilder.js +2 -2
- package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/query-builder/UpdateQueryBuilder.js +17 -3
- package/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +1 -4
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/query-runner/BaseQueryRunner.d.ts +2 -5
- package/query-runner/BaseQueryRunner.js +90 -40
- package/query-runner/BaseQueryRunner.js.map +1 -1
- package/repository/AbstractRepository.js.map +1 -1
- package/repository/BaseEntity.d.ts +17 -1
- package/repository/BaseEntity.js +20 -2
- package/repository/BaseEntity.js.map +1 -1
- package/repository/MongoRepository.js.map +1 -1
- package/repository/Repository.d.ts +1 -1
- package/repository/Repository.js +2 -2
- package/repository/Repository.js.map +1 -1
- package/schema-builder/MongoSchemaBuilder.js +1 -1
- package/schema-builder/MongoSchemaBuilder.js.map +1 -1
- package/schema-builder/RdbmsSchemaBuilder.js +875 -319
- package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/schema-builder/options/TableIndexOptions.d.ts +1 -1
- package/schema-builder/options/TableIndexOptions.js.map +1 -1
- package/schema-builder/view/View.d.ts +1 -2
- package/schema-builder/view/View.js.map +1 -1
- package/typeorm-class-transformer-shim.js +16 -2
- package/typeorm-model-shim.js +18 -0
- package/util/ApplyValueTransformers.js.map +1 -1
- package/util/DateUtils.js +1 -1
- package/util/DateUtils.js.map +1 -1
- package/util/DirectoryExportedClassesLoader.js +7 -5
- package/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/util/ObjectUtils.js +2 -2
- package/util/ObjectUtils.js.map +1 -1
- package/util/OrmUtils.d.ts +4 -0
- package/util/OrmUtils.js +17 -2
- package/util/OrmUtils.js.map +1 -1
- package/util/StringUtils.js +3 -2
- package/util/StringUtils.js.map +1 -1
- package/browser/util/PromiseUtils.d.ts +0 -24
- package/browser/util/PromiseUtils.js +0 -62
- package/browser/util/PromiseUtils.js.map +0 -1
- package/util/PromiseUtils.d.ts +0 -24
- package/util/PromiseUtils.js +0 -64
- package/util/PromiseUtils.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { __awaiter, __generator } from "tslib";
|
|
2
2
|
import { OrmUtils } from "../util/OrmUtils";
|
|
3
3
|
import { OracleDriver } from "../driver/oracle/OracleDriver";
|
|
4
4
|
/**
|
|
@@ -19,17 +19,17 @@ var ReturningResultsEntityUpdator = /** @class */ (function () {
|
|
|
19
19
|
* Updates entities with a special columns after updation query execution.
|
|
20
20
|
*/
|
|
21
21
|
ReturningResultsEntityUpdator.prototype.update = function (updateResult, entities) {
|
|
22
|
-
return
|
|
22
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
23
23
|
var metadata;
|
|
24
24
|
var _this = this;
|
|
25
|
-
return
|
|
25
|
+
return __generator(this, function (_a) {
|
|
26
26
|
switch (_a.label) {
|
|
27
27
|
case 0:
|
|
28
28
|
metadata = this.expressionMap.mainAlias.metadata;
|
|
29
|
-
return [4 /*yield*/, Promise.all(entities.map(function (entity, entityIndex) { return
|
|
29
|
+
return [4 /*yield*/, Promise.all(entities.map(function (entity, entityIndex) { return __awaiter(_this, void 0, void 0, function () {
|
|
30
30
|
var result, returningColumns, updationColumns, entityId, loadedReturningColumns;
|
|
31
31
|
var _this = this;
|
|
32
|
-
return
|
|
32
|
+
return __generator(this, function (_a) {
|
|
33
33
|
switch (_a.label) {
|
|
34
34
|
case 0:
|
|
35
35
|
if (!this.queryRunner.connection.driver.isReturningSqlSupported()) return [3 /*break*/, 1];
|
|
@@ -82,10 +82,10 @@ var ReturningResultsEntityUpdator = /** @class */ (function () {
|
|
|
82
82
|
* Updates entities with a special columns after insertion query execution.
|
|
83
83
|
*/
|
|
84
84
|
ReturningResultsEntityUpdator.prototype.insert = function (insertResult, entities) {
|
|
85
|
-
return
|
|
86
|
-
var metadata, insertionColumns, generatedMaps;
|
|
85
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
86
|
+
var metadata, insertionColumns, generatedMaps, entityIds, returningResult_1;
|
|
87
87
|
var _this = this;
|
|
88
|
-
return
|
|
88
|
+
return __generator(this, function (_a) {
|
|
89
89
|
switch (_a.label) {
|
|
90
90
|
case 0:
|
|
91
91
|
metadata = this.expressionMap.mainAlias.metadata;
|
|
@@ -99,7 +99,7 @@ var ReturningResultsEntityUpdator = /** @class */ (function () {
|
|
|
99
99
|
}
|
|
100
100
|
// get all values generated by a database for us
|
|
101
101
|
var result = Array.isArray(insertResult.raw) ? insertResult.raw[entityIndex] : insertResult.raw;
|
|
102
|
-
var generatedMap = _this.queryRunner.connection.driver.createGeneratedMap(metadata, result) || {};
|
|
102
|
+
var generatedMap = _this.queryRunner.connection.driver.createGeneratedMap(metadata, result, entityIndex, entities.length) || {};
|
|
103
103
|
// if database does not support uuid generation we need to get uuid values
|
|
104
104
|
// generated by orm and set them to the generatedMap
|
|
105
105
|
if (_this.queryRunner.connection.driver.isUUIDGenerationSupported() === false) {
|
|
@@ -117,29 +117,28 @@ var ReturningResultsEntityUpdator = /** @class */ (function () {
|
|
|
117
117
|
return generatedMap;
|
|
118
118
|
});
|
|
119
119
|
if (!(this.queryRunner.connection.driver.isReturningSqlSupported() === false && insertionColumns.length > 0)) return [3 /*break*/, 2];
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
return [2 /*return*/];
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
}); }))];
|
|
120
|
+
entityIds = entities.map(function (entity) {
|
|
121
|
+
var entityId = metadata.getEntityIdMap(entity);
|
|
122
|
+
// We have to check for an empty `entityId` - if we don't, the query against the database
|
|
123
|
+
// effectively drops the `where` clause entirely and the first record will be returned -
|
|
124
|
+
// not what we want at all.
|
|
125
|
+
if (!entityId)
|
|
126
|
+
throw new Error("Cannot update entity because entity id is not set in the entity.");
|
|
127
|
+
return entityId;
|
|
128
|
+
});
|
|
129
|
+
return [4 /*yield*/, this.queryRunner.manager
|
|
130
|
+
.createQueryBuilder()
|
|
131
|
+
.select(metadata.primaryColumns.map(function (column) { return metadata.targetName + "." + column.propertyPath; }))
|
|
132
|
+
.addSelect(insertionColumns.map(function (column) { return metadata.targetName + "." + column.propertyPath; }))
|
|
133
|
+
.from(metadata.target, metadata.targetName)
|
|
134
|
+
.where(entityIds)
|
|
135
|
+
.setOption("create-pojo") // use POJO because created object can contain default values, e.g. property = null and those properties maight be overridden by merge process
|
|
136
|
+
.getMany()];
|
|
141
137
|
case 1:
|
|
142
|
-
_a.sent();
|
|
138
|
+
returningResult_1 = _a.sent();
|
|
139
|
+
entities.forEach(function (entity, entityIndex) {
|
|
140
|
+
_this.queryRunner.manager.merge(metadata.target, generatedMaps[entityIndex], returningResult_1[entityIndex]);
|
|
141
|
+
});
|
|
143
142
|
_a.label = 2;
|
|
144
143
|
case 2:
|
|
145
144
|
entities.forEach(function (entity, entityIndex) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../browser/src/query-builder/ReturningResultsEntityUpdator.ts"],"names":[],"mappings":"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","file":"ReturningResultsEntityUpdator.js","sourcesContent":["import {ObjectLiteral} from \"../common/ObjectLiteral\";\nimport {QueryRunner} from \"../query-runner/QueryRunner\";\nimport {OrmUtils} from \"../util/OrmUtils\";\nimport {QueryExpressionMap} from \"./QueryExpressionMap\";\nimport {ColumnMetadata} from \"../metadata/ColumnMetadata\";\nimport {UpdateResult} from \"./result/UpdateResult\";\nimport {InsertResult} from \"./result/InsertResult\";\nimport {OracleDriver} from \"../driver/oracle/OracleDriver\";\n\n/**\n * Updates entity with returning results in the entity insert and update operations.\n */\nexport class ReturningResultsEntityUpdator {\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected queryRunner: QueryRunner,\n protected expressionMap: QueryExpressionMap) {\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Updates entities with a special columns after updation query execution.\n */\n async update(updateResult: UpdateResult, entities: ObjectLiteral[]): Promise<void> {\n const metadata = this.expressionMap.mainAlias!.metadata;\n\n await Promise.all(entities.map(async (entity, entityIndex) => {\n\n // if database supports returning/output statement then we already should have updating values in the raw data returned by insert query\n if (this.queryRunner.connection.driver.isReturningSqlSupported()) {\n if (this.queryRunner.connection.driver instanceof OracleDriver && Array.isArray(updateResult.raw) && this.expressionMap.extraReturningColumns.length > 0) {\n updateResult.raw = updateResult.raw.reduce((newRaw, rawItem, rawItemIndex) => {\n newRaw[this.expressionMap.extraReturningColumns[rawItemIndex].databaseName] = rawItem[0];\n return newRaw;\n }, {} as ObjectLiteral);\n }\n const result = Array.isArray(updateResult.raw) ? updateResult.raw[entityIndex] : updateResult.raw;\n const returningColumns = this.queryRunner.connection.driver.createGeneratedMap(metadata, result);\n if (returningColumns) {\n this.queryRunner.manager.merge(metadata.target as any, entity, returningColumns);\n updateResult.generatedMaps.push(returningColumns);\n }\n\n } else {\n\n // for driver which do not support returning/output statement we need to perform separate query and load what we need\n const updationColumns = this.getUpdationReturningColumns();\n if (updationColumns.length > 0) {\n\n // get entity id by which we will get needed data\n const entityId = this.expressionMap.mainAlias!.metadata.getEntityIdMap(entity);\n if (!entityId)\n throw new Error(`Cannot update entity because entity id is not set in the entity.`);\n\n // execute query to get needed data\n const loadedReturningColumns = await this.queryRunner.manager\n .createQueryBuilder()\n .select(metadata.primaryColumns.map(column => metadata.targetName + \".\" + column.propertyPath))\n .addSelect(this.getUpdationReturningColumns().map(column => metadata.targetName + \".\" + column.propertyPath))\n .from(metadata.target, metadata.targetName)\n .where(entityId)\n .setOption(\"create-pojo\") // use POJO because created object can contain default values, e.g. property = null and those properties maight be overridden by merge process\n .getOne();\n\n if (loadedReturningColumns) {\n this.queryRunner.manager.merge(metadata.target as any, entity, loadedReturningColumns);\n updateResult.generatedMaps.push(loadedReturningColumns);\n }\n }\n }\n }));\n }\n\n /**\n * Updates entities with a special columns after insertion query execution.\n */\n async insert(insertResult: InsertResult, entities: ObjectLiteral[]): Promise<void> {\n const metadata = this.expressionMap.mainAlias!.metadata;\n const insertionColumns = this.getInsertionReturningColumns();\n\n const generatedMaps = entities.map((entity, entityIndex) => {\n if (this.queryRunner.connection.driver instanceof OracleDriver && Array.isArray(insertResult.raw) && this.expressionMap.extraReturningColumns.length > 0) {\n insertResult.raw = insertResult.raw.reduce((newRaw, rawItem, rawItemIndex) => {\n newRaw[this.expressionMap.extraReturningColumns[rawItemIndex].databaseName] = rawItem[0];\n return newRaw;\n }, {} as ObjectLiteral);\n }\n // get all values generated by a database for us\n const result = Array.isArray(insertResult.raw) ? insertResult.raw[entityIndex] : insertResult.raw;\n const generatedMap = this.queryRunner.connection.driver.createGeneratedMap(metadata, result) || {};\n\n // if database does not support uuid generation we need to get uuid values\n // generated by orm and set them to the generatedMap\n if (this.queryRunner.connection.driver.isUUIDGenerationSupported() === false) {\n metadata.generatedColumns.forEach(generatedColumn => {\n if (generatedColumn.generationStrategy === \"uuid\") {\n // uuid can be defined by user in a model, that's why first we get it\n let uuid = generatedColumn.getEntityValue(entity);\n if (!uuid) // if it was not defined by a user then InsertQueryBuilder generates it by its own, get this generated uuid value\n uuid = this.expressionMap.nativeParameters[\"uuid_\" + generatedColumn.databaseName + entityIndex];\n\n OrmUtils.mergeDeep(generatedMap, generatedColumn.createValueMap(uuid));\n }\n });\n }\n\n this.queryRunner.manager.merge(metadata.target as any, entity, generatedMap); // todo: this should not be here, but problem with below line\n return generatedMap;\n });\n\n // for postgres and mssql we use returning/output statement to get values of inserted default and generated values\n // for other drivers we have to re-select this data from the database\n if (this.queryRunner.connection.driver.isReturningSqlSupported() === false && insertionColumns.length > 0) {\n await Promise.all(entities.map(async (entity, entityIndex) => {\n const entityId = metadata.getEntityIdMap(entity)!;\n\n // to select just inserted entity we need a criteria to select by.\n // for newly inserted entities in drivers which do not support returning statement\n // row identifier can only be an increment column\n // (since its the only thing that can be generated by those databases)\n // or (and) other primary key which is defined by a user and inserted value has it\n\n const returningResult: any = await this.queryRunner.manager\n .createQueryBuilder()\n .select(metadata.primaryColumns.map(column => metadata.targetName + \".\" + column.propertyPath))\n .addSelect(insertionColumns.map(column => metadata.targetName + \".\" + column.propertyPath))\n .from(metadata.target, metadata.targetName)\n .where(entityId)\n .setOption(\"create-pojo\") // use POJO because created object can contain default values, e.g. property = null and those properties maight be overridden by merge process\n .getOne();\n\n this.queryRunner.manager.merge(metadata.target as any, generatedMaps[entityIndex], returningResult);\n }));\n }\n\n entities.forEach((entity, entityIndex) => {\n const entityId = metadata.getEntityIdMap(entity)!;\n insertResult.identifiers.push(entityId);\n insertResult.generatedMaps.push(generatedMaps[entityIndex]);\n this.queryRunner.manager.merge(this.expressionMap.mainAlias!.metadata.target as any, entity, generatedMaps[entityIndex], generatedMaps[entityIndex]); // todo: why twice?!\n });\n }\n\n /**\n * Columns we need to be returned from the database when we insert entity.\n */\n getInsertionReturningColumns(): ColumnMetadata[] {\n\n // for databases which support returning statement we need to return extra columns like id\n // for other databases we don't need to return id column since its returned by a driver already\n const needToCheckGenerated = this.queryRunner.connection.driver.isReturningSqlSupported();\n\n // filter out the columns of which we need database inserted values to update our entity\n return this.expressionMap.mainAlias!.metadata.columns.filter(column => {\n return column.default !== undefined ||\n (needToCheckGenerated && column.isGenerated) ||\n column.isCreateDate ||\n column.isUpdateDate ||\n column.isDeleteDate ||\n column.isVersion;\n });\n }\n\n /**\n * Columns we need to be returned from the database when we update entity.\n */\n getUpdationReturningColumns(): ColumnMetadata[] {\n return this.expressionMap.mainAlias!.metadata.columns.filter(column => {\n return column.isUpdateDate || column.isVersion;\n });\n }\n\n}\n"],"sourceRoot":".."}
|
|
1
|
+
{"version":3,"sources":["../browser/src/query-builder/ReturningResultsEntityUpdator.ts"],"names":[],"mappings":"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","file":"ReturningResultsEntityUpdator.js","sourcesContent":["import {ObjectLiteral} from \"../common/ObjectLiteral\";\nimport {QueryRunner} from \"../query-runner/QueryRunner\";\nimport {OrmUtils} from \"../util/OrmUtils\";\nimport {QueryExpressionMap} from \"./QueryExpressionMap\";\nimport {ColumnMetadata} from \"../metadata/ColumnMetadata\";\nimport {UpdateResult} from \"./result/UpdateResult\";\nimport {InsertResult} from \"./result/InsertResult\";\nimport {OracleDriver} from \"../driver/oracle/OracleDriver\";\n\n/**\n * Updates entity with returning results in the entity insert and update operations.\n */\nexport class ReturningResultsEntityUpdator {\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(protected queryRunner: QueryRunner,\n protected expressionMap: QueryExpressionMap) {\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Updates entities with a special columns after updation query execution.\n */\n async update(updateResult: UpdateResult, entities: ObjectLiteral[]): Promise<void> {\n const metadata = this.expressionMap.mainAlias!.metadata;\n\n await Promise.all(entities.map(async (entity, entityIndex) => {\n\n // if database supports returning/output statement then we already should have updating values in the raw data returned by insert query\n if (this.queryRunner.connection.driver.isReturningSqlSupported()) {\n if (this.queryRunner.connection.driver instanceof OracleDriver && Array.isArray(updateResult.raw) && this.expressionMap.extraReturningColumns.length > 0) {\n updateResult.raw = updateResult.raw.reduce((newRaw, rawItem, rawItemIndex) => {\n newRaw[this.expressionMap.extraReturningColumns[rawItemIndex].databaseName] = rawItem[0];\n return newRaw;\n }, {} as ObjectLiteral);\n }\n const result = Array.isArray(updateResult.raw) ? updateResult.raw[entityIndex] : updateResult.raw;\n const returningColumns = this.queryRunner.connection.driver.createGeneratedMap(metadata, result);\n if (returningColumns) {\n this.queryRunner.manager.merge(metadata.target as any, entity, returningColumns);\n updateResult.generatedMaps.push(returningColumns);\n }\n\n } else {\n\n // for driver which do not support returning/output statement we need to perform separate query and load what we need\n const updationColumns = this.getUpdationReturningColumns();\n if (updationColumns.length > 0) {\n\n // get entity id by which we will get needed data\n const entityId = this.expressionMap.mainAlias!.metadata.getEntityIdMap(entity);\n if (!entityId)\n throw new Error(`Cannot update entity because entity id is not set in the entity.`);\n\n // execute query to get needed data\n const loadedReturningColumns = await this.queryRunner.manager\n .createQueryBuilder()\n .select(metadata.primaryColumns.map(column => metadata.targetName + \".\" + column.propertyPath))\n .addSelect(this.getUpdationReturningColumns().map(column => metadata.targetName + \".\" + column.propertyPath))\n .from(metadata.target, metadata.targetName)\n .where(entityId)\n .setOption(\"create-pojo\") // use POJO because created object can contain default values, e.g. property = null and those properties maight be overridden by merge process\n .getOne() as any;\n\n if (loadedReturningColumns) {\n this.queryRunner.manager.merge(metadata.target as any, entity, loadedReturningColumns);\n updateResult.generatedMaps.push(loadedReturningColumns);\n }\n }\n }\n }));\n }\n\n /**\n * Updates entities with a special columns after insertion query execution.\n */\n async insert(insertResult: InsertResult, entities: ObjectLiteral[]): Promise<void> {\n const metadata = this.expressionMap.mainAlias!.metadata;\n const insertionColumns = this.getInsertionReturningColumns();\n\n const generatedMaps = entities.map((entity, entityIndex) => {\n if (this.queryRunner.connection.driver instanceof OracleDriver && Array.isArray(insertResult.raw) && this.expressionMap.extraReturningColumns.length > 0) {\n insertResult.raw = insertResult.raw.reduce((newRaw, rawItem, rawItemIndex) => {\n newRaw[this.expressionMap.extraReturningColumns[rawItemIndex].databaseName] = rawItem[0];\n return newRaw;\n }, {} as ObjectLiteral);\n }\n // get all values generated by a database for us\n const result = Array.isArray(insertResult.raw) ? insertResult.raw[entityIndex] : insertResult.raw;\n const generatedMap = this.queryRunner.connection.driver.createGeneratedMap(metadata, result, entityIndex, entities.length) || {};\n\n // if database does not support uuid generation we need to get uuid values\n // generated by orm and set them to the generatedMap\n if (this.queryRunner.connection.driver.isUUIDGenerationSupported() === false) {\n metadata.generatedColumns.forEach(generatedColumn => {\n if (generatedColumn.generationStrategy === \"uuid\") {\n // uuid can be defined by user in a model, that's why first we get it\n let uuid = generatedColumn.getEntityValue(entity);\n if (!uuid) // if it was not defined by a user then InsertQueryBuilder generates it by its own, get this generated uuid value\n uuid = this.expressionMap.nativeParameters[\"uuid_\" + generatedColumn.databaseName + entityIndex];\n\n OrmUtils.mergeDeep(generatedMap, generatedColumn.createValueMap(uuid));\n }\n });\n }\n\n this.queryRunner.manager.merge(metadata.target as any, entity, generatedMap); // todo: this should not be here, but problem with below line\n return generatedMap;\n });\n\n // for postgres and mssql we use returning/output statement to get values of inserted default and generated values\n // for other drivers we have to re-select this data from the database\n if (this.queryRunner.connection.driver.isReturningSqlSupported() === false && insertionColumns.length > 0) {\n const entityIds = entities.map((entity) => {\n const entityId = metadata.getEntityIdMap(entity)!;\n\n // We have to check for an empty `entityId` - if we don't, the query against the database\n // effectively drops the `where` clause entirely and the first record will be returned -\n // not what we want at all.\n if (!entityId)\n throw new Error(`Cannot update entity because entity id is not set in the entity.`);\n\n return entityId;\n });\n\n // to select just inserted entities we need a criteria to select by.\n // for newly inserted entities in drivers which do not support returning statement\n // row identifier can only be an increment column\n // (since its the only thing that can be generated by those databases)\n // or (and) other primary key which is defined by a user and inserted value has it\n\n const returningResult: any = await this.queryRunner.manager\n .createQueryBuilder()\n .select(metadata.primaryColumns.map(column => metadata.targetName + \".\" + column.propertyPath))\n .addSelect(insertionColumns.map(column => metadata.targetName + \".\" + column.propertyPath))\n .from(metadata.target, metadata.targetName)\n .where(entityIds)\n .setOption(\"create-pojo\") // use POJO because created object can contain default values, e.g. property = null and those properties maight be overridden by merge process\n .getMany();\n\n entities.forEach((entity, entityIndex) => {\n this.queryRunner.manager.merge(metadata.target as any, generatedMaps[entityIndex], returningResult[entityIndex]);\n });\n }\n\n entities.forEach((entity, entityIndex) => {\n const entityId = metadata.getEntityIdMap(entity)!;\n insertResult.identifiers.push(entityId);\n insertResult.generatedMaps.push(generatedMaps[entityIndex]);\n this.queryRunner.manager.merge(this.expressionMap.mainAlias!.metadata.target as any, entity, generatedMaps[entityIndex], generatedMaps[entityIndex]); // todo: why twice?!\n });\n }\n\n /**\n * Columns we need to be returned from the database when we insert entity.\n */\n getInsertionReturningColumns(): ColumnMetadata[] {\n\n // for databases which support returning statement we need to return extra columns like id\n // for other databases we don't need to return id column since its returned by a driver already\n const needToCheckGenerated = this.queryRunner.connection.driver.isReturningSqlSupported();\n\n // filter out the columns of which we need database inserted values to update our entity\n return this.expressionMap.mainAlias!.metadata.columns.filter(column => {\n return column.default !== undefined ||\n (needToCheckGenerated && column.isGenerated) ||\n column.isCreateDate ||\n column.isUpdateDate ||\n column.isDeleteDate ||\n column.isVersion;\n });\n }\n\n /**\n * Columns we need to be returned from the database when we update entity.\n */\n getUpdationReturningColumns(): ColumnMetadata[] {\n return this.expressionMap.mainAlias!.metadata.columns.filter(column => {\n return column.isUpdateDate || column.isVersion;\n });\n }\n\n}\n"],"sourceRoot":".."}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
|
|
1
2
|
import { ObjectLiteral } from "../common/ObjectLiteral";
|
|
2
3
|
import { QueryBuilder } from "./QueryBuilder";
|
|
3
4
|
import { ReadStream } from "../platform/PlatformTools";
|
|
@@ -5,7 +6,7 @@ import { SelectQuery } from "./SelectQuery";
|
|
|
5
6
|
import { EntityMetadata } from "../metadata/EntityMetadata";
|
|
6
7
|
import { OrderByCondition } from "../find-options/OrderByCondition";
|
|
7
8
|
import { QueryExpressionMap } from "./QueryExpressionMap";
|
|
8
|
-
import {
|
|
9
|
+
import { EntityTarget } from "../common/EntityTarget";
|
|
9
10
|
import { QueryRunner } from "../query-runner/QueryRunner";
|
|
10
11
|
import { WhereExpression } from "./WhereExpression";
|
|
11
12
|
import { Brackets } from "./Brackets";
|
|
@@ -73,7 +74,7 @@ export declare class SelectQueryBuilder<Entity> extends QueryBuilder<Entity> imp
|
|
|
73
74
|
* Also sets a main string alias of the selection data.
|
|
74
75
|
* Removes all previously set from-s.
|
|
75
76
|
*/
|
|
76
|
-
from<T>(entityTarget:
|
|
77
|
+
from<T>(entityTarget: EntityTarget<T>, aliasName: string): SelectQueryBuilder<T>;
|
|
77
78
|
/**
|
|
78
79
|
* Specifies FROM which entity's table select/update/delete will be executed.
|
|
79
80
|
* Also sets a main string alias of the selection data.
|
|
@@ -83,7 +84,7 @@ export declare class SelectQueryBuilder<Entity> extends QueryBuilder<Entity> imp
|
|
|
83
84
|
* Specifies FROM which entity's table select/update/delete will be executed.
|
|
84
85
|
* Also sets a main string alias of the selection data.
|
|
85
86
|
*/
|
|
86
|
-
addFrom<T>(entityTarget:
|
|
87
|
+
addFrom<T>(entityTarget: EntityTarget<T>, aliasName: string): SelectQueryBuilder<T>;
|
|
87
88
|
/**
|
|
88
89
|
* INNER JOINs (without selection) given subquery.
|
|
89
90
|
* You also need to specify an alias of the joined data.
|
|
@@ -488,7 +489,7 @@ export declare class SelectQueryBuilder<Entity> extends QueryBuilder<Entity> imp
|
|
|
488
489
|
/**
|
|
489
490
|
* Sets locking mode.
|
|
490
491
|
*/
|
|
491
|
-
setLock(lockMode: "pessimistic_read" | "pessimistic_write" | "dirty_read"): this;
|
|
492
|
+
setLock(lockMode: "pessimistic_read" | "pessimistic_write" | "dirty_read" | "pessimistic_partial_write" | "pessimistic_write_or_fail" | "for_no_key_update"): this;
|
|
492
493
|
/**
|
|
493
494
|
* Disables the global condition of "non-deleted" for the entity with delete date columns.
|
|
494
495
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { __awaiter, __extends, __generator, __read, __spread } from "tslib";
|
|
2
2
|
import { SapDriver } from "../driver/sap/SapDriver";
|
|
3
3
|
import { RawSqlResultsToEntityTransformer } from "./transformer/RawSqlResultsToEntityTransformer";
|
|
4
4
|
import { SqlServerDriver } from "../driver/sqlserver/SqlServerDriver";
|
|
@@ -24,11 +24,12 @@ import { BroadcasterResult } from "../subscriber/BroadcasterResult";
|
|
|
24
24
|
import { ObjectUtils } from "../util/ObjectUtils";
|
|
25
25
|
import { DriverUtils } from "../driver/DriverUtils";
|
|
26
26
|
import { AuroraDataApiDriver } from "../driver/aurora-data-api/AuroraDataApiDriver";
|
|
27
|
+
import { CockroachDriver } from "../driver/cockroachdb/CockroachDriver";
|
|
27
28
|
/**
|
|
28
29
|
* Allows to build complex sql queries in a fashion way and execute those queries.
|
|
29
30
|
*/
|
|
30
31
|
var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
31
|
-
|
|
32
|
+
__extends(SelectQueryBuilder, _super);
|
|
32
33
|
function SelectQueryBuilder() {
|
|
33
34
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
34
35
|
}
|
|
@@ -419,8 +420,8 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
419
420
|
* calling this function will override previously set ORDER BY conditions.
|
|
420
421
|
*/
|
|
421
422
|
SelectQueryBuilder.prototype.orderBy = function (sort, order, nulls) {
|
|
422
|
-
if (order === void 0) { order = "ASC"; }
|
|
423
423
|
var _a, _b;
|
|
424
|
+
if (order === void 0) { order = "ASC"; }
|
|
424
425
|
if (order !== undefined && order !== "ASC" && order !== "DESC")
|
|
425
426
|
throw new Error("SelectQueryBuilder.addOrderBy \"order\" can accept only \"ASC\" and \"DESC\" values.");
|
|
426
427
|
if (nulls !== undefined && nulls !== "NULLS FIRST" && nulls !== "NULLS LAST")
|
|
@@ -521,8 +522,8 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
521
522
|
* Gets first raw result returned by execution of generated query builder sql.
|
|
522
523
|
*/
|
|
523
524
|
SelectQueryBuilder.prototype.getRawOne = function () {
|
|
524
|
-
return
|
|
525
|
-
return
|
|
525
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
526
|
+
return __generator(this, function (_a) {
|
|
526
527
|
switch (_a.label) {
|
|
527
528
|
case 0: return [4 /*yield*/, this.getRawMany()];
|
|
528
529
|
case 1: return [2 /*return*/, (_a.sent())[0]];
|
|
@@ -534,9 +535,9 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
534
535
|
* Gets all raw results returned by execution of generated query builder sql.
|
|
535
536
|
*/
|
|
536
537
|
SelectQueryBuilder.prototype.getRawMany = function () {
|
|
537
|
-
return
|
|
538
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
538
539
|
var queryRunner, transactionStartedByUs, results, error_1, rollbackError_1;
|
|
539
|
-
return
|
|
540
|
+
return __generator(this, function (_a) {
|
|
540
541
|
switch (_a.label) {
|
|
541
542
|
case 0:
|
|
542
543
|
if (this.expressionMap.lockMode === "optimistic")
|
|
@@ -592,9 +593,9 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
592
593
|
* Executes sql generated by query builder and returns object with raw results and entities created from them.
|
|
593
594
|
*/
|
|
594
595
|
SelectQueryBuilder.prototype.getRawAndEntities = function () {
|
|
595
|
-
return
|
|
596
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
596
597
|
var queryRunner, transactionStartedByUs, results, error_2, rollbackError_2;
|
|
597
|
-
return
|
|
598
|
+
return __generator(this, function (_a) {
|
|
598
599
|
switch (_a.label) {
|
|
599
600
|
case 0:
|
|
600
601
|
queryRunner = this.obtainQueryRunner();
|
|
@@ -649,9 +650,9 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
649
650
|
* Gets single entity returned by execution of generated query builder sql.
|
|
650
651
|
*/
|
|
651
652
|
SelectQueryBuilder.prototype.getOne = function () {
|
|
652
|
-
return
|
|
653
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
653
654
|
var results, result, metadata, actualVersion, actualVersion;
|
|
654
|
-
return
|
|
655
|
+
return __generator(this, function (_a) {
|
|
655
656
|
switch (_a.label) {
|
|
656
657
|
case 0: return [4 /*yield*/, this.getRawAndEntities()];
|
|
657
658
|
case 1:
|
|
@@ -679,9 +680,9 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
679
680
|
* Gets entities returned by execution of generated query builder sql.
|
|
680
681
|
*/
|
|
681
682
|
SelectQueryBuilder.prototype.getMany = function () {
|
|
682
|
-
return
|
|
683
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
683
684
|
var results;
|
|
684
|
-
return
|
|
685
|
+
return __generator(this, function (_a) {
|
|
685
686
|
switch (_a.label) {
|
|
686
687
|
case 0:
|
|
687
688
|
if (this.expressionMap.lockMode === "optimistic")
|
|
@@ -699,9 +700,9 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
699
700
|
* Count excludes all limitations set by setFirstResult and setMaxResults methods call.
|
|
700
701
|
*/
|
|
701
702
|
SelectQueryBuilder.prototype.getCount = function () {
|
|
702
|
-
return
|
|
703
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
703
704
|
var queryRunner, transactionStartedByUs, results, error_3, rollbackError_3;
|
|
704
|
-
return
|
|
705
|
+
return __generator(this, function (_a) {
|
|
705
706
|
switch (_a.label) {
|
|
706
707
|
case 0:
|
|
707
708
|
if (this.expressionMap.lockMode === "optimistic")
|
|
@@ -759,9 +760,9 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
759
760
|
* This method is useful to build pagination.
|
|
760
761
|
*/
|
|
761
762
|
SelectQueryBuilder.prototype.getManyAndCount = function () {
|
|
762
|
-
return
|
|
763
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
763
764
|
var queryRunner, transactionStartedByUs, entitiesAndRaw, count, results, error_4, rollbackError_4;
|
|
764
|
-
return
|
|
765
|
+
return __generator(this, function (_a) {
|
|
765
766
|
switch (_a.label) {
|
|
766
767
|
case 0:
|
|
767
768
|
if (this.expressionMap.lockMode === "optimistic")
|
|
@@ -823,14 +824,14 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
823
824
|
* Executes built SQL query and returns raw data stream.
|
|
824
825
|
*/
|
|
825
826
|
SelectQueryBuilder.prototype.stream = function () {
|
|
826
|
-
return
|
|
827
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
827
828
|
var _a, sql, parameters, queryRunner, transactionStartedByUs, releaseFn, results, error_5, rollbackError_5;
|
|
828
829
|
var _this = this;
|
|
829
|
-
return
|
|
830
|
+
return __generator(this, function (_b) {
|
|
830
831
|
switch (_b.label) {
|
|
831
832
|
case 0:
|
|
832
833
|
this.expressionMap.queryEntity = false;
|
|
833
|
-
_a =
|
|
834
|
+
_a = __read(this.getQueryAndParameters(), 2), sql = _a[0], parameters = _a[1];
|
|
834
835
|
queryRunner = this.obtainQueryRunner();
|
|
835
836
|
transactionStartedByUs = false;
|
|
836
837
|
_b.label = 1;
|
|
@@ -967,15 +968,15 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
967
968
|
var excludedSelects = [];
|
|
968
969
|
if (this.expressionMap.mainAlias.hasMetadata) {
|
|
969
970
|
var metadata = this.expressionMap.mainAlias.metadata;
|
|
970
|
-
allSelects.push.apply(allSelects,
|
|
971
|
-
excludedSelects.push.apply(excludedSelects,
|
|
971
|
+
allSelects.push.apply(allSelects, __spread(this.buildEscapedEntityColumnSelects(this.expressionMap.mainAlias.name, metadata)));
|
|
972
|
+
excludedSelects.push.apply(excludedSelects, __spread(this.findEntityColumnSelects(this.expressionMap.mainAlias.name, metadata)));
|
|
972
973
|
}
|
|
973
974
|
// add selects from joins
|
|
974
975
|
this.expressionMap.joinAttributes
|
|
975
976
|
.forEach(function (join) {
|
|
976
977
|
if (join.metadata) {
|
|
977
|
-
allSelects.push.apply(allSelects,
|
|
978
|
-
excludedSelects.push.apply(excludedSelects,
|
|
978
|
+
allSelects.push.apply(allSelects, __spread(_this.buildEscapedEntityColumnSelects(join.alias.name, join.metadata)));
|
|
979
|
+
excludedSelects.push.apply(excludedSelects, __spread(_this.findEntityColumnSelects(join.alias.name, join.metadata)));
|
|
979
980
|
}
|
|
980
981
|
else {
|
|
981
982
|
var hasMainAlias = _this.expressionMap.selects.some(function (select) { return select.selection === join.alias.name; });
|
|
@@ -1229,6 +1230,27 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
1229
1230
|
else {
|
|
1230
1231
|
throw new LockNotSupportedOnGivenDriverError();
|
|
1231
1232
|
}
|
|
1233
|
+
case "pessimistic_partial_write":
|
|
1234
|
+
if (driver instanceof PostgresDriver) {
|
|
1235
|
+
return " FOR UPDATE SKIP LOCKED";
|
|
1236
|
+
}
|
|
1237
|
+
else {
|
|
1238
|
+
throw new LockNotSupportedOnGivenDriverError();
|
|
1239
|
+
}
|
|
1240
|
+
case "pessimistic_write_or_fail":
|
|
1241
|
+
if (driver instanceof PostgresDriver) {
|
|
1242
|
+
return " FOR UPDATE NOWAIT";
|
|
1243
|
+
}
|
|
1244
|
+
else {
|
|
1245
|
+
throw new LockNotSupportedOnGivenDriverError();
|
|
1246
|
+
}
|
|
1247
|
+
case "for_no_key_update":
|
|
1248
|
+
if (driver instanceof PostgresDriver) {
|
|
1249
|
+
return " FOR NO KEY UPDATE";
|
|
1250
|
+
}
|
|
1251
|
+
else {
|
|
1252
|
+
throw new LockNotSupportedOnGivenDriverError();
|
|
1253
|
+
}
|
|
1232
1254
|
default:
|
|
1233
1255
|
return "";
|
|
1234
1256
|
}
|
|
@@ -1259,9 +1281,9 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
1259
1281
|
var hasMainAlias = this.expressionMap.selects.some(function (select) { return select.selection === aliasName; });
|
|
1260
1282
|
var columns = [];
|
|
1261
1283
|
if (hasMainAlias) {
|
|
1262
|
-
columns.push.apply(columns,
|
|
1284
|
+
columns.push.apply(columns, __spread(metadata.columns.filter(function (column) { return column.isSelect === true; })));
|
|
1263
1285
|
}
|
|
1264
|
-
columns.push.apply(columns,
|
|
1286
|
+
columns.push.apply(columns, __spread(metadata.columns.filter(function (column) {
|
|
1265
1287
|
return _this.expressionMap.selects.some(function (select) { return select.selection === aliasName + "." + column.propertyPath; });
|
|
1266
1288
|
})));
|
|
1267
1289
|
// if user used partial selection and did not select some primary columns which are required to be selected
|
|
@@ -1270,7 +1292,7 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
1270
1292
|
if (columns.length === 0) // however not in the case when nothing (even partial) was selected from this target (for example joins without selection)
|
|
1271
1293
|
return [];
|
|
1272
1294
|
var nonSelectedPrimaryColumns = this.expressionMap.queryEntity ? metadata.primaryColumns.filter(function (primaryColumn) { return columns.indexOf(primaryColumn) === -1; }) : [];
|
|
1273
|
-
var allColumns =
|
|
1295
|
+
var allColumns = __spread(columns, nonSelectedPrimaryColumns);
|
|
1274
1296
|
return allColumns.map(function (column) {
|
|
1275
1297
|
var selection = _this.expressionMap.selects.find(function (select) { return select.selection === aliasName + "." + column.propertyPath; });
|
|
1276
1298
|
var selectionPath = _this.escape(aliasName) + "." + _this.escape(column.databaseName);
|
|
@@ -1303,10 +1325,10 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
1303
1325
|
});
|
|
1304
1326
|
};
|
|
1305
1327
|
SelectQueryBuilder.prototype.executeCountQuery = function (queryRunner) {
|
|
1306
|
-
return
|
|
1328
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
1307
1329
|
var mainAlias, metadata, distinctAlias, countSql, results;
|
|
1308
1330
|
var _this = this;
|
|
1309
|
-
return
|
|
1331
|
+
return __generator(this, function (_a) {
|
|
1310
1332
|
switch (_a.label) {
|
|
1311
1333
|
case 0:
|
|
1312
1334
|
mainAlias = this.expressionMap.mainAlias.name;
|
|
@@ -1320,6 +1342,18 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
1320
1342
|
return distinctAlias + "." + propertyName;
|
|
1321
1343
|
}).join(" || ") + ")) as \"cnt\"";
|
|
1322
1344
|
}
|
|
1345
|
+
else if (this.connection.driver instanceof CockroachDriver) {
|
|
1346
|
+
countSql = "COUNT(DISTINCT(CONCAT(" + metadata.primaryColumns.map(function (primaryColumn, index) {
|
|
1347
|
+
var propertyName = _this.escape(primaryColumn.databaseName);
|
|
1348
|
+
return distinctAlias + "." + propertyName + "::text";
|
|
1349
|
+
}).join(", ") + "))) as \"cnt\"";
|
|
1350
|
+
}
|
|
1351
|
+
else if (this.connection.driver instanceof OracleDriver) {
|
|
1352
|
+
countSql = "COUNT(DISTINCT(" + metadata.primaryColumns.map(function (primaryColumn, index) {
|
|
1353
|
+
var propertyName = _this.escape(primaryColumn.databaseName);
|
|
1354
|
+
return distinctAlias + "." + propertyName;
|
|
1355
|
+
}).join(" || ") + ")) as \"cnt\"";
|
|
1356
|
+
}
|
|
1323
1357
|
else {
|
|
1324
1358
|
countSql = "COUNT(DISTINCT(CONCAT(" + metadata.primaryColumns.map(function (primaryColumn, index) {
|
|
1325
1359
|
var propertyName = _this.escape(primaryColumn.databaseName);
|
|
@@ -1356,15 +1390,15 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
1356
1390
|
* Executes sql generated by query builder and returns object with raw results and entities created from them.
|
|
1357
1391
|
*/
|
|
1358
1392
|
SelectQueryBuilder.prototype.executeEntitiesAndRawResults = function (queryRunner) {
|
|
1359
|
-
return
|
|
1360
|
-
var metadata, relationIdLoader, relationCountLoader, relationIdMetadataTransformer, relationCountMetadataTransformer, rawResults, entities, _a, selects, orderBys_1, metadata_1, mainAliasName_1, querySelects, condition, parameters_1, ids, areAllNumbers, rawRelationIdResults, rawRelationCountResults, transformer, broadcastResult;
|
|
1393
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
1394
|
+
var metadata, relationIdLoader, relationCountLoader, relationIdMetadataTransformer, relationCountMetadataTransformer, rawResults, entities, _a, selects, orderBys_1, metadata_1, mainAliasName_1, querySelects, condition, parameters_1, alias_1, ids, areAllNumbers, rawRelationIdResults, rawRelationCountResults, transformer, broadcastResult;
|
|
1361
1395
|
var _this = this;
|
|
1362
|
-
return
|
|
1396
|
+
return __generator(this, function (_b) {
|
|
1363
1397
|
switch (_b.label) {
|
|
1364
1398
|
case 0:
|
|
1365
1399
|
if (!this.expressionMap.mainAlias)
|
|
1366
1400
|
throw new Error("Alias is not set. Use \"from\" method to set an alias.");
|
|
1367
|
-
if ((this.expressionMap.lockMode === "pessimistic_read" || this.expressionMap.lockMode === "pessimistic_write") && !queryRunner.isTransactionActive)
|
|
1401
|
+
if ((this.expressionMap.lockMode === "pessimistic_read" || this.expressionMap.lockMode === "pessimistic_write" || this.expressionMap.lockMode === "pessimistic_partial_write" || this.expressionMap.lockMode === "pessimistic_write_or_fail" || this.expressionMap.lockMode === "for_no_key_update") && !queryRunner.isTransactionActive)
|
|
1368
1402
|
throw new PessimisticLockTransactionRequiredError();
|
|
1369
1403
|
if (this.expressionMap.lockMode === "optimistic") {
|
|
1370
1404
|
metadata = this.expressionMap.mainAlias.metadata;
|
|
@@ -1379,7 +1413,7 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
1379
1413
|
relationCountMetadataTransformer.transform();
|
|
1380
1414
|
rawResults = [], entities = [];
|
|
1381
1415
|
if (!((this.expressionMap.skip || this.expressionMap.take) && this.expressionMap.joinAttributes.length > 0)) return [3 /*break*/, 4];
|
|
1382
|
-
_a =
|
|
1416
|
+
_a = __read(this.createOrderByCombinedWithSelectExpression("distinctAlias"), 2), selects = _a[0], orderBys_1 = _a[1];
|
|
1383
1417
|
metadata_1 = this.expressionMap.mainAlias.metadata;
|
|
1384
1418
|
mainAliasName_1 = this.expressionMap.mainAlias.name;
|
|
1385
1419
|
querySelects = metadata_1.primaryColumns.map(function (primaryColumn) {
|
|
@@ -1387,7 +1421,8 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
1387
1421
|
var columnAlias = _this.escape(DriverUtils.buildColumnAlias(_this.connection.driver, mainAliasName_1, primaryColumn.databaseName));
|
|
1388
1422
|
if (!orderBys_1[columnAlias]) // make sure we aren't overriding user-defined order in inverse direction
|
|
1389
1423
|
orderBys_1[columnAlias] = "ASC";
|
|
1390
|
-
|
|
1424
|
+
var alias = DriverUtils.buildColumnAlias(_this.connection.driver, "ids_" + mainAliasName_1, primaryColumn.databaseName);
|
|
1425
|
+
return distinctAlias + "." + columnAlias + " as \"" + alias + "\"";
|
|
1391
1426
|
});
|
|
1392
1427
|
return [4 /*yield*/, new SelectQueryBuilder(this.connection, queryRunner)
|
|
1393
1428
|
.select("DISTINCT " + querySelects.join(", "))
|
|
@@ -1415,7 +1450,8 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
1415
1450
|
}).join(" OR ");
|
|
1416
1451
|
}
|
|
1417
1452
|
else {
|
|
1418
|
-
|
|
1453
|
+
alias_1 = DriverUtils.buildColumnAlias(this.connection.driver, "ids_" + mainAliasName_1, metadata_1.primaryColumns[0].databaseName);
|
|
1454
|
+
ids = rawResults.map(function (result) { return result[alias_1]; });
|
|
1419
1455
|
areAllNumbers = ids.every(function (id) { return typeof id === "number"; });
|
|
1420
1456
|
if (areAllNumbers) {
|
|
1421
1457
|
// fixes #190. if all numbers then its safe to perform query without parameter
|
|
@@ -1471,7 +1507,7 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
1471
1507
|
var selectString = Object.keys(orderBys)
|
|
1472
1508
|
.map(function (orderCriteria) {
|
|
1473
1509
|
if (orderCriteria.indexOf(".") !== -1) {
|
|
1474
|
-
var _a =
|
|
1510
|
+
var _a = __read(orderCriteria.split("."), 2), aliasName = _a[0], propertyPath = _a[1];
|
|
1475
1511
|
var alias = _this.expressionMap.findAliasByName(aliasName);
|
|
1476
1512
|
var column = alias.metadata.findColumnWithPropertyName(propertyPath);
|
|
1477
1513
|
return _this.escape(parentAlias) + "." + _this.escape(DriverUtils.buildColumnAlias(_this.connection.driver, aliasName, column.databaseName));
|
|
@@ -1486,7 +1522,7 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
1486
1522
|
var orderByObject = {};
|
|
1487
1523
|
Object.keys(orderBys).forEach(function (orderCriteria) {
|
|
1488
1524
|
if (orderCriteria.indexOf(".") !== -1) {
|
|
1489
|
-
var _a =
|
|
1525
|
+
var _a = __read(orderCriteria.split("."), 2), aliasName = _a[0], propertyPath = _a[1];
|
|
1490
1526
|
var alias = _this.expressionMap.findAliasByName(aliasName);
|
|
1491
1527
|
var column = alias.metadata.findColumnWithPropertyName(propertyPath);
|
|
1492
1528
|
orderByObject[_this.escape(parentAlias) + "." + _this.escape(DriverUtils.buildColumnAlias(_this.connection.driver, aliasName, column.databaseName))] = orderBys[orderCriteria];
|
|
@@ -1506,12 +1542,12 @@ var SelectQueryBuilder = /** @class */ (function (_super) {
|
|
|
1506
1542
|
* Loads raw results from the database.
|
|
1507
1543
|
*/
|
|
1508
1544
|
SelectQueryBuilder.prototype.loadRawResults = function (queryRunner) {
|
|
1509
|
-
return
|
|
1545
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
1510
1546
|
var _a, sql, parameters, queryId, cacheOptions, savedQueryResultCacheOptions, results;
|
|
1511
|
-
return
|
|
1547
|
+
return __generator(this, function (_b) {
|
|
1512
1548
|
switch (_b.label) {
|
|
1513
1549
|
case 0:
|
|
1514
|
-
_a =
|
|
1550
|
+
_a = __read(this.getQueryAndParameters(), 2), sql = _a[0], parameters = _a[1];
|
|
1515
1551
|
queryId = sql + " -- PARAMETERS: " + JSON.stringify(parameters);
|
|
1516
1552
|
cacheOptions = typeof this.connection.options.cache === "object" ? this.connection.options.cache : {};
|
|
1517
1553
|
savedQueryResultCacheOptions = undefined;
|