typeorm 0.2.28 → 0.2.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +54 -49
- package/browser/cache/QueryResultCache.js +1 -1
- package/browser/cache/QueryResultCacheOptions.js +1 -1
- package/browser/common/DeepPartial.js +1 -1
- package/browser/common/EntityFieldsNames.d.ts +6 -0
- package/browser/common/EntityFieldsNames.js +3 -0
- package/browser/common/EntityFieldsNames.js.map +1 -0
- package/browser/common/EntityTarget.js +1 -1
- package/browser/common/ObjectLiteral.js +1 -1
- package/browser/common/ObjectType.js +1 -1
- package/browser/connection/BaseConnectionOptions.js +1 -1
- package/browser/connection/Connection.d.ts +2 -2
- package/browser/connection/Connection.js +4 -2
- package/browser/connection/Connection.js.map +1 -1
- package/browser/connection/ConnectionMetadataBuilder.js +5 -5
- package/browser/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/browser/connection/ConnectionOptions.js +1 -1
- package/browser/connection/ConnectionOptionsReader.d.ts +3 -3
- package/browser/connection/ConnectionOptionsReader.js +30 -30
- package/browser/connection/ConnectionOptionsReader.js.map +1 -1
- package/browser/connection/options-reader/ConnectionOptionsEnvReader.js +1 -1
- package/browser/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
- package/browser/connection/options-reader/ConnectionOptionsYmlReader.js +1 -1
- package/browser/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
- package/browser/decorator/columns/PrimaryColumn.d.ts +9 -2
- package/browser/decorator/columns/PrimaryColumn.js.map +1 -1
- package/browser/decorator/entity/ChildEntity.js +1 -1
- package/browser/decorator/entity/ChildEntity.js.map +1 -1
- package/browser/decorator/options/ColumnCommonOptions.js +1 -1
- package/browser/decorator/options/ColumnEmbeddedOptions.js +1 -1
- package/browser/decorator/options/ColumnEnumOptions.js +1 -1
- package/browser/decorator/options/ColumnHstoreOptions.js +1 -1
- package/browser/decorator/options/ColumnNumericOptions.js +1 -1
- package/browser/decorator/options/ColumnOptions.js +1 -1
- package/browser/decorator/options/ColumnWithLengthOptions.js +1 -1
- package/browser/decorator/options/ColumnWithWidthOptions.js +1 -1
- package/browser/decorator/options/EntityOptions.js +1 -1
- package/browser/decorator/options/IndexOptions.js +1 -1
- package/browser/decorator/options/JoinColumnOptions.js +1 -1
- package/browser/decorator/options/JoinTableMultipleColumnsOptions.js +1 -1
- package/browser/decorator/options/JoinTableOptions.js +1 -1
- package/browser/decorator/options/PrimaryGeneratedColumnNumericOptions.js +1 -1
- package/browser/decorator/options/PrimaryGeneratedColumnUUIDOptions.js +1 -1
- package/browser/decorator/options/RelationOptions.d.ts +10 -0
- package/browser/decorator/options/RelationOptions.js +1 -1
- package/browser/decorator/options/RelationOptions.js.map +1 -1
- package/browser/decorator/options/SpatialColumnOptions.js +1 -1
- package/browser/decorator/options/TransactionOptions.js +1 -1
- package/browser/decorator/options/ValueTransformer.js +1 -1
- package/browser/decorator/options/ViewColumnOptions.js +1 -1
- package/browser/decorator/options/ViewEntityOptions.js +1 -1
- package/browser/decorator/relations/ManyToOne.d.ts +6 -6
- package/browser/decorator/relations/ManyToOne.js +5 -5
- package/browser/decorator/relations/ManyToOne.js.map +1 -1
- package/browser/decorator/relations/OneToMany.d.ts +3 -2
- package/browser/decorator/relations/OneToMany.js +4 -3
- package/browser/decorator/relations/OneToMany.js.map +1 -1
- package/browser/decorator/transaction/Transaction.d.ts +1 -1
- package/browser/decorator/transaction/Transaction.js +6 -6
- package/browser/decorator/transaction/Transaction.js.map +1 -1
- package/browser/decorator/tree/Tree.d.ts +2 -1
- package/browser/decorator/tree/Tree.js +3 -2
- package/browser/decorator/tree/Tree.js.map +1 -1
- package/browser/driver/Driver.d.ts +1 -1
- package/browser/driver/Driver.js +1 -1
- package/browser/driver/Driver.js.map +1 -1
- package/browser/driver/DriverFactory.js.map +1 -1
- package/browser/driver/DriverUtils.d.ts +10 -0
- package/browser/driver/DriverUtils.js +99 -12
- package/browser/driver/DriverUtils.js.map +1 -1
- package/browser/driver/aurora-data-api/AuroraDataApiConnectionCredentialsOptions.js +1 -1
- package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +1 -0
- package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.js +1 -1
- package/browser/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +1 -1
- package/browser/driver/aurora-data-api/AuroraDataApiDriver.d.ts +3 -3
- package/browser/driver/aurora-data-api/AuroraDataApiDriver.js +15 -6
- package/browser/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts +6 -1
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +72 -11
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.d.ts +2 -0
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js +1 -1
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js.map +1 -1
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.d.ts +10 -1
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +26 -2
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.d.ts +2 -1
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +59 -11
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
- package/browser/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js +1 -1
- package/browser/driver/cockroachdb/CockroachConnectionCredentialsOptions.js +1 -1
- package/browser/driver/cockroachdb/CockroachConnectionOptions.js +1 -1
- package/browser/driver/cockroachdb/CockroachDriver.d.ts +1 -1
- package/browser/driver/cockroachdb/CockroachDriver.js +6 -9
- package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +4 -0
- package/browser/driver/cockroachdb/CockroachQueryRunner.js +112 -42
- package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/browser/driver/cordova/CordovaConnectionOptions.js +1 -1
- package/browser/driver/expo/ExpoConnectionOptions.js +1 -1
- package/browser/driver/expo/ExpoQueryRunner.js +72 -14
- package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/browser/driver/mongodb/MongoConnectionOptions.d.ts +8 -0
- package/browser/driver/mongodb/MongoConnectionOptions.js +1 -1
- package/browser/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/browser/driver/mongodb/MongoDriver.d.ts +8 -4
- package/browser/driver/mongodb/MongoDriver.js +26 -14
- package/browser/driver/mongodb/MongoDriver.js.map +1 -1
- package/browser/driver/mongodb/MongoQueryRunner.d.ts +3 -3
- package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/browser/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +4 -0
- package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js +1 -1
- package/browser/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/mysql/MysqlConnectionOptions.js +1 -1
- package/browser/driver/mysql/MysqlDriver.d.ts +2 -2
- package/browser/driver/mysql/MysqlDriver.js +15 -14
- package/browser/driver/mysql/MysqlDriver.js.map +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.d.ts +4 -0
- package/browser/driver/mysql/MysqlQueryRunner.js +118 -43
- package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/browser/driver/nativescript/NativescriptConnectionOptions.js +1 -1
- package/browser/driver/oracle/OracleConnectionCredentialsOptions.js +1 -1
- package/browser/driver/oracle/OracleConnectionOptions.d.ts +4 -0
- package/browser/driver/oracle/OracleConnectionOptions.js +1 -1
- package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
- package/browser/driver/oracle/OracleDriver.d.ts +1 -1
- package/browser/driver/oracle/OracleDriver.js +28 -3
- package/browser/driver/oracle/OracleDriver.js.map +1 -1
- package/browser/driver/oracle/OracleQueryRunner.js +53 -7
- package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js +1 -1
- package/browser/driver/postgres/PostgresConnectionOptions.d.ts +4 -0
- package/browser/driver/postgres/PostgresConnectionOptions.js +1 -1
- package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
- package/browser/driver/postgres/PostgresDriver.d.ts +2 -2
- package/browser/driver/postgres/PostgresDriver.js +63 -29
- package/browser/driver/postgres/PostgresDriver.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.d.ts +9 -1
- package/browser/driver/postgres/PostgresQueryRunner.js +335 -211
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/driver/react-native/ReactNativeConnectionOptions.js +1 -1
- package/browser/driver/react-native/ReactNativeDriver.js +1 -2
- package/browser/driver/react-native/ReactNativeDriver.js.map +1 -1
- package/browser/driver/sap/SapConnectionCredentialsOptions.js +1 -1
- package/browser/driver/sap/SapConnectionOptions.js +1 -1
- package/browser/driver/sap/SapDriver.d.ts +1 -1
- package/browser/driver/sap/SapDriver.js.map +1 -1
- package/browser/driver/sap/SapQueryRunner.js +58 -10
- package/browser/driver/sap/SapQueryRunner.js.map +1 -1
- package/browser/driver/sqlite/SqliteConnectionOptions.js +1 -1
- package/browser/driver/sqlite/SqliteQueryRunner.js +4 -0
- package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js +4 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +55 -8
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqljs/SqljsConnectionOptions.js +1 -1
- package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +18 -2
- package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js +1 -1
- package/browser/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerConnectionOptions.js +1 -1
- package/browser/driver/sqlserver/SqlServerDriver.d.ts +2 -2
- package/browser/driver/sqlserver/SqlServerDriver.js +33 -8
- package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerQueryRunner.d.ts +1 -0
- package/browser/driver/sqlserver/SqlServerQueryRunner.js +166 -86
- package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.d.ts +10 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js +3 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.d.ts +20 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js +3 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.d.ts +16 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js +3 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.d.ts +17 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js +3 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.d.ts +17 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js +3 -0
- package/browser/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -0
- package/browser/driver/sqlserver/authentication/DefaultAuthentication.d.ts +13 -0
- package/browser/driver/sqlserver/authentication/DefaultAuthentication.js +3 -0
- package/browser/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -0
- package/browser/driver/sqlserver/authentication/NtlmAuthentication.d.ts +19 -0
- package/browser/driver/sqlserver/authentication/NtlmAuthentication.js +3 -0
- package/browser/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -0
- package/browser/driver/types/ColumnTypes.d.ts +1 -1
- package/browser/driver/types/ColumnTypes.js +1 -1
- package/browser/driver/types/ColumnTypes.js.map +1 -1
- package/browser/driver/types/DataTypeDefaults.js +1 -1
- package/browser/driver/types/DatabaseType.js +1 -1
- package/browser/driver/types/IsolationLevel.js +1 -1
- package/browser/driver/types/MappedColumnTypes.js +1 -1
- package/browser/driver/types/ReplicationMode.js +1 -1
- package/browser/entity-manager/EntityManager.d.ts +16 -2
- package/browser/entity-manager/EntityManager.js +5 -16
- package/browser/entity-manager/EntityManager.js.map +1 -1
- package/browser/entity-manager/MongoEntityManager.d.ts +1 -4
- package/browser/entity-manager/MongoEntityManager.js +53 -48
- package/browser/entity-manager/MongoEntityManager.js.map +1 -1
- package/browser/entity-schema/EntitySchemaCheckOptions.js +1 -1
- package/browser/entity-schema/EntitySchemaColumnOptions.js +1 -1
- package/browser/entity-schema/EntitySchemaExclusionOptions.js +1 -1
- package/browser/entity-schema/EntitySchemaIndexOptions.js +1 -1
- package/browser/entity-schema/EntitySchemaRelationOptions.js +1 -1
- package/browser/entity-schema/EntitySchemaUniqueOptions.js +1 -1
- package/browser/error/index.d.ts +61 -0
- package/browser/error/index.js +63 -0
- package/browser/error/index.js.map +1 -0
- package/browser/find-options/FindConditions.js +1 -1
- package/browser/find-options/FindManyOptions.js +1 -1
- package/browser/find-options/FindOneOptions.d.ts +10 -2
- package/browser/find-options/FindOneOptions.js +1 -1
- package/browser/find-options/FindOneOptions.js.map +1 -1
- package/browser/find-options/FindOperator.d.ts +25 -6
- package/browser/find-options/FindOperator.js +32 -6
- package/browser/find-options/FindOperator.js.map +1 -1
- package/browser/find-options/FindOperatorType.d.ts +1 -1
- package/browser/find-options/FindOperatorType.js +1 -1
- package/browser/find-options/FindOperatorType.js.map +1 -1
- package/browser/find-options/FindOptionsUtils.js +15 -2
- package/browser/find-options/FindOptionsUtils.js.map +1 -1
- package/browser/find-options/JoinOptions.d.ts +16 -4
- package/browser/find-options/JoinOptions.js +1 -1
- package/browser/find-options/JoinOptions.js.map +1 -1
- package/browser/find-options/OrderByCondition.js +1 -1
- package/browser/find-options/operator/ILike.d.ts +6 -0
- package/browser/find-options/operator/ILike.js +10 -0
- package/browser/find-options/operator/ILike.js.map +1 -0
- package/browser/find-options/operator/Raw.d.ts +14 -2
- package/browser/find-options/operator/Raw.js +5 -6
- package/browser/find-options/operator/Raw.js.map +1 -1
- package/browser/index.d.ts +3 -1
- package/browser/index.js +25 -1
- package/browser/index.js.map +1 -1
- package/browser/logger/AdvancedConsoleLogger.d.ts +2 -1
- package/browser/logger/FileLogger.d.ts +2 -2
- package/browser/logger/Logger.d.ts +1 -1
- package/browser/logger/Logger.js +1 -1
- package/browser/logger/Logger.js.map +1 -1
- package/browser/logger/LoggerOptions.js +1 -1
- package/browser/logger/SimpleConsoleLogger.d.ts +2 -1
- package/browser/metadata/ColumnMetadata.d.ts +1 -1
- package/browser/metadata/ColumnMetadata.js +23 -15
- package/browser/metadata/ColumnMetadata.js.map +1 -1
- package/browser/metadata/EmbeddedMetadata.js +2 -2
- package/browser/metadata/EmbeddedMetadata.js.map +1 -1
- package/browser/metadata/EntityMetadata.d.ts +5 -0
- package/browser/metadata/EntityMetadata.js +3 -2
- package/browser/metadata/EntityMetadata.js.map +1 -1
- package/browser/metadata/RelationMetadata.d.ts +15 -0
- package/browser/metadata/RelationMetadata.js +23 -7
- package/browser/metadata/RelationMetadata.js.map +1 -1
- package/browser/metadata/types/ClosureTreeOptions.d.ts +10 -0
- package/browser/metadata/types/ClosureTreeOptions.js +3 -0
- package/browser/metadata/types/ClosureTreeOptions.js.map +1 -0
- package/browser/metadata/types/DeferrableType.js +1 -1
- package/browser/metadata/types/EventListenerTypes.d.ts +7 -7
- package/browser/metadata/types/EventListenerTypes.js.map +1 -1
- package/browser/metadata/types/OnDeleteType.js +1 -1
- package/browser/metadata/types/OnUpdateType.js +1 -1
- package/browser/metadata/types/PropertyTypeInFunction.js +1 -1
- package/browser/metadata/types/RelationTypeInFunction.js +1 -1
- package/browser/metadata/types/RelationTypes.js +1 -1
- package/browser/metadata/types/TableTypes.js +1 -1
- package/browser/metadata/types/TreeTypes.js +1 -1
- package/browser/metadata-args/CheckMetadataArgs.js +1 -1
- package/browser/metadata-args/ColumnMetadataArgs.js +1 -1
- package/browser/metadata-args/DiscriminatorValueMetadataArgs.js +1 -1
- package/browser/metadata-args/EmbeddedMetadataArgs.js +1 -1
- package/browser/metadata-args/EntityListenerMetadataArgs.js +1 -1
- package/browser/metadata-args/EntityRepositoryMetadataArgs.js +1 -1
- package/browser/metadata-args/EntitySubscriberMetadataArgs.js +1 -1
- package/browser/metadata-args/ExclusionMetadataArgs.js +1 -1
- package/browser/metadata-args/GeneratedMetadataArgs.js +1 -1
- package/browser/metadata-args/IndexMetadataArgs.js +1 -1
- package/browser/metadata-args/InheritanceMetadataArgs.js +1 -1
- package/browser/metadata-args/JoinColumnMetadataArgs.js +1 -1
- package/browser/metadata-args/JoinTableMetadataArgs.js +1 -1
- package/browser/metadata-args/NamingStrategyMetadataArgs.js +1 -1
- package/browser/metadata-args/RelationCountMetadataArgs.js +1 -1
- package/browser/metadata-args/RelationIdMetadataArgs.js +1 -1
- package/browser/metadata-args/RelationMetadataArgs.js +1 -1
- package/browser/metadata-args/TableMetadataArgs.js +1 -1
- package/browser/metadata-args/TransactionEntityMetadataArgs.js +1 -1
- package/browser/metadata-args/TransactionRepositoryMetadataArgs.js +1 -1
- package/browser/metadata-args/TreeMetadataArgs.d.ts +5 -0
- package/browser/metadata-args/TreeMetadataArgs.js +1 -1
- package/browser/metadata-args/TreeMetadataArgs.js.map +1 -1
- package/browser/metadata-args/UniqueMetadataArgs.js +1 -1
- package/browser/metadata-args/types/ColumnMode.js +1 -1
- package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +5 -3
- package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataBuilder.js +26 -16
- package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataValidator.js +10 -5
- package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +8 -4
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/RelationJoinColumnBuilder.d.ts +1 -0
- package/browser/metadata-builder/RelationJoinColumnBuilder.js +8 -6
- package/browser/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
- package/browser/migration/MigrationExecutor.js +5 -5
- package/browser/migration/MigrationInterface.js +1 -1
- package/browser/naming-strategy/DefaultNamingStrategy.d.ts +1 -1
- package/browser/naming-strategy/DefaultNamingStrategy.js +9 -8
- package/browser/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/browser/naming-strategy/NamingStrategyInterface.d.ts +6 -1
- package/browser/naming-strategy/NamingStrategyInterface.js +1 -1
- package/browser/naming-strategy/NamingStrategyInterface.js.map +1 -1
- package/browser/persistence/EntityPersistExecutor.js +55 -52
- package/browser/persistence/EntityPersistExecutor.js.map +1 -1
- package/browser/persistence/Subject.d.ts +4 -4
- package/browser/persistence/Subject.js +8 -7
- package/browser/persistence/Subject.js.map +1 -1
- package/browser/persistence/SubjectChangeMap.js +1 -1
- package/browser/persistence/SubjectChangedColumnsComputer.js +3 -1
- package/browser/persistence/SubjectChangedColumnsComputer.js.map +1 -1
- package/browser/persistence/SubjectDatabaseEntityLoader.js +2 -2
- package/browser/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
- package/browser/persistence/SubjectExecutor.js +30 -26
- package/browser/persistence/SubjectExecutor.js.map +1 -1
- package/browser/persistence/SubjectTopoligicalSorter.js +6 -6
- package/browser/persistence/SubjectTopoligicalSorter.js.map +1 -1
- package/browser/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
- package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +2 -0
- package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
- package/browser/persistence/subject-builder/OneToManySubjectBuilder.js +9 -4
- package/browser/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
- package/browser/persistence/tree/ClosureSubjectExecutor.d.ts +1 -1
- package/browser/persistence/tree/ClosureSubjectExecutor.js +7 -7
- package/browser/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
- package/browser/query-builder/Alias.d.ts +4 -3
- package/browser/query-builder/Alias.js +3 -3
- package/browser/query-builder/DeleteQueryBuilder.js +7 -2
- package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/InsertQueryBuilder.d.ts +6 -0
- package/browser/query-builder/InsertQueryBuilder.js +63 -14
- package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
- package/browser/query-builder/JoinAttribute.d.ts +10 -10
- package/browser/query-builder/JoinAttribute.js +10 -10
- package/browser/query-builder/JoinOptions.js +1 -1
- package/browser/query-builder/QueryBuilder.d.ts +8 -1
- package/browser/query-builder/QueryBuilder.js +172 -37
- package/browser/query-builder/QueryBuilder.js.map +1 -1
- package/browser/query-builder/QueryBuilderUtils.js.map +1 -1
- package/browser/query-builder/QueryExpressionMap.d.ts +10 -2
- package/browser/query-builder/QueryExpressionMap.js +4 -2
- package/browser/query-builder/QueryExpressionMap.js.map +1 -1
- package/browser/query-builder/QueryPartialEntity.js +1 -1
- package/browser/query-builder/RelationLoader.js +4 -4
- package/browser/query-builder/RelationLoader.js.map +1 -1
- package/browser/query-builder/RelationQueryBuilder.js +1 -1
- package/browser/query-builder/RelationQueryBuilder.js.map +1 -1
- package/browser/query-builder/RelationRemover.js +11 -11
- package/browser/query-builder/RelationRemover.js.map +1 -1
- package/browser/query-builder/SelectQuery.js +1 -1
- package/browser/query-builder/SelectQueryBuilder.d.ts +7 -6
- package/browser/query-builder/SelectQueryBuilder.js +129 -67
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilderOption.js +1 -1
- package/browser/query-builder/UpdateQueryBuilder.js +6 -1
- package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/browser/query-builder/WhereExpression.js +1 -1
- package/browser/query-builder/relation-count/RelationCountAttribute.d.ts +7 -7
- package/browser/query-builder/relation-count/RelationCountAttribute.js +7 -7
- package/browser/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
- package/browser/query-builder/relation-count/RelationCountLoadResult.js +1 -1
- package/browser/query-builder/relation-count/RelationCountLoader.js +2 -1
- package/browser/query-builder/relation-count/RelationCountLoader.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdAttribute.d.ts +8 -8
- package/browser/query-builder/relation-id/RelationIdAttribute.js +8 -8
- package/browser/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
- package/browser/query-builder/relation-id/RelationIdLoadResult.js +1 -1
- package/browser/query-builder/relation-id/RelationIdLoader.js +62 -12
- package/browser/query-builder/relation-id/RelationIdLoader.js.map +1 -1
- package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +3 -3
- package/browser/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +10 -7
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/browser/query-runner/BaseQueryRunner.js +3 -3
- package/browser/query-runner/BaseQueryRunner.js.map +1 -1
- package/browser/query-runner/QueryRunner.d.ts +1 -1
- package/browser/query-runner/QueryRunner.js +1 -1
- package/browser/query-runner/QueryRunner.js.map +1 -1
- package/browser/repository/AbstractRepository.d.ts +2 -2
- package/browser/repository/AbstractRepository.js +2 -2
- package/browser/repository/BaseEntity.d.ts +1 -1
- package/browser/repository/BaseEntity.js +3 -3
- package/browser/repository/BaseEntity.js.map +1 -1
- package/browser/repository/EntityId.js +1 -1
- package/browser/repository/RemoveOptions.js +1 -1
- package/browser/repository/Repository.d.ts +4 -4
- package/browser/repository/Repository.js +3 -3
- package/browser/repository/Repository.js.map +1 -1
- package/browser/repository/SaveOptions.js +1 -1
- package/browser/repository/TreeRepository.js +3 -3
- package/browser/repository/TreeRepository.js.map +1 -1
- package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +2 -2
- package/browser/schema-builder/RdbmsSchemaBuilder.js +80 -79
- package/browser/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/browser/schema-builder/SchemaBuilder.js +1 -1
- package/browser/schema-builder/options/TableCheckOptions.js +1 -1
- package/browser/schema-builder/options/TableColumnOptions.js +1 -1
- package/browser/schema-builder/options/TableExclusionOptions.js +1 -1
- package/browser/schema-builder/options/TableForeignKeyOptions.js +1 -1
- package/browser/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
- package/browser/schema-builder/options/TableIndexOptions.js +1 -1
- package/browser/schema-builder/options/TableOptions.js +1 -1
- package/browser/schema-builder/options/TableUniqueOptions.js +1 -1
- package/browser/schema-builder/options/ViewOptions.js +1 -1
- package/browser/schema-builder/table/Table.d.ts +1 -1
- package/browser/schema-builder/table/Table.js +1 -1
- package/browser/schema-builder/table/TableCheck.js +2 -2
- package/browser/schema-builder/table/TableCheck.js.map +1 -1
- package/browser/schema-builder/table/TableForeignKey.js +3 -3
- package/browser/schema-builder/table/TableForeignKey.js.map +1 -1
- package/browser/schema-builder/table/TableIndex.js +2 -2
- package/browser/schema-builder/table/TableIndex.js.map +1 -1
- package/browser/schema-builder/table/TableUnique.js +2 -2
- package/browser/schema-builder/table/TableUnique.js.map +1 -1
- package/browser/subscriber/Broadcaster.d.ts +24 -0
- package/browser/subscriber/Broadcaster.js +120 -0
- package/browser/subscriber/Broadcaster.js.map +1 -1
- package/browser/subscriber/EntitySubscriberInterface.d.ts +27 -0
- package/browser/subscriber/EntitySubscriberInterface.js +1 -1
- package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
- package/browser/subscriber/event/InsertEvent.js +1 -1
- package/browser/subscriber/event/LoadEvent.js +1 -1
- package/browser/subscriber/event/RemoveEvent.js +1 -1
- package/browser/subscriber/event/TransactionCommitEvent.d.ts +22 -0
- package/browser/subscriber/event/TransactionCommitEvent.js +3 -0
- package/browser/subscriber/event/TransactionCommitEvent.js.map +1 -0
- package/browser/subscriber/event/TransactionRollbackEvent.d.ts +22 -0
- package/browser/subscriber/event/TransactionRollbackEvent.js +3 -0
- package/browser/subscriber/event/TransactionRollbackEvent.js.map +1 -0
- package/browser/subscriber/event/TransactionStartEvent.d.ts +22 -0
- package/browser/subscriber/event/TransactionStartEvent.js +3 -0
- package/browser/subscriber/event/TransactionStartEvent.js.map +1 -0
- package/browser/subscriber/event/UpdateEvent.js +1 -1
- package/browser/util/DateUtils.d.ts +1 -1
- package/browser/util/DateUtils.js +1 -7
- package/browser/util/DateUtils.js.map +1 -1
- package/browser/util/OrmUtils.d.ts +1 -1
- package/browser/util/OrmUtils.js +2 -2
- package/browser/util/OrmUtils.js.map +1 -1
- package/browser/util/StringUtils.js.map +1 -1
- package/cache/DbQueryResultCache.js +1 -0
- package/cache/DbQueryResultCache.js.map +1 -1
- package/cache/QueryResultCacheFactory.js +1 -0
- package/cache/QueryResultCacheFactory.js.map +1 -1
- package/cache/RedisQueryResultCache.js +1 -0
- package/cache/RedisQueryResultCache.js.map +1 -1
- package/cli.js +2 -2
- package/cli.js.map +1 -1
- package/commands/CacheClearCommand.js +1 -0
- package/commands/CacheClearCommand.js.map +1 -1
- package/commands/CommandUtils.js +1 -0
- package/commands/CommandUtils.js.map +1 -1
- package/commands/EntityCreateCommand.js +6 -2
- package/commands/EntityCreateCommand.js.map +1 -1
- package/commands/InitCommand.d.ts +3 -0
- package/commands/InitCommand.js +37 -6
- package/commands/InitCommand.js.map +1 -1
- package/commands/MigrationCreateCommand.d.ts +6 -0
- package/commands/MigrationCreateCommand.js +23 -4
- package/commands/MigrationCreateCommand.js.map +1 -1
- package/commands/MigrationGenerateCommand.d.ts +10 -0
- package/commands/MigrationGenerateCommand.js +72 -34
- package/commands/MigrationGenerateCommand.js.map +1 -1
- package/commands/MigrationRevertCommand.js +1 -0
- package/commands/MigrationRevertCommand.js.map +1 -1
- package/commands/MigrationRunCommand.js +1 -0
- package/commands/MigrationRunCommand.js.map +1 -1
- package/commands/MigrationShowCommand.js +1 -0
- package/commands/MigrationShowCommand.js.map +1 -1
- package/commands/QueryCommand.d.ts +2 -0
- package/commands/QueryCommand.js +17 -6
- package/commands/QueryCommand.js.map +1 -1
- package/commands/SchemaDropCommand.js +1 -0
- package/commands/SchemaDropCommand.js.map +1 -1
- package/commands/SchemaLogCommand.js +1 -0
- package/commands/SchemaLogCommand.js.map +1 -1
- package/commands/SchemaSyncCommand.js +1 -0
- package/commands/SchemaSyncCommand.js.map +1 -1
- package/commands/SubscriberCreateCommand.js +6 -2
- package/commands/SubscriberCreateCommand.js.map +1 -1
- package/commands/VersionCommand.js +1 -0
- package/commands/VersionCommand.js.map +1 -1
- package/common/EntityFieldsNames.d.ts +6 -0
- package/common/EntityFieldsNames.js +4 -0
- package/common/EntityFieldsNames.js.map +1 -0
- package/connection/Connection.d.ts +2 -2
- package/connection/Connection.js +5 -2
- package/connection/Connection.js.map +1 -1
- package/connection/ConnectionManager.js +1 -0
- package/connection/ConnectionManager.js.map +1 -1
- package/connection/ConnectionMetadataBuilder.js +5 -4
- package/connection/ConnectionMetadataBuilder.js.map +1 -1
- package/connection/ConnectionOptionsReader.d.ts +3 -3
- package/connection/ConnectionOptionsReader.js +31 -30
- package/connection/ConnectionOptionsReader.js.map +1 -1
- package/connection/options-reader/ConnectionOptionsEnvReader.js +2 -1
- package/connection/options-reader/ConnectionOptionsEnvReader.js.map +1 -1
- package/connection/options-reader/ConnectionOptionsXmlReader.js +1 -0
- package/connection/options-reader/ConnectionOptionsXmlReader.js.map +1 -1
- package/connection/options-reader/ConnectionOptionsYmlReader.js +2 -1
- package/connection/options-reader/ConnectionOptionsYmlReader.js.map +1 -1
- package/container.js +1 -0
- package/container.js.map +1 -1
- package/decorator/Check.js +1 -0
- package/decorator/Check.js.map +1 -1
- package/decorator/EntityRepository.js +1 -0
- package/decorator/EntityRepository.js.map +1 -1
- package/decorator/Exclusion.js +1 -0
- package/decorator/Exclusion.js.map +1 -1
- package/decorator/Generated.js +1 -0
- package/decorator/Generated.js.map +1 -1
- package/decorator/Index.js +1 -0
- package/decorator/Index.js.map +1 -1
- package/decorator/Unique.js +1 -0
- package/decorator/Unique.js.map +1 -1
- package/decorator/columns/Column.js +1 -0
- package/decorator/columns/Column.js.map +1 -1
- package/decorator/columns/CreateDateColumn.js +1 -0
- package/decorator/columns/CreateDateColumn.js.map +1 -1
- package/decorator/columns/DeleteDateColumn.js +1 -0
- package/decorator/columns/DeleteDateColumn.js.map +1 -1
- package/decorator/columns/ObjectIdColumn.js +1 -0
- package/decorator/columns/ObjectIdColumn.js.map +1 -1
- package/decorator/columns/PrimaryColumn.d.ts +9 -2
- package/decorator/columns/PrimaryColumn.js +1 -0
- package/decorator/columns/PrimaryColumn.js.map +1 -1
- package/decorator/columns/PrimaryGeneratedColumn.js +1 -0
- package/decorator/columns/PrimaryGeneratedColumn.js.map +1 -1
- package/decorator/columns/UpdateDateColumn.js +1 -0
- package/decorator/columns/UpdateDateColumn.js.map +1 -1
- package/decorator/columns/VersionColumn.js +1 -0
- package/decorator/columns/VersionColumn.js.map +1 -1
- package/decorator/columns/ViewColumn.js +1 -0
- package/decorator/columns/ViewColumn.js.map +1 -1
- package/decorator/entity/ChildEntity.js +2 -1
- package/decorator/entity/ChildEntity.js.map +1 -1
- package/decorator/entity/Entity.js +1 -0
- package/decorator/entity/Entity.js.map +1 -1
- package/decorator/entity/TableInheritance.js +1 -0
- package/decorator/entity/TableInheritance.js.map +1 -1
- package/decorator/entity-view/ViewEntity.js +1 -0
- package/decorator/entity-view/ViewEntity.js.map +1 -1
- package/decorator/listeners/AfterInsert.js +1 -0
- package/decorator/listeners/AfterInsert.js.map +1 -1
- package/decorator/listeners/AfterLoad.js +1 -0
- package/decorator/listeners/AfterLoad.js.map +1 -1
- package/decorator/listeners/AfterRemove.js +1 -0
- package/decorator/listeners/AfterRemove.js.map +1 -1
- package/decorator/listeners/AfterUpdate.js +1 -0
- package/decorator/listeners/AfterUpdate.js.map +1 -1
- package/decorator/listeners/BeforeInsert.js +1 -0
- package/decorator/listeners/BeforeInsert.js.map +1 -1
- package/decorator/listeners/BeforeRemove.js +1 -0
- package/decorator/listeners/BeforeRemove.js.map +1 -1
- package/decorator/listeners/BeforeUpdate.js +1 -0
- package/decorator/listeners/BeforeUpdate.js.map +1 -1
- package/decorator/listeners/EventSubscriber.js +1 -0
- package/decorator/listeners/EventSubscriber.js.map +1 -1
- package/decorator/options/RelationOptions.d.ts +10 -0
- package/decorator/options/RelationOptions.js.map +1 -1
- package/decorator/relations/JoinColumn.js +1 -0
- package/decorator/relations/JoinColumn.js.map +1 -1
- package/decorator/relations/JoinTable.js +1 -0
- package/decorator/relations/JoinTable.js.map +1 -1
- package/decorator/relations/ManyToMany.js +1 -0
- package/decorator/relations/ManyToMany.js.map +1 -1
- package/decorator/relations/ManyToOne.d.ts +6 -6
- package/decorator/relations/ManyToOne.js +6 -5
- package/decorator/relations/ManyToOne.js.map +1 -1
- package/decorator/relations/OneToMany.d.ts +3 -2
- package/decorator/relations/OneToMany.js +5 -3
- package/decorator/relations/OneToMany.js.map +1 -1
- package/decorator/relations/OneToOne.js +1 -0
- package/decorator/relations/OneToOne.js.map +1 -1
- package/decorator/relations/RelationCount.js +1 -0
- package/decorator/relations/RelationCount.js.map +1 -1
- package/decorator/relations/RelationId.js +1 -0
- package/decorator/relations/RelationId.js.map +1 -1
- package/decorator/transaction/Transaction.d.ts +1 -1
- package/decorator/transaction/Transaction.js +6 -5
- package/decorator/transaction/Transaction.js.map +1 -1
- package/decorator/transaction/TransactionManager.js +1 -0
- package/decorator/transaction/TransactionManager.js.map +1 -1
- package/decorator/transaction/TransactionRepository.js +1 -0
- package/decorator/transaction/TransactionRepository.js.map +1 -1
- package/decorator/tree/Tree.d.ts +2 -1
- package/decorator/tree/Tree.js +4 -2
- package/decorator/tree/Tree.js.map +1 -1
- package/decorator/tree/TreeChildren.js +1 -0
- package/decorator/tree/TreeChildren.js.map +1 -1
- package/decorator/tree/TreeLevelColumn.js +1 -0
- package/decorator/tree/TreeLevelColumn.js.map +1 -1
- package/decorator/tree/TreeParent.js +1 -0
- package/decorator/tree/TreeParent.js.map +1 -1
- package/driver/Driver.d.ts +1 -1
- package/driver/Driver.js.map +1 -1
- package/driver/DriverFactory.js +1 -0
- package/driver/DriverFactory.js.map +1 -1
- package/driver/DriverUtils.d.ts +10 -0
- package/driver/DriverUtils.js +99 -11
- package/driver/DriverUtils.js.map +1 -1
- package/driver/Query.js +1 -0
- package/driver/Query.js.map +1 -1
- package/driver/SqlInMemory.js +1 -0
- package/driver/SqlInMemory.js.map +1 -1
- package/driver/aurora-data-api/AuroraDataApiConnection.js +1 -0
- package/driver/aurora-data-api/AuroraDataApiConnection.js.map +1 -1
- package/driver/aurora-data-api/AuroraDataApiConnectionOptions.d.ts +1 -0
- package/driver/aurora-data-api/AuroraDataApiConnectionOptions.js.map +1 -1
- package/driver/aurora-data-api/AuroraDataApiDriver.d.ts +3 -3
- package/driver/aurora-data-api/AuroraDataApiDriver.js +16 -6
- package/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts +6 -1
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +73 -11
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.d.ts +2 -0
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresConnectionOptions.js.map +1 -1
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.d.ts +10 -1
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +27 -2
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.d.ts +2 -1
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +60 -11
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
- package/driver/better-sqlite3/BetterSqlite3Driver.js +1 -0
- package/driver/better-sqlite3/BetterSqlite3Driver.js.map +1 -1
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.js +1 -0
- package/driver/better-sqlite3/BetterSqlite3QueryRunner.js.map +1 -1
- package/driver/cockroachdb/CockroachDriver.d.ts +1 -1
- package/driver/cockroachdb/CockroachDriver.js +6 -8
- package/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.d.ts +4 -0
- package/driver/cockroachdb/CockroachQueryRunner.js +113 -42
- package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/driver/cordova/CordovaDriver.js +1 -0
- package/driver/cordova/CordovaDriver.js.map +1 -1
- package/driver/cordova/CordovaQueryRunner.js +1 -0
- package/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/driver/expo/ExpoDriver.js +1 -0
- package/driver/expo/ExpoDriver.js.map +1 -1
- package/driver/expo/ExpoQueryRunner.js +73 -14
- package/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/driver/mongodb/MongoConnectionOptions.d.ts +8 -0
- package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/driver/mongodb/MongoDriver.d.ts +8 -4
- package/driver/mongodb/MongoDriver.js +27 -14
- package/driver/mongodb/MongoDriver.js.map +1 -1
- package/driver/mongodb/MongoQueryRunner.d.ts +3 -3
- package/driver/mongodb/MongoQueryRunner.js +1 -0
- package/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/driver/mysql/MysqlConnectionCredentialsOptions.d.ts +4 -0
- package/driver/mysql/MysqlConnectionCredentialsOptions.js.map +1 -1
- package/driver/mysql/MysqlDriver.d.ts +2 -2
- package/driver/mysql/MysqlDriver.js +16 -14
- package/driver/mysql/MysqlDriver.js.map +1 -1
- package/driver/mysql/MysqlQueryRunner.d.ts +4 -0
- package/driver/mysql/MysqlQueryRunner.js +119 -43
- package/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/driver/nativescript/NativescriptDriver.js +1 -0
- package/driver/nativescript/NativescriptDriver.js.map +1 -1
- package/driver/nativescript/NativescriptQueryRunner.js +1 -0
- package/driver/nativescript/NativescriptQueryRunner.js.map +1 -1
- package/driver/oracle/OracleConnectionOptions.d.ts +4 -0
- package/driver/oracle/OracleConnectionOptions.js.map +1 -1
- package/driver/oracle/OracleDriver.d.ts +1 -1
- package/driver/oracle/OracleDriver.js +29 -3
- package/driver/oracle/OracleDriver.js.map +1 -1
- package/driver/oracle/OracleQueryRunner.js +54 -7
- package/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/driver/postgres/PostgresConnectionOptions.d.ts +4 -0
- package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
- package/driver/postgres/PostgresDriver.d.ts +2 -2
- package/driver/postgres/PostgresDriver.js +63 -28
- package/driver/postgres/PostgresDriver.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.d.ts +9 -1
- package/driver/postgres/PostgresQueryRunner.js +337 -211
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/react-native/ReactNativeDriver.js +2 -2
- package/driver/react-native/ReactNativeDriver.js.map +1 -1
- package/driver/react-native/ReactNativeQueryRunner.js +1 -0
- package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/driver/sap/SapDriver.d.ts +1 -1
- package/driver/sap/SapDriver.js +1 -0
- package/driver/sap/SapDriver.js.map +1 -1
- package/driver/sap/SapQueryRunner.js +58 -9
- package/driver/sap/SapQueryRunner.js.map +1 -1
- package/driver/sqlite/SqliteDriver.js +1 -0
- package/driver/sqlite/SqliteDriver.js.map +1 -1
- package/driver/sqlite/SqliteQueryRunner.js +5 -0
- package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteDriver.d.ts +1 -1
- package/driver/sqlite-abstract/AbstractSqliteDriver.js +5 -1
- package/driver/sqlite-abstract/AbstractSqliteDriver.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +56 -8
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/driver/sqljs/SqljsDriver.js +1 -0
- package/driver/sqljs/SqljsDriver.js.map +1 -1
- package/driver/sqljs/SqljsQueryRunner.js +1 -0
- package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/driver/sqlserver/MssqlParameter.js +1 -0
- package/driver/sqlserver/MssqlParameter.js.map +1 -1
- package/driver/sqlserver/SqlServerConnectionCredentialsOptions.d.ts +18 -2
- package/driver/sqlserver/SqlServerConnectionCredentialsOptions.js.map +1 -1
- package/driver/sqlserver/SqlServerDriver.d.ts +2 -2
- package/driver/sqlserver/SqlServerDriver.js +34 -8
- package/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/driver/sqlserver/SqlServerQueryRunner.d.ts +1 -0
- package/driver/sqlserver/SqlServerQueryRunner.js +166 -85
- package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.d.ts +10 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js +4 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryAccessTokenAuthentication.js.map +1 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.d.ts +20 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js +4 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryMsiAppServiceAuthentication.js.map +1 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.d.ts +16 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js +4 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryMsiVmAuthentication.js.map +1 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.d.ts +17 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js +4 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryPasswordAuthentication.js.map +1 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.d.ts +17 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js +4 -0
- package/driver/sqlserver/authentication/AzureActiveDirectoryServicePrincipalSecret.js.map +1 -0
- package/driver/sqlserver/authentication/DefaultAuthentication.d.ts +13 -0
- package/driver/sqlserver/authentication/DefaultAuthentication.js +4 -0
- package/driver/sqlserver/authentication/DefaultAuthentication.js.map +1 -0
- package/driver/sqlserver/authentication/NtlmAuthentication.d.ts +19 -0
- package/driver/sqlserver/authentication/NtlmAuthentication.js +4 -0
- package/driver/sqlserver/authentication/NtlmAuthentication.js.map +1 -0
- package/driver/types/ColumnTypes.d.ts +1 -1
- package/driver/types/ColumnTypes.js.map +1 -1
- package/entity-manager/EntityManager.d.ts +16 -2
- package/entity-manager/EntityManager.js +6 -16
- package/entity-manager/EntityManager.js.map +1 -1
- package/entity-manager/EntityManagerFactory.js +1 -0
- package/entity-manager/EntityManagerFactory.js.map +1 -1
- package/entity-manager/MongoEntityManager.d.ts +1 -4
- package/entity-manager/MongoEntityManager.js +54 -48
- package/entity-manager/MongoEntityManager.js.map +1 -1
- package/entity-manager/SqljsEntityManager.js +1 -0
- package/entity-manager/SqljsEntityManager.js.map +1 -1
- package/entity-schema/EntitySchema.js +1 -0
- package/entity-schema/EntitySchema.js.map +1 -1
- package/entity-schema/EntitySchemaOptions.js +1 -0
- package/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/entity-schema/EntitySchemaTransformer.js +1 -0
- package/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/error/AlreadyHasActiveConnectionError.js +1 -0
- package/error/AlreadyHasActiveConnectionError.js.map +1 -1
- package/error/CannotAttachTreeChildrenEntityError.js +1 -0
- package/error/CannotAttachTreeChildrenEntityError.js.map +1 -1
- package/error/CannotConnectAlreadyConnectedError.js +1 -0
- package/error/CannotConnectAlreadyConnectedError.js.map +1 -1
- package/error/CannotCreateEntityIdMapError.js +1 -0
- package/error/CannotCreateEntityIdMapError.js.map +1 -1
- package/error/CannotDetermineEntityError.js +1 -0
- package/error/CannotDetermineEntityError.js.map +1 -1
- package/error/CannotExecuteNotConnectedError.js +1 -0
- package/error/CannotExecuteNotConnectedError.js.map +1 -1
- package/error/CannotGetEntityManagerNotConnectedError.js +1 -0
- package/error/CannotGetEntityManagerNotConnectedError.js.map +1 -1
- package/error/CannotReflectMethodParameterTypeError.js +1 -0
- package/error/CannotReflectMethodParameterTypeError.js.map +1 -1
- package/error/CircularRelationsError.js +1 -0
- package/error/CircularRelationsError.js.map +1 -1
- package/error/ColumnTypeUndefinedError.js +1 -0
- package/error/ColumnTypeUndefinedError.js.map +1 -1
- package/error/ConnectionIsNotSetError.js +1 -0
- package/error/ConnectionIsNotSetError.js.map +1 -1
- package/error/ConnectionNotFoundError.js +1 -0
- package/error/ConnectionNotFoundError.js.map +1 -1
- package/error/CustomRepositoryCannotInheritRepositoryError.js +1 -0
- package/error/CustomRepositoryCannotInheritRepositoryError.js.map +1 -1
- package/error/CustomRepositoryDoesNotHaveEntityError.js +1 -0
- package/error/CustomRepositoryDoesNotHaveEntityError.js.map +1 -1
- package/error/CustomRepositoryNotFoundError.js +1 -0
- package/error/CustomRepositoryNotFoundError.js.map +1 -1
- package/error/DataTypeNotSupportedError.js +1 -0
- package/error/DataTypeNotSupportedError.js.map +1 -1
- package/error/DriverOptionNotSetError.js +1 -0
- package/error/DriverOptionNotSetError.js.map +1 -1
- package/error/DriverPackageNotInstalledError.js +1 -0
- package/error/DriverPackageNotInstalledError.js.map +1 -1
- package/error/EntityColumnNotFound.js +1 -0
- package/error/EntityColumnNotFound.js.map +1 -1
- package/error/EntityMetadataNotFoundError.js +1 -0
- package/error/EntityMetadataNotFoundError.js.map +1 -1
- package/error/EntityNotFoundError.js +1 -0
- package/error/EntityNotFoundError.js.map +1 -1
- package/error/FindRelationsNotFoundError.js +1 -0
- package/error/FindRelationsNotFoundError.js.map +1 -1
- package/error/InitializedRelationError.js +1 -0
- package/error/InitializedRelationError.js.map +1 -1
- package/error/InsertValuesMissingError.js +1 -0
- package/error/InsertValuesMissingError.js.map +1 -1
- package/error/LimitOnUpdateNotSupportedError.js +1 -0
- package/error/LimitOnUpdateNotSupportedError.js.map +1 -1
- package/error/LockNotSupportedOnGivenDriverError.js +1 -0
- package/error/LockNotSupportedOnGivenDriverError.js.map +1 -1
- package/error/MetadataAlreadyExistsError.js +1 -0
- package/error/MetadataAlreadyExistsError.js.map +1 -1
- package/error/MetadataWithSuchNameAlreadyExistsError.js +1 -0
- package/error/MetadataWithSuchNameAlreadyExistsError.js.map +1 -1
- package/error/MissingDeleteDateColumnError.js +1 -0
- package/error/MissingDeleteDateColumnError.js.map +1 -1
- package/error/MissingDriverError.js +1 -0
- package/error/MissingDriverError.js.map +1 -1
- package/error/MissingJoinColumnError.js +1 -0
- package/error/MissingJoinColumnError.js.map +1 -1
- package/error/MissingJoinTableError.js +1 -0
- package/error/MissingJoinTableError.js.map +1 -1
- package/error/MissingPrimaryColumnError.js +1 -0
- package/error/MissingPrimaryColumnError.js.map +1 -1
- package/error/MustBeEntityError.js +1 -0
- package/error/MustBeEntityError.js.map +1 -1
- package/error/NamingStrategyNotFoundError.js +1 -0
- package/error/NamingStrategyNotFoundError.js.map +1 -1
- package/error/NoConnectionForRepositoryError.js +1 -0
- package/error/NoConnectionForRepositoryError.js.map +1 -1
- package/error/NoConnectionOptionError.js +1 -0
- package/error/NoConnectionOptionError.js.map +1 -1
- package/error/NoNeedToReleaseEntityManagerError.js +1 -0
- package/error/NoNeedToReleaseEntityManagerError.js.map +1 -1
- package/error/NoVersionOrUpdateDateColumnError.js +1 -0
- package/error/NoVersionOrUpdateDateColumnError.js.map +1 -1
- package/error/OffsetWithoutLimitNotSupportedError.js +1 -0
- package/error/OffsetWithoutLimitNotSupportedError.js.map +1 -1
- package/error/OptimisticLockCanNotBeUsedError.js +1 -0
- package/error/OptimisticLockCanNotBeUsedError.js.map +1 -1
- package/error/OptimisticLockVersionMismatchError.js +1 -0
- package/error/OptimisticLockVersionMismatchError.js.map +1 -1
- package/error/PersistedEntityNotFoundError.js +1 -0
- package/error/PersistedEntityNotFoundError.js.map +1 -1
- package/error/PessimisticLockTransactionRequiredError.js +1 -0
- package/error/PessimisticLockTransactionRequiredError.js.map +1 -1
- package/error/PrimaryColumnCannotBeNullableError.js +1 -0
- package/error/PrimaryColumnCannotBeNullableError.js.map +1 -1
- package/error/QueryFailedError.js +1 -0
- package/error/QueryFailedError.js.map +1 -1
- package/error/QueryRunnerAlreadyReleasedError.js +1 -0
- package/error/QueryRunnerAlreadyReleasedError.js.map +1 -1
- package/error/QueryRunnerProviderAlreadyReleasedError.js +1 -0
- package/error/QueryRunnerProviderAlreadyReleasedError.js.map +1 -1
- package/error/RepositoryNotFoundError.js +1 -0
- package/error/RepositoryNotFoundError.js.map +1 -1
- package/error/RepositoryNotTreeError.js +1 -0
- package/error/RepositoryNotTreeError.js.map +1 -1
- package/error/ReturningStatementNotSupportedError.js +1 -0
- package/error/ReturningStatementNotSupportedError.js.map +1 -1
- package/error/SubjectRemovedAndUpdatedError.js +1 -0
- package/error/SubjectRemovedAndUpdatedError.js.map +1 -1
- package/error/SubjectWithoutIdentifierError.js +1 -0
- package/error/SubjectWithoutIdentifierError.js.map +1 -1
- package/error/TransactionAlreadyStartedError.js +1 -0
- package/error/TransactionAlreadyStartedError.js.map +1 -1
- package/error/TransactionNotStartedError.js +1 -0
- package/error/TransactionNotStartedError.js.map +1 -1
- package/error/TreeRepositoryNotSupportedError.js +1 -0
- package/error/TreeRepositoryNotSupportedError.js.map +1 -1
- package/error/UpdateValuesMissingError.js +1 -0
- package/error/UpdateValuesMissingError.js.map +1 -1
- package/error/UsingJoinColumnIsNotAllowedError.js +1 -0
- package/error/UsingJoinColumnIsNotAllowedError.js.map +1 -1
- package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js +1 -0
- package/error/UsingJoinColumnOnlyOnOneSideAllowedError.js.map +1 -1
- package/error/UsingJoinTableIsNotAllowedError.js +1 -0
- package/error/UsingJoinTableIsNotAllowedError.js.map +1 -1
- package/error/UsingJoinTableOnlyOnOneSideAllowedError.js +1 -0
- package/error/UsingJoinTableOnlyOnOneSideAllowedError.js.map +1 -1
- package/error/index.d.ts +61 -0
- package/error/index.js +66 -0
- package/error/index.js.map +1 -0
- package/find-options/FindOneOptions.d.ts +10 -2
- package/find-options/FindOneOptions.js.map +1 -1
- package/find-options/FindOperator.d.ts +25 -6
- package/find-options/FindOperator.js +33 -6
- package/find-options/FindOperator.js.map +1 -1
- package/find-options/FindOperatorType.d.ts +1 -1
- package/find-options/FindOperatorType.js.map +1 -1
- package/find-options/FindOptionsUtils.js +16 -2
- package/find-options/FindOptionsUtils.js.map +1 -1
- package/find-options/JoinOptions.d.ts +16 -4
- package/find-options/JoinOptions.js.map +1 -1
- package/find-options/operator/Any.js +1 -0
- package/find-options/operator/Any.js.map +1 -1
- package/find-options/operator/Between.js +1 -0
- package/find-options/operator/Between.js.map +1 -1
- package/find-options/operator/Equal.js +1 -0
- package/find-options/operator/Equal.js.map +1 -1
- package/find-options/operator/ILike.d.ts +6 -0
- package/find-options/operator/ILike.js +14 -0
- package/find-options/operator/ILike.js.map +1 -0
- package/find-options/operator/In.js +1 -0
- package/find-options/operator/In.js.map +1 -1
- package/find-options/operator/IsNull.js +1 -0
- package/find-options/operator/IsNull.js.map +1 -1
- package/find-options/operator/LessThan.js +1 -0
- package/find-options/operator/LessThan.js.map +1 -1
- package/find-options/operator/LessThanOrEqual.js +1 -0
- package/find-options/operator/LessThanOrEqual.js.map +1 -1
- package/find-options/operator/Like.js +1 -0
- package/find-options/operator/Like.js.map +1 -1
- package/find-options/operator/MoreThan.js +1 -0
- package/find-options/operator/MoreThan.js.map +1 -1
- package/find-options/operator/MoreThanOrEqual.js +1 -0
- package/find-options/operator/MoreThanOrEqual.js.map +1 -1
- package/find-options/operator/Not.js +1 -0
- package/find-options/operator/Not.js.map +1 -1
- package/find-options/operator/Raw.d.ts +14 -2
- package/find-options/operator/Raw.js +6 -6
- package/find-options/operator/Raw.js.map +1 -1
- package/index.d.ts +3 -1
- package/index.js +44 -19
- package/index.js.map +1 -1
- package/logger/AdvancedConsoleLogger.d.ts +2 -1
- package/logger/AdvancedConsoleLogger.js +1 -0
- package/logger/AdvancedConsoleLogger.js.map +1 -1
- package/logger/DebugLogger.js +1 -0
- package/logger/DebugLogger.js.map +1 -1
- package/logger/FileLogger.d.ts +2 -2
- package/logger/FileLogger.js +1 -0
- package/logger/FileLogger.js.map +1 -1
- package/logger/Logger.d.ts +1 -1
- package/logger/Logger.js.map +1 -1
- package/logger/LoggerFactory.js +1 -0
- package/logger/LoggerFactory.js.map +1 -1
- package/logger/SimpleConsoleLogger.d.ts +2 -1
- package/logger/SimpleConsoleLogger.js +1 -0
- package/logger/SimpleConsoleLogger.js.map +1 -1
- package/metadata/CheckMetadata.js +1 -0
- package/metadata/CheckMetadata.js.map +1 -1
- package/metadata/ColumnMetadata.d.ts +1 -1
- package/metadata/ColumnMetadata.js +23 -14
- package/metadata/ColumnMetadata.js.map +1 -1
- package/metadata/EmbeddedMetadata.js +2 -1
- package/metadata/EmbeddedMetadata.js.map +1 -1
- package/metadata/EntityListenerMetadata.js +1 -0
- package/metadata/EntityListenerMetadata.js.map +1 -1
- package/metadata/EntityMetadata.d.ts +5 -0
- package/metadata/EntityMetadata.js +3 -1
- package/metadata/EntityMetadata.js.map +1 -1
- package/metadata/ExclusionMetadata.js +1 -0
- package/metadata/ExclusionMetadata.js.map +1 -1
- package/metadata/ForeignKeyMetadata.js +1 -0
- package/metadata/ForeignKeyMetadata.js.map +1 -1
- package/metadata/IndexMetadata.js +1 -0
- package/metadata/IndexMetadata.js.map +1 -1
- package/metadata/RelationCountMetadata.js +1 -0
- package/metadata/RelationCountMetadata.js.map +1 -1
- package/metadata/RelationIdMetadata.js +1 -0
- package/metadata/RelationIdMetadata.js.map +1 -1
- package/metadata/RelationMetadata.d.ts +15 -0
- package/metadata/RelationMetadata.js +23 -6
- package/metadata/RelationMetadata.js.map +1 -1
- package/metadata/UniqueMetadata.js +1 -0
- package/metadata/UniqueMetadata.js.map +1 -1
- package/metadata/types/ClosureTreeOptions.d.ts +10 -0
- package/metadata/types/ClosureTreeOptions.js +4 -0
- package/metadata/types/ClosureTreeOptions.js.map +1 -0
- package/metadata/types/EventListenerTypes.d.ts +7 -7
- package/metadata/types/EventListenerTypes.js +1 -0
- package/metadata/types/EventListenerTypes.js.map +1 -1
- package/metadata-args/MetadataArgsStorage.js +1 -0
- package/metadata-args/MetadataArgsStorage.js.map +1 -1
- package/metadata-args/TreeMetadataArgs.d.ts +5 -0
- package/metadata-args/TreeMetadataArgs.js.map +1 -1
- package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js +6 -3
- package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/EntityMetadataBuilder.js +26 -15
- package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/EntityMetadataValidator.js +11 -5
- package/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/metadata-builder/JunctionEntityMetadataBuilder.js +8 -3
- package/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/MetadataUtils.js +1 -0
- package/metadata-builder/MetadataUtils.js.map +1 -1
- package/metadata-builder/RelationJoinColumnBuilder.d.ts +1 -0
- package/metadata-builder/RelationJoinColumnBuilder.js +9 -6
- package/metadata-builder/RelationJoinColumnBuilder.js.map +1 -1
- package/migration/Migration.js +1 -0
- package/migration/Migration.js.map +1 -1
- package/migration/MigrationExecutor.js +6 -5
- package/migration/MigrationExecutor.js.map +1 -1
- package/naming-strategy/DefaultNamingStrategy.d.ts +1 -1
- package/naming-strategy/DefaultNamingStrategy.js +9 -7
- package/naming-strategy/DefaultNamingStrategy.js.map +1 -1
- package/naming-strategy/NamingStrategyInterface.d.ts +6 -1
- package/naming-strategy/NamingStrategyInterface.js.map +1 -1
- package/package.json +46 -43
- package/persistence/EntityPersistExecutor.js +56 -52
- package/persistence/EntityPersistExecutor.js.map +1 -1
- package/persistence/Subject.d.ts +4 -4
- package/persistence/Subject.js +8 -6
- package/persistence/Subject.js.map +1 -1
- package/persistence/SubjectChangedColumnsComputer.js +4 -1
- package/persistence/SubjectChangedColumnsComputer.js.map +1 -1
- package/persistence/SubjectDatabaseEntityLoader.js +2 -1
- package/persistence/SubjectDatabaseEntityLoader.js.map +1 -1
- package/persistence/SubjectExecutor.js +31 -26
- package/persistence/SubjectExecutor.js.map +1 -1
- package/persistence/SubjectTopoligicalSorter.js +6 -5
- package/persistence/SubjectTopoligicalSorter.js.map +1 -1
- package/persistence/subject-builder/CascadesSubjectBuilder.js +1 -0
- package/persistence/subject-builder/CascadesSubjectBuilder.js.map +1 -1
- package/persistence/subject-builder/ManyToManySubjectBuilder.js +3 -0
- package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
- package/persistence/subject-builder/OneToManySubjectBuilder.js +10 -4
- package/persistence/subject-builder/OneToManySubjectBuilder.js.map +1 -1
- package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js +1 -0
- package/persistence/subject-builder/OneToOneInverseSideSubjectBuilder.js.map +1 -1
- package/persistence/tree/ClosureSubjectExecutor.d.ts +1 -1
- package/persistence/tree/ClosureSubjectExecutor.js +7 -6
- package/persistence/tree/ClosureSubjectExecutor.js.map +1 -1
- package/persistence/tree/MaterializedPathSubjectExecutor.js +1 -0
- package/persistence/tree/MaterializedPathSubjectExecutor.js.map +1 -1
- package/persistence/tree/NestedSetSubjectExecutor.js +1 -0
- package/persistence/tree/NestedSetSubjectExecutor.js.map +1 -1
- package/platform/PlatformTools.js +5 -4
- package/platform/PlatformTools.js.map +1 -1
- package/query-builder/Alias.d.ts +4 -3
- package/query-builder/Alias.js +4 -3
- package/query-builder/Alias.js.map +1 -1
- package/query-builder/Brackets.js +1 -0
- package/query-builder/Brackets.js.map +1 -1
- package/query-builder/DeleteQueryBuilder.js +8 -2
- package/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/query-builder/InsertQueryBuilder.d.ts +6 -0
- package/query-builder/InsertQueryBuilder.js +64 -14
- package/query-builder/InsertQueryBuilder.js.map +1 -1
- package/query-builder/JoinAttribute.d.ts +10 -10
- package/query-builder/JoinAttribute.js +11 -10
- package/query-builder/JoinAttribute.js.map +1 -1
- package/query-builder/QueryBuilder.d.ts +8 -1
- package/query-builder/QueryBuilder.js +172 -36
- package/query-builder/QueryBuilder.js.map +1 -1
- package/query-builder/QueryBuilderUtils.js +1 -0
- package/query-builder/QueryBuilderUtils.js.map +1 -1
- package/query-builder/QueryExpressionMap.d.ts +10 -2
- package/query-builder/QueryExpressionMap.js +5 -2
- package/query-builder/QueryExpressionMap.js.map +1 -1
- package/query-builder/RelationIdLoader.js +1 -0
- package/query-builder/RelationIdLoader.js.map +1 -1
- package/query-builder/RelationLoader.js +4 -3
- package/query-builder/RelationLoader.js.map +1 -1
- package/query-builder/RelationQueryBuilder.js +2 -1
- package/query-builder/RelationQueryBuilder.js.map +1 -1
- package/query-builder/RelationRemover.js +11 -10
- package/query-builder/RelationRemover.js.map +1 -1
- package/query-builder/RelationUpdater.js +1 -0
- package/query-builder/RelationUpdater.js.map +1 -1
- package/query-builder/ReturningResultsEntityUpdator.js +1 -0
- package/query-builder/ReturningResultsEntityUpdator.js.map +1 -1
- package/query-builder/SelectQueryBuilder.d.ts +7 -6
- package/query-builder/SelectQueryBuilder.js +129 -66
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-builder/SoftDeleteQueryBuilder.js +1 -0
- package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/query-builder/UpdateQueryBuilder.js +7 -1
- package/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/query-builder/relation-count/RelationCountAttribute.d.ts +7 -7
- package/query-builder/relation-count/RelationCountAttribute.js +8 -7
- package/query-builder/relation-count/RelationCountAttribute.js.map +1 -1
- package/query-builder/relation-count/RelationCountLoader.js +3 -1
- package/query-builder/relation-count/RelationCountLoader.js.map +1 -1
- package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js +1 -0
- package/query-builder/relation-count/RelationCountMetadataToAttributeTransformer.js.map +1 -1
- package/query-builder/relation-id/RelationIdAttribute.d.ts +8 -8
- package/query-builder/relation-id/RelationIdAttribute.js +9 -8
- package/query-builder/relation-id/RelationIdAttribute.js.map +1 -1
- package/query-builder/relation-id/RelationIdLoader.js +62 -11
- package/query-builder/relation-id/RelationIdLoader.js.map +1 -1
- package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js +1 -0
- package/query-builder/relation-id/RelationIdMetadataToAttributeTransformer.js.map +1 -1
- package/query-builder/result/DeleteResult.js +1 -0
- package/query-builder/result/DeleteResult.js.map +1 -1
- package/query-builder/result/InsertResult.js +1 -0
- package/query-builder/result/InsertResult.js.map +1 -1
- package/query-builder/result/UpdateResult.js +1 -0
- package/query-builder/result/UpdateResult.js.map +1 -1
- package/query-builder/transformer/DocumentToEntityTransformer.js +1 -0
- package/query-builder/transformer/DocumentToEntityTransformer.js.map +1 -1
- package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js +4 -3
- package/query-builder/transformer/PlainObjectToDatabaseEntityTransformer.js.map +1 -1
- package/query-builder/transformer/PlainObjectToNewEntityTransformer.js +1 -0
- package/query-builder/transformer/PlainObjectToNewEntityTransformer.js.map +1 -1
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +10 -6
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/query-runner/BaseQueryRunner.js +3 -2
- package/query-runner/BaseQueryRunner.js.map +1 -1
- package/query-runner/QueryRunner.d.ts +1 -1
- package/query-runner/QueryRunner.js.map +1 -1
- package/repository/AbstractRepository.d.ts +2 -2
- package/repository/AbstractRepository.js +3 -2
- package/repository/AbstractRepository.js.map +1 -1
- package/repository/BaseEntity.d.ts +1 -1
- package/repository/BaseEntity.js +3 -2
- package/repository/BaseEntity.js.map +1 -1
- package/repository/MongoRepository.js +1 -0
- package/repository/MongoRepository.js.map +1 -1
- package/repository/Repository.d.ts +4 -4
- package/repository/Repository.js +3 -2
- package/repository/Repository.js.map +1 -1
- package/repository/RepositoryFactory.js +1 -0
- package/repository/RepositoryFactory.js.map +1 -1
- package/repository/TreeRepository.js +4 -3
- package/repository/TreeRepository.js.map +1 -1
- package/schema-builder/MongoSchemaBuilder.js +1 -0
- package/schema-builder/MongoSchemaBuilder.js.map +1 -1
- package/schema-builder/RdbmsSchemaBuilder.d.ts +2 -2
- package/schema-builder/RdbmsSchemaBuilder.js +81 -79
- package/schema-builder/RdbmsSchemaBuilder.js.map +1 -1
- package/schema-builder/options/TableForeignKeyOptions.js.map +1 -1
- package/schema-builder/table/Table.d.ts +1 -1
- package/schema-builder/table/Table.js +2 -1
- package/schema-builder/table/Table.js.map +1 -1
- package/schema-builder/table/TableCheck.js +2 -1
- package/schema-builder/table/TableCheck.js.map +1 -1
- package/schema-builder/table/TableColumn.js +1 -0
- package/schema-builder/table/TableColumn.js.map +1 -1
- package/schema-builder/table/TableExclusion.js +1 -0
- package/schema-builder/table/TableExclusion.js.map +1 -1
- package/schema-builder/table/TableForeignKey.js +3 -2
- package/schema-builder/table/TableForeignKey.js.map +1 -1
- package/schema-builder/table/TableIndex.js +2 -1
- package/schema-builder/table/TableIndex.js.map +1 -1
- package/schema-builder/table/TableUnique.js +2 -1
- package/schema-builder/table/TableUnique.js.map +1 -1
- package/schema-builder/util/TableUtils.js +1 -0
- package/schema-builder/util/TableUtils.js.map +1 -1
- package/schema-builder/view/View.js +1 -0
- package/schema-builder/view/View.js.map +1 -1
- package/subscriber/Broadcaster.d.ts +24 -0
- package/subscriber/Broadcaster.js +121 -0
- package/subscriber/Broadcaster.js.map +1 -1
- package/subscriber/BroadcasterResult.js +1 -0
- package/subscriber/BroadcasterResult.js.map +1 -1
- package/subscriber/EntitySubscriberInterface.d.ts +27 -0
- package/subscriber/EntitySubscriberInterface.js.map +1 -1
- package/subscriber/event/TransactionCommitEvent.d.ts +22 -0
- package/subscriber/event/TransactionCommitEvent.js +4 -0
- package/subscriber/event/TransactionCommitEvent.js.map +1 -0
- package/subscriber/event/TransactionRollbackEvent.d.ts +22 -0
- package/subscriber/event/TransactionRollbackEvent.js +4 -0
- package/subscriber/event/TransactionRollbackEvent.js.map +1 -0
- package/subscriber/event/TransactionStartEvent.d.ts +22 -0
- package/subscriber/event/TransactionStartEvent.js +4 -0
- package/subscriber/event/TransactionStartEvent.js.map +1 -0
- package/typeorm-model-shim.js +145 -128
- package/util/ApplyValueTransformers.js +1 -0
- package/util/ApplyValueTransformers.js.map +1 -1
- package/util/DateUtils.d.ts +1 -1
- package/util/DateUtils.js +2 -7
- package/util/DateUtils.js.map +1 -1
- package/util/DepGraph.js +1 -0
- package/util/DepGraph.js.map +1 -1
- package/util/DirectoryExportedClassesLoader.js +1 -0
- package/util/DirectoryExportedClassesLoader.js.map +1 -1
- package/util/ObjectUtils.js +1 -0
- package/util/ObjectUtils.js.map +1 -1
- package/util/OrmUtils.d.ts +1 -1
- package/util/OrmUtils.js +2 -1
- package/util/OrmUtils.js.map +1 -1
- package/util/RandomGenerator.js +1 -0
- package/util/RandomGenerator.js.map +1 -1
- package/util/StringUtils.js +1 -0
- package/util/StringUtils.js.map +1 -1
- package/util/VersionUtils.js +1 -0
- package/util/VersionUtils.js.map +1 -1
|
@@ -3,6 +3,7 @@ import { QueryRunnerAlreadyReleasedError } from "../../error/QueryRunnerAlreadyR
|
|
|
3
3
|
import { QueryFailedError } from "../../error/QueryFailedError";
|
|
4
4
|
import { AbstractSqliteQueryRunner } from "../sqlite-abstract/AbstractSqliteQueryRunner";
|
|
5
5
|
import { Broadcaster } from "../../subscriber/Broadcaster";
|
|
6
|
+
import { ConnectionIsNotSetError } from '../../error/ConnectionIsNotSetError';
|
|
6
7
|
/**
|
|
7
8
|
* Runs queries on a single sqlite database connection.
|
|
8
9
|
*
|
|
@@ -30,6 +31,9 @@ var SqliteQueryRunner = /** @class */ (function (_super) {
|
|
|
30
31
|
throw new QueryRunnerAlreadyReleasedError();
|
|
31
32
|
var connection = this.driver.connection;
|
|
32
33
|
var options = connection.options;
|
|
34
|
+
if (!connection.isConnected) {
|
|
35
|
+
throw new ConnectionIsNotSetError('sqlite');
|
|
36
|
+
}
|
|
33
37
|
return new Promise(function (ok, fail) { return __awaiter(_this, void 0, void 0, function () {
|
|
34
38
|
var databaseConnection, queryStartTime, isInsertQuery, execute, handler;
|
|
35
39
|
var _this = this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../browser/src/driver/sqlite/SqliteQueryRunner.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,+BAA+B,EAAC,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAC,yBAAyB,EAAC,MAAM,8CAA8C,CAAC;AAGvF,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"sources":["../browser/src/driver/sqlite/SqliteQueryRunner.ts"],"names":[],"mappings":"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","file":"SqliteQueryRunner.js","sourcesContent":["import {QueryRunnerAlreadyReleasedError} from \"../../error/QueryRunnerAlreadyReleasedError\";\nimport {QueryFailedError} from \"../../error/QueryFailedError\";\nimport {AbstractSqliteQueryRunner} from \"../sqlite-abstract/AbstractSqliteQueryRunner\";\nimport {SqliteConnectionOptions} from \"./SqliteConnectionOptions\";\nimport {SqliteDriver} from \"./SqliteDriver\";\nimport {Broadcaster} from \"../../subscriber/Broadcaster\";\nimport { ConnectionIsNotSetError } from '../../error/ConnectionIsNotSetError';\n\n/**\n * Runs queries on a single sqlite database connection.\n *\n * Does not support compose primary keys with autoincrement field.\n * todo: need to throw exception for this case.\n */\nexport class SqliteQueryRunner extends AbstractSqliteQueryRunner {\n\n /**\n * Database driver used by connection.\n */\n driver: SqliteDriver;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(driver: SqliteDriver) {\n super();\n this.driver = driver;\n this.connection = driver.connection;\n this.broadcaster = new Broadcaster(this);\n }\n\n /**\n * Executes a given SQL query.\n */\n query(query: string, parameters?: any[]): Promise<any> {\n if (this.isReleased)\n throw new QueryRunnerAlreadyReleasedError();\n\n const connection = this.driver.connection;\n const options = connection.options as SqliteConnectionOptions;\n\n if (!connection.isConnected){\n throw new ConnectionIsNotSetError('sqlite')\n }\n\n return new Promise<any[]>(async (ok, fail) => {\n\n const databaseConnection = await this.connect();\n this.driver.connection.logger.logQuery(query, parameters, this);\n const queryStartTime = +new Date();\n const isInsertQuery = query.substr(0, 11) === \"INSERT INTO\";\n\n const execute = async () => {\n if (isInsertQuery) {\n databaseConnection.run(query, parameters, handler);\n } else {\n databaseConnection.all(query, parameters, handler);\n }\n };\n\n const handler = function (err: any, result: any) {\n if (err && err.toString().indexOf(\"SQLITE_BUSY:\") !== -1) {\n if (typeof options.busyErrorRetry === \"number\" && options.busyErrorRetry > 0) {\n setTimeout(execute, options.busyErrorRetry);\n return;\n }\n }\n\n // log slow queries if maxQueryExecution time is set\n const maxQueryExecutionTime = connection.options.maxQueryExecutionTime;\n const queryEndTime = +new Date();\n const queryExecutionTime = queryEndTime - queryStartTime;\n if (maxQueryExecutionTime && queryExecutionTime > maxQueryExecutionTime)\n connection.logger.logQuerySlow(queryExecutionTime, query, parameters, this);\n\n if (err) {\n connection.logger.logQueryError(err, query, parameters, this);\n fail(new QueryFailedError(query, parameters, err));\n } else {\n ok(isInsertQuery ? this[\"lastID\"] : result);\n }\n };\n\n await execute();\n });\n }\n}\n"],"sourceRoot":"../.."}
|
|
@@ -142,7 +142,7 @@ export declare abstract class AbstractSqliteDriver implements Driver {
|
|
|
142
142
|
/**
|
|
143
143
|
* Normalizes "default" value of the column.
|
|
144
144
|
*/
|
|
145
|
-
normalizeDefault(columnMetadata: ColumnMetadata): string;
|
|
145
|
+
normalizeDefault(columnMetadata: ColumnMetadata): string | undefined;
|
|
146
146
|
/**
|
|
147
147
|
* Normalizes "isUnique" value of the column.
|
|
148
148
|
*/
|
|
@@ -375,6 +375,9 @@ var AbstractSqliteDriver = /** @class */ (function () {
|
|
|
375
375
|
else if (typeof defaultValue === "string") {
|
|
376
376
|
return "'" + defaultValue + "'";
|
|
377
377
|
}
|
|
378
|
+
else if (defaultValue === null) {
|
|
379
|
+
return undefined;
|
|
380
|
+
}
|
|
378
381
|
else {
|
|
379
382
|
return defaultValue;
|
|
380
383
|
}
|
|
@@ -464,7 +467,7 @@ var AbstractSqliteDriver = /** @class */ (function () {
|
|
|
464
467
|
// console.log("precision:", tableColumn.precision, columnMetadata.precision);
|
|
465
468
|
// console.log("scale:", tableColumn.scale, columnMetadata.scale);
|
|
466
469
|
// console.log("comment:", tableColumn.comment, columnMetadata.comment);
|
|
467
|
-
// console.log("default:",
|
|
470
|
+
// console.log("default:", this.normalizeDefault(columnMetadata), columnMetadata.default);
|
|
468
471
|
// console.log("isPrimary:", tableColumn.isPrimary, columnMetadata.isPrimary);
|
|
469
472
|
// console.log("isNullable:", tableColumn.isNullable, columnMetadata.isNullable);
|
|
470
473
|
// console.log("isUnique:", tableColumn.isUnique, this.normalizeIsUnique(columnMetadata));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../browser/src/driver/sqlite-abstract/AbstractSqliteDriver.ts"],"names":[],"mappings":"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","file":"AbstractSqliteDriver.js","sourcesContent":["import {Driver} from \"../Driver\";\nimport {ObjectLiteral} from \"../../common/ObjectLiteral\";\nimport {ColumnMetadata} from \"../../metadata/ColumnMetadata\";\nimport {DateUtils} from \"../../util/DateUtils\";\nimport {Connection} from \"../../connection/Connection\";\nimport {RdbmsSchemaBuilder} from \"../../schema-builder/RdbmsSchemaBuilder\";\nimport {MappedColumnTypes} from \"../types/MappedColumnTypes\";\nimport {ColumnType} from \"../types/ColumnTypes\";\nimport {QueryRunner} from \"../../query-runner/QueryRunner\";\nimport {DataTypeDefaults} from \"../types/DataTypeDefaults\";\nimport {TableColumn} from \"../../schema-builder/table/TableColumn\";\nimport {BaseConnectionOptions} from \"../../connection/BaseConnectionOptions\";\nimport {EntityMetadata} from \"../../metadata/EntityMetadata\";\nimport {OrmUtils} from \"../../util/OrmUtils\";\nimport {ApplyValueTransformers} from \"../../util/ApplyValueTransformers\";\nimport {ReplicationMode} from \"../types/ReplicationMode\";\n\n/**\n * Organizes communication with sqlite DBMS.\n */\nexport abstract class AbstractSqliteDriver implements Driver {\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection used by driver.\n */\n connection: Connection;\n\n /**\n * Sqlite has a single QueryRunner because it works on a single database connection.\n */\n queryRunner?: QueryRunner;\n\n /**\n * Real database connection with sqlite database.\n */\n databaseConnection: any;\n\n // -------------------------------------------------------------------------\n // Public Implemented Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection options.\n */\n options: BaseConnectionOptions;\n\n /**\n * Master database used to perform all write queries.\n */\n database?: string;\n\n /**\n * Indicates if replication is enabled.\n */\n isReplicated: boolean = false;\n\n /**\n * SQLite underlying library.\n */\n sqlite: any;\n\n /**\n * Indicates if tree tables are supported by this driver.\n */\n treeSupport = true;\n\n /**\n * Gets list of supported column data types by a driver.\n *\n * @see https://www.tutorialspoint.com/sqlite/sqlite_data_types.htm\n * @see https://sqlite.org/datatype3.html\n */\n supportedDataTypes: ColumnType[] = [\n \"int\",\n \"integer\",\n \"tinyint\",\n \"smallint\",\n \"mediumint\",\n \"bigint\",\n \"unsigned big int\",\n \"int2\",\n \"int8\",\n \"integer\",\n \"character\",\n \"varchar\",\n \"varying character\",\n \"nchar\",\n \"native character\",\n \"nvarchar\",\n \"text\",\n \"clob\",\n \"text\",\n \"blob\",\n \"real\",\n \"double\",\n \"double precision\",\n \"float\",\n \"real\",\n \"numeric\",\n \"decimal\",\n \"boolean\",\n \"date\",\n \"time\",\n \"datetime\"\n ];\n\n /**\n * Gets list of column data types that support length by a driver.\n */\n withLengthColumnTypes: ColumnType[] = [\n \"character\",\n \"varchar\",\n \"varying character\",\n \"nchar\",\n \"native character\",\n \"nvarchar\",\n \"text\",\n \"blob\",\n \"clob\"\n ];\n\n /**\n * Gets list of spatial column data types.\n */\n spatialTypes: ColumnType[] = [];\n\n /**\n * Gets list of column data types that support precision by a driver.\n */\n withPrecisionColumnTypes: ColumnType[] = [\n \"real\",\n \"double\",\n \"double precision\",\n \"float\",\n \"real\",\n \"numeric\",\n \"decimal\",\n \"date\",\n \"time\",\n \"datetime\"\n ];\n\n /**\n * Gets list of column data types that support scale by a driver.\n */\n withScaleColumnTypes: ColumnType[] = [\n \"real\",\n \"double\",\n \"double precision\",\n \"float\",\n \"real\",\n \"numeric\",\n \"decimal\",\n ];\n\n /**\n * Orm has special columns and we need to know what database column types should be for those types.\n * Column types are driver dependant.\n */\n mappedDataTypes: MappedColumnTypes = {\n createDate: \"datetime\",\n createDateDefault: \"datetime('now')\",\n updateDate: \"datetime\",\n updateDateDefault: \"datetime('now')\",\n deleteDate: \"datetime\",\n deleteDateNullable: true,\n version: \"integer\",\n treeLevel: \"integer\",\n migrationId: \"integer\",\n migrationName: \"varchar\",\n migrationTimestamp: \"bigint\",\n cacheId: \"int\",\n cacheIdentifier: \"varchar\",\n cacheTime: \"bigint\",\n cacheDuration: \"int\",\n cacheQuery: \"text\",\n cacheResult: \"text\",\n metadataType: \"varchar\",\n metadataDatabase: \"varchar\",\n metadataSchema: \"varchar\",\n metadataTable: \"varchar\",\n metadataName: \"varchar\",\n metadataValue: \"text\",\n };\n\n /**\n * Default values of length, precision and scale depends on column data type.\n * Used in the cases when length/precision/scale is not specified by user.\n */\n dataTypeDefaults: DataTypeDefaults;\n\n /**\n * No documentation specifying a maximum length for identifiers could be found\n * for SQLite.\n */\n maxAliasLength?: number;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: Connection) {\n this.connection = connection;\n this.options = connection.options as BaseConnectionOptions;\n }\n\n // -------------------------------------------------------------------------\n // Public Abstract\n // -------------------------------------------------------------------------\n\n /**\n * Creates a query runner used to execute database queries.\n */\n abstract createQueryRunner(mode: ReplicationMode): QueryRunner;\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Performs connection to the database.\n */\n async connect(): Promise<void> {\n this.databaseConnection = await this.createDatabaseConnection();\n }\n\n /**\n * Makes any action after connection (e.g. create extensions in Postgres driver).\n */\n afterConnect(): Promise<void> {\n return Promise.resolve();\n }\n\n /**\n * Closes connection with database.\n */\n async disconnect(): Promise<void> {\n return new Promise<void>((ok, fail) => {\n this.queryRunner = undefined;\n this.databaseConnection.close((err: any) => err ? fail(err) : ok());\n });\n }\n\n /**\n * Creates a schema builder used to build and sync a schema.\n */\n createSchemaBuilder() {\n return new RdbmsSchemaBuilder(this.connection);\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type and metadata.\n */\n preparePersistentValue(value: any, columnMetadata: ColumnMetadata): any {\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformTo(columnMetadata.transformer, value);\n\n if (value === null || value === undefined)\n return value;\n\n if (columnMetadata.type === Boolean || columnMetadata.type === \"boolean\") {\n return value === true ? 1 : 0;\n\n } else if (columnMetadata.type === \"date\") {\n return DateUtils.mixedDateToDateString(value);\n\n } else if (columnMetadata.type === \"time\") {\n return DateUtils.mixedDateToTimeString(value);\n\n } else if (columnMetadata.type === \"datetime\" || columnMetadata.type === Date) {\n // to string conversation needs because SQLite stores date as integer number, when date came as Object\n // TODO: think about `toUTC` conversion\n return DateUtils.mixedDateToUtcDatetimeString(value);\n\n } else if (columnMetadata.type === \"simple-array\") {\n return DateUtils.simpleArrayToString(value);\n\n } else if (columnMetadata.type === \"simple-json\") {\n return DateUtils.simpleJsonToString(value);\n } else if (columnMetadata.type === \"simple-enum\") {\n return DateUtils.simpleEnumToString(value);\n }\n\n return value;\n }\n\n /**\n * Prepares given value to a value to be hydrated, based on its column type or metadata.\n */\n prepareHydratedValue(value: any, columnMetadata: ColumnMetadata): any {\n if (value === null || value === undefined)\n return columnMetadata.transformer ? ApplyValueTransformers.transformFrom(columnMetadata.transformer, value) : value;\n\n if (columnMetadata.type === Boolean || columnMetadata.type === \"boolean\") {\n value = value ? true : false;\n\n } else if (columnMetadata.type === \"datetime\" || columnMetadata.type === Date) {\n /**\n * Fix date conversion issue\n *\n * If the format of the date string is \"2018-03-14 02:33:33.906\", Safari (and iOS WKWebView) will convert it to an invalid date object.\n * We need to modify the date string to \"2018-03-14T02:33:33.906Z\" and Safari will convert it correctly.\n *\n * ISO 8601\n * https://www.w3.org/TR/NOTE-datetime\n */\n if (value && typeof value === \"string\") {\n // There are various valid time string formats a sqlite time string might have:\n // https://www.sqlite.org/lang_datefunc.html\n // There are two separate fixes we may need to do:\n // 1) Add 'T' separator if space is used instead\n // 2) Add 'Z' UTC suffix if no timezone or offset specified\n\n if (/^\\d\\d\\d\\d-\\d\\d-\\d\\d \\d\\d:\\d\\d/.test(value)) {\n value = value.replace(\" \", \"T\");\n }\n if (/^\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d:\\d\\d(:\\d\\d(\\.\\d\\d\\d)?)?$/.test(value)) {\n value += \"Z\";\n }\n }\n\n value = DateUtils.normalizeHydratedDate(value);\n\n } else if (columnMetadata.type === \"date\") {\n value = DateUtils.mixedDateToDateString(value);\n\n } else if (columnMetadata.type === \"time\") {\n value = DateUtils.mixedTimeToString(value);\n\n } else if (columnMetadata.type === \"simple-array\") {\n value = DateUtils.stringToSimpleArray(value);\n\n } else if (columnMetadata.type === \"simple-json\") {\n value = DateUtils.stringToSimpleJson(value);\n\n } else if ( columnMetadata.type === \"simple-enum\" ) {\n value = DateUtils.stringToSimpleEnum(value, columnMetadata);\n\n }\n\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformFrom(columnMetadata.transformer, value);\n\n return value;\n }\n\n /**\n * Replaces parameters in the given sql with special escaping character\n * and an array of parameter names to be passed to a query.\n */\n escapeQueryWithParameters(sql: string, parameters: ObjectLiteral, nativeParameters: ObjectLiteral): [string, any[]] {\n const builtParameters: any[] = Object.keys(nativeParameters).map(key => {\n // Mapping boolean values to their numeric representation\n if (typeof nativeParameters[key] === \"boolean\") {\n return nativeParameters[key] === true ? 1 : 0;\n }\n\n return nativeParameters[key];\n });\n\n if (!parameters || !Object.keys(parameters).length)\n return [sql, builtParameters];\n\n const keys = Object.keys(parameters).map(parameter => \"(:(\\\\.\\\\.\\\\.)?\" + parameter + \"\\\\b)\").join(\"|\");\n sql = sql.replace(new RegExp(keys, \"g\"), (key: string): string => {\n let value: any;\n let isArray = false;\n if (key.substr(0, 4) === \":...\") {\n isArray = true;\n value = parameters[key.substr(4)];\n } else {\n value = parameters[key.substr(1)];\n }\n\n if (isArray) {\n return value.map((v: any) => {\n builtParameters.push(v);\n return \"?\";\n // return \"$\" + builtParameters.length;\n }).join(\", \");\n\n } else if (value instanceof Function) {\n return value();\n\n } else {\n builtParameters.push(value);\n return \"?\";\n // return \"$\" + builtParameters.length;\n }\n }); // todo: make replace only in value statements, otherwise problems\n return [sql, builtParameters];\n }\n\n /**\n * Escapes a column name.\n */\n escape(columnName: string): string {\n return \"\\\"\" + columnName + \"\\\"\";\n }\n\n /**\n * Build full table name with database name, schema name and table name.\n * E.g. \"myDB\".\"mySchema\".\"myTable\"\n *\n * Returns only simple table name because all inherited drivers does not supports schema and database.\n */\n buildTableName(tableName: string, schema?: string, database?: string): string {\n return tableName;\n }\n\n /**\n * Creates a database type from a given column metadata.\n */\n normalizeType(column: { type?: ColumnType, length?: number | string, precision?: number|null, scale?: number }): string {\n if (column.type === Number || column.type === \"int\") {\n return \"integer\";\n\n } else if (column.type === String) {\n return \"varchar\";\n\n } else if (column.type === Date) {\n return \"datetime\";\n\n } else if (column.type === Boolean) {\n return \"boolean\";\n\n } else if (column.type === \"uuid\") {\n return \"varchar\";\n\n } else if (column.type === \"simple-array\") {\n return \"text\";\n\n } else if (column.type === \"simple-json\") {\n return \"text\";\n\n } else if (column.type === \"simple-enum\") {\n return \"varchar\";\n\n } else {\n return column.type as string || \"\";\n }\n }\n\n /**\n * Normalizes \"default\" value of the column.\n */\n normalizeDefault(columnMetadata: ColumnMetadata): string {\n const defaultValue = columnMetadata.default;\n\n if (typeof defaultValue === \"number\") {\n return \"\" + defaultValue;\n\n } else if (typeof defaultValue === \"boolean\") {\n return defaultValue === true ? \"1\" : \"0\";\n\n } else if (typeof defaultValue === \"function\") {\n return defaultValue();\n\n } else if (typeof defaultValue === \"string\") {\n return `'${defaultValue}'`;\n\n } else {\n return defaultValue;\n }\n }\n\n /**\n * Normalizes \"isUnique\" value of the column.\n */\n normalizeIsUnique(column: ColumnMetadata): boolean {\n return column.entityMetadata.uniques.some(uq => uq.columns.length === 1 && uq.columns[0] === column);\n }\n\n /**\n * Calculates column length taking into account the default length values.\n */\n getColumnLength(column: ColumnMetadata): string {\n return column.length ? column.length.toString() : \"\";\n }\n\n /**\n * Normalizes \"default\" value of the column.\n */\n createFullType(column: TableColumn): string {\n let type = column.type;\n if (column.enum) {\n return \"varchar\";\n }\n if (column.length) {\n type += \"(\" + column.length + \")\";\n\n } else if (column.precision !== null && column.precision !== undefined && column.scale !== null && column.scale !== undefined) {\n type += \"(\" + column.precision + \",\" + column.scale + \")\";\n\n } else if (column.precision !== null && column.precision !== undefined) {\n type += \"(\" + column.precision + \")\";\n }\n\n if (column.isArray)\n type += \" array\";\n\n return type;\n }\n\n /**\n * Obtains a new database connection to a master server.\n * Used for replication.\n * If replication is not setup then returns default connection's database connection.\n */\n obtainMasterConnection(): Promise<any> {\n return Promise.resolve();\n }\n\n /**\n * Obtains a new database connection to a slave server.\n * Used for replication.\n * If replication is not setup then returns master (default) connection's database connection.\n */\n obtainSlaveConnection(): Promise<any> {\n return Promise.resolve();\n }\n\n /**\n * Creates generated map of values generated or returned by database after INSERT query.\n */\n createGeneratedMap(metadata: EntityMetadata, insertResult: any, entityIndex: number, entityNum: number) {\n const generatedMap = metadata.generatedColumns.reduce((map, generatedColumn) => {\n let value: any;\n if (generatedColumn.generationStrategy === \"increment\" && insertResult) {\n // NOTE: When INSERT statement is successfully completed, the last inserted row ID is returned.\n // see also: SqliteQueryRunner.query()\n value = insertResult - entityNum + entityIndex + 1;\n // } else if (generatedColumn.generationStrategy === \"uuid\") {\n // value = insertValue[generatedColumn.databaseName];\n }\n\n if (!value) return map;\n return OrmUtils.mergeDeep(map, generatedColumn.createValueMap(value));\n }, {} as ObjectLiteral);\n\n return Object.keys(generatedMap).length > 0 ? generatedMap : undefined;\n }\n\n /**\n * Differentiate columns of this table and columns from the given column metadatas columns\n * and returns only changed.\n */\n findChangedColumns(tableColumns: TableColumn[], columnMetadatas: ColumnMetadata[]): ColumnMetadata[] {\n return columnMetadatas.filter(columnMetadata => {\n const tableColumn = tableColumns.find(c => c.name === columnMetadata.databaseName);\n if (!tableColumn)\n return false; // we don't need new columns, we only need exist and changed\n\n // console.log(\"table:\", columnMetadata.entityMetadata.tableName);\n // console.log(\"name:\", tableColumn.name, columnMetadata.databaseName);\n // console.log(\"type:\", tableColumn.type, this.normalizeType(columnMetadata));\n // console.log(\"length:\", tableColumn.length, columnMetadata.length);\n // console.log(\"precision:\", tableColumn.precision, columnMetadata.precision);\n // console.log(\"scale:\", tableColumn.scale, columnMetadata.scale);\n // console.log(\"comment:\", tableColumn.comment, columnMetadata.comment);\n // console.log(\"default:\", tableColumn.default, columnMetadata.default);\n // console.log(\"isPrimary:\", tableColumn.isPrimary, columnMetadata.isPrimary);\n // console.log(\"isNullable:\", tableColumn.isNullable, columnMetadata.isNullable);\n // console.log(\"isUnique:\", tableColumn.isUnique, this.normalizeIsUnique(columnMetadata));\n // console.log(\"isGenerated:\", tableColumn.isGenerated, columnMetadata.isGenerated);\n // console.log(\"==========================================\");\n\n return tableColumn.name !== columnMetadata.databaseName\n || tableColumn.type !== this.normalizeType(columnMetadata)\n || tableColumn.length !== columnMetadata.length\n || tableColumn.precision !== columnMetadata.precision\n || tableColumn.scale !== columnMetadata.scale\n // || tableColumn.comment !== columnMetadata.comment || // todo\n || this.normalizeDefault(columnMetadata) !== tableColumn.default\n || tableColumn.isPrimary !== columnMetadata.isPrimary\n || tableColumn.isNullable !== columnMetadata.isNullable\n || tableColumn.isUnique !== this.normalizeIsUnique(columnMetadata)\n || (columnMetadata.generationStrategy !== \"uuid\" && tableColumn.isGenerated !== columnMetadata.isGenerated);\n });\n }\n\n /**\n * Returns true if driver supports RETURNING / OUTPUT statement.\n */\n isReturningSqlSupported(): boolean {\n return false;\n }\n\n /**\n * Returns true if driver supports uuid values generation on its own.\n */\n isUUIDGenerationSupported(): boolean {\n return false;\n }\n\n /**\n * Returns true if driver supports fulltext indices.\n */\n isFullTextColumnTypeSupported(): boolean {\n return false;\n }\n\n /**\n * Creates an escaped parameter.\n */\n createParameter(parameterName: string, index: number): string {\n // return \"$\" + (index + 1);\n return \"?\";\n // return \"$\" + parameterName;\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates connection with the database.\n */\n protected createDatabaseConnection() {\n throw new Error(\"Do not use AbstractSqlite directly, it has to be used with one of the sqlite drivers\");\n }\n\n /**\n * If driver dependency is not given explicitly, then try to load it via \"require\".\n */\n protected loadDependencies(): void {\n // dependencies have to be loaded in the specific driver\n }\n\n}\n"],"sourceRoot":"../.."}
|
|
1
|
+
{"version":3,"sources":["../browser/src/driver/sqlite-abstract/AbstractSqliteDriver.ts"],"names":[],"mappings":"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","file":"AbstractSqliteDriver.js","sourcesContent":["import {Driver} from \"../Driver\";\nimport {ObjectLiteral} from \"../../common/ObjectLiteral\";\nimport {ColumnMetadata} from \"../../metadata/ColumnMetadata\";\nimport {DateUtils} from \"../../util/DateUtils\";\nimport {Connection} from \"../../connection/Connection\";\nimport {RdbmsSchemaBuilder} from \"../../schema-builder/RdbmsSchemaBuilder\";\nimport {MappedColumnTypes} from \"../types/MappedColumnTypes\";\nimport {ColumnType} from \"../types/ColumnTypes\";\nimport {QueryRunner} from \"../../query-runner/QueryRunner\";\nimport {DataTypeDefaults} from \"../types/DataTypeDefaults\";\nimport {TableColumn} from \"../../schema-builder/table/TableColumn\";\nimport {BaseConnectionOptions} from \"../../connection/BaseConnectionOptions\";\nimport {EntityMetadata} from \"../../metadata/EntityMetadata\";\nimport {OrmUtils} from \"../../util/OrmUtils\";\nimport {ApplyValueTransformers} from \"../../util/ApplyValueTransformers\";\nimport {ReplicationMode} from \"../types/ReplicationMode\";\n\n/**\n * Organizes communication with sqlite DBMS.\n */\nexport abstract class AbstractSqliteDriver implements Driver {\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection used by driver.\n */\n connection: Connection;\n\n /**\n * Sqlite has a single QueryRunner because it works on a single database connection.\n */\n queryRunner?: QueryRunner;\n\n /**\n * Real database connection with sqlite database.\n */\n databaseConnection: any;\n\n // -------------------------------------------------------------------------\n // Public Implemented Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection options.\n */\n options: BaseConnectionOptions;\n\n /**\n * Master database used to perform all write queries.\n */\n database?: string;\n\n /**\n * Indicates if replication is enabled.\n */\n isReplicated: boolean = false;\n\n /**\n * SQLite underlying library.\n */\n sqlite: any;\n\n /**\n * Indicates if tree tables are supported by this driver.\n */\n treeSupport = true;\n\n /**\n * Gets list of supported column data types by a driver.\n *\n * @see https://www.tutorialspoint.com/sqlite/sqlite_data_types.htm\n * @see https://sqlite.org/datatype3.html\n */\n supportedDataTypes: ColumnType[] = [\n \"int\",\n \"integer\",\n \"tinyint\",\n \"smallint\",\n \"mediumint\",\n \"bigint\",\n \"unsigned big int\",\n \"int2\",\n \"int8\",\n \"integer\",\n \"character\",\n \"varchar\",\n \"varying character\",\n \"nchar\",\n \"native character\",\n \"nvarchar\",\n \"text\",\n \"clob\",\n \"text\",\n \"blob\",\n \"real\",\n \"double\",\n \"double precision\",\n \"float\",\n \"real\",\n \"numeric\",\n \"decimal\",\n \"boolean\",\n \"date\",\n \"time\",\n \"datetime\"\n ];\n\n /**\n * Gets list of column data types that support length by a driver.\n */\n withLengthColumnTypes: ColumnType[] = [\n \"character\",\n \"varchar\",\n \"varying character\",\n \"nchar\",\n \"native character\",\n \"nvarchar\",\n \"text\",\n \"blob\",\n \"clob\"\n ];\n\n /**\n * Gets list of spatial column data types.\n */\n spatialTypes: ColumnType[] = [];\n\n /**\n * Gets list of column data types that support precision by a driver.\n */\n withPrecisionColumnTypes: ColumnType[] = [\n \"real\",\n \"double\",\n \"double precision\",\n \"float\",\n \"real\",\n \"numeric\",\n \"decimal\",\n \"date\",\n \"time\",\n \"datetime\"\n ];\n\n /**\n * Gets list of column data types that support scale by a driver.\n */\n withScaleColumnTypes: ColumnType[] = [\n \"real\",\n \"double\",\n \"double precision\",\n \"float\",\n \"real\",\n \"numeric\",\n \"decimal\",\n ];\n\n /**\n * Orm has special columns and we need to know what database column types should be for those types.\n * Column types are driver dependant.\n */\n mappedDataTypes: MappedColumnTypes = {\n createDate: \"datetime\",\n createDateDefault: \"datetime('now')\",\n updateDate: \"datetime\",\n updateDateDefault: \"datetime('now')\",\n deleteDate: \"datetime\",\n deleteDateNullable: true,\n version: \"integer\",\n treeLevel: \"integer\",\n migrationId: \"integer\",\n migrationName: \"varchar\",\n migrationTimestamp: \"bigint\",\n cacheId: \"int\",\n cacheIdentifier: \"varchar\",\n cacheTime: \"bigint\",\n cacheDuration: \"int\",\n cacheQuery: \"text\",\n cacheResult: \"text\",\n metadataType: \"varchar\",\n metadataDatabase: \"varchar\",\n metadataSchema: \"varchar\",\n metadataTable: \"varchar\",\n metadataName: \"varchar\",\n metadataValue: \"text\",\n };\n\n /**\n * Default values of length, precision and scale depends on column data type.\n * Used in the cases when length/precision/scale is not specified by user.\n */\n dataTypeDefaults: DataTypeDefaults;\n\n /**\n * No documentation specifying a maximum length for identifiers could be found\n * for SQLite.\n */\n maxAliasLength?: number;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: Connection) {\n this.connection = connection;\n this.options = connection.options as BaseConnectionOptions;\n }\n\n // -------------------------------------------------------------------------\n // Public Abstract\n // -------------------------------------------------------------------------\n\n /**\n * Creates a query runner used to execute database queries.\n */\n abstract createQueryRunner(mode: ReplicationMode): QueryRunner;\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Performs connection to the database.\n */\n async connect(): Promise<void> {\n this.databaseConnection = await this.createDatabaseConnection();\n }\n\n /**\n * Makes any action after connection (e.g. create extensions in Postgres driver).\n */\n afterConnect(): Promise<void> {\n return Promise.resolve();\n }\n\n /**\n * Closes connection with database.\n */\n async disconnect(): Promise<void> {\n return new Promise<void>((ok, fail) => {\n this.queryRunner = undefined;\n this.databaseConnection.close((err: any) => err ? fail(err) : ok());\n });\n }\n\n /**\n * Creates a schema builder used to build and sync a schema.\n */\n createSchemaBuilder() {\n return new RdbmsSchemaBuilder(this.connection);\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type and metadata.\n */\n preparePersistentValue(value: any, columnMetadata: ColumnMetadata): any {\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformTo(columnMetadata.transformer, value);\n\n if (value === null || value === undefined)\n return value;\n\n if (columnMetadata.type === Boolean || columnMetadata.type === \"boolean\") {\n return value === true ? 1 : 0;\n\n } else if (columnMetadata.type === \"date\") {\n return DateUtils.mixedDateToDateString(value);\n\n } else if (columnMetadata.type === \"time\") {\n return DateUtils.mixedDateToTimeString(value);\n\n } else if (columnMetadata.type === \"datetime\" || columnMetadata.type === Date) {\n // to string conversation needs because SQLite stores date as integer number, when date came as Object\n // TODO: think about `toUTC` conversion\n return DateUtils.mixedDateToUtcDatetimeString(value);\n\n } else if (columnMetadata.type === \"simple-array\") {\n return DateUtils.simpleArrayToString(value);\n\n } else if (columnMetadata.type === \"simple-json\") {\n return DateUtils.simpleJsonToString(value);\n } else if (columnMetadata.type === \"simple-enum\") {\n return DateUtils.simpleEnumToString(value);\n }\n\n return value;\n }\n\n /**\n * Prepares given value to a value to be hydrated, based on its column type or metadata.\n */\n prepareHydratedValue(value: any, columnMetadata: ColumnMetadata): any {\n if (value === null || value === undefined)\n return columnMetadata.transformer ? ApplyValueTransformers.transformFrom(columnMetadata.transformer, value) : value;\n\n if (columnMetadata.type === Boolean || columnMetadata.type === \"boolean\") {\n value = value ? true : false;\n\n } else if (columnMetadata.type === \"datetime\" || columnMetadata.type === Date) {\n /**\n * Fix date conversion issue\n *\n * If the format of the date string is \"2018-03-14 02:33:33.906\", Safari (and iOS WKWebView) will convert it to an invalid date object.\n * We need to modify the date string to \"2018-03-14T02:33:33.906Z\" and Safari will convert it correctly.\n *\n * ISO 8601\n * https://www.w3.org/TR/NOTE-datetime\n */\n if (value && typeof value === \"string\") {\n // There are various valid time string formats a sqlite time string might have:\n // https://www.sqlite.org/lang_datefunc.html\n // There are two separate fixes we may need to do:\n // 1) Add 'T' separator if space is used instead\n // 2) Add 'Z' UTC suffix if no timezone or offset specified\n\n if (/^\\d\\d\\d\\d-\\d\\d-\\d\\d \\d\\d:\\d\\d/.test(value)) {\n value = value.replace(\" \", \"T\");\n }\n if (/^\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d:\\d\\d(:\\d\\d(\\.\\d\\d\\d)?)?$/.test(value)) {\n value += \"Z\";\n }\n }\n\n value = DateUtils.normalizeHydratedDate(value);\n\n } else if (columnMetadata.type === \"date\") {\n value = DateUtils.mixedDateToDateString(value);\n\n } else if (columnMetadata.type === \"time\") {\n value = DateUtils.mixedTimeToString(value);\n\n } else if (columnMetadata.type === \"simple-array\") {\n value = DateUtils.stringToSimpleArray(value);\n\n } else if (columnMetadata.type === \"simple-json\") {\n value = DateUtils.stringToSimpleJson(value);\n\n } else if ( columnMetadata.type === \"simple-enum\" ) {\n value = DateUtils.stringToSimpleEnum(value, columnMetadata);\n\n }\n\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformFrom(columnMetadata.transformer, value);\n\n return value;\n }\n\n /**\n * Replaces parameters in the given sql with special escaping character\n * and an array of parameter names to be passed to a query.\n */\n escapeQueryWithParameters(sql: string, parameters: ObjectLiteral, nativeParameters: ObjectLiteral): [string, any[]] {\n const builtParameters: any[] = Object.keys(nativeParameters).map(key => {\n // Mapping boolean values to their numeric representation\n if (typeof nativeParameters[key] === \"boolean\") {\n return nativeParameters[key] === true ? 1 : 0;\n }\n\n return nativeParameters[key];\n });\n\n if (!parameters || !Object.keys(parameters).length)\n return [sql, builtParameters];\n\n const keys = Object.keys(parameters).map(parameter => \"(:(\\\\.\\\\.\\\\.)?\" + parameter + \"\\\\b)\").join(\"|\");\n sql = sql.replace(new RegExp(keys, \"g\"), (key: string): string => {\n let value: any;\n let isArray = false;\n if (key.substr(0, 4) === \":...\") {\n isArray = true;\n value = parameters[key.substr(4)];\n } else {\n value = parameters[key.substr(1)];\n }\n\n if (isArray) {\n return value.map((v: any) => {\n builtParameters.push(v);\n return \"?\";\n // return \"$\" + builtParameters.length;\n }).join(\", \");\n\n } else if (value instanceof Function) {\n return value();\n\n } else {\n builtParameters.push(value);\n return \"?\";\n // return \"$\" + builtParameters.length;\n }\n }); // todo: make replace only in value statements, otherwise problems\n return [sql, builtParameters];\n }\n\n /**\n * Escapes a column name.\n */\n escape(columnName: string): string {\n return \"\\\"\" + columnName + \"\\\"\";\n }\n\n /**\n * Build full table name with database name, schema name and table name.\n * E.g. \"myDB\".\"mySchema\".\"myTable\"\n *\n * Returns only simple table name because all inherited drivers does not supports schema and database.\n */\n buildTableName(tableName: string, schema?: string, database?: string): string {\n return tableName;\n }\n\n /**\n * Creates a database type from a given column metadata.\n */\n normalizeType(column: { type?: ColumnType, length?: number | string, precision?: number|null, scale?: number }): string {\n if (column.type === Number || column.type === \"int\") {\n return \"integer\";\n\n } else if (column.type === String) {\n return \"varchar\";\n\n } else if (column.type === Date) {\n return \"datetime\";\n\n } else if (column.type === Boolean) {\n return \"boolean\";\n\n } else if (column.type === \"uuid\") {\n return \"varchar\";\n\n } else if (column.type === \"simple-array\") {\n return \"text\";\n\n } else if (column.type === \"simple-json\") {\n return \"text\";\n\n } else if (column.type === \"simple-enum\") {\n return \"varchar\";\n\n } else {\n return column.type as string || \"\";\n }\n }\n\n /**\n * Normalizes \"default\" value of the column.\n */\n normalizeDefault(columnMetadata: ColumnMetadata): string | undefined {\n const defaultValue = columnMetadata.default;\n\n if (typeof defaultValue === \"number\") {\n return \"\" + defaultValue;\n\n } else if (typeof defaultValue === \"boolean\") {\n return defaultValue === true ? \"1\" : \"0\";\n\n } else if (typeof defaultValue === \"function\") {\n return defaultValue();\n\n } else if (typeof defaultValue === \"string\") {\n return `'${defaultValue}'`;\n\n } else if (defaultValue === null) {\n return undefined;\n\n } else {\n return defaultValue;\n }\n }\n\n /**\n * Normalizes \"isUnique\" value of the column.\n */\n normalizeIsUnique(column: ColumnMetadata): boolean {\n return column.entityMetadata.uniques.some(uq => uq.columns.length === 1 && uq.columns[0] === column);\n }\n\n /**\n * Calculates column length taking into account the default length values.\n */\n getColumnLength(column: ColumnMetadata): string {\n return column.length ? column.length.toString() : \"\";\n }\n\n /**\n * Normalizes \"default\" value of the column.\n */\n createFullType(column: TableColumn): string {\n let type = column.type;\n if (column.enum) {\n return \"varchar\";\n }\n if (column.length) {\n type += \"(\" + column.length + \")\";\n\n } else if (column.precision !== null && column.precision !== undefined && column.scale !== null && column.scale !== undefined) {\n type += \"(\" + column.precision + \",\" + column.scale + \")\";\n\n } else if (column.precision !== null && column.precision !== undefined) {\n type += \"(\" + column.precision + \")\";\n }\n\n if (column.isArray)\n type += \" array\";\n\n return type;\n }\n\n /**\n * Obtains a new database connection to a master server.\n * Used for replication.\n * If replication is not setup then returns default connection's database connection.\n */\n obtainMasterConnection(): Promise<any> {\n return Promise.resolve();\n }\n\n /**\n * Obtains a new database connection to a slave server.\n * Used for replication.\n * If replication is not setup then returns master (default) connection's database connection.\n */\n obtainSlaveConnection(): Promise<any> {\n return Promise.resolve();\n }\n\n /**\n * Creates generated map of values generated or returned by database after INSERT query.\n */\n createGeneratedMap(metadata: EntityMetadata, insertResult: any, entityIndex: number, entityNum: number) {\n const generatedMap = metadata.generatedColumns.reduce((map, generatedColumn) => {\n let value: any;\n if (generatedColumn.generationStrategy === \"increment\" && insertResult) {\n // NOTE: When INSERT statement is successfully completed, the last inserted row ID is returned.\n // see also: SqliteQueryRunner.query()\n value = insertResult - entityNum + entityIndex + 1;\n // } else if (generatedColumn.generationStrategy === \"uuid\") {\n // value = insertValue[generatedColumn.databaseName];\n }\n\n if (!value) return map;\n return OrmUtils.mergeDeep(map, generatedColumn.createValueMap(value));\n }, {} as ObjectLiteral);\n\n return Object.keys(generatedMap).length > 0 ? generatedMap : undefined;\n }\n\n /**\n * Differentiate columns of this table and columns from the given column metadatas columns\n * and returns only changed.\n */\n findChangedColumns(tableColumns: TableColumn[], columnMetadatas: ColumnMetadata[]): ColumnMetadata[] {\n return columnMetadatas.filter(columnMetadata => {\n const tableColumn = tableColumns.find(c => c.name === columnMetadata.databaseName);\n if (!tableColumn)\n return false; // we don't need new columns, we only need exist and changed\n\n // console.log(\"table:\", columnMetadata.entityMetadata.tableName);\n // console.log(\"name:\", tableColumn.name, columnMetadata.databaseName);\n // console.log(\"type:\", tableColumn.type, this.normalizeType(columnMetadata));\n // console.log(\"length:\", tableColumn.length, columnMetadata.length);\n // console.log(\"precision:\", tableColumn.precision, columnMetadata.precision);\n // console.log(\"scale:\", tableColumn.scale, columnMetadata.scale);\n // console.log(\"comment:\", tableColumn.comment, columnMetadata.comment);\n // console.log(\"default:\", this.normalizeDefault(columnMetadata), columnMetadata.default);\n // console.log(\"isPrimary:\", tableColumn.isPrimary, columnMetadata.isPrimary);\n // console.log(\"isNullable:\", tableColumn.isNullable, columnMetadata.isNullable);\n // console.log(\"isUnique:\", tableColumn.isUnique, this.normalizeIsUnique(columnMetadata));\n // console.log(\"isGenerated:\", tableColumn.isGenerated, columnMetadata.isGenerated);\n // console.log(\"==========================================\");\n\n return tableColumn.name !== columnMetadata.databaseName\n || tableColumn.type !== this.normalizeType(columnMetadata)\n || tableColumn.length !== columnMetadata.length\n || tableColumn.precision !== columnMetadata.precision\n || tableColumn.scale !== columnMetadata.scale\n // || tableColumn.comment !== columnMetadata.comment || // todo\n || this.normalizeDefault(columnMetadata) !== tableColumn.default\n || tableColumn.isPrimary !== columnMetadata.isPrimary\n || tableColumn.isNullable !== columnMetadata.isNullable\n || tableColumn.isUnique !== this.normalizeIsUnique(columnMetadata)\n || (columnMetadata.generationStrategy !== \"uuid\" && tableColumn.isGenerated !== columnMetadata.isGenerated);\n });\n }\n\n /**\n * Returns true if driver supports RETURNING / OUTPUT statement.\n */\n isReturningSqlSupported(): boolean {\n return false;\n }\n\n /**\n * Returns true if driver supports uuid values generation on its own.\n */\n isUUIDGenerationSupported(): boolean {\n return false;\n }\n\n /**\n * Returns true if driver supports fulltext indices.\n */\n isFullTextColumnTypeSupported(): boolean {\n return false;\n }\n\n /**\n * Creates an escaped parameter.\n */\n createParameter(parameterName: string, index: number): string {\n // return \"$\" + (index + 1);\n return \"?\";\n // return \"$\" + parameterName;\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates connection with the database.\n */\n protected createDatabaseConnection() {\n throw new Error(\"Do not use AbstractSqlite directly, it has to be used with one of the sqlite drivers\");\n }\n\n /**\n * If driver dependency is not given explicitly, then try to load it via \"require\".\n */\n protected loadDependencies(): void {\n // dependencies have to be loaded in the specific driver\n }\n\n}\n"],"sourceRoot":"../.."}
|
|
@@ -7,6 +7,7 @@ import { Table } from "../../schema-builder/table/Table";
|
|
|
7
7
|
import { TableIndex } from "../../schema-builder/table/TableIndex";
|
|
8
8
|
import { TableForeignKey } from "../../schema-builder/table/TableForeignKey";
|
|
9
9
|
import { View } from "../../schema-builder/view/View";
|
|
10
|
+
import { BroadcasterResult } from "../../subscriber/BroadcasterResult";
|
|
10
11
|
import { Query } from "../Query";
|
|
11
12
|
import { TableUnique } from "../../schema-builder/table/TableUnique";
|
|
12
13
|
import { BaseQueryRunner } from "../../query-runner/BaseQueryRunner";
|
|
@@ -47,12 +48,12 @@ var AbstractSqliteQueryRunner = /** @class */ (function (_super) {
|
|
|
47
48
|
*/
|
|
48
49
|
AbstractSqliteQueryRunner.prototype.startTransaction = function (isolationLevel) {
|
|
49
50
|
return __awaiter(this, void 0, void 0, function () {
|
|
51
|
+
var beforeBroadcastResult, afterBroadcastResult;
|
|
50
52
|
return __generator(this, function (_a) {
|
|
51
53
|
switch (_a.label) {
|
|
52
54
|
case 0:
|
|
53
55
|
if (this.isTransactionActive)
|
|
54
56
|
throw new TransactionAlreadyStartedError();
|
|
55
|
-
this.isTransactionActive = true;
|
|
56
57
|
if (!isolationLevel) return [3 /*break*/, 4];
|
|
57
58
|
if (isolationLevel !== "READ UNCOMMITTED" && isolationLevel !== "SERIALIZABLE") {
|
|
58
59
|
throw new Error("SQLite only supports SERIALIZABLE and READ UNCOMMITTED isolation");
|
|
@@ -66,10 +67,27 @@ var AbstractSqliteQueryRunner = /** @class */ (function (_super) {
|
|
|
66
67
|
case 3:
|
|
67
68
|
_a.sent();
|
|
68
69
|
_a.label = 4;
|
|
69
|
-
case 4:
|
|
70
|
+
case 4:
|
|
71
|
+
beforeBroadcastResult = new BroadcasterResult();
|
|
72
|
+
this.broadcaster.broadcastBeforeTransactionStartEvent(beforeBroadcastResult);
|
|
73
|
+
if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 6];
|
|
74
|
+
return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
|
|
70
75
|
case 5:
|
|
71
76
|
_a.sent();
|
|
72
|
-
|
|
77
|
+
_a.label = 6;
|
|
78
|
+
case 6:
|
|
79
|
+
this.isTransactionActive = true;
|
|
80
|
+
return [4 /*yield*/, this.query("BEGIN TRANSACTION")];
|
|
81
|
+
case 7:
|
|
82
|
+
_a.sent();
|
|
83
|
+
afterBroadcastResult = new BroadcasterResult();
|
|
84
|
+
this.broadcaster.broadcastAfterTransactionStartEvent(afterBroadcastResult);
|
|
85
|
+
if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 9];
|
|
86
|
+
return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
|
|
87
|
+
case 8:
|
|
88
|
+
_a.sent();
|
|
89
|
+
_a.label = 9;
|
|
90
|
+
case 9: return [2 /*return*/];
|
|
73
91
|
}
|
|
74
92
|
});
|
|
75
93
|
});
|
|
@@ -80,16 +98,31 @@ var AbstractSqliteQueryRunner = /** @class */ (function (_super) {
|
|
|
80
98
|
*/
|
|
81
99
|
AbstractSqliteQueryRunner.prototype.commitTransaction = function () {
|
|
82
100
|
return __awaiter(this, void 0, void 0, function () {
|
|
101
|
+
var beforeBroadcastResult, afterBroadcastResult;
|
|
83
102
|
return __generator(this, function (_a) {
|
|
84
103
|
switch (_a.label) {
|
|
85
104
|
case 0:
|
|
86
105
|
if (!this.isTransactionActive)
|
|
87
106
|
throw new TransactionNotStartedError();
|
|
88
|
-
|
|
107
|
+
beforeBroadcastResult = new BroadcasterResult();
|
|
108
|
+
this.broadcaster.broadcastBeforeTransactionCommitEvent(beforeBroadcastResult);
|
|
109
|
+
if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
|
|
110
|
+
return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
|
|
89
111
|
case 1:
|
|
112
|
+
_a.sent();
|
|
113
|
+
_a.label = 2;
|
|
114
|
+
case 2: return [4 /*yield*/, this.query("COMMIT")];
|
|
115
|
+
case 3:
|
|
90
116
|
_a.sent();
|
|
91
117
|
this.isTransactionActive = false;
|
|
92
|
-
|
|
118
|
+
afterBroadcastResult = new BroadcasterResult();
|
|
119
|
+
this.broadcaster.broadcastAfterTransactionCommitEvent(afterBroadcastResult);
|
|
120
|
+
if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 5];
|
|
121
|
+
return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
|
|
122
|
+
case 4:
|
|
123
|
+
_a.sent();
|
|
124
|
+
_a.label = 5;
|
|
125
|
+
case 5: return [2 /*return*/];
|
|
93
126
|
}
|
|
94
127
|
});
|
|
95
128
|
});
|
|
@@ -100,16 +133,31 @@ var AbstractSqliteQueryRunner = /** @class */ (function (_super) {
|
|
|
100
133
|
*/
|
|
101
134
|
AbstractSqliteQueryRunner.prototype.rollbackTransaction = function () {
|
|
102
135
|
return __awaiter(this, void 0, void 0, function () {
|
|
136
|
+
var beforeBroadcastResult, afterBroadcastResult;
|
|
103
137
|
return __generator(this, function (_a) {
|
|
104
138
|
switch (_a.label) {
|
|
105
139
|
case 0:
|
|
106
140
|
if (!this.isTransactionActive)
|
|
107
141
|
throw new TransactionNotStartedError();
|
|
108
|
-
|
|
142
|
+
beforeBroadcastResult = new BroadcasterResult();
|
|
143
|
+
this.broadcaster.broadcastBeforeTransactionRollbackEvent(beforeBroadcastResult);
|
|
144
|
+
if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
|
|
145
|
+
return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
|
|
109
146
|
case 1:
|
|
147
|
+
_a.sent();
|
|
148
|
+
_a.label = 2;
|
|
149
|
+
case 2: return [4 /*yield*/, this.query("ROLLBACK")];
|
|
150
|
+
case 3:
|
|
110
151
|
_a.sent();
|
|
111
152
|
this.isTransactionActive = false;
|
|
112
|
-
|
|
153
|
+
afterBroadcastResult = new BroadcasterResult();
|
|
154
|
+
this.broadcaster.broadcastAfterTransactionRollbackEvent(afterBroadcastResult);
|
|
155
|
+
if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 5];
|
|
156
|
+
return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
|
|
157
|
+
case 4:
|
|
158
|
+
_a.sent();
|
|
159
|
+
_a.label = 5;
|
|
160
|
+
case 5: return [2 /*return*/];
|
|
113
161
|
}
|
|
114
162
|
});
|
|
115
163
|
});
|
|
@@ -1370,7 +1418,6 @@ var AbstractSqliteQueryRunner = /** @class */ (function (_super) {
|
|
|
1370
1418
|
var enumMatch = sql.match(new RegExp("\"(" + tableColumn.name + ")\" varchar CHECK\\s*\\(\\s*\\1\\s+IN\\s*\\(('[^']+'(?:\\s*,\\s*'[^']+')+)\\s*\\)\\s*\\)"));
|
|
1371
1419
|
if (enumMatch) {
|
|
1372
1420
|
// This is an enum
|
|
1373
|
-
tableColumn.type = "simple-enum";
|
|
1374
1421
|
tableColumn.enum = enumMatch[2].substr(1, enumMatch[2].length - 2).split("','");
|
|
1375
1422
|
}
|
|
1376
1423
|
}
|