taon-typeorm 18.0.19 → 18.0.20
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/browser/esm2022/lib/typeorm/driver/cordova/CordovaDriver.mjs +1 -1
- package/browser/esm2022/lib/typeorm/driver/cordova/CordovaQueryRunner.mjs +1 -1
- package/browser/esm2022/lib/typeorm/driver/nativescript/NativescriptDriver.mjs +1 -1
- package/browser/esm2022/lib/typeorm/driver/nativescript/NativescriptQueryRunner.mjs +1 -1
- package/browser/esm2022/lib/typeorm/driver/react-native/ReactNativeDriver.mjs +1 -1
- package/browser/esm2022/lib/typeorm/driver/react-native/ReactNativeQueryRunner.mjs +1 -1
- package/browser/esm2022/lib/typeorm/driver/sqljs/SqljsDriver.mjs +1 -1
- package/browser/esm2022/lib/typeorm/driver/sqljs/SqljsQueryRunner.mjs +1 -1
- package/browser/esm2022/lib/typeorm/index.mjs +1 -3
- package/browser/fesm2022/taon-typeorm.mjs.map +1 -1
- package/client/esm2022/lib/typeorm/driver/cordova/CordovaDriver.mjs +1 -1
- package/client/esm2022/lib/typeorm/driver/cordova/CordovaQueryRunner.mjs +1 -1
- package/client/esm2022/lib/typeorm/driver/nativescript/NativescriptDriver.mjs +1 -1
- package/client/esm2022/lib/typeorm/driver/nativescript/NativescriptQueryRunner.mjs +1 -1
- package/client/esm2022/lib/typeorm/driver/react-native/ReactNativeDriver.mjs +1 -1
- package/client/esm2022/lib/typeorm/driver/react-native/ReactNativeQueryRunner.mjs +1 -1
- package/client/esm2022/lib/typeorm/driver/sqljs/SqljsDriver.mjs +1 -1
- package/client/esm2022/lib/typeorm/driver/sqljs/SqljsQueryRunner.mjs +1 -1
- package/client/esm2022/lib/typeorm/index.mjs +1 -3
- package/client/fesm2022/taon-typeorm.mjs.map +1 -1
- package/index.js +15 -2
- package/index.js.map +1 -1
- package/lib/build-info._auto-generated_.js.map +1 -1
- package/lib/index._auto-generated_.d.ts +1 -0
- package/lib/index._auto-generated_.js.map +1 -1
- package/lib/index.js +15 -2
- package/lib/index.js.map +1 -1
- package/lib/typeorm/cache/DbQueryResultCache.js +178 -231
- package/lib/typeorm/cache/DbQueryResultCache.js.map +1 -1
- package/lib/typeorm/cache/QueryResultCache.js.map +1 -1
- package/lib/typeorm/cache/QueryResultCacheFactory.js +11 -11
- package/lib/typeorm/cache/QueryResultCacheFactory.js.map +1 -1
- package/lib/typeorm/cache/QueryResultCacheOptions.js.map +1 -1
- package/lib/typeorm/cache/RedisQueryResultCache.js +121 -149
- package/lib/typeorm/cache/RedisQueryResultCache.js.map +1 -1
- package/lib/typeorm/cli-ts-node-commonjs.js.map +1 -1
- package/lib/typeorm/cli-ts-node-esm.js +7 -5
- package/lib/typeorm/cli-ts-node-esm.js.map +1 -1
- package/lib/typeorm/cli.d.ts +1 -1
- package/lib/typeorm/cli.js +15 -16
- package/lib/typeorm/cli.js.map +1 -1
- package/lib/typeorm/commands/CacheClearCommand.js +37 -65
- package/lib/typeorm/commands/CacheClearCommand.js.map +1 -1
- package/lib/typeorm/commands/CommandUtils.js +57 -112
- package/lib/typeorm/commands/CommandUtils.js.map +1 -1
- package/lib/typeorm/commands/EntityCreateCommand.js +35 -47
- package/lib/typeorm/commands/EntityCreateCommand.js.map +1 -1
- package/lib/typeorm/commands/InitCommand.js +397 -168
- package/lib/typeorm/commands/InitCommand.js.map +1 -1
- package/lib/typeorm/commands/MigrationCreateCommand.js +58 -52
- package/lib/typeorm/commands/MigrationCreateCommand.js.map +1 -1
- package/lib/typeorm/commands/MigrationGenerateCommand.js +141 -138
- package/lib/typeorm/commands/MigrationGenerateCommand.js.map +1 -1
- package/lib/typeorm/commands/MigrationRevertCommand.js +49 -77
- package/lib/typeorm/commands/MigrationRevertCommand.js.map +1 -1
- package/lib/typeorm/commands/MigrationRunCommand.js +52 -82
- package/lib/typeorm/commands/MigrationRunCommand.js.map +1 -1
- package/lib/typeorm/commands/MigrationShowCommand.js +32 -60
- package/lib/typeorm/commands/MigrationShowCommand.js.map +1 -1
- package/lib/typeorm/commands/QueryCommand.js +47 -83
- package/lib/typeorm/commands/QueryCommand.js.map +1 -1
- package/lib/typeorm/commands/SchemaDropCommand.js +33 -61
- package/lib/typeorm/commands/SchemaDropCommand.js.map +1 -1
- package/lib/typeorm/commands/SchemaLogCommand.js +57 -81
- package/lib/typeorm/commands/SchemaLogCommand.js.map +1 -1
- package/lib/typeorm/commands/SchemaSyncCommand.js +33 -61
- package/lib/typeorm/commands/SchemaSyncCommand.js.map +1 -1
- package/lib/typeorm/commands/SubscriberCreateCommand.js +35 -47
- package/lib/typeorm/commands/SubscriberCreateCommand.js.map +1 -1
- package/lib/typeorm/commands/VersionCommand.js +38 -54
- package/lib/typeorm/commands/VersionCommand.js.map +1 -1
- package/lib/typeorm/common/DeepPartial.js.map +1 -1
- package/lib/typeorm/common/EntityTarget.js.map +1 -1
- package/lib/typeorm/common/MixedList.js.map +1 -1
- package/lib/typeorm/common/NonNever.js.map +1 -1
- package/lib/typeorm/common/ObjectLiteral.js.map +1 -1
- package/lib/typeorm/common/ObjectType.js.map +1 -1
- package/lib/typeorm/common/RelationType.js.map +1 -1
- package/lib/typeorm/connection/BaseConnectionOptions.js.map +1 -1
- package/lib/typeorm/connection/Connection.js +3 -9
- package/lib/typeorm/connection/Connection.js.map +1 -1
- package/lib/typeorm/connection/ConnectionManager.js +23 -31
- package/lib/typeorm/connection/ConnectionManager.js.map +1 -1
- package/lib/typeorm/connection/ConnectionMetadataBuilder.js +48 -78
- package/lib/typeorm/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/lib/typeorm/connection/ConnectionOptions.js.map +1 -1
- package/lib/typeorm/connection/ConnectionOptionsReader.js +146 -214
- package/lib/typeorm/connection/ConnectionOptionsReader.js.map +1 -1
- package/lib/typeorm/connection/options-reader/ConnectionOptionsEnvReader.js +50 -58
- package/lib/typeorm/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
- package/lib/typeorm/connection/options-reader/ConnectionOptionsXmlReader.js +45 -58
- package/lib/typeorm/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
- package/lib/typeorm/connection/options-reader/ConnectionOptionsYmlReader.js +14 -23
- package/lib/typeorm/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
- package/lib/typeorm/constants.js.map +1 -1
- package/lib/typeorm/container.js +9 -12
- package/lib/typeorm/container.js.map +1 -1
- package/lib/typeorm/data-source/BaseDataSourceOptions.js.map +1 -1
- package/lib/typeorm/data-source/DataSource.js +320 -478
- package/lib/typeorm/data-source/DataSource.js.map +1 -1
- package/lib/typeorm/data-source/DataSourceOptions.js.map +1 -1
- package/lib/typeorm/data-source/index.js +16 -3
- package/lib/typeorm/data-source/index.js.map +1 -1
- package/lib/typeorm/decorator/Check.js +5 -5
- package/lib/typeorm/decorator/Check.js.map +1 -1
- package/lib/typeorm/decorator/EntityRepository.js +1 -1
- package/lib/typeorm/decorator/EntityRepository.js.map +1 -1
- package/lib/typeorm/decorator/Exclusion.js +5 -5
- package/lib/typeorm/decorator/Exclusion.js.map +1 -1
- package/lib/typeorm/decorator/Generated.js +2 -3
- package/lib/typeorm/decorator/Generated.js.map +1 -1
- package/lib/typeorm/decorator/Index.js +5 -5
- package/lib/typeorm/decorator/Index.js.map +1 -1
- package/lib/typeorm/decorator/Unique.js +8 -8
- package/lib/typeorm/decorator/Unique.js.map +1 -1
- package/lib/typeorm/decorator/columns/Column.js +4 -4
- package/lib/typeorm/decorator/columns/Column.js.map +1 -1
- package/lib/typeorm/decorator/columns/CreateDateColumn.js +1 -1
- package/lib/typeorm/decorator/columns/CreateDateColumn.js.map +1 -1
- package/lib/typeorm/decorator/columns/DeleteDateColumn.js +1 -1
- package/lib/typeorm/decorator/columns/DeleteDateColumn.js.map +1 -1
- package/lib/typeorm/decorator/columns/ObjectIdColumn.js +1 -1
- package/lib/typeorm/decorator/columns/ObjectIdColumn.js.map +1 -1
- package/lib/typeorm/decorator/columns/PrimaryColumn.js +5 -5
- package/lib/typeorm/decorator/columns/PrimaryColumn.js.map +1 -1
- package/lib/typeorm/decorator/columns/PrimaryGeneratedColumn.js +4 -4
- package/lib/typeorm/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
- package/lib/typeorm/decorator/columns/UpdateDateColumn.js +1 -1
- package/lib/typeorm/decorator/columns/UpdateDateColumn.js.map +1 -1
- package/lib/typeorm/decorator/columns/VersionColumn.js +1 -1
- package/lib/typeorm/decorator/columns/VersionColumn.js.map +1 -1
- package/lib/typeorm/decorator/columns/ViewColumn.js +1 -1
- package/lib/typeorm/decorator/columns/ViewColumn.js.map +1 -1
- package/lib/typeorm/decorator/columns/VirtualColumn.js +5 -5
- package/lib/typeorm/decorator/columns/VirtualColumn.js.map +1 -1
- package/lib/typeorm/decorator/entity/ChildEntity.js +1 -1
- package/lib/typeorm/decorator/entity/ChildEntity.js.map +1 -1
- package/lib/typeorm/decorator/entity/Entity.js +4 -4
- package/lib/typeorm/decorator/entity/Entity.js.map +1 -1
- package/lib/typeorm/decorator/entity/TableInheritance.js +1 -1
- package/lib/typeorm/decorator/entity/TableInheritance.js.map +1 -1
- package/lib/typeorm/decorator/entity-view/ViewEntity.js +4 -4
- package/lib/typeorm/decorator/entity-view/ViewEntity.js.map +1 -1
- package/lib/typeorm/decorator/listeners/AfterInsert.js +2 -2
- package/lib/typeorm/decorator/listeners/AfterInsert.js.map +1 -1
- package/lib/typeorm/decorator/listeners/AfterLoad.js +2 -2
- package/lib/typeorm/decorator/listeners/AfterLoad.js.map +1 -1
- package/lib/typeorm/decorator/listeners/AfterRecover.js +2 -2
- package/lib/typeorm/decorator/listeners/AfterRecover.js.map +1 -1
- package/lib/typeorm/decorator/listeners/AfterRemove.js +2 -2
- package/lib/typeorm/decorator/listeners/AfterRemove.js.map +1 -1
- package/lib/typeorm/decorator/listeners/AfterSoftRemove.js +2 -2
- package/lib/typeorm/decorator/listeners/AfterSoftRemove.js.map +1 -1
- package/lib/typeorm/decorator/listeners/AfterUpdate.js +2 -2
- package/lib/typeorm/decorator/listeners/AfterUpdate.js.map +1 -1
- package/lib/typeorm/decorator/listeners/BeforeInsert.js +2 -2
- package/lib/typeorm/decorator/listeners/BeforeInsert.js.map +1 -1
- package/lib/typeorm/decorator/listeners/BeforeRecover.js +2 -2
- package/lib/typeorm/decorator/listeners/BeforeRecover.js.map +1 -1
- package/lib/typeorm/decorator/listeners/BeforeRemove.js +2 -2
- package/lib/typeorm/decorator/listeners/BeforeRemove.js.map +1 -1
- package/lib/typeorm/decorator/listeners/BeforeSoftRemove.js +2 -2
- package/lib/typeorm/decorator/listeners/BeforeSoftRemove.js.map +1 -1
- package/lib/typeorm/decorator/listeners/BeforeUpdate.js +2 -2
- package/lib/typeorm/decorator/listeners/BeforeUpdate.js.map +1 -1
- package/lib/typeorm/decorator/listeners/EventSubscriber.js +1 -1
- package/lib/typeorm/decorator/listeners/EventSubscriber.js.map +1 -1
- package/lib/typeorm/decorator/options/ColumnCommonOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ColumnEmbeddedOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ColumnEnumOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ColumnHstoreOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ColumnNumericOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ColumnOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ColumnWithLengthOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ColumnWithWidthOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/EntityOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/IndexOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/JoinColumnOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/JoinTableMultipleColumnsOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/JoinTableOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/PrimaryGeneratedColumnIdentityOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/PrimaryGeneratedColumnNumericOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/PrimaryGeneratedColumnUUIDOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/RelationOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/SpatialColumnOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/TransactionOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/UniqueOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ValueTransformer.js.map +1 -1
- package/lib/typeorm/decorator/options/ViewColumnOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/ViewEntityOptions.js.map +1 -1
- package/lib/typeorm/decorator/options/VirtualColumnOptions.js.map +1 -1
- package/lib/typeorm/decorator/relations/JoinColumn.js +3 -3
- package/lib/typeorm/decorator/relations/JoinColumn.js.map +1 -1
- package/lib/typeorm/decorator/relations/JoinTable.js +1 -1
- package/lib/typeorm/decorator/relations/JoinTable.js.map +1 -1
- package/lib/typeorm/decorator/relations/ManyToMany.js +5 -5
- package/lib/typeorm/decorator/relations/ManyToMany.js.map +1 -1
- package/lib/typeorm/decorator/relations/ManyToOne.js +5 -5
- package/lib/typeorm/decorator/relations/ManyToOne.js.map +1 -1
- package/lib/typeorm/decorator/relations/OneToMany.js +3 -3
- package/lib/typeorm/decorator/relations/OneToMany.js.map +1 -1
- package/lib/typeorm/decorator/relations/OneToOne.js +5 -5
- package/lib/typeorm/decorator/relations/OneToOne.js.map +1 -1
- package/lib/typeorm/decorator/relations/RelationCount.js +1 -1
- package/lib/typeorm/decorator/relations/RelationCount.js.map +1 -1
- package/lib/typeorm/decorator/relations/RelationId.js +1 -1
- package/lib/typeorm/decorator/relations/RelationId.js.map +1 -1
- package/lib/typeorm/decorator/tree/Tree.js +1 -1
- package/lib/typeorm/decorator/tree/Tree.js.map +1 -1
- package/lib/typeorm/decorator/tree/TreeChildren.js +4 -4
- package/lib/typeorm/decorator/tree/TreeChildren.js.map +1 -1
- package/lib/typeorm/decorator/tree/TreeLevelColumn.js +1 -1
- package/lib/typeorm/decorator/tree/TreeLevelColumn.js.map +1 -1
- package/lib/typeorm/decorator/tree/TreeParent.js +4 -4
- package/lib/typeorm/decorator/tree/TreeParent.js.map +1 -1
- package/lib/typeorm/driver/Driver.js.map +1 -1
- package/lib/typeorm/driver/DriverFactory.js +24 -27
- package/lib/typeorm/driver/DriverFactory.js.map +1 -1
- package/lib/typeorm/driver/DriverUtils.js +78 -126
- package/lib/typeorm/driver/DriverUtils.js.map +1 -1
- package/lib/typeorm/driver/Query.js +6 -5
- package/lib/typeorm/driver/Query.js.map +1 -1
- package/lib/typeorm/driver/SqlInMemory.js +4 -7
- package/lib/typeorm/driver/SqlInMemory.js.map +1 -1
- package/lib/typeorm/driver/aurora-mysql/AuroraMysqlConnection.js +9 -12
- package/lib/typeorm/driver/aurora-mysql/AuroraMysqlConnection.js.map +1 -1
- package/lib/typeorm/driver/aurora-mysql/AuroraMysqlConnectionCredentialsOptions.js.map +1 -1
- package/lib/typeorm/driver/aurora-mysql/AuroraMysqlConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/aurora-mysql/AuroraMysqlDriver.js +392 -399
- package/lib/typeorm/driver/aurora-mysql/AuroraMysqlDriver.js.map +1 -1
- package/lib/typeorm/driver/aurora-mysql/AuroraMysqlQueryRunner.js +1320 -2084
- package/lib/typeorm/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/aurora-postgres/AuroraPostgresConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/aurora-postgres/AuroraPostgresDriver.js +50 -78
- package/lib/typeorm/driver/aurora-postgres/AuroraPostgresDriver.js.map +1 -1
- package/lib/typeorm/driver/aurora-postgres/AuroraPostgresQueryRunner.js +89 -160
- package/lib/typeorm/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/better-sqlite3/BetterSqlite3Driver.js +78 -152
- package/lib/typeorm/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
- package/lib/typeorm/driver/better-sqlite3/BetterSqlite3QueryRunner.js +96 -155
- package/lib/typeorm/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
- package/lib/typeorm/driver/capacitor/CapacitorConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/capacitor/CapacitorDriver.js +44 -89
- package/lib/typeorm/driver/capacitor/CapacitorDriver.js.map +1 -1
- package/lib/typeorm/driver/capacitor/CapacitorQueryRunner.js +70 -122
- package/lib/typeorm/driver/capacitor/CapacitorQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/cockroachdb/CockroachConnectionCredentialsOptions.js.map +1 -1
- package/lib/typeorm/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/cockroachdb/CockroachDriver.js +368 -404
- package/lib/typeorm/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/lib/typeorm/driver/cockroachdb/CockroachQueryRunner.js +1752 -2862
- package/lib/typeorm/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/cordova/CordovaConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/cordova/CordovaDriver.js +36 -58
- package/lib/typeorm/driver/cordova/CordovaDriver.js.map +1 -1
- package/lib/typeorm/driver/cordova/CordovaQueryRunner.js +86 -164
- package/lib/typeorm/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/expo/ExpoConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/expo/ExpoDriver.js +34 -44
- package/lib/typeorm/driver/expo/ExpoDriver.js.map +1 -1
- package/lib/typeorm/driver/expo/ExpoQueryRunner.js +114 -204
- package/lib/typeorm/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/mongodb/MongoDriver.js +269 -243
- package/lib/typeorm/driver/mongodb/MongoDriver.js.map +1 -1
- package/lib/typeorm/driver/mongodb/MongoQueryRunner.js +357 -793
- package/lib/typeorm/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/mongodb/typings.js.map +1 -1
- package/lib/typeorm/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
- package/lib/typeorm/driver/mysql/MysqlConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/mysql/MysqlDriver.js +475 -480
- package/lib/typeorm/driver/mysql/MysqlDriver.js.map +1 -1
- package/lib/typeorm/driver/mysql/MysqlQueryRunner.js +1692 -2466
- package/lib/typeorm/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/nativescript/NativescriptConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/nativescript/NativescriptDriver.js +46 -50
- package/lib/typeorm/driver/nativescript/NativescriptDriver.js.map +1 -1
- package/lib/typeorm/driver/nativescript/NativescriptQueryRunner.js +62 -101
- package/lib/typeorm/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/oracle/OracleConnectionCredentialsOptions.js.map +1 -1
- package/lib/typeorm/driver/oracle/OracleConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/oracle/OracleDriver.js +345 -377
- package/lib/typeorm/driver/oracle/OracleDriver.js.map +1 -1
- package/lib/typeorm/driver/oracle/OracleQueryRunner.js +1484 -2384
- package/lib/typeorm/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
- package/lib/typeorm/driver/postgres/PostgresConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/postgres/PostgresDriver.js +574 -690
- package/lib/typeorm/driver/postgres/PostgresDriver.js.map +1 -1
- package/lib/typeorm/driver/postgres/PostgresQueryRunner.js +2153 -3379
- package/lib/typeorm/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/react-native/ReactNativeConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/react-native/ReactNativeDriver.js +34 -44
- package/lib/typeorm/driver/react-native/ReactNativeDriver.js.map +1 -1
- package/lib/typeorm/driver/react-native/ReactNativeQueryRunner.js +60 -94
- package/lib/typeorm/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/sap/SapConnectionCredentialsOptions.js.map +1 -1
- package/lib/typeorm/driver/sap/SapConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/sap/SapDriver.js +310 -305
- package/lib/typeorm/driver/sap/SapDriver.js.map +1 -1
- package/lib/typeorm/driver/sap/SapQueryRunner.js +1635 -2561
- package/lib/typeorm/driver/sap/SapQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/spanner/SpannerConnectionCredentialsOptions.js.map +1 -1
- package/lib/typeorm/driver/spanner/SpannerConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/spanner/SpannerDriver.js +250 -236
- package/lib/typeorm/driver/spanner/SpannerDriver.js.map +1 -1
- package/lib/typeorm/driver/spanner/SpannerQueryRunner.js +1136 -2168
- package/lib/typeorm/driver/spanner/SpannerQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/sqlite/SqliteConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/sqlite/SqliteDriver.js +82 -169
- package/lib/typeorm/driver/sqlite/SqliteDriver.js.map +1 -1
- package/lib/typeorm/driver/sqlite/SqliteQueryRunner.js +78 -122
- package/lib/typeorm/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.js +280 -268
- package/lib/typeorm/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/lib/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +1158 -1990
- package/lib/typeorm/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/sqljs/SqljsConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/sqljs/SqljsDriver.js +187 -253
- package/lib/typeorm/driver/sqljs/SqljsDriver.js.map +1 -1
- package/lib/typeorm/driver/sqljs/SqljsQueryRunner.js +88 -147
- package/lib/typeorm/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/MssqlParameter.js +10 -13
- package/lib/typeorm/driver/sqlserver/MssqlParameter.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/SqlServerDriver.js +352 -372
- package/lib/typeorm/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/SqlServerQueryRunner.js +1979 -3068
- package/lib/typeorm/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -1
- package/lib/typeorm/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -1
- package/lib/typeorm/driver/types/ColumnTypes.js.map +1 -1
- package/lib/typeorm/driver/types/CteCapabilities.js.map +1 -1
- package/lib/typeorm/driver/types/DataTypeDefaults.js.map +1 -1
- package/lib/typeorm/driver/types/DatabaseType.js.map +1 -1
- package/lib/typeorm/driver/types/IsolationLevel.js.map +1 -1
- package/lib/typeorm/driver/types/MappedColumnTypes.js.map +1 -1
- package/lib/typeorm/driver/types/MetadataTableType.js.map +1 -1
- package/lib/typeorm/driver/types/ReplicationMode.js.map +1 -1
- package/lib/typeorm/driver/types/UpsertType.js.map +1 -1
- package/lib/typeorm/entity-manager/EntityManager.js +351 -469
- package/lib/typeorm/entity-manager/EntityManager.js.map +1 -1
- package/lib/typeorm/entity-manager/EntityManagerFactory.js +7 -10
- package/lib/typeorm/entity-manager/EntityManagerFactory.js.map +1 -1
- package/lib/typeorm/entity-manager/MongoEntityManager.js +371 -487
- package/lib/typeorm/entity-manager/MongoEntityManager.js.map +1 -1
- package/lib/typeorm/entity-manager/SqljsEntityManager.js +16 -37
- package/lib/typeorm/entity-manager/SqljsEntityManager.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchema.js +5 -5
- package/lib/typeorm/entity-schema/EntitySchema.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaCheckOptions.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaColumnOptions.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.js +17 -5
- package/lib/typeorm/entity-schema/EntitySchemaEmbeddedColumnOptions.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaEmbeddedError.js +11 -14
- package/lib/typeorm/entity-schema/EntitySchemaEmbeddedError.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaExclusionOptions.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaIndexOptions.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaOptions.js +82 -5
- package/lib/typeorm/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaRelationIdOptions.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaRelationOptions.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaTransformer.js +51 -68
- package/lib/typeorm/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/lib/typeorm/entity-schema/EntitySchemaUniqueOptions.js.map +1 -1
- package/lib/typeorm/error/AlreadyHasActiveConnectionError.js +6 -9
- package/lib/typeorm/error/AlreadyHasActiveConnectionError.js.map +1 -1
- package/lib/typeorm/error/CannotAttachTreeChildrenEntityError.js +6 -9
- package/lib/typeorm/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
- package/lib/typeorm/error/CannotConnectAlreadyConnectedError.js +5 -8
- package/lib/typeorm/error/CannotConnectAlreadyConnectedError.js.map +1 -1
- package/lib/typeorm/error/CannotCreateEntityIdMapError.js +7 -11
- package/lib/typeorm/error/CannotCreateEntityIdMapError.js.map +1 -1
- package/lib/typeorm/error/CannotDetermineEntityError.js +6 -9
- package/lib/typeorm/error/CannotDetermineEntityError.js.map +1 -1
- package/lib/typeorm/error/CannotExecuteNotConnectedError.js +5 -8
- package/lib/typeorm/error/CannotExecuteNotConnectedError.js.map +1 -1
- package/lib/typeorm/error/CannotGetEntityManagerNotConnectedError.js +5 -8
- package/lib/typeorm/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
- package/lib/typeorm/error/CannotReflectMethodParameterTypeError.js +7 -10
- package/lib/typeorm/error/CannotReflectMethodParameterTypeError.js.map +1 -1
- package/lib/typeorm/error/CircularRelationsError.js +6 -9
- package/lib/typeorm/error/CircularRelationsError.js.map +1 -1
- package/lib/typeorm/error/ColumnTypeUndefinedError.js +8 -11
- package/lib/typeorm/error/ColumnTypeUndefinedError.js.map +1 -1
- package/lib/typeorm/error/ConnectionIsNotSetError.js +5 -8
- package/lib/typeorm/error/ConnectionIsNotSetError.js.map +1 -1
- package/lib/typeorm/error/ConnectionNotFoundError.js +5 -8
- package/lib/typeorm/error/ConnectionNotFoundError.js.map +1 -1
- package/lib/typeorm/error/CustomRepositoryCannotInheritRepositoryError.js +7 -10
- package/lib/typeorm/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
- package/lib/typeorm/error/CustomRepositoryDoesNotHaveEntityError.js +7 -10
- package/lib/typeorm/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
- package/lib/typeorm/error/CustomRepositoryNotFoundError.js +7 -10
- package/lib/typeorm/error/CustomRepositoryNotFoundError.js.map +1 -1
- package/lib/typeorm/error/DataTypeNotSupportedError.js +7 -11
- package/lib/typeorm/error/DataTypeNotSupportedError.js.map +1 -1
- package/lib/typeorm/error/DriverOptionNotSetError.js +6 -9
- package/lib/typeorm/error/DriverOptionNotSetError.js.map +1 -1
- package/lib/typeorm/error/DriverPackageNotInstalledError.js +6 -9
- package/lib/typeorm/error/DriverPackageNotInstalledError.js.map +1 -1
- package/lib/typeorm/error/EntityMetadataNotFoundError.js +10 -14
- package/lib/typeorm/error/EntityMetadataNotFoundError.js.map +1 -1
- package/lib/typeorm/error/EntityNotFoundError.js +13 -17
- package/lib/typeorm/error/EntityNotFoundError.js.map +1 -1
- package/lib/typeorm/error/EntityPropertyNotFoundError.js +7 -11
- package/lib/typeorm/error/EntityPropertyNotFoundError.js.map +1 -1
- package/lib/typeorm/error/FindRelationsNotFoundError.js +9 -13
- package/lib/typeorm/error/FindRelationsNotFoundError.js.map +1 -1
- package/lib/typeorm/error/ForbiddenTransactionModeOverrideError.js +6 -9
- package/lib/typeorm/error/ForbiddenTransactionModeOverrideError.js.map +1 -1
- package/lib/typeorm/error/InitializedRelationError.js +7 -10
- package/lib/typeorm/error/InitializedRelationError.js.map +1 -1
- package/lib/typeorm/error/InsertValuesMissingError.js +6 -9
- package/lib/typeorm/error/InsertValuesMissingError.js.map +1 -1
- package/lib/typeorm/error/LimitOnUpdateNotSupportedError.js +5 -8
- package/lib/typeorm/error/LimitOnUpdateNotSupportedError.js.map +1 -1
- package/lib/typeorm/error/LockNotSupportedOnGivenDriverError.js +5 -8
- package/lib/typeorm/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
- package/lib/typeorm/error/MetadataAlreadyExistsError.js +6 -9
- package/lib/typeorm/error/MetadataAlreadyExistsError.js.map +1 -1
- package/lib/typeorm/error/MetadataWithSuchNameAlreadyExistsError.js +6 -9
- package/lib/typeorm/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
- package/lib/typeorm/error/MissingDeleteDateColumnError.js +5 -8
- package/lib/typeorm/error/MissingDeleteDateColumnError.js.map +1 -1
- package/lib/typeorm/error/MissingDriverError.js +6 -10
- package/lib/typeorm/error/MissingDriverError.js.map +1 -1
- package/lib/typeorm/error/MissingJoinColumnError.js +12 -16
- package/lib/typeorm/error/MissingJoinColumnError.js.map +1 -1
- package/lib/typeorm/error/MissingJoinTableError.js +12 -16
- package/lib/typeorm/error/MissingJoinTableError.js.map +1 -1
- package/lib/typeorm/error/MissingPrimaryColumnError.js +6 -9
- package/lib/typeorm/error/MissingPrimaryColumnError.js.map +1 -1
- package/lib/typeorm/error/MustBeEntityError.js +5 -8
- package/lib/typeorm/error/MustBeEntityError.js.map +1 -1
- package/lib/typeorm/error/NamingStrategyNotFoundError.js +9 -13
- package/lib/typeorm/error/NamingStrategyNotFoundError.js.map +1 -1
- package/lib/typeorm/error/NestedSetMultipleRootError.js +5 -8
- package/lib/typeorm/error/NestedSetMultipleRootError.js.map +1 -1
- package/lib/typeorm/error/NoConnectionForRepositoryError.js +6 -9
- package/lib/typeorm/error/NoConnectionForRepositoryError.js.map +1 -1
- package/lib/typeorm/error/NoConnectionOptionError.js +6 -9
- package/lib/typeorm/error/NoConnectionOptionError.js.map +1 -1
- package/lib/typeorm/error/NoNeedToReleaseEntityManagerError.js +7 -10
- package/lib/typeorm/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
- package/lib/typeorm/error/NoVersionOrUpdateDateColumnError.js +5 -8
- package/lib/typeorm/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
- package/lib/typeorm/error/OffsetWithoutLimitNotSupportedError.js +7 -10
- package/lib/typeorm/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
- package/lib/typeorm/error/OptimisticLockCanNotBeUsedError.js +5 -8
- package/lib/typeorm/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
- package/lib/typeorm/error/OptimisticLockVersionMismatchError.js +5 -8
- package/lib/typeorm/error/OptimisticLockVersionMismatchError.js.map +1 -1
- package/lib/typeorm/error/PersistedEntityNotFoundError.js +5 -8
- package/lib/typeorm/error/PersistedEntityNotFoundError.js.map +1 -1
- package/lib/typeorm/error/PessimisticLockTransactionRequiredError.js +5 -8
- package/lib/typeorm/error/PessimisticLockTransactionRequiredError.js.map +1 -1
- package/lib/typeorm/error/PrimaryColumnCannotBeNullableError.js +6 -9
- package/lib/typeorm/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
- package/lib/typeorm/error/QueryFailedError.js +18 -17
- package/lib/typeorm/error/QueryFailedError.js.map +1 -1
- package/lib/typeorm/error/QueryRunnerAlreadyReleasedError.js +5 -8
- package/lib/typeorm/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
- package/lib/typeorm/error/QueryRunnerProviderAlreadyReleasedError.js +6 -9
- package/lib/typeorm/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
- package/lib/typeorm/error/RepositoryNotTreeError.js +9 -13
- package/lib/typeorm/error/RepositoryNotTreeError.js.map +1 -1
- package/lib/typeorm/error/ReturningStatementNotSupportedError.js +5 -8
- package/lib/typeorm/error/ReturningStatementNotSupportedError.js.map +1 -1
- package/lib/typeorm/error/SubjectRemovedAndUpdatedError.js +6 -9
- package/lib/typeorm/error/SubjectRemovedAndUpdatedError.js.map +1 -1
- package/lib/typeorm/error/SubjectWithoutIdentifierError.js +5 -8
- package/lib/typeorm/error/SubjectWithoutIdentifierError.js.map +1 -1
- package/lib/typeorm/error/TransactionAlreadyStartedError.js +5 -8
- package/lib/typeorm/error/TransactionAlreadyStartedError.js.map +1 -1
- package/lib/typeorm/error/TransactionNotStartedError.js +5 -8
- package/lib/typeorm/error/TransactionNotStartedError.js.map +1 -1
- package/lib/typeorm/error/TreeRepositoryNotSupportedError.js +5 -8
- package/lib/typeorm/error/TreeRepositoryNotSupportedError.js.map +1 -1
- package/lib/typeorm/error/TypeORMError.js +9 -18
- package/lib/typeorm/error/TypeORMError.js.map +1 -1
- package/lib/typeorm/error/UpdateValuesMissingError.js +5 -8
- package/lib/typeorm/error/UpdateValuesMissingError.js.map +1 -1
- package/lib/typeorm/error/UsingJoinColumnIsNotAllowedError.js +6 -9
- package/lib/typeorm/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
- package/lib/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +7 -10
- package/lib/typeorm/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
- package/lib/typeorm/error/UsingJoinTableIsNotAllowedError.js +7 -10
- package/lib/typeorm/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
- package/lib/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.js +7 -10
- package/lib/typeorm/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
- package/lib/typeorm/error/index.js +75 -62
- package/lib/typeorm/error/index.js.map +1 -1
- package/lib/typeorm/find-options/EqualOperator.js +6 -10
- package/lib/typeorm/find-options/EqualOperator.js.map +1 -1
- package/lib/typeorm/find-options/FindManyOptions.js.map +1 -1
- package/lib/typeorm/find-options/FindOneOptions.js.map +1 -1
- package/lib/typeorm/find-options/FindOperator.js +90 -94
- package/lib/typeorm/find-options/FindOperator.js.map +1 -1
- package/lib/typeorm/find-options/FindOperatorType.js.map +1 -1
- package/lib/typeorm/find-options/FindOptionsOrder.js.map +1 -1
- package/lib/typeorm/find-options/FindOptionsRelations.js.map +1 -1
- package/lib/typeorm/find-options/FindOptionsSelect.js.map +1 -1
- package/lib/typeorm/find-options/FindOptionsUtils.js +56 -87
- package/lib/typeorm/find-options/FindOptionsUtils.js.map +1 -1
- package/lib/typeorm/find-options/FindOptionsWhere.js.map +1 -1
- package/lib/typeorm/find-options/FindTreeOptions.js.map +1 -1
- package/lib/typeorm/find-options/JoinOptions.js.map +1 -1
- package/lib/typeorm/find-options/OrderByCondition.js.map +1 -1
- package/lib/typeorm/find-options/mongodb/MongoFindManyOptions.js.map +1 -1
- package/lib/typeorm/find-options/mongodb/MongoFindOneOptions.js.map +1 -1
- package/lib/typeorm/find-options/operator/And.js +2 -6
- package/lib/typeorm/find-options/operator/And.js.map +1 -1
- package/lib/typeorm/find-options/operator/Any.js +1 -1
- package/lib/typeorm/find-options/operator/Any.js.map +1 -1
- package/lib/typeorm/find-options/operator/ArrayContainedBy.js +1 -1
- package/lib/typeorm/find-options/operator/ArrayContainedBy.js.map +1 -1
- package/lib/typeorm/find-options/operator/ArrayContains.js +1 -1
- package/lib/typeorm/find-options/operator/ArrayContains.js.map +1 -1
- package/lib/typeorm/find-options/operator/ArrayOverlap.js +1 -1
- package/lib/typeorm/find-options/operator/ArrayOverlap.js.map +1 -1
- package/lib/typeorm/find-options/operator/Between.js +1 -1
- package/lib/typeorm/find-options/operator/Between.js.map +1 -1
- package/lib/typeorm/find-options/operator/Equal.js +1 -1
- package/lib/typeorm/find-options/operator/Equal.js.map +1 -1
- package/lib/typeorm/find-options/operator/ILike.js +1 -1
- package/lib/typeorm/find-options/operator/ILike.js.map +1 -1
- package/lib/typeorm/find-options/operator/In.js +1 -1
- package/lib/typeorm/find-options/operator/In.js.map +1 -1
- package/lib/typeorm/find-options/operator/IsNull.js +1 -1
- package/lib/typeorm/find-options/operator/IsNull.js.map +1 -1
- package/lib/typeorm/find-options/operator/LessThan.js +1 -1
- package/lib/typeorm/find-options/operator/LessThan.js.map +1 -1
- package/lib/typeorm/find-options/operator/LessThanOrEqual.js +1 -1
- package/lib/typeorm/find-options/operator/LessThanOrEqual.js.map +1 -1
- package/lib/typeorm/find-options/operator/Like.js +1 -1
- package/lib/typeorm/find-options/operator/Like.js.map +1 -1
- package/lib/typeorm/find-options/operator/MoreThan.js +1 -1
- package/lib/typeorm/find-options/operator/MoreThan.js.map +1 -1
- package/lib/typeorm/find-options/operator/MoreThanOrEqual.js +1 -1
- package/lib/typeorm/find-options/operator/MoreThanOrEqual.js.map +1 -1
- package/lib/typeorm/find-options/operator/Not.js +1 -1
- package/lib/typeorm/find-options/operator/Not.js.map +1 -1
- package/lib/typeorm/find-options/operator/Raw.js +1 -1
- package/lib/typeorm/find-options/operator/Raw.js.map +1 -1
- package/lib/typeorm/globals.js +33 -99
- package/lib/typeorm/globals.js.map +1 -1
- package/lib/typeorm/index.d.ts +0 -1
- package/lib/typeorm/index.js +136 -126
- package/lib/typeorm/index.js.map +1 -1
- package/lib/typeorm/logger/AdvancedConsoleLogger.js +26 -26
- package/lib/typeorm/logger/AdvancedConsoleLogger.js.map +1 -1
- package/lib/typeorm/logger/DebugLogger.js +24 -27
- package/lib/typeorm/logger/DebugLogger.js.map +1 -1
- package/lib/typeorm/logger/FileLogger.js +31 -30
- package/lib/typeorm/logger/FileLogger.js.map +1 -1
- package/lib/typeorm/logger/Logger.js.map +1 -1
- package/lib/typeorm/logger/LoggerFactory.js +9 -12
- package/lib/typeorm/logger/LoggerFactory.js.map +1 -1
- package/lib/typeorm/logger/LoggerOptions.js.map +1 -1
- package/lib/typeorm/logger/SimpleConsoleLogger.js +25 -25
- package/lib/typeorm/logger/SimpleConsoleLogger.js.map +1 -1
- package/lib/typeorm/metadata/CheckMetadata.js +30 -6
- package/lib/typeorm/metadata/CheckMetadata.js.map +1 -1
- package/lib/typeorm/metadata/ColumnMetadata.js +343 -199
- package/lib/typeorm/metadata/ColumnMetadata.js.map +1 -1
- package/lib/typeorm/metadata/EmbeddedMetadata.js +174 -153
- package/lib/typeorm/metadata/EmbeddedMetadata.js.map +1 -1
- package/lib/typeorm/metadata/EntityListenerMetadata.js +35 -15
- package/lib/typeorm/metadata/EntityListenerMetadata.js.map +1 -1
- package/lib/typeorm/metadata/EntityMetadata.js +516 -372
- package/lib/typeorm/metadata/EntityMetadata.js.map +1 -1
- package/lib/typeorm/metadata/ExclusionMetadata.js +30 -6
- package/lib/typeorm/metadata/ExclusionMetadata.js.map +1 -1
- package/lib/typeorm/metadata/ForeignKeyMetadata.js +60 -24
- package/lib/typeorm/metadata/ForeignKeyMetadata.js.map +1 -1
- package/lib/typeorm/metadata/IndexMetadata.js +119 -73
- package/lib/typeorm/metadata/IndexMetadata.js.map +1 -1
- package/lib/typeorm/metadata/RelationCountMetadata.js +40 -10
- package/lib/typeorm/metadata/RelationCountMetadata.js.map +1 -1
- package/lib/typeorm/metadata/RelationIdMetadata.js +47 -18
- package/lib/typeorm/metadata/RelationIdMetadata.js.map +1 -1
- package/lib/typeorm/metadata/RelationMetadata.js +270 -187
- package/lib/typeorm/metadata/RelationMetadata.js.map +1 -1
- package/lib/typeorm/metadata/UniqueMetadata.js +72 -47
- package/lib/typeorm/metadata/UniqueMetadata.js.map +1 -1
- package/lib/typeorm/metadata/types/ClosureTreeOptions.js.map +1 -1
- package/lib/typeorm/metadata/types/DeferrableType.js.map +1 -1
- package/lib/typeorm/metadata/types/EventListenerTypes.js +13 -16
- package/lib/typeorm/metadata/types/EventListenerTypes.js.map +1 -1
- package/lib/typeorm/metadata/types/OnDeleteType.js.map +1 -1
- package/lib/typeorm/metadata/types/OnUpdateType.js.map +1 -1
- package/lib/typeorm/metadata/types/PropertyTypeInFunction.js.map +1 -1
- package/lib/typeorm/metadata/types/RelationTypeInFunction.js.map +1 -1
- package/lib/typeorm/metadata/types/RelationTypes.js.map +1 -1
- package/lib/typeorm/metadata/types/TableTypes.js.map +1 -1
- package/lib/typeorm/metadata/types/TreeTypes.js.map +1 -1
- package/lib/typeorm/metadata-args/CheckMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/ColumnMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/DiscriminatorValueMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/EmbeddedMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/EntityListenerMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/EntityRepositoryMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/EntitySubscriberMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/ExclusionMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/GeneratedMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/IndexMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/InheritanceMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/JoinColumnMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/JoinTableMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/MetadataArgsStorage.js +108 -113
- package/lib/typeorm/metadata-args/MetadataArgsStorage.js.map +1 -1
- package/lib/typeorm/metadata-args/NamingStrategyMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/RelationCountMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/RelationIdMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/RelationMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/TableMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/TransactionEntityMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/TransactionRepositoryMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/TreeMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/UniqueMetadataArgs.js.map +1 -1
- package/lib/typeorm/metadata-args/types/ColumnMode.js.map +1 -1
- package/lib/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +14 -15
- package/lib/typeorm/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
- package/lib/typeorm/metadata-builder/EntityMetadataBuilder.js +291 -347
- package/lib/typeorm/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/lib/typeorm/metadata-builder/EntityMetadataValidator.js +63 -77
- package/lib/typeorm/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/lib/typeorm/metadata-builder/JunctionEntityMetadataBuilder.js +64 -69
- package/lib/typeorm/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/lib/typeorm/metadata-builder/MetadataUtils.js +12 -15
- package/lib/typeorm/metadata-builder/MetadataUtils.js.map +1 -1
- package/lib/typeorm/metadata-builder/RelationJoinColumnBuilder.js +43 -49
- package/lib/typeorm/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
- package/lib/typeorm/migration/Migration.js +23 -4
- package/lib/typeorm/migration/Migration.js.map +1 -1
- package/lib/typeorm/migration/MigrationExecutor.js +432 -691
- package/lib/typeorm/migration/MigrationExecutor.js.map +1 -1
- package/lib/typeorm/migration/MigrationInterface.js.map +1 -1
- package/lib/typeorm/naming-strategy/DefaultNamingStrategy.js +80 -84
- package/lib/typeorm/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/lib/typeorm/naming-strategy/NamingStrategyInterface.js.map +1 -1
- package/lib/typeorm/persistence/EntityPersistExecutor.js +154 -212
- package/lib/typeorm/persistence/EntityPersistExecutor.js.map +1 -1
- package/lib/typeorm/persistence/Subject.js +162 -149
- package/lib/typeorm/persistence/Subject.js.map +1 -1
- package/lib/typeorm/persistence/SubjectChangeMap.js.map +1 -1
- package/lib/typeorm/persistence/SubjectChangedColumnsComputer.js +29 -35
- package/lib/typeorm/persistence/SubjectChangedColumnsComputer.js.map +1 -1
- package/lib/typeorm/persistence/SubjectDatabaseEntityLoader.js +99 -130
- package/lib/typeorm/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
- package/lib/typeorm/persistence/SubjectExecutor.js +635 -879
- package/lib/typeorm/persistence/SubjectExecutor.js.map +1 -1
- package/lib/typeorm/persistence/SubjectTopoligicalSorter.js +62 -58
- package/lib/typeorm/persistence/SubjectTopoligicalSorter.js.map +1 -1
- package/lib/typeorm/persistence/subject-builder/CascadesSubjectBuilder.js +16 -19
- package/lib/typeorm/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
- package/lib/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.js +50 -53
- package/lib/typeorm/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
- package/lib/typeorm/persistence/subject-builder/OneToManySubjectBuilder.js +28 -33
- package/lib/typeorm/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
- package/lib/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +19 -20
- package/lib/typeorm/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
- package/lib/typeorm/persistence/tree/ClosureSubjectExecutor.js +202 -271
- package/lib/typeorm/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
- package/lib/typeorm/persistence/tree/MaterializedPathSubjectExecutor.js +79 -121
- package/lib/typeorm/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
- package/lib/typeorm/persistence/tree/NestedSetSubjectExecutor.js +220 -353
- package/lib/typeorm/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
- package/lib/typeorm/platform/PlatformTools.js +66 -78
- package/lib/typeorm/platform/PlatformTools.js.map +1 -1
- package/lib/typeorm/query-builder/Alias.js +31 -32
- package/lib/typeorm/query-builder/Alias.js.map +1 -1
- package/lib/typeorm/query-builder/Brackets.js +8 -5
- package/lib/typeorm/query-builder/Brackets.js.map +1 -1
- package/lib/typeorm/query-builder/DeleteQueryBuilder.js +96 -120
- package/lib/typeorm/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/lib/typeorm/query-builder/InsertOrUpdateOptions.js.map +1 -1
- package/lib/typeorm/query-builder/InsertQueryBuilder.js +321 -367
- package/lib/typeorm/query-builder/InsertQueryBuilder.js.map +1 -1
- package/lib/typeorm/query-builder/JoinAttribute.js +175 -206
- package/lib/typeorm/query-builder/JoinAttribute.js.map +1 -1
- package/lib/typeorm/query-builder/JoinOptions.js.map +1 -1
- package/lib/typeorm/query-builder/NotBrackets.js +4 -11
- package/lib/typeorm/query-builder/NotBrackets.js.map +1 -1
- package/lib/typeorm/query-builder/QueryBuilder.js +400 -646
- package/lib/typeorm/query-builder/QueryBuilder.js.map +1 -1
- package/lib/typeorm/query-builder/QueryBuilderCte.js.map +1 -1
- package/lib/typeorm/query-builder/QueryBuilderUtils.js +5 -9
- package/lib/typeorm/query-builder/QueryBuilderUtils.js.map +1 -1
- package/lib/typeorm/query-builder/QueryExpressionMap.js +304 -233
- package/lib/typeorm/query-builder/QueryExpressionMap.js.map +1 -1
- package/lib/typeorm/query-builder/QueryPartialEntity.js.map +1 -1
- package/lib/typeorm/query-builder/RelationIdLoader.js +166 -189
- package/lib/typeorm/query-builder/RelationIdLoader.js.map +1 -1
- package/lib/typeorm/query-builder/RelationLoader.js +81 -94
- package/lib/typeorm/query-builder/RelationLoader.js.map +1 -1
- package/lib/typeorm/query-builder/RelationQueryBuilder.js +91 -127
- package/lib/typeorm/query-builder/RelationQueryBuilder.js.map +1 -1
- package/lib/typeorm/query-builder/RelationRemover.js +121 -124
- package/lib/typeorm/query-builder/RelationRemover.js.map +1 -1
- package/lib/typeorm/query-builder/RelationUpdater.js +130 -148
- package/lib/typeorm/query-builder/RelationUpdater.js.map +1 -1
- package/lib/typeorm/query-builder/ReturningResultsEntityUpdator.js +131 -159
- package/lib/typeorm/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
- package/lib/typeorm/query-builder/SelectQuery.js.map +1 -1
- package/lib/typeorm/query-builder/SelectQueryBuilder.js +955 -1211
- package/lib/typeorm/query-builder/SelectQueryBuilder.js.map +1 -1
- package/lib/typeorm/query-builder/SelectQueryBuilderOption.js.map +1 -1
- package/lib/typeorm/query-builder/SoftDeleteQueryBuilder.js +155 -194
- package/lib/typeorm/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/lib/typeorm/query-builder/UpdateQueryBuilder.js +204 -246
- package/lib/typeorm/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/lib/typeorm/query-builder/WhereClause.js.map +1 -1
- package/lib/typeorm/query-builder/WhereExpressionBuilder.js.map +1 -1
- package/lib/typeorm/query-builder/relation-count/RelationCountAttribute.js +85 -98
- package/lib/typeorm/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
- package/lib/typeorm/query-builder/relation-count/RelationCountLoadResult.js.map +1 -1
- package/lib/typeorm/query-builder/relation-count/RelationCountLoader.js +153 -172
- package/lib/typeorm/query-builder/relation-count/RelationCountLoader.js.map +1 -1
- package/lib/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +16 -17
- package/lib/typeorm/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
- package/lib/typeorm/query-builder/relation-id/RelationIdAttribute.js +93 -107
- package/lib/typeorm/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
- package/lib/typeorm/query-builder/relation-id/RelationIdLoadResult.js.map +1 -1
- package/lib/typeorm/query-builder/relation-id/RelationIdLoader.js +259 -267
- package/lib/typeorm/query-builder/relation-id/RelationIdLoader.js.map +1 -1
- package/lib/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +16 -17
- package/lib/typeorm/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
- package/lib/typeorm/query-builder/result/DeleteResult.js +14 -8
- package/lib/typeorm/query-builder/result/DeleteResult.js.map +1 -1
- package/lib/typeorm/query-builder/result/InsertResult.js +19 -18
- package/lib/typeorm/query-builder/result/InsertResult.js.map +1 -1
- package/lib/typeorm/query-builder/result/UpdateResult.js +24 -18
- package/lib/typeorm/query-builder/result/UpdateResult.js.map +1 -1
- package/lib/typeorm/query-builder/transformer/DocumentToEntityTransformer.js +24 -26
- package/lib/typeorm/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
- package/lib/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +77 -112
- package/lib/typeorm/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
- package/lib/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.js +16 -22
- package/lib/typeorm/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
- package/lib/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.js +117 -132
- package/lib/typeorm/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/lib/typeorm/query-runner/BaseQueryRunner.js +227 -393
- package/lib/typeorm/query-runner/BaseQueryRunner.js.map +1 -1
- package/lib/typeorm/query-runner/QueryLock.js +19 -32
- package/lib/typeorm/query-runner/QueryLock.js.map +1 -1
- package/lib/typeorm/query-runner/QueryResult.js +14 -9
- package/lib/typeorm/query-runner/QueryResult.js.map +1 -1
- package/lib/typeorm/query-runner/QueryRunner.js.map +1 -1
- package/lib/typeorm/repository/AbstractRepository.js +46 -50
- package/lib/typeorm/repository/AbstractRepository.js.map +1 -1
- package/lib/typeorm/repository/BaseEntity.js +106 -123
- package/lib/typeorm/repository/BaseEntity.js.map +1 -1
- package/lib/typeorm/repository/EntityId.js.map +1 -1
- package/lib/typeorm/repository/FindTreesOptions.js.map +1 -1
- package/lib/typeorm/repository/MongoRepository.js +109 -135
- package/lib/typeorm/repository/MongoRepository.js.map +1 -1
- package/lib/typeorm/repository/RemoveOptions.js.map +1 -1
- package/lib/typeorm/repository/Repository.js +108 -140
- package/lib/typeorm/repository/Repository.js.map +1 -1
- package/lib/typeorm/repository/SaveOptions.js.map +1 -1
- package/lib/typeorm/repository/TreeRepository.js +107 -154
- package/lib/typeorm/repository/TreeRepository.js.map +1 -1
- package/lib/typeorm/repository/UpsertOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/MongoSchemaBuilder.js +30 -42
- package/lib/typeorm/schema-builder/MongoSchemaBuilder.js.map +1 -1
- package/lib/typeorm/schema-builder/RdbmsSchemaBuilder.js +727 -1938
- package/lib/typeorm/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/lib/typeorm/schema-builder/SchemaBuilder.js.map +1 -1
- package/lib/typeorm/schema-builder/options/TableCheckOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/options/TableColumnOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/options/TableExclusionOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/options/TableIndexOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/options/TableOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/options/TableUniqueOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/options/ViewOptions.js.map +1 -1
- package/lib/typeorm/schema-builder/table/Table.js +160 -157
- package/lib/typeorm/schema-builder/table/Table.js.map +1 -1
- package/lib/typeorm/schema-builder/table/TableCheck.js +24 -15
- package/lib/typeorm/schema-builder/table/TableCheck.js.map +1 -1
- package/lib/typeorm/schema-builder/table/TableColumn.js +123 -41
- package/lib/typeorm/schema-builder/table/TableColumn.js.map +1 -1
- package/lib/typeorm/schema-builder/table/TableExclusion.js +19 -9
- package/lib/typeorm/schema-builder/table/TableExclusion.js.map +1 -1
- package/lib/typeorm/schema-builder/table/TableForeignKey.js +52 -20
- package/lib/typeorm/schema-builder/table/TableForeignKey.js.map +1 -1
- package/lib/typeorm/schema-builder/table/TableIndex.js +52 -16
- package/lib/typeorm/schema-builder/table/TableIndex.js.map +1 -1
- package/lib/typeorm/schema-builder/table/TableUnique.js +26 -16
- package/lib/typeorm/schema-builder/table/TableUnique.js.map +1 -1
- package/lib/typeorm/schema-builder/util/TableUtils.js +5 -8
- package/lib/typeorm/schema-builder/util/TableUtils.js.map +1 -1
- package/lib/typeorm/schema-builder/util/ViewUtils.js +4 -7
- package/lib/typeorm/schema-builder/util/ViewUtils.js.map +1 -1
- package/lib/typeorm/schema-builder/view/View.js +32 -10
- package/lib/typeorm/schema-builder/view/View.js.map +1 -1
- package/lib/typeorm/subscriber/Broadcaster.js +180 -216
- package/lib/typeorm/subscriber/Broadcaster.js.map +1 -1
- package/lib/typeorm/subscriber/BroadcasterResult.js +16 -29
- package/lib/typeorm/subscriber/BroadcasterResult.js.map +1 -1
- package/lib/typeorm/subscriber/EntitySubscriberInterface.js.map +1 -1
- package/lib/typeorm/subscriber/event/InsertEvent.js.map +1 -1
- package/lib/typeorm/subscriber/event/LoadEvent.js.map +1 -1
- package/lib/typeorm/subscriber/event/RecoverEvent.js.map +1 -1
- package/lib/typeorm/subscriber/event/RemoveEvent.js.map +1 -1
- package/lib/typeorm/subscriber/event/SoftRemoveEvent.js.map +1 -1
- package/lib/typeorm/subscriber/event/TransactionCommitEvent.js.map +1 -1
- package/lib/typeorm/subscriber/event/TransactionRollbackEvent.js.map +1 -1
- package/lib/typeorm/subscriber/event/TransactionStartEvent.js.map +1 -1
- package/lib/typeorm/subscriber/event/UpdateEvent.js.map +1 -1
- package/lib/typeorm/util/ApplyValueTransformers.js +9 -12
- package/lib/typeorm/util/ApplyValueTransformers.js.map +1 -1
- package/lib/typeorm/util/DateUtils.js +44 -53
- package/lib/typeorm/util/DateUtils.js.map +1 -1
- package/lib/typeorm/util/DepGraph.js +50 -53
- package/lib/typeorm/util/DepGraph.js.map +1 -1
- package/lib/typeorm/util/DirectoryExportedClassesLoader.js +48 -70
- package/lib/typeorm/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/lib/typeorm/util/ImportUtils.js +43 -65
- package/lib/typeorm/util/ImportUtils.js.map +1 -1
- package/lib/typeorm/util/InstanceChecker.js +64 -67
- package/lib/typeorm/util/InstanceChecker.js.map +1 -1
- package/lib/typeorm/util/ObjectUtils.js +13 -42
- package/lib/typeorm/util/ObjectUtils.js.map +1 -1
- package/lib/typeorm/util/OrmUtils.js +91 -158
- package/lib/typeorm/util/OrmUtils.js.map +1 -1
- package/lib/typeorm/util/PathUtils.js +8 -8
- package/lib/typeorm/util/PathUtils.js.map +1 -1
- package/lib/typeorm/util/RandomGenerator.js +22 -25
- package/lib/typeorm/util/RandomGenerator.js.map +1 -1
- package/lib/typeorm/util/StringUtils.js +17 -21
- package/lib/typeorm/util/StringUtils.js.map +1 -1
- package/lib/typeorm/util/TreeRepositoryUtils.js +27 -30
- package/lib/typeorm/util/TreeRepositoryUtils.js.map +1 -1
- package/lib/typeorm/util/VersionUtils.js +9 -13
- package/lib/typeorm/util/VersionUtils.js.map +1 -1
- package/lib/typeorm/util/escapeRegExp.js +2 -2
- package/lib/typeorm/util/escapeRegExp.js.map +1 -1
- package/migrations/index.js +15 -2
- package/migrations/index.js.map +1 -1
- package/migrations/migrations_index._auto-generated_.d.ts +1 -0
- package/migrations/migrations_index._auto-generated_.js.map +1 -1
- package/package.json +8 -44
- package/src.d.ts +1 -1
- package/taon.jsonc +3 -30
- package/tmp-environment.json +8 -370
- package/websql/esm2022/lib/typeorm/driver/cordova/CordovaDriver.mjs +1 -1
- package/websql/esm2022/lib/typeorm/driver/cordova/CordovaQueryRunner.mjs +1 -1
- package/websql/esm2022/lib/typeorm/driver/nativescript/NativescriptDriver.mjs +1 -1
- package/websql/esm2022/lib/typeorm/driver/nativescript/NativescriptQueryRunner.mjs +1 -1
- package/websql/esm2022/lib/typeorm/driver/react-native/ReactNativeDriver.mjs +1 -1
- package/websql/esm2022/lib/typeorm/driver/react-native/ReactNativeQueryRunner.mjs +1 -1
- package/websql/esm2022/lib/typeorm/driver/sqljs/SqljsDriver.mjs +1 -1
- package/websql/esm2022/lib/typeorm/driver/sqljs/SqljsQueryRunner.mjs +1 -1
- package/websql/esm2022/lib/typeorm/index.mjs +1 -3
- package/websql/fesm2022/taon-typeorm.mjs.map +1 -1
- package/browser/package.json +0 -25
- package/websql/package.json +0 -25
|
@@ -1,313 +1,281 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
2
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
9
|
exports.InsertQueryBuilder = void 0;
|
|
4
|
-
|
|
5
|
-
var QueryBuilder_1 = require("./QueryBuilder");
|
|
10
|
+
const QueryBuilder_1 = require("./QueryBuilder");
|
|
6
11
|
//#endregion
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
const InsertResult_1 = require("./result/InsertResult");
|
|
13
|
+
const ReturningStatementNotSupportedError_1 = require("../error/ReturningStatementNotSupportedError");
|
|
14
|
+
const InsertValuesMissingError_1 = require("../error/InsertValuesMissingError");
|
|
15
|
+
const ReturningResultsEntityUpdator_1 = require("./ReturningResultsEntityUpdator");
|
|
16
|
+
const BroadcasterResult_1 = require("../subscriber/BroadcasterResult");
|
|
17
|
+
const error_1 = require("../error");
|
|
18
|
+
const uuid_1 = require("uuid");
|
|
14
19
|
//#endregion
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
20
|
+
const DriverUtils_1 = require("../driver/DriverUtils");
|
|
21
|
+
const ObjectUtils_1 = require("../util/ObjectUtils");
|
|
22
|
+
const InstanceChecker_1 = require("../util/InstanceChecker");
|
|
23
|
+
const typescript_class_helpers_1 = require("typescript-class-helpers");
|
|
19
24
|
/**
|
|
20
25
|
* Allows to build complex sql queries in a fashion way and execute those queries.
|
|
21
26
|
*/
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
function InsertQueryBuilder() {
|
|
25
|
-
var _this = _super.apply(this, tslib_1.__spreadArray([], tslib_1.__read(arguments), false)) || this;
|
|
26
|
-
_this["@instanceof"] = Symbol.for("InsertQueryBuilder");
|
|
27
|
-
return _this;
|
|
28
|
-
}
|
|
27
|
+
let InsertQueryBuilder = class InsertQueryBuilder extends QueryBuilder_1.QueryBuilder {
|
|
28
|
+
"@instanceof" = Symbol.for("InsertQueryBuilder");
|
|
29
29
|
// -------------------------------------------------------------------------
|
|
30
30
|
// Public Implemented Methods
|
|
31
31
|
// -------------------------------------------------------------------------
|
|
32
32
|
/**
|
|
33
33
|
* Gets generated SQL query without parameters being replaced.
|
|
34
34
|
*/
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
getQuery() {
|
|
36
|
+
let sql = this.createComment();
|
|
37
37
|
sql += this.createCteExpression();
|
|
38
38
|
sql += this.createInsertExpression();
|
|
39
39
|
return sql.trim();
|
|
40
|
-
}
|
|
40
|
+
}
|
|
41
41
|
/**
|
|
42
42
|
* Executes sql generated by query builder and returns raw database results.
|
|
43
43
|
*/
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
_e.label = 5;
|
|
89
|
-
case 5:
|
|
90
|
-
declareSql = null;
|
|
91
|
-
selectOutputSql = null;
|
|
92
|
-
returningResultsEntityUpdator = new ReturningResultsEntityUpdator_1.ReturningResultsEntityUpdator(queryRunner, this.expressionMap);
|
|
93
|
-
returningColumns_1 = [];
|
|
94
|
-
if (Array.isArray(this.expressionMap.returning) &&
|
|
95
|
-
this.expressionMap.mainAlias.hasMetadata) {
|
|
96
|
-
try {
|
|
97
|
-
for (_a = tslib_1.__values(this.expressionMap.returning), _b = _a.next(); !_b.done; _b = _a.next()) {
|
|
98
|
-
columnPath = _b.value;
|
|
99
|
-
returningColumns_1.push.apply(returningColumns_1, tslib_1.__spreadArray([], tslib_1.__read(this.expressionMap.mainAlias.metadata.findColumnsWithPropertyPath(columnPath)), false));
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
103
|
-
finally {
|
|
104
|
-
try {
|
|
105
|
-
if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
|
|
106
|
-
}
|
|
107
|
-
finally { if (e_1) throw e_1.error; }
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
if (this.expressionMap.updateEntity === true &&
|
|
111
|
-
this.expressionMap.mainAlias.hasMetadata) {
|
|
112
|
-
if (!(valueSets.length > 1 &&
|
|
113
|
-
this.connection.driver.options.type === "oracle")) {
|
|
114
|
-
this.expressionMap.extraReturningColumns =
|
|
115
|
-
this.expressionMap.mainAlias.metadata.getInsertionReturningColumns();
|
|
116
|
-
}
|
|
117
|
-
returningColumns_1.push.apply(returningColumns_1, tslib_1.__spreadArray([], tslib_1.__read(this.expressionMap.extraReturningColumns.filter(function (c) { return !returningColumns_1.includes(c); })), false));
|
|
118
|
-
}
|
|
119
|
-
if (returningColumns_1.length > 0 &&
|
|
120
|
-
this.connection.driver.options.type === "mssql") {
|
|
121
|
-
declareSql =
|
|
122
|
-
//#region @backend
|
|
123
|
-
this.connection.driver
|
|
124
|
-
//#endregion
|
|
125
|
-
/* */
|
|
126
|
-
/* */
|
|
127
|
-
/* */
|
|
128
|
-
/* */
|
|
129
|
-
/* */
|
|
130
|
-
.buildTableVariableDeclaration("@OutputTable", returningColumns_1);
|
|
131
|
-
selectOutputSql = "SELECT * FROM @OutputTable";
|
|
132
|
-
}
|
|
133
|
-
_c = tslib_1.__read(this.getQueryAndParameters(), 2), insertSql = _c[0], parameters = _c[1];
|
|
134
|
-
statements = [declareSql, insertSql, selectOutputSql];
|
|
135
|
-
sql = statements.filter(function (s) { return s != null; }).join(";\n\n");
|
|
136
|
-
return [4 /*yield*/, queryRunner.query(sql, parameters, true)];
|
|
137
|
-
case 6:
|
|
138
|
-
queryResult = _e.sent();
|
|
139
|
-
insertResult = InsertResult_1.InsertResult.from(queryResult);
|
|
140
|
-
if (!(this.expressionMap.updateEntity === true &&
|
|
141
|
-
this.expressionMap.mainAlias.hasMetadata)) return [3 /*break*/, 8];
|
|
142
|
-
// console.time(".updating entity");
|
|
143
|
-
return [4 /*yield*/, returningResultsEntityUpdator.insert(insertResult, valueSets)
|
|
144
|
-
// console.timeEnd(".updating entity");
|
|
145
|
-
];
|
|
146
|
-
case 7:
|
|
147
|
-
// console.time(".updating entity");
|
|
148
|
-
_e.sent();
|
|
149
|
-
_e.label = 8;
|
|
150
|
-
case 8:
|
|
151
|
-
if (!(this.expressionMap.callListeners === true &&
|
|
152
|
-
this.expressionMap.mainAlias.hasMetadata)) return [3 /*break*/, 10];
|
|
153
|
-
broadcastResult_2 = new BroadcasterResult_1.BroadcasterResult();
|
|
154
|
-
valueSets.forEach(function (valueSet) {
|
|
155
|
-
queryRunner.broadcaster.broadcastAfterInsertEvent(broadcastResult_2, _this.expressionMap.mainAlias.metadata, valueSet);
|
|
156
|
-
});
|
|
157
|
-
return [4 /*yield*/, broadcastResult_2.wait()];
|
|
158
|
-
case 9:
|
|
159
|
-
_e.sent();
|
|
160
|
-
_e.label = 10;
|
|
161
|
-
case 10:
|
|
162
|
-
if (!transactionStartedByUs) return [3 /*break*/, 12];
|
|
163
|
-
return [4 /*yield*/, queryRunner.commitTransaction()];
|
|
164
|
-
case 11:
|
|
165
|
-
_e.sent();
|
|
166
|
-
_e.label = 12;
|
|
167
|
-
case 12:
|
|
168
|
-
// console.timeEnd(".commit");
|
|
169
|
-
return [2 /*return*/, insertResult];
|
|
170
|
-
case 13:
|
|
171
|
-
error_2 = _e.sent();
|
|
172
|
-
if (!transactionStartedByUs) return [3 /*break*/, 17];
|
|
173
|
-
_e.label = 14;
|
|
174
|
-
case 14:
|
|
175
|
-
_e.trys.push([14, 16, , 17]);
|
|
176
|
-
return [4 /*yield*/, queryRunner.rollbackTransaction()];
|
|
177
|
-
case 15:
|
|
178
|
-
_e.sent();
|
|
179
|
-
return [3 /*break*/, 17];
|
|
180
|
-
case 16:
|
|
181
|
-
rollbackError_1 = _e.sent();
|
|
182
|
-
return [3 /*break*/, 17];
|
|
183
|
-
case 17: throw error_2;
|
|
184
|
-
case 18:
|
|
185
|
-
if (!(queryRunner !== this.queryRunner)) return [3 /*break*/, 20];
|
|
186
|
-
// means we created our own query runner
|
|
187
|
-
return [4 /*yield*/, queryRunner.release()];
|
|
188
|
-
case 19:
|
|
189
|
-
// means we created our own query runner
|
|
190
|
-
_e.sent();
|
|
191
|
-
_e.label = 20;
|
|
192
|
-
case 20: return [7 /*endfinally*/];
|
|
193
|
-
case 21: return [2 /*return*/];
|
|
44
|
+
async execute() {
|
|
45
|
+
// console.time(".value sets");
|
|
46
|
+
const valueSets = this.getValueSets();
|
|
47
|
+
// console.timeEnd(".value sets");
|
|
48
|
+
// If user passed empty array of entities then we don't need to do
|
|
49
|
+
// anything.
|
|
50
|
+
//
|
|
51
|
+
// Fixes GitHub issues #3111 and #5734. If we were to let this through
|
|
52
|
+
// we would run into problems downstream, like subscribers getting
|
|
53
|
+
// invoked with the empty array where they expect an entity, and SQL
|
|
54
|
+
// queries with an empty VALUES clause.
|
|
55
|
+
if (valueSets.length === 0)
|
|
56
|
+
return new InsertResult_1.InsertResult();
|
|
57
|
+
// console.time("QueryBuilder.execute");
|
|
58
|
+
// console.time(".database stuff");
|
|
59
|
+
const queryRunner = this.obtainQueryRunner();
|
|
60
|
+
let transactionStartedByUs = false;
|
|
61
|
+
try {
|
|
62
|
+
// start transaction if it was enabled
|
|
63
|
+
if (this.expressionMap.useTransaction === true &&
|
|
64
|
+
queryRunner.isTransactionActive === false) {
|
|
65
|
+
await queryRunner.startTransaction();
|
|
66
|
+
transactionStartedByUs = true;
|
|
67
|
+
}
|
|
68
|
+
// console.timeEnd(".database stuff");
|
|
69
|
+
// call before insertion methods in listeners and subscribers
|
|
70
|
+
if (this.expressionMap.callListeners === true &&
|
|
71
|
+
this.expressionMap.mainAlias.hasMetadata) {
|
|
72
|
+
const broadcastResult = new BroadcasterResult_1.BroadcasterResult();
|
|
73
|
+
valueSets.forEach((valueSet) => {
|
|
74
|
+
queryRunner.broadcaster.broadcastBeforeInsertEvent(broadcastResult, this.expressionMap.mainAlias.metadata, valueSet);
|
|
75
|
+
});
|
|
76
|
+
await broadcastResult.wait();
|
|
77
|
+
}
|
|
78
|
+
let declareSql = null;
|
|
79
|
+
let selectOutputSql = null;
|
|
80
|
+
// if update entity mode is enabled we may need extra columns for the returning statement
|
|
81
|
+
// console.time(".prepare returning statement");
|
|
82
|
+
const returningResultsEntityUpdator = new ReturningResultsEntityUpdator_1.ReturningResultsEntityUpdator(queryRunner, this.expressionMap);
|
|
83
|
+
const returningColumns = [];
|
|
84
|
+
if (Array.isArray(this.expressionMap.returning) &&
|
|
85
|
+
this.expressionMap.mainAlias.hasMetadata) {
|
|
86
|
+
for (const columnPath of this.expressionMap.returning) {
|
|
87
|
+
returningColumns.push(...this.expressionMap.mainAlias.metadata.findColumnsWithPropertyPath(columnPath));
|
|
194
88
|
}
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
|
|
89
|
+
}
|
|
90
|
+
if (this.expressionMap.updateEntity === true &&
|
|
91
|
+
this.expressionMap.mainAlias.hasMetadata) {
|
|
92
|
+
if (!(valueSets.length > 1 &&
|
|
93
|
+
this.connection.driver.options.type === "oracle")) {
|
|
94
|
+
this.expressionMap.extraReturningColumns =
|
|
95
|
+
this.expressionMap.mainAlias.metadata.getInsertionReturningColumns();
|
|
96
|
+
}
|
|
97
|
+
returningColumns.push(...this.expressionMap.extraReturningColumns.filter((c) => !returningColumns.includes(c)));
|
|
98
|
+
}
|
|
99
|
+
if (returningColumns.length > 0 &&
|
|
100
|
+
this.connection.driver.options.type === "mssql") {
|
|
101
|
+
declareSql =
|
|
102
|
+
//#region @backend
|
|
103
|
+
this.connection.driver
|
|
104
|
+
//#endregion
|
|
105
|
+
/* */
|
|
106
|
+
/* */
|
|
107
|
+
/* */
|
|
108
|
+
/* */
|
|
109
|
+
/* */
|
|
110
|
+
.buildTableVariableDeclaration("@OutputTable", returningColumns);
|
|
111
|
+
selectOutputSql = `SELECT * FROM @OutputTable`;
|
|
112
|
+
}
|
|
113
|
+
// console.timeEnd(".prepare returning statement");
|
|
114
|
+
// execute query
|
|
115
|
+
// console.time(".getting query and parameters");
|
|
116
|
+
const [insertSql, parameters] = this.getQueryAndParameters();
|
|
117
|
+
// console.timeEnd(".getting query and parameters");
|
|
118
|
+
// console.time(".query execution by database");
|
|
119
|
+
const statements = [declareSql, insertSql, selectOutputSql];
|
|
120
|
+
const sql = statements.filter((s) => s != null).join(";\n\n");
|
|
121
|
+
const queryResult = await queryRunner.query(sql, parameters, true);
|
|
122
|
+
const insertResult = InsertResult_1.InsertResult.from(queryResult);
|
|
123
|
+
// console.timeEnd(".query execution by database");
|
|
124
|
+
// load returning results and set them to the entity if entity updation is enabled
|
|
125
|
+
if (this.expressionMap.updateEntity === true &&
|
|
126
|
+
this.expressionMap.mainAlias.hasMetadata) {
|
|
127
|
+
// console.time(".updating entity");
|
|
128
|
+
await returningResultsEntityUpdator.insert(insertResult, valueSets);
|
|
129
|
+
// console.timeEnd(".updating entity");
|
|
130
|
+
}
|
|
131
|
+
// call after insertion methods in listeners and subscribers
|
|
132
|
+
if (this.expressionMap.callListeners === true &&
|
|
133
|
+
this.expressionMap.mainAlias.hasMetadata) {
|
|
134
|
+
const broadcastResult = new BroadcasterResult_1.BroadcasterResult();
|
|
135
|
+
valueSets.forEach((valueSet) => {
|
|
136
|
+
queryRunner.broadcaster.broadcastAfterInsertEvent(broadcastResult, this.expressionMap.mainAlias.metadata, valueSet);
|
|
137
|
+
});
|
|
138
|
+
await broadcastResult.wait();
|
|
139
|
+
}
|
|
140
|
+
// close transaction if we started it
|
|
141
|
+
// console.time(".commit");
|
|
142
|
+
if (transactionStartedByUs) {
|
|
143
|
+
await queryRunner.commitTransaction();
|
|
144
|
+
}
|
|
145
|
+
// console.timeEnd(".commit");
|
|
146
|
+
return insertResult;
|
|
147
|
+
}
|
|
148
|
+
catch (error) {
|
|
149
|
+
// rollback transaction if we started it
|
|
150
|
+
if (transactionStartedByUs) {
|
|
151
|
+
try {
|
|
152
|
+
await queryRunner.rollbackTransaction();
|
|
153
|
+
}
|
|
154
|
+
catch (rollbackError) { }
|
|
155
|
+
}
|
|
156
|
+
throw error;
|
|
157
|
+
}
|
|
158
|
+
finally {
|
|
159
|
+
// console.time(".releasing connection");
|
|
160
|
+
if (queryRunner !== this.queryRunner) {
|
|
161
|
+
// means we created our own query runner
|
|
162
|
+
await queryRunner.release();
|
|
163
|
+
}
|
|
164
|
+
// console.timeEnd(".releasing connection");
|
|
165
|
+
// console.timeEnd("QueryBuilder.execute");
|
|
166
|
+
}
|
|
167
|
+
}
|
|
198
168
|
// -------------------------------------------------------------------------
|
|
199
169
|
// Public Methods
|
|
200
170
|
// -------------------------------------------------------------------------
|
|
201
171
|
/**
|
|
202
172
|
* Specifies INTO which entity's table insertion will be executed.
|
|
203
173
|
*/
|
|
204
|
-
|
|
174
|
+
into(entityTarget, columns) {
|
|
205
175
|
entityTarget = InstanceChecker_1.InstanceChecker.isEntitySchema(entityTarget)
|
|
206
176
|
? entityTarget.options.name
|
|
207
177
|
: entityTarget;
|
|
208
|
-
|
|
178
|
+
const mainAlias = this.createFromAlias(entityTarget);
|
|
209
179
|
this.expressionMap.setMainAlias(mainAlias);
|
|
210
180
|
this.expressionMap.insertColumns = columns || [];
|
|
211
181
|
return this;
|
|
212
|
-
}
|
|
182
|
+
}
|
|
213
183
|
/**
|
|
214
184
|
* Values needs to be inserted into table.
|
|
215
185
|
*/
|
|
216
|
-
|
|
186
|
+
values(values) {
|
|
217
187
|
this.expressionMap.valuesSet = values;
|
|
218
188
|
return this;
|
|
219
|
-
}
|
|
189
|
+
}
|
|
220
190
|
/**
|
|
221
191
|
* Optional returning/output clause.
|
|
222
192
|
*/
|
|
223
|
-
|
|
193
|
+
output(output) {
|
|
224
194
|
return this.returning(output);
|
|
225
|
-
}
|
|
195
|
+
}
|
|
226
196
|
/**
|
|
227
197
|
* Optional returning/output clause.
|
|
228
198
|
*/
|
|
229
|
-
|
|
199
|
+
returning(returning) {
|
|
230
200
|
// not all databases support returning/output cause
|
|
231
201
|
if (!this.connection.driver.isReturningSqlSupported("insert")) {
|
|
232
202
|
throw new ReturningStatementNotSupportedError_1.ReturningStatementNotSupportedError();
|
|
233
203
|
}
|
|
234
204
|
this.expressionMap.returning = returning;
|
|
235
205
|
return this;
|
|
236
|
-
}
|
|
206
|
+
}
|
|
237
207
|
/**
|
|
238
208
|
* Indicates if entity must be updated after insertion operations.
|
|
239
209
|
* This may produce extra query or use RETURNING / OUTPUT statement (depend on database).
|
|
240
210
|
* Enabled by default.
|
|
241
211
|
*/
|
|
242
|
-
|
|
212
|
+
updateEntity(enabled) {
|
|
243
213
|
this.expressionMap.updateEntity = enabled;
|
|
244
214
|
return this;
|
|
245
|
-
}
|
|
215
|
+
}
|
|
246
216
|
/**
|
|
247
217
|
* Adds additional ON CONFLICT statement supported in postgres and cockroach.
|
|
248
218
|
*
|
|
249
219
|
* @deprecated Use `orIgnore` or `orUpdate`
|
|
250
220
|
*/
|
|
251
|
-
|
|
221
|
+
onConflict(statement) {
|
|
252
222
|
this.expressionMap.onConflict = statement;
|
|
253
223
|
return this;
|
|
254
|
-
}
|
|
224
|
+
}
|
|
255
225
|
/**
|
|
256
226
|
* Adds additional ignore statement supported in databases.
|
|
257
227
|
*/
|
|
258
|
-
|
|
259
|
-
if (statement === void 0) { statement = true; }
|
|
228
|
+
orIgnore(statement = true) {
|
|
260
229
|
this.expressionMap.onIgnore = !!statement;
|
|
261
230
|
return this;
|
|
262
|
-
}
|
|
231
|
+
}
|
|
263
232
|
/**
|
|
264
233
|
* Adds additional update statement supported in databases.
|
|
265
234
|
*/
|
|
266
|
-
|
|
235
|
+
orUpdate(statementOrOverwrite, conflictTarget, orUpdateOptions) {
|
|
267
236
|
if (!Array.isArray(statementOrOverwrite)) {
|
|
268
237
|
this.expressionMap.onUpdate = {
|
|
269
|
-
conflict: statementOrOverwrite
|
|
270
|
-
columns: statementOrOverwrite
|
|
271
|
-
overwrite: statementOrOverwrite
|
|
272
|
-
skipUpdateIfNoValuesChanged: orUpdateOptions
|
|
238
|
+
conflict: statementOrOverwrite?.conflict_target,
|
|
239
|
+
columns: statementOrOverwrite?.columns,
|
|
240
|
+
overwrite: statementOrOverwrite?.overwrite,
|
|
241
|
+
skipUpdateIfNoValuesChanged: orUpdateOptions?.skipUpdateIfNoValuesChanged,
|
|
273
242
|
};
|
|
274
243
|
return this;
|
|
275
244
|
}
|
|
276
245
|
this.expressionMap.onUpdate = {
|
|
277
246
|
overwrite: statementOrOverwrite,
|
|
278
247
|
conflict: conflictTarget,
|
|
279
|
-
skipUpdateIfNoValuesChanged: orUpdateOptions
|
|
248
|
+
skipUpdateIfNoValuesChanged: orUpdateOptions?.skipUpdateIfNoValuesChanged,
|
|
280
249
|
};
|
|
281
250
|
return this;
|
|
282
|
-
}
|
|
251
|
+
}
|
|
283
252
|
// -------------------------------------------------------------------------
|
|
284
253
|
// Protected Methods
|
|
285
254
|
// -------------------------------------------------------------------------
|
|
286
255
|
/**
|
|
287
256
|
* Creates INSERT express used to perform insert query.
|
|
288
257
|
*/
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
var returningExpression = this.connection.driver.options.type === "oracle" &&
|
|
258
|
+
createInsertExpression() {
|
|
259
|
+
const tableName = this.getTableName(this.getMainTableName());
|
|
260
|
+
const valuesExpression = this.createValuesExpression(); // its important to get values before returning expression because oracle rely on native parameters and ordering of them is important
|
|
261
|
+
const returningExpression = this.connection.driver.options.type === "oracle" &&
|
|
294
262
|
this.getValueSets().length > 1
|
|
295
263
|
? null
|
|
296
264
|
: this.createReturningExpression("insert"); // oracle doesnt support returning with multi-row insert
|
|
297
|
-
|
|
298
|
-
|
|
265
|
+
const columnsExpression = this.createColumnNamesExpression();
|
|
266
|
+
let query = "INSERT ";
|
|
299
267
|
if (DriverUtils_1.DriverUtils.isMySQLFamily(this.connection.driver) ||
|
|
300
268
|
this.connection.driver.options.type === "aurora-mysql") {
|
|
301
|
-
query +=
|
|
269
|
+
query += `${this.expressionMap.onIgnore ? " IGNORE " : ""}`;
|
|
302
270
|
}
|
|
303
|
-
query +=
|
|
271
|
+
query += `INTO ${tableName}`;
|
|
304
272
|
if (this.alias !== this.getMainTableName() &&
|
|
305
273
|
DriverUtils_1.DriverUtils.isPostgresFamily(this.connection.driver)) {
|
|
306
|
-
query +=
|
|
274
|
+
query += ` AS "${this.alias}"`;
|
|
307
275
|
}
|
|
308
276
|
// add columns expression
|
|
309
277
|
if (columnsExpression) {
|
|
310
|
-
query +=
|
|
278
|
+
query += `(${columnsExpression})`;
|
|
311
279
|
}
|
|
312
280
|
else {
|
|
313
281
|
if (!valuesExpression &&
|
|
@@ -319,16 +287,16 @@ var InsertQueryBuilder = /** @class */ (function (_super) {
|
|
|
319
287
|
// add OUTPUT expression
|
|
320
288
|
if (returningExpression &&
|
|
321
289
|
this.connection.driver.options.type === "mssql") {
|
|
322
|
-
query +=
|
|
290
|
+
query += ` OUTPUT ${returningExpression}`;
|
|
323
291
|
}
|
|
324
292
|
// add VALUES expression
|
|
325
293
|
if (valuesExpression) {
|
|
326
294
|
if (this.connection.driver.options.type === "oracle" &&
|
|
327
295
|
this.getValueSets().length > 1) {
|
|
328
|
-
query +=
|
|
296
|
+
query += ` ${valuesExpression}`;
|
|
329
297
|
}
|
|
330
298
|
else {
|
|
331
|
-
query +=
|
|
299
|
+
query += ` VALUES ${valuesExpression}`;
|
|
332
300
|
}
|
|
333
301
|
}
|
|
334
302
|
else {
|
|
@@ -338,7 +306,7 @@ var InsertQueryBuilder = /** @class */ (function (_super) {
|
|
|
338
306
|
query += " VALUES ()";
|
|
339
307
|
}
|
|
340
308
|
else {
|
|
341
|
-
query +=
|
|
309
|
+
query += ` DEFAULT VALUES`;
|
|
342
310
|
}
|
|
343
311
|
}
|
|
344
312
|
if (this.connection.driver.supportedUpsertType ===
|
|
@@ -347,41 +315,39 @@ var InsertQueryBuilder = /** @class */ (function (_super) {
|
|
|
347
315
|
query += " ON CONFLICT DO NOTHING ";
|
|
348
316
|
}
|
|
349
317
|
else if (this.expressionMap.onConflict) {
|
|
350
|
-
query +=
|
|
318
|
+
query += ` ON CONFLICT ${this.expressionMap.onConflict} `;
|
|
351
319
|
}
|
|
352
320
|
else if (this.expressionMap.onUpdate) {
|
|
353
|
-
|
|
354
|
-
|
|
321
|
+
const { overwrite, columns, conflict, skipUpdateIfNoValuesChanged, } = this.expressionMap.onUpdate;
|
|
322
|
+
let conflictTarget = "ON CONFLICT";
|
|
355
323
|
if (Array.isArray(conflict)) {
|
|
356
|
-
conflictTarget +=
|
|
357
|
-
.map(
|
|
358
|
-
.join(", ")
|
|
324
|
+
conflictTarget += ` ( ${conflict
|
|
325
|
+
.map((column) => this.escape(column))
|
|
326
|
+
.join(", ")} )`;
|
|
359
327
|
}
|
|
360
328
|
else if (conflict) {
|
|
361
|
-
conflictTarget +=
|
|
329
|
+
conflictTarget += ` ON CONSTRAINT ${this.escape(conflict)}`;
|
|
362
330
|
}
|
|
363
331
|
if (Array.isArray(overwrite)) {
|
|
364
|
-
query +=
|
|
365
|
-
query += overwrite
|
|
366
|
-
|
|
367
|
-
|
|
332
|
+
query += ` ${conflictTarget} DO UPDATE SET `;
|
|
333
|
+
query += overwrite
|
|
334
|
+
?.map((column) => `${this.escape(column)} = EXCLUDED.${this.escape(column)}`)
|
|
335
|
+
.join(", ");
|
|
368
336
|
query += " ";
|
|
369
337
|
}
|
|
370
338
|
else if (columns) {
|
|
371
|
-
query +=
|
|
339
|
+
query += ` ${conflictTarget} DO UPDATE SET `;
|
|
372
340
|
query += columns
|
|
373
|
-
.map(
|
|
341
|
+
.map((column) => `${this.escape(column)} = :${column}`)
|
|
374
342
|
.join(", ");
|
|
375
343
|
query += " ";
|
|
376
344
|
}
|
|
377
345
|
if (Array.isArray(overwrite) &&
|
|
378
346
|
skipUpdateIfNoValuesChanged &&
|
|
379
347
|
DriverUtils_1.DriverUtils.isPostgresFamily(this.connection.driver)) {
|
|
380
|
-
query +=
|
|
348
|
+
query += ` WHERE (`;
|
|
381
349
|
query += overwrite
|
|
382
|
-
.map(
|
|
383
|
-
return "".concat(tableName, ".").concat(_this.escape(column), " IS DISTINCT FROM EXCLUDED.").concat(_this.escape(column));
|
|
384
|
-
})
|
|
350
|
+
.map((column) => `${tableName}.${this.escape(column)} IS DISTINCT FROM EXCLUDED.${this.escape(column)}`)
|
|
385
351
|
.join(" OR ");
|
|
386
352
|
query += ") ";
|
|
387
353
|
}
|
|
@@ -390,20 +356,18 @@ var InsertQueryBuilder = /** @class */ (function (_super) {
|
|
|
390
356
|
else if (this.connection.driver.supportedUpsertType ===
|
|
391
357
|
"on-duplicate-key-update") {
|
|
392
358
|
if (this.expressionMap.onUpdate) {
|
|
393
|
-
|
|
359
|
+
const { overwrite, columns } = this.expressionMap.onUpdate;
|
|
394
360
|
if (Array.isArray(overwrite)) {
|
|
395
361
|
query += " ON DUPLICATE KEY UPDATE ";
|
|
396
362
|
query += overwrite
|
|
397
|
-
.map(
|
|
398
|
-
return "".concat(_this.escape(column), " = VALUES(").concat(_this.escape(column), ")");
|
|
399
|
-
})
|
|
363
|
+
.map((column) => `${this.escape(column)} = VALUES(${this.escape(column)})`)
|
|
400
364
|
.join(", ");
|
|
401
365
|
query += " ";
|
|
402
366
|
}
|
|
403
367
|
else if (Array.isArray(columns)) {
|
|
404
368
|
query += " ON DUPLICATE KEY UPDATE ";
|
|
405
369
|
query += columns
|
|
406
|
-
.map(
|
|
370
|
+
.map((column) => `${this.escape(column)} = :${column}`)
|
|
407
371
|
.join(", ");
|
|
408
372
|
query += " ";
|
|
409
373
|
}
|
|
@@ -411,7 +375,7 @@ var InsertQueryBuilder = /** @class */ (function (_super) {
|
|
|
411
375
|
}
|
|
412
376
|
else {
|
|
413
377
|
if (this.expressionMap.onUpdate) {
|
|
414
|
-
throw new error_1.TypeORMError(
|
|
378
|
+
throw new error_1.TypeORMError(`onUpdate is not supported by the current database driver`);
|
|
415
379
|
}
|
|
416
380
|
}
|
|
417
381
|
// add RETURNING expression
|
|
@@ -420,36 +384,31 @@ var InsertQueryBuilder = /** @class */ (function (_super) {
|
|
|
420
384
|
this.connection.driver.options.type === "oracle" ||
|
|
421
385
|
this.connection.driver.options.type === "cockroachdb" ||
|
|
422
386
|
DriverUtils_1.DriverUtils.isMySQLFamily(this.connection.driver))) {
|
|
423
|
-
query +=
|
|
387
|
+
query += ` RETURNING ${returningExpression}`;
|
|
424
388
|
}
|
|
425
389
|
// Inserting a specific value for an auto-increment primary key in mssql requires enabling IDENTITY_INSERT
|
|
426
390
|
// IDENTITY_INSERT can only be enabled for tables where there is an IDENTITY column and only if there is a value to be inserted (i.e. supplying DEFAULT is prohibited if IDENTITY_INSERT is enabled)
|
|
427
391
|
if (this.connection.driver.options.type === "mssql" &&
|
|
428
392
|
this.expressionMap.mainAlias.hasMetadata &&
|
|
429
393
|
this.expressionMap
|
|
430
|
-
.mainAlias.metadata.columns.filter(
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
}
|
|
435
|
-
.some(function (column) {
|
|
436
|
-
return _this.isOverridingAutoIncrementBehavior(column);
|
|
437
|
-
})) {
|
|
438
|
-
query = "SET IDENTITY_INSERT ".concat(tableName, " ON; ").concat(query, "; SET IDENTITY_INSERT ").concat(tableName, " OFF");
|
|
394
|
+
.mainAlias.metadata.columns.filter((column) => this.expressionMap.insertColumns.length > 0
|
|
395
|
+
? this.expressionMap.insertColumns.indexOf(column.propertyPath) !== -1
|
|
396
|
+
: column.isInsert)
|
|
397
|
+
.some((column) => this.isOverridingAutoIncrementBehavior(column))) {
|
|
398
|
+
query = `SET IDENTITY_INSERT ${tableName} ON; ${query}; SET IDENTITY_INSERT ${tableName} OFF`;
|
|
439
399
|
}
|
|
440
400
|
return query;
|
|
441
|
-
}
|
|
401
|
+
}
|
|
442
402
|
/**
|
|
443
403
|
* Gets list of columns where values must be inserted to.
|
|
444
404
|
*/
|
|
445
|
-
|
|
446
|
-
var _this = this;
|
|
405
|
+
getInsertedColumns() {
|
|
447
406
|
if (!this.expressionMap.mainAlias.hasMetadata)
|
|
448
407
|
return [];
|
|
449
|
-
return this.expressionMap.mainAlias.metadata.columns.filter(
|
|
408
|
+
return this.expressionMap.mainAlias.metadata.columns.filter((column) => {
|
|
450
409
|
// if user specified list of columns he wants to insert to, then we filter only them
|
|
451
|
-
if (
|
|
452
|
-
return (
|
|
410
|
+
if (this.expressionMap.insertColumns.length)
|
|
411
|
+
return (this.expressionMap.insertColumns.indexOf(column.propertyPath) !== -1);
|
|
453
412
|
// skip columns the user doesn't want included by default
|
|
454
413
|
if (!column.isInsert) {
|
|
455
414
|
return false;
|
|
@@ -458,69 +417,67 @@ var InsertQueryBuilder = /** @class */ (function (_super) {
|
|
|
458
417
|
// for Oracle we return auto-increment column as well because Oracle does not support DEFAULT VALUES expression
|
|
459
418
|
if (column.isGenerated &&
|
|
460
419
|
column.generationStrategy === "increment" &&
|
|
461
|
-
!(
|
|
462
|
-
!(
|
|
463
|
-
!DriverUtils_1.DriverUtils.isSQLiteFamily(
|
|
464
|
-
!DriverUtils_1.DriverUtils.isMySQLFamily(
|
|
465
|
-
!(
|
|
466
|
-
!(
|
|
467
|
-
|
|
420
|
+
!(this.connection.driver.options.type === "spanner") &&
|
|
421
|
+
!(this.connection.driver.options.type === "oracle") &&
|
|
422
|
+
!DriverUtils_1.DriverUtils.isSQLiteFamily(this.connection.driver) &&
|
|
423
|
+
!DriverUtils_1.DriverUtils.isMySQLFamily(this.connection.driver) &&
|
|
424
|
+
!(this.connection.driver.options.type === "aurora-mysql") &&
|
|
425
|
+
!(this.connection.driver.options.type === "mssql" &&
|
|
426
|
+
this.isOverridingAutoIncrementBehavior(column)))
|
|
468
427
|
return false;
|
|
469
428
|
return true;
|
|
470
429
|
});
|
|
471
|
-
}
|
|
430
|
+
}
|
|
472
431
|
/**
|
|
473
432
|
* Creates a columns string where values must be inserted to for INSERT INTO expression.
|
|
474
433
|
*/
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
var columns = this.getInsertedColumns();
|
|
434
|
+
createColumnNamesExpression() {
|
|
435
|
+
const columns = this.getInsertedColumns();
|
|
478
436
|
if (columns.length > 0)
|
|
479
437
|
return columns
|
|
480
|
-
.map(
|
|
438
|
+
.map((column) => this.escape(column.databaseName))
|
|
481
439
|
.join(", ");
|
|
482
440
|
// in the case if there are no insert columns specified and table without metadata used
|
|
483
441
|
// we get columns from the inserted value map, in the case if only one inserted map is specified
|
|
484
442
|
if (!this.expressionMap.mainAlias.hasMetadata &&
|
|
485
443
|
!this.expressionMap.insertColumns.length) {
|
|
486
|
-
|
|
444
|
+
const valueSets = this.getValueSets();
|
|
487
445
|
if (valueSets.length === 1)
|
|
488
446
|
return Object.keys(valueSets[0])
|
|
489
|
-
.map(
|
|
447
|
+
.map((columnName) => this.escape(columnName))
|
|
490
448
|
.join(", ");
|
|
491
449
|
}
|
|
492
450
|
// get a table name and all column database names
|
|
493
451
|
return this.expressionMap.insertColumns
|
|
494
|
-
.map(
|
|
452
|
+
.map((columnName) => this.escape(columnName))
|
|
495
453
|
.join(", ");
|
|
496
|
-
}
|
|
454
|
+
}
|
|
497
455
|
/**
|
|
498
456
|
* Creates list of values needs to be inserted in the VALUES expression.
|
|
499
457
|
*/
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
var columns = this.getInsertedColumns();
|
|
458
|
+
createValuesExpression() {
|
|
459
|
+
const valueSets = this.getValueSets();
|
|
460
|
+
const columns = this.getInsertedColumns();
|
|
504
461
|
// if column metadatas are given then apply all necessary operations with values
|
|
505
462
|
if (columns.length > 0) {
|
|
506
|
-
|
|
507
|
-
valueSets.forEach(
|
|
508
|
-
columns.forEach(
|
|
463
|
+
let expression = "";
|
|
464
|
+
valueSets.forEach((valueSet, valueSetIndex) => {
|
|
465
|
+
columns.forEach((column, columnIndex) => {
|
|
509
466
|
if (columnIndex === 0) {
|
|
510
|
-
if (
|
|
467
|
+
if (this.connection.driver.options.type === "oracle" &&
|
|
511
468
|
valueSets.length > 1) {
|
|
512
|
-
|
|
469
|
+
expression += " SELECT ";
|
|
513
470
|
}
|
|
514
|
-
else if (
|
|
471
|
+
else if (this.connection.driver.options.type === "sap" &&
|
|
515
472
|
valueSets.length > 1) {
|
|
516
|
-
|
|
473
|
+
expression += " SELECT ";
|
|
517
474
|
}
|
|
518
475
|
else {
|
|
519
|
-
|
|
476
|
+
expression += "(";
|
|
520
477
|
}
|
|
521
478
|
}
|
|
522
479
|
// extract real value from the entity
|
|
523
|
-
|
|
480
|
+
let value = column.getEntityValue(valueSet);
|
|
524
481
|
// if column is relational and value is an object then get real referenced column value from this object
|
|
525
482
|
// for example column value is { question: { id: 1 } }, value will be equal to { id: 1 }
|
|
526
483
|
// and we extract "1" from this object
|
|
@@ -529,12 +486,12 @@ var InsertQueryBuilder = /** @class */ (function (_super) {
|
|
|
529
486
|
}*/
|
|
530
487
|
if (!(typeof value === "function")) {
|
|
531
488
|
// make sure our value is normalized by a driver
|
|
532
|
-
value =
|
|
489
|
+
value = this.connection.driver.preparePersistentValue(value, column);
|
|
533
490
|
}
|
|
534
491
|
// newly inserted entities always have a version equal to 1 (first version)
|
|
535
492
|
// also, user-specified version must be empty
|
|
536
493
|
if (column.isVersion && value === undefined) {
|
|
537
|
-
|
|
494
|
+
expression += "1";
|
|
538
495
|
// } else if (column.isNestedSetLeft) {
|
|
539
496
|
// const tableName = this.connection.driver.escape(column.entityMetadata.tablePath);
|
|
540
497
|
// const rightColumnName = this.connection.driver.escape(column.entityMetadata.nestedSetRightColumn!.databaseName);
|
|
@@ -548,7 +505,7 @@ var InsertQueryBuilder = /** @class */ (function (_super) {
|
|
|
548
505
|
// expression += subQuery;
|
|
549
506
|
}
|
|
550
507
|
else if (column.isDiscriminator) {
|
|
551
|
-
|
|
508
|
+
expression += this.createParameter(this.expressionMap.mainAlias.metadata
|
|
552
509
|
.discriminatorValue);
|
|
553
510
|
// return "1";
|
|
554
511
|
// for create and update dates we insert current date
|
|
@@ -560,63 +517,63 @@ var InsertQueryBuilder = /** @class */ (function (_super) {
|
|
|
560
517
|
}
|
|
561
518
|
else if (column.isGenerated &&
|
|
562
519
|
column.generationStrategy === "uuid" &&
|
|
563
|
-
!
|
|
520
|
+
!this.connection.driver.isUUIDGenerationSupported() &&
|
|
564
521
|
value === undefined) {
|
|
565
522
|
value = (0, uuid_1.v4)();
|
|
566
|
-
|
|
523
|
+
expression += this.createParameter(value);
|
|
567
524
|
if (!(valueSetIndex in
|
|
568
|
-
|
|
569
|
-
|
|
525
|
+
this.expressionMap.locallyGenerated)) {
|
|
526
|
+
this.expressionMap.locallyGenerated[valueSetIndex] =
|
|
570
527
|
{};
|
|
571
528
|
}
|
|
572
|
-
column.setEntityValue(
|
|
529
|
+
column.setEntityValue(this.expressionMap.locallyGenerated[valueSetIndex], value);
|
|
573
530
|
// if value for this column was not provided then insert default value
|
|
574
531
|
}
|
|
575
532
|
else if (value === undefined) {
|
|
576
|
-
if ((
|
|
533
|
+
if ((this.connection.driver.options.type === "oracle" &&
|
|
577
534
|
valueSets.length > 1) ||
|
|
578
|
-
DriverUtils_1.DriverUtils.isSQLiteFamily(
|
|
579
|
-
|
|
580
|
-
|
|
535
|
+
DriverUtils_1.DriverUtils.isSQLiteFamily(this.connection.driver) ||
|
|
536
|
+
this.connection.driver.options.type === "sap" ||
|
|
537
|
+
this.connection.driver.options.type === "spanner") {
|
|
581
538
|
// unfortunately sqlite does not support DEFAULT expression in INSERT queries
|
|
582
539
|
if (column.default !== undefined &&
|
|
583
540
|
column.default !== null) {
|
|
584
541
|
// try to use default defined in the column
|
|
585
|
-
|
|
586
|
-
|
|
542
|
+
expression +=
|
|
543
|
+
this.connection.driver.normalizeDefault(column);
|
|
587
544
|
}
|
|
588
545
|
else {
|
|
589
|
-
|
|
546
|
+
expression += "NULL"; // otherwise simply use NULL and pray if column is nullable
|
|
590
547
|
}
|
|
591
548
|
}
|
|
592
549
|
else {
|
|
593
|
-
|
|
550
|
+
expression += "DEFAULT";
|
|
594
551
|
}
|
|
595
552
|
}
|
|
596
553
|
else if (value === null &&
|
|
597
|
-
|
|
598
|
-
|
|
554
|
+
this.connection.driver.options.type === "spanner") {
|
|
555
|
+
expression += "NULL";
|
|
599
556
|
// support for SQL expressions in queries
|
|
600
557
|
}
|
|
601
558
|
else if (typeof value === "function") {
|
|
602
|
-
|
|
559
|
+
expression += value();
|
|
603
560
|
// just any other regular value
|
|
604
561
|
}
|
|
605
562
|
else {
|
|
606
563
|
//#region @backend
|
|
607
|
-
if (
|
|
608
|
-
value =
|
|
564
|
+
if (this.connection.driver.options.type === "mssql")
|
|
565
|
+
value = this.connection.driver.parametrizeValue(column, value);
|
|
609
566
|
// we need to store array values in a special class to make sure parameter replacement will work correctly
|
|
610
567
|
// if (value instanceof Array)
|
|
611
568
|
// value = new ArrayParameter(value);
|
|
612
569
|
//#endregion
|
|
613
|
-
|
|
570
|
+
const paramName = this.createParameter(value);
|
|
614
571
|
if (
|
|
615
572
|
//#region @backend
|
|
616
|
-
(DriverUtils_1.DriverUtils.isMySQLFamily(
|
|
617
|
-
|
|
573
|
+
(DriverUtils_1.DriverUtils.isMySQLFamily(this.connection.driver) ||
|
|
574
|
+
this.connection.driver.options.type ===
|
|
618
575
|
"aurora-mysql") &&
|
|
619
|
-
|
|
576
|
+
this.connection.driver.spatialTypes.indexOf(column.type) !== -1
|
|
620
577
|
//#endregion
|
|
621
578
|
/* */
|
|
622
579
|
/* */
|
|
@@ -624,9 +581,9 @@ var InsertQueryBuilder = /** @class */ (function (_super) {
|
|
|
624
581
|
/* */
|
|
625
582
|
/* */
|
|
626
583
|
) {
|
|
627
|
-
|
|
584
|
+
const useLegacy =
|
|
628
585
|
//#region @backend
|
|
629
|
-
|
|
586
|
+
this.connection.driver
|
|
630
587
|
//#endregion
|
|
631
588
|
/* */
|
|
632
589
|
/* */
|
|
@@ -634,28 +591,28 @@ var InsertQueryBuilder = /** @class */ (function (_super) {
|
|
|
634
591
|
/* */
|
|
635
592
|
/* */
|
|
636
593
|
.options.legacySpatialSupport;
|
|
637
|
-
|
|
594
|
+
const geomFromText = useLegacy
|
|
638
595
|
? "GeomFromText"
|
|
639
596
|
: "ST_GeomFromText";
|
|
640
597
|
if (column.srid != null) {
|
|
641
|
-
|
|
598
|
+
expression += `${geomFromText}(${paramName}, ${column.srid})`;
|
|
642
599
|
}
|
|
643
600
|
else {
|
|
644
|
-
|
|
601
|
+
expression += `${geomFromText}(${paramName})`;
|
|
645
602
|
}
|
|
646
603
|
}
|
|
647
|
-
else if (DriverUtils_1.DriverUtils.isPostgresFamily(
|
|
648
|
-
|
|
604
|
+
else if (DriverUtils_1.DriverUtils.isPostgresFamily(this.connection.driver) &&
|
|
605
|
+
this.connection.driver.spatialTypes.indexOf(column.type) !== -1) {
|
|
649
606
|
if (column.srid != null) {
|
|
650
|
-
|
|
607
|
+
expression += `ST_SetSRID(ST_GeomFromGeoJSON(${paramName}), ${column.srid})::${column.type}`;
|
|
651
608
|
}
|
|
652
609
|
else {
|
|
653
|
-
|
|
610
|
+
expression += `ST_GeomFromGeoJSON(${paramName})::${column.type}`;
|
|
654
611
|
}
|
|
655
612
|
}
|
|
656
|
-
else if (
|
|
657
|
-
|
|
658
|
-
|
|
613
|
+
else if (this.connection.driver.options.type === "mssql" &&
|
|
614
|
+
this.connection.driver.spatialTypes.indexOf(column.type) !== -1) {
|
|
615
|
+
expression +=
|
|
659
616
|
column.type +
|
|
660
617
|
"::STGeomFromText(" +
|
|
661
618
|
paramName +
|
|
@@ -664,129 +621,126 @@ var InsertQueryBuilder = /** @class */ (function (_super) {
|
|
|
664
621
|
")";
|
|
665
622
|
}
|
|
666
623
|
else {
|
|
667
|
-
|
|
624
|
+
expression += paramName;
|
|
668
625
|
}
|
|
669
626
|
}
|
|
670
627
|
if (columnIndex === columns.length - 1) {
|
|
671
628
|
if (valueSetIndex === valueSets.length - 1) {
|
|
672
|
-
if (
|
|
629
|
+
if (this.connection.driver.options.type ===
|
|
673
630
|
"oracle" &&
|
|
674
631
|
valueSets.length > 1) {
|
|
675
|
-
|
|
632
|
+
expression += " FROM DUAL ";
|
|
676
633
|
}
|
|
677
|
-
else if (
|
|
634
|
+
else if (this.connection.driver.options.type === "sap" &&
|
|
678
635
|
valueSets.length > 1) {
|
|
679
|
-
|
|
636
|
+
expression += " FROM dummy ";
|
|
680
637
|
}
|
|
681
638
|
else {
|
|
682
|
-
|
|
639
|
+
expression += ")";
|
|
683
640
|
}
|
|
684
641
|
}
|
|
685
642
|
else {
|
|
686
|
-
if (
|
|
643
|
+
if (this.connection.driver.options.type ===
|
|
687
644
|
"oracle" &&
|
|
688
645
|
valueSets.length > 1) {
|
|
689
|
-
|
|
646
|
+
expression += " FROM DUAL UNION ALL ";
|
|
690
647
|
}
|
|
691
|
-
else if (
|
|
648
|
+
else if (this.connection.driver.options.type === "sap" &&
|
|
692
649
|
valueSets.length > 1) {
|
|
693
|
-
|
|
650
|
+
expression += " FROM dummy UNION ALL ";
|
|
694
651
|
}
|
|
695
652
|
else {
|
|
696
|
-
|
|
653
|
+
expression += "), ";
|
|
697
654
|
}
|
|
698
655
|
}
|
|
699
656
|
}
|
|
700
657
|
else {
|
|
701
|
-
|
|
658
|
+
expression += ", ";
|
|
702
659
|
}
|
|
703
660
|
});
|
|
704
661
|
});
|
|
705
|
-
if (
|
|
662
|
+
if (expression === "()")
|
|
706
663
|
return "";
|
|
707
|
-
return
|
|
664
|
+
return expression;
|
|
708
665
|
}
|
|
709
666
|
else {
|
|
710
667
|
// for tables without metadata
|
|
711
668
|
// get values needs to be inserted
|
|
712
|
-
|
|
713
|
-
valueSets.forEach(
|
|
714
|
-
|
|
715
|
-
columns.forEach(
|
|
669
|
+
let expression = "";
|
|
670
|
+
valueSets.forEach((valueSet, insertionIndex) => {
|
|
671
|
+
const columns = Object.keys(valueSet);
|
|
672
|
+
columns.forEach((columnName, columnIndex) => {
|
|
716
673
|
if (columnIndex === 0) {
|
|
717
|
-
|
|
674
|
+
expression += "(";
|
|
718
675
|
}
|
|
719
|
-
|
|
676
|
+
const value = valueSet[columnName];
|
|
720
677
|
// support for SQL expressions in queries
|
|
721
678
|
if (typeof value === "function") {
|
|
722
|
-
|
|
679
|
+
expression += value();
|
|
723
680
|
// if value for this column was not provided then insert default value
|
|
724
681
|
}
|
|
725
682
|
else if (value === undefined) {
|
|
726
|
-
if ((
|
|
683
|
+
if ((this.connection.driver.options.type === "oracle" &&
|
|
727
684
|
valueSets.length > 1) ||
|
|
728
|
-
DriverUtils_1.DriverUtils.isSQLiteFamily(
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
685
|
+
DriverUtils_1.DriverUtils.isSQLiteFamily(this.connection.driver) ||
|
|
686
|
+
this.connection.driver.options.type === "sap" ||
|
|
687
|
+
this.connection.driver.options.type === "spanner") {
|
|
688
|
+
expression += "NULL";
|
|
732
689
|
}
|
|
733
690
|
else {
|
|
734
|
-
|
|
691
|
+
expression += "DEFAULT";
|
|
735
692
|
}
|
|
736
693
|
}
|
|
737
694
|
else if (value === null &&
|
|
738
|
-
|
|
695
|
+
this.connection.driver.options.type === "spanner") {
|
|
739
696
|
// just any other regular value
|
|
740
697
|
}
|
|
741
698
|
else {
|
|
742
|
-
|
|
699
|
+
expression += this.createParameter(value);
|
|
743
700
|
}
|
|
744
701
|
if (columnIndex === Object.keys(valueSet).length - 1) {
|
|
745
702
|
if (insertionIndex === valueSets.length - 1) {
|
|
746
|
-
|
|
703
|
+
expression += ")";
|
|
747
704
|
}
|
|
748
705
|
else {
|
|
749
|
-
|
|
706
|
+
expression += "), ";
|
|
750
707
|
}
|
|
751
708
|
}
|
|
752
709
|
else {
|
|
753
|
-
|
|
710
|
+
expression += ", ";
|
|
754
711
|
}
|
|
755
712
|
});
|
|
756
713
|
});
|
|
757
|
-
if (
|
|
714
|
+
if (expression === "()")
|
|
758
715
|
return "";
|
|
759
|
-
return
|
|
716
|
+
return expression;
|
|
760
717
|
}
|
|
761
|
-
}
|
|
718
|
+
}
|
|
762
719
|
/**
|
|
763
720
|
* Gets array of values need to be inserted into the target table.
|
|
764
721
|
*/
|
|
765
|
-
|
|
722
|
+
getValueSets() {
|
|
766
723
|
if (Array.isArray(this.expressionMap.valuesSet))
|
|
767
724
|
return this.expressionMap.valuesSet;
|
|
768
725
|
if (ObjectUtils_1.ObjectUtils.isObject(this.expressionMap.valuesSet))
|
|
769
726
|
return [this.expressionMap.valuesSet];
|
|
770
727
|
throw new InsertValuesMissingError_1.InsertValuesMissingError();
|
|
771
|
-
}
|
|
728
|
+
}
|
|
772
729
|
/**
|
|
773
730
|
* Checks if column is an auto-generated primary key, but the current insertion specifies a value for it.
|
|
774
731
|
*
|
|
775
732
|
* @param column
|
|
776
733
|
*/
|
|
777
|
-
|
|
734
|
+
isOverridingAutoIncrementBehavior(column) {
|
|
778
735
|
return (column.isPrimary &&
|
|
779
736
|
column.isGenerated &&
|
|
780
737
|
column.generationStrategy === "increment" &&
|
|
781
|
-
this.getValueSets().some(
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
};
|
|
786
|
-
InsertQueryBuilder = tslib_1.__decorate([
|
|
787
|
-
typescript_class_helpers_1.CLASS.NAME('InsertQueryBuilder')
|
|
788
|
-
], InsertQueryBuilder);
|
|
789
|
-
return InsertQueryBuilder;
|
|
790
|
-
}(QueryBuilder_1.QueryBuilder));
|
|
738
|
+
this.getValueSets().some((valueSet) => column.getEntityValue(valueSet) !== undefined &&
|
|
739
|
+
column.getEntityValue(valueSet) !== null));
|
|
740
|
+
}
|
|
741
|
+
};
|
|
791
742
|
exports.InsertQueryBuilder = InsertQueryBuilder;
|
|
743
|
+
exports.InsertQueryBuilder = InsertQueryBuilder = __decorate([
|
|
744
|
+
typescript_class_helpers_1.CLASS.NAME('InsertQueryBuilder')
|
|
745
|
+
], InsertQueryBuilder);
|
|
792
746
|
//# sourceMappingURL=InsertQueryBuilder.js.map
|