typeorm 0.2.31 → 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 +45 -45
- 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.js +1 -1
- 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 +3 -3
- package/browser/connection/options-reader/ConnectionOptionsYmlReader.js +1 -1
- package/browser/connection/options-reader/ConnectionOptionsYmlReader.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.js +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/transaction/Transaction.js +4 -4
- package/browser/decorator/transaction/Transaction.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 +79 -0
- 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 +4 -3
- package/browser/driver/aurora-data-api/AuroraDataApiDriver.js +15 -5
- package/browser/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts +4 -0
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js +15 -2
- 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 -0
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +24 -0
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
- 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 +4 -7
- package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.js +1 -1
- 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/mongodb/MongoConnectionOptions.d.ts +4 -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 +1 -1
- package/browser/driver/mongodb/MongoDriver.js +12 -5
- package/browser/driver/mongodb/MongoDriver.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 +12 -11
- package/browser/driver/mysql/MysqlDriver.js.map +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.js +4 -4
- 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.js +1 -1
- package/browser/driver/oracle/OracleDriver.d.ts +1 -1
- package/browser/driver/oracle/OracleDriver.js +25 -3
- package/browser/driver/oracle/OracleDriver.js.map +1 -1
- package/browser/driver/oracle/OracleQueryRunner.js +1 -1
- package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js +1 -1
- package/browser/driver/postgres/PostgresConnectionOptions.js +1 -1
- package/browser/driver/postgres/PostgresDriver.d.ts +2 -2
- package/browser/driver/postgres/PostgresDriver.js +54 -23
- package/browser/driver/postgres/PostgresDriver.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.d.ts +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.js +185 -155
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/driver/react-native/ReactNativeConnectionOptions.js +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 +2 -2
- package/browser/driver/sap/SapQueryRunner.js.map +1 -1
- package/browser/driver/sqlite/SqliteConnectionOptions.js +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 +0 -1
- 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 +26 -19
- 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.js +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.map +1 -1
- package/browser/entity-manager/MongoEntityManager.d.ts +1 -4
- package/browser/entity-manager/MongoEntityManager.js +39 -45
- 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/find-options/FindConditions.js +1 -1
- package/browser/find-options/FindManyOptions.js +1 -1
- package/browser/find-options/FindOneOptions.d.ts +4 -1
- package/browser/find-options/FindOneOptions.js +1 -1
- package/browser/find-options/FindOneOptions.js.map +1 -1
- package/browser/find-options/FindOperator.d.ts +7 -7
- package/browser/find-options/FindOperator.js +7 -7
- package/browser/find-options/FindOperatorType.js +1 -1
- package/browser/find-options/FindOptionsUtils.js +10 -1
- 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/index.js +23 -0
- 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.js +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 +7 -12
- 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.js +2 -2
- package/browser/metadata/EntityMetadata.js.map +1 -1
- package/browser/metadata/RelationMetadata.js +5 -5
- package/browser/metadata/RelationMetadata.js.map +1 -1
- package/browser/metadata/types/ClosureTreeOptions.js +1 -1
- package/browser/metadata/types/DeferrableType.js +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.js +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 +2 -0
- package/browser/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataBuilder.js +7 -7
- package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataValidator.js +2 -0
- package/browser/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.js +6 -2
- package/browser/metadata-builder/JunctionEntityMetadataBuilder.js.map +1 -1
- package/browser/metadata-builder/RelationJoinColumnBuilder.js +3 -1
- 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/Subject.d.ts +4 -4
- package/browser/persistence/Subject.js +6 -6
- 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 +21 -21
- 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/tree/ClosureSubjectExecutor.js +2 -2
- 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 +5 -1
- package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/InsertQueryBuilder.js +1 -1
- 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 +1 -1
- package/browser/query-builder/QueryBuilder.js +25 -25
- 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 +6 -2
- package/browser/query-builder/QueryExpressionMap.js +3 -2
- package/browser/query-builder/QueryExpressionMap.js.map +1 -1
- package/browser/query-builder/QueryPartialEntity.js +1 -1
- package/browser/query-builder/RelationLoader.js +3 -3
- 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 +2 -6
- package/browser/query-builder/SelectQueryBuilder.js +35 -15
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilderOption.js +1 -1
- package/browser/query-builder/UpdateQueryBuilder.js +4 -0
- 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 +4 -4
- 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.js +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 +1 -1
- 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 +2 -2
- package/browser/repository/TreeRepository.js.map +1 -1
- package/browser/schema-builder/RdbmsSchemaBuilder.d.ts +2 -2
- package/browser/schema-builder/RdbmsSchemaBuilder.js +78 -78
- 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/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/EntitySubscriberInterface.js +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.js +1 -1
- package/browser/subscriber/event/TransactionRollbackEvent.js +1 -1
- package/browser/subscriber/event/TransactionStartEvent.js +1 -1
- package/browser/subscriber/event/UpdateEvent.js +1 -1
- 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/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 +1 -0
- package/commands/EntityCreateCommand.js.map +1 -1
- package/commands/InitCommand.d.ts +3 -0
- package/commands/InitCommand.js +36 -5
- package/commands/InitCommand.js.map +1 -1
- package/commands/MigrationCreateCommand.js +1 -0
- package/commands/MigrationCreateCommand.js.map +1 -1
- package/commands/MigrationGenerateCommand.d.ts +4 -0
- package/commands/MigrationGenerateCommand.js +39 -15
- 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.js +1 -0
- 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 +1 -0
- package/commands/SubscriberCreateCommand.js.map +1 -1
- package/commands/VersionCommand.js +1 -0
- package/commands/VersionCommand.js.map +1 -1
- 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 +4 -3
- package/connection/ConnectionOptionsReader.js.map +1 -1
- package/connection/options-reader/ConnectionOptionsEnvReader.js +1 -0
- 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.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 +1 -0
- 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/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.js +1 -0
- package/decorator/relations/ManyToOne.js.map +1 -1
- package/decorator/relations/OneToMany.js +1 -0
- 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.js +4 -3
- 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.js +1 -0
- 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 +80 -0
- 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 +4 -3
- package/driver/aurora-data-api/AuroraDataApiDriver.js +16 -5
- package/driver/aurora-data-api/AuroraDataApiDriver.js.map +1 -1
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.d.ts +4 -0
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +16 -2
- 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 -0
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js +25 -0
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresDriver.js.map +1 -1
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +1 -0
- 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 +4 -6
- package/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.js +2 -1
- 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 +1 -0
- package/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/driver/mongodb/MongoConnectionOptions.d.ts +4 -0
- package/driver/mongodb/MongoConnectionOptions.js.map +1 -1
- package/driver/mongodb/MongoDriver.d.ts +1 -1
- package/driver/mongodb/MongoDriver.js +13 -5
- package/driver/mongodb/MongoDriver.js.map +1 -1
- 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 +13 -11
- package/driver/mysql/MysqlDriver.js.map +1 -1
- package/driver/mysql/MysqlQueryRunner.js +5 -4
- 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/OracleDriver.d.ts +1 -1
- package/driver/oracle/OracleDriver.js +26 -3
- package/driver/oracle/OracleDriver.js.map +1 -1
- package/driver/oracle/OracleQueryRunner.js +2 -1
- package/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/driver/postgres/PostgresDriver.d.ts +2 -2
- package/driver/postgres/PostgresDriver.js +54 -22
- package/driver/postgres/PostgresDriver.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.d.ts +1 -1
- package/driver/postgres/PostgresQueryRunner.js +186 -155
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/react-native/ReactNativeDriver.js +1 -0
- 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 +2 -1
- 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 +1 -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 +1 -1
- 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 +26 -18
- 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/entity-manager/EntityManager.d.ts +16 -2
- package/entity-manager/EntityManager.js +1 -0
- 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 +40 -45
- 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/find-options/FindOneOptions.d.ts +4 -1
- package/find-options/FindOneOptions.js.map +1 -1
- package/find-options/FindOperator.d.ts +7 -7
- package/find-options/FindOperator.js +8 -7
- package/find-options/FindOperator.js.map +1 -1
- package/find-options/FindOptionsUtils.js +11 -1
- 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.js +1 -0
- package/find-options/operator/ILike.js.map +1 -1
- 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.js +1 -0
- package/find-options/operator/Raw.js.map +1 -1
- package/index.js +42 -18
- 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/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 +7 -11
- 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.js +2 -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.js +5 -4
- package/metadata/RelationMetadata.js.map +1 -1
- package/metadata/UniqueMetadata.js +1 -0
- package/metadata/UniqueMetadata.js.map +1 -1
- 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-builder/ClosureJunctionEntityMetadataBuilder.js +3 -0
- package/metadata-builder/ClosureJunctionEntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/EntityMetadataBuilder.js +7 -6
- package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/metadata-builder/EntityMetadataValidator.js +3 -0
- package/metadata-builder/EntityMetadataValidator.js.map +1 -1
- package/metadata-builder/JunctionEntityMetadataBuilder.js +6 -1
- 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.js +4 -1
- 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 +43 -42
- package/persistence/EntityPersistExecutor.js +1 -0
- package/persistence/EntityPersistExecutor.js.map +1 -1
- package/persistence/Subject.d.ts +4 -4
- package/persistence/Subject.js +6 -5
- 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 +22 -21
- 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 +1 -0
- 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.js +2 -1
- 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 +6 -1
- package/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/query-builder/InsertQueryBuilder.js +2 -1
- 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 +1 -1
- package/query-builder/QueryBuilder.js +25 -24
- 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 +6 -2
- package/query-builder/QueryExpressionMap.js +4 -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 +3 -2
- 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 +2 -6
- package/query-builder/SelectQueryBuilder.js +35 -14
- 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 +5 -0
- 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 +4 -3
- 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/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 +1 -1
- 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 +3 -2
- 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 +79 -78
- package/schema-builder/RdbmsSchemaBuilder.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.js +1 -0
- package/subscriber/Broadcaster.js.map +1 -1
- package/subscriber/BroadcasterResult.js +1 -0
- package/subscriber/BroadcasterResult.js.map +1 -1
- package/util/ApplyValueTransformers.js +1 -0
- package/util/ApplyValueTransformers.js.map +1 -1
- package/util/DateUtils.js +1 -0
- 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
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NativescriptDriver = void 0;
|
|
3
4
|
var tslib_1 = require("tslib");
|
|
4
5
|
var AbstractSqliteDriver_1 = require("../sqlite-abstract/AbstractSqliteDriver");
|
|
5
6
|
var NativescriptQueryRunner_1 = require("./NativescriptQueryRunner");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/driver/nativescript/NativescriptDriver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/driver/nativescript/NativescriptDriver.ts"],"names":[],"mappings":"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","file":"NativescriptDriver.js","sourcesContent":["import {AbstractSqliteDriver} from \"../sqlite-abstract/AbstractSqliteDriver\";\nimport {NativescriptConnectionOptions} from \"./NativescriptConnectionOptions\";\nimport {NativescriptQueryRunner} from \"./NativescriptQueryRunner\";\nimport {QueryRunner} from \"../../query-runner/QueryRunner\";\nimport {Connection} from \"../../connection/Connection\";\nimport {DriverOptionNotSetError} from \"../../error/DriverOptionNotSetError\";\nimport {DriverPackageNotInstalledError} from \"../../error/DriverPackageNotInstalledError\";\nimport {ColumnType} from \"../types/ColumnTypes\";\nimport {ReplicationMode} from \"../types/ReplicationMode\";\n\n/**\n * Organizes communication with sqlite DBMS within Nativescript.\n */\nexport class NativescriptDriver extends AbstractSqliteDriver {\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection options.\n */\n options: NativescriptConnectionOptions;\n\n /**\n * Nativescript driver module\n * this is most likely `nativescript-sqlite`\n * but user can pass his own\n */\n driver: any;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: Connection) {\n super(connection);\n\n this.connection = connection;\n this.options = connection.options as NativescriptConnectionOptions;\n this.database = this.options.database;\n this.driver = this.options.driver;\n\n // validate options to make sure everything is set\n if (!this.options.database) {\n throw new DriverOptionNotSetError(\"database\");\n }\n\n // load sqlite package\n this.loadDependencies();\n }\n\n\n // -------------------------------------------------------------------------\n // Public Methods\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().then(ok).catch(fail);\n });\n }\n\n /**\n * Creates a query runner used to execute database queries.\n */\n createQueryRunner(mode: ReplicationMode): QueryRunner {\n if (!this.queryRunner) {\n this.queryRunner = new NativescriptQueryRunner(this);\n }\n\n return this.queryRunner;\n }\n\n normalizeType(column: { type?: ColumnType, length?: number | string, precision?: number|null, scale?: number }): string {\n if ((column.type as any) === Buffer) {\n return \"blob\";\n }\n\n return super.normalizeType(column);\n }\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates connection with the database.\n */\n protected createDatabaseConnection() {\n return new Promise<void>((ok, fail) => {\n const options = Object.assign({}, {\n readOnly: this.options.readOnly,\n key: this.options.key,\n multithreading: this.options.multithreading,\n migrate: this.options.migrate,\n iosFlags: this.options.iosFlags,\n androidFlags: this.options.androidFlags,\n }, this.options.extra || {});\n\n new this.sqlite(this.options.database, options, (err: Error, db: any): any => {\n if (err) return fail(err);\n\n // use object mode to work with TypeORM\n db.resultType(this.sqlite.RESULTSASOBJECT);\n\n\n // we need to enable foreign keys in sqlite to make sure all foreign key related features\n // working properly. this also makes onDelete work with sqlite.\n db.execSQL(`PRAGMA foreign_keys = ON;`, [], (err: Error, result: any): any => {\n if (err) return fail(err);\n // We are all set\n ok(db);\n });\n });\n });\n }\n\n /**\n * If driver dependency is not given explicitly, then try to load it via \"require\".\n */\n protected loadDependencies(): void {\n this.sqlite = this.driver;\n if (!this.driver) {\n throw new DriverPackageNotInstalledError(\"Nativescript\", \"nativescript-sqlite\");\n }\n }\n}\n"],"sourceRoot":"../.."}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NativescriptQueryRunner = void 0;
|
|
3
4
|
var tslib_1 = require("tslib");
|
|
4
5
|
var QueryRunnerAlreadyReleasedError_1 = require("../../error/QueryRunnerAlreadyReleasedError");
|
|
5
6
|
var QueryFailedError_1 = require("../../error/QueryFailedError");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/driver/nativescript/NativescriptQueryRunner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/driver/nativescript/NativescriptQueryRunner.ts"],"names":[],"mappings":";;;;AACA,+FAA4F;AAC5F,iEAA8D;AAC9D,0FAAuF;AAEvF,4DAAyD;AAEzD;;GAEG;AACH;IAA6C,mDAAyB;IAOlE,4EAA4E;IAC5E,cAAc;IACd,4EAA4E;IAE5E,iCAAY,MAA0B;QAAtC,YACI,iBAAO,SAIV;QAHG,KAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,KAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,KAAI,CAAC,WAAW,GAAG,IAAI,yBAAW,CAAC,KAAI,CAAC,CAAC;;IAC7C,CAAC;IAED;;OAEG;IACH,uCAAK,GAAL,UAAM,KAAa,EAAE,UAAkB;QAAvC,iBAoCC;QAnCG,IAAI,IAAI,CAAC,UAAU;YACf,MAAM,IAAI,iEAA+B,EAAE,CAAC;QAEhD,IAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAE1C,OAAO,IAAI,OAAO,CAAS,UAAC,EAAE,EAAE,IAAI;YAChC,IAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,aAAa,CAAC;YAE5D,IAAM,OAAO,GAAG,UAAU,GAAQ,EAAE,MAAW;gBAE3C,oDAAoD;gBACpD,IAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC;gBACvE,IAAM,YAAY,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;gBACjC,IAAM,kBAAkB,GAAG,YAAY,GAAG,cAAc,CAAC;gBACzD,IAAI,qBAAqB,IAAI,kBAAkB,GAAG,qBAAqB;oBACnE,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAkB,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;gBAEhF,IAAI,GAAG,EAAE;oBACL,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;oBAC9D,IAAI,CAAC,IAAI,mCAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;iBACtD;qBAAM;oBACH,+CAA+C;oBAC/C,EAAE,CAAC,MAAM,CAAC,CAAC;iBACd;YACL,CAAC,CAAC;YACF,KAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,KAAI,CAAC,CAAC;YAChE,IAAM,cAAc,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YACnC,KAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,UAAA,kBAAkB;gBAClC,IAAI,aAAa,EAAE;oBACf,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;iBAC1D;qBAAM;oBACH,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;iBACtD;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAED,4EAA4E;IAC5E,oBAAoB;IACpB,4EAA4E;IAE5E;;OAEG;IACO,6CAAW,GAArB,UAAsB,aAA4B,EAAE,UAAsB;QAAtB,2BAAA,EAAA,cAAsB;QACtE,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,UAAC,GAAG,EAAE,KAAK,IAAK,OAAA,OAAI,GAAG,OAAG,GAAG,IAAI,EAAjB,CAAiB,CAAC,CAAC;IAC7E,CAAC;IACL,8BAAC;AAAD,CArEA,AAqEC,CArE4C,qDAAyB,GAqErE;AArEY,0DAAuB","file":"NativescriptQueryRunner.js","sourcesContent":["import {ObjectLiteral} from \"../../common/ObjectLiteral\";\nimport {QueryRunnerAlreadyReleasedError} from \"../../error/QueryRunnerAlreadyReleasedError\";\nimport {QueryFailedError} from \"../../error/QueryFailedError\";\nimport {AbstractSqliteQueryRunner} from \"../sqlite-abstract/AbstractSqliteQueryRunner\";\nimport {NativescriptDriver} from \"./NativescriptDriver\";\nimport {Broadcaster} from \"../../subscriber/Broadcaster\";\n\n/**\n * Runs queries on a single sqlite database connection.\n */\nexport class NativescriptQueryRunner extends AbstractSqliteQueryRunner {\n\n /**\n * Database driver used by connection.\n */\n driver: NativescriptDriver;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(driver: NativescriptDriver) {\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\n return new Promise<any[]>( (ok, fail) => {\n const isInsertQuery = query.substr(0, 11) === \"INSERT INTO\";\n\n const handler = function (err: any, result: any) {\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 // when isInsertQuery == true, result is the id\n ok(result);\n }\n };\n this.driver.connection.logger.logQuery(query, parameters, this);\n const queryStartTime = +new Date();\n this.connect().then(databaseConnection => {\n if (isInsertQuery) {\n databaseConnection.execSQL(query, parameters, handler);\n } else {\n databaseConnection.all(query, parameters, handler);\n }\n });\n });\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Parametrizes given object of values. Used to create column=value queries.\n */\n protected parametrize(objectLiteral: ObjectLiteral, startIndex: number = 0): string[] {\n return Object.keys(objectLiteral).map((key, index) => `\"${key}\"` + \"=?\");\n }\n}"],"sourceRoot":"../.."}
|
|
@@ -153,7 +153,7 @@ export declare class OracleDriver implements Driver {
|
|
|
153
153
|
/**
|
|
154
154
|
* Normalizes "default" value of the column.
|
|
155
155
|
*/
|
|
156
|
-
normalizeDefault(columnMetadata: ColumnMetadata): string;
|
|
156
|
+
normalizeDefault(columnMetadata: ColumnMetadata): string | undefined;
|
|
157
157
|
/**
|
|
158
158
|
* Normalizes "isUnique" value of the column.
|
|
159
159
|
*/
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OracleDriver = void 0;
|
|
3
4
|
var tslib_1 = require("tslib");
|
|
4
5
|
var ConnectionIsNotSetError_1 = require("../../error/ConnectionIsNotSetError");
|
|
5
6
|
var DriverPackageNotInstalledError_1 = require("../../error/DriverPackageNotInstalledError");
|
|
@@ -430,6 +431,9 @@ var OracleDriver = /** @class */ (function () {
|
|
|
430
431
|
else if (typeof defaultValue === "string") {
|
|
431
432
|
return "'" + defaultValue + "'";
|
|
432
433
|
}
|
|
434
|
+
else if (defaultValue === null) {
|
|
435
|
+
return undefined;
|
|
436
|
+
}
|
|
433
437
|
else {
|
|
434
438
|
return defaultValue;
|
|
435
439
|
}
|
|
@@ -540,17 +544,36 @@ var OracleDriver = /** @class */ (function () {
|
|
|
540
544
|
var tableColumn = tableColumns.find(function (c) { return c.name === columnMetadata.databaseName; });
|
|
541
545
|
if (!tableColumn)
|
|
542
546
|
return false; // we don't need new columns, we only need exist and changed
|
|
543
|
-
|
|
547
|
+
var isColumnChanged = tableColumn.name !== columnMetadata.databaseName
|
|
544
548
|
|| tableColumn.type !== _this.normalizeType(columnMetadata)
|
|
545
549
|
|| tableColumn.length !== columnMetadata.length
|
|
546
550
|
|| tableColumn.precision !== columnMetadata.precision
|
|
547
551
|
|| tableColumn.scale !== columnMetadata.scale
|
|
548
|
-
// || tableColumn.comment !== columnMetadata.comment
|
|
549
|
-
|| _this.normalizeDefault(columnMetadata)
|
|
552
|
+
// || tableColumn.comment !== columnMetadata.comment
|
|
553
|
+
|| tableColumn.default !== _this.normalizeDefault(columnMetadata)
|
|
550
554
|
|| tableColumn.isPrimary !== columnMetadata.isPrimary
|
|
551
555
|
|| tableColumn.isNullable !== columnMetadata.isNullable
|
|
552
556
|
|| tableColumn.isUnique !== _this.normalizeIsUnique(columnMetadata)
|
|
553
557
|
|| (columnMetadata.generationStrategy !== "uuid" && tableColumn.isGenerated !== columnMetadata.isGenerated);
|
|
558
|
+
// DEBUG SECTION
|
|
559
|
+
// if (isColumnChanged) {
|
|
560
|
+
// console.log("table:", columnMetadata.entityMetadata.tableName);
|
|
561
|
+
// console.log("name:", tableColumn.name, columnMetadata.databaseName);
|
|
562
|
+
// console.log("type:", tableColumn.type, this.normalizeType(columnMetadata));
|
|
563
|
+
// console.log("length:", tableColumn.length, columnMetadata.length);
|
|
564
|
+
// console.log("precision:", tableColumn.precision, columnMetadata.precision);
|
|
565
|
+
// console.log("scale:", tableColumn.scale, columnMetadata.scale);
|
|
566
|
+
// console.log("comment:", tableColumn.comment, columnMetadata.comment);
|
|
567
|
+
// console.log("default:", tableColumn.default, this.normalizeDefault(columnMetadata));
|
|
568
|
+
// console.log("enum:", tableColumn.enum && columnMetadata.enum && !OrmUtils.isArraysEqual(tableColumn.enum, columnMetadata.enum.map(val => val + "")));
|
|
569
|
+
// console.log("onUpdate:", tableColumn.onUpdate, columnMetadata.onUpdate);
|
|
570
|
+
// console.log("isPrimary:", tableColumn.isPrimary, columnMetadata.isPrimary);
|
|
571
|
+
// console.log("isNullable:", tableColumn.isNullable, columnMetadata.isNullable);
|
|
572
|
+
// console.log("isUnique:", tableColumn.isUnique, this.normalizeIsUnique(columnMetadata));
|
|
573
|
+
// console.log("isGenerated:", tableColumn.isGenerated, columnMetadata.isGenerated);
|
|
574
|
+
// console.log("==========================================");
|
|
575
|
+
// }
|
|
576
|
+
return isColumnChanged;
|
|
554
577
|
});
|
|
555
578
|
};
|
|
556
579
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/driver/oracle/OracleDriver.ts"],"names":[],"mappings":"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","file":"OracleDriver.js","sourcesContent":["import {Driver} from \"../Driver\";\nimport {ConnectionIsNotSetError} from \"../../error/ConnectionIsNotSetError\";\nimport {DriverPackageNotInstalledError} from \"../../error/DriverPackageNotInstalledError\";\nimport {OracleQueryRunner} from \"./OracleQueryRunner\";\nimport {ObjectLiteral} from \"../../common/ObjectLiteral\";\nimport {ColumnMetadata} from \"../../metadata/ColumnMetadata\";\nimport {DateUtils} from \"../../util/DateUtils\";\nimport {PlatformTools} from \"../../platform/PlatformTools\";\nimport {Connection} from \"../../connection/Connection\";\nimport {RdbmsSchemaBuilder} from \"../../schema-builder/RdbmsSchemaBuilder\";\nimport {OracleConnectionOptions} from \"./OracleConnectionOptions\";\nimport {MappedColumnTypes} from \"../types/MappedColumnTypes\";\nimport {ColumnType} from \"../types/ColumnTypes\";\nimport {DataTypeDefaults} from \"../types/DataTypeDefaults\";\nimport {TableColumn} from \"../../schema-builder/table/TableColumn\";\nimport {OracleConnectionCredentialsOptions} from \"./OracleConnectionCredentialsOptions\";\nimport {DriverUtils} from \"../DriverUtils\";\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 Oracle RDBMS.\n */\nexport class OracleDriver implements Driver {\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection used by driver.\n */\n connection: Connection;\n\n /**\n * Underlying oracle library.\n */\n oracle: any;\n\n /**\n * Pool for master database.\n */\n master: any;\n\n /**\n * Pool for slave databases.\n * Used in replication.\n */\n slaves: any[] = [];\n\n // -------------------------------------------------------------------------\n // Public Implemented Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection options.\n */\n options: OracleConnectionOptions;\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 * 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.techonthenet.com/oracle/datatypes.php\n * @see https://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT012\n */\n supportedDataTypes: ColumnType[] = [\n \"char\",\n \"nchar\",\n \"nvarchar2\",\n \"varchar2\",\n \"long\",\n \"raw\",\n \"long raw\",\n \"number\",\n \"numeric\",\n \"float\",\n \"dec\",\n \"decimal\",\n \"integer\",\n \"int\",\n \"smallint\",\n \"real\",\n \"double precision\",\n \"date\",\n \"timestamp\",\n \"timestamp with time zone\",\n \"timestamp with local time zone\",\n \"interval year to month\",\n \"interval day to second\",\n \"bfile\",\n \"blob\",\n \"clob\",\n \"nclob\",\n \"rowid\",\n \"urowid\"\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 length by a driver.\n */\n withLengthColumnTypes: ColumnType[] = [\n \"char\",\n \"nchar\",\n \"nvarchar2\",\n \"varchar2\",\n \"varchar\",\n \"raw\"\n ];\n\n /**\n * Gets list of column data types that support precision by a driver.\n */\n withPrecisionColumnTypes: ColumnType[] = [\n \"number\",\n \"float\",\n \"timestamp\",\n \"timestamp with time zone\",\n \"timestamp with local time zone\"\n ];\n\n /**\n * Gets list of column data types that support scale by a driver.\n */\n withScaleColumnTypes: ColumnType[] = [\n \"number\"\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: \"timestamp\",\n createDateDefault: \"CURRENT_TIMESTAMP\",\n updateDate: \"timestamp\",\n updateDateDefault: \"CURRENT_TIMESTAMP\",\n deleteDate: \"timestamp\",\n deleteDateNullable: true,\n version: \"number\",\n treeLevel: \"number\",\n migrationId: \"number\",\n migrationName: \"varchar2\",\n migrationTimestamp: \"number\",\n cacheId: \"number\",\n cacheIdentifier: \"varchar2\",\n cacheTime: \"number\",\n cacheDuration: \"number\",\n cacheQuery: \"clob\",\n cacheResult: \"clob\",\n metadataType: \"varchar2\",\n metadataDatabase: \"varchar2\",\n metadataSchema: \"varchar2\",\n metadataTable: \"varchar2\",\n metadataName: \"varchar2\",\n metadataValue: \"clob\",\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 \"char\": { length: 1 },\n \"nchar\": { length: 1 },\n \"varchar\": { length: 255 },\n \"varchar2\": { length: 255 },\n \"nvarchar2\": { length: 255 },\n \"raw\": { length: 2000 },\n \"float\": { precision: 126 },\n \"timestamp\": { precision: 6 },\n \"timestamp with time zone\": { precision: 6 },\n \"timestamp with local time zone\": { precision: 6 }\n };\n\n /**\n * Max length allowed by Oracle for aliases.\n * @see https://docs.oracle.com/database/121/SQLRF/sql_elements008.htm#SQLRF51129\n * > The following list of rules applies to both quoted and nonquoted identifiers unless otherwise indicated\n * > Names must be from 1 to 30 bytes long with these exceptions:\n * > [...]\n *\n * Since Oracle 12.2 (with a compatible driver/client), the limit has been set to 128.\n * @see https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sqlrf/Database-Object-Names-and-Qualifiers.html\n *\n * > If COMPATIBLE is set to a value of 12.2 or higher, then names must be from 1 to 128 bytes long with these exceptions\n */\n maxAliasLength = 30;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: Connection) {\n this.connection = connection;\n this.options = connection.options as OracleConnectionOptions;\n\n if (this.options.useUTC === true) {\n process.env.ORA_SDTZ = 'UTC';\n }\n // load oracle package\n this.loadDependencies();\n\n // extra oracle setup\n this.oracle.outFormat = this.oracle.OBJECT;\n\n // Object.assign(connection.options, DriverUtils.buildDriverOptions(connection.options)); // todo: do it better way\n // validate options to make sure everything is set\n // if (!this.options.host)\n // throw new DriverOptionNotSetError(\"host\");\n // if (!this.options.username)\n // throw new DriverOptionNotSetError(\"username\");\n // if (!this.options.sid)\n // throw new DriverOptionNotSetError(\"sid\");\n //\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Performs connection to the database.\n * Based on pooling options, it can either create connection immediately,\n * either create a pool and create connection when needed.\n */\n async connect(): Promise<void> {\n this.oracle.fetchAsString = [ this.oracle.CLOB ];\n this.oracle.fetchAsBuffer = [ this.oracle.BLOB ];\n if (this.options.replication) {\n this.slaves = await Promise.all(this.options.replication.slaves.map(slave => {\n return this.createPool(this.options, slave);\n }));\n this.master = await this.createPool(this.options, this.options.replication.master);\n this.database = this.options.replication.master.database;\n\n } else {\n this.master = await this.createPool(this.options, this.options);\n this.database = this.options.database;\n }\n }\n\n /**\n * Makes any action after connection (e.g. create extensions in Postgres driver).\n */\n afterConnect(): Promise<void> {\n return Promise.resolve();\n }\n\n /**\n * Closes connection with the database.\n */\n async disconnect(): Promise<void> {\n if (!this.master)\n return Promise.reject(new ConnectionIsNotSetError(\"oracle\"));\n\n await this.closePool(this.master);\n await Promise.all(this.slaves.map(slave => this.closePool(slave)));\n this.master = undefined;\n this.slaves = [];\n }\n\n /**\n * Creates a schema builder used to build and sync a schema.\n */\n createSchemaBuilder() {\n return new RdbmsSchemaBuilder(this.connection);\n }\n\n /**\n * Creates a query runner used to execute database queries.\n */\n createQueryRunner(mode: ReplicationMode) {\n return new OracleQueryRunner(this, mode);\n }\n\n /**\n * Replaces parameters in the given sql with special escaping character\n * and an array of parameter names to be passed to a query.\n */\n escapeQueryWithParameters(sql: string, parameters: ObjectLiteral, nativeParameters: ObjectLiteral): [string, any[]] {\n const escapedParameters: any[] = Object.keys(nativeParameters).map(key => {\n if (typeof nativeParameters[key] === \"boolean\")\n return nativeParameters[key] ? 1 : 0;\n return nativeParameters[key];\n });\n if (!parameters || !Object.keys(parameters).length)\n return [sql, escapedParameters];\n\n const keys = Object.keys(parameters).map(parameter => \"(:(\\\\.\\\\.\\\\.)?\" + parameter + \"\\\\b)\").join(\"|\");\n sql = sql.replace(new RegExp(keys, \"g\"), (key: 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, index: number) => {\n escapedParameters.push(v);\n return `:${key.substr(4)}${index}`;\n }).join(\", \");\n\n } else if (value instanceof Function) {\n return value();\n\n } else if (typeof value === \"boolean\") {\n return value ? 1 : 0;\n\n } else {\n escapedParameters.push(value);\n return key;\n }\n }); // todo: make replace only in value statements, otherwise problems\n return [sql, escapedParameters];\n }\n\n /**\n * Escapes a column name.\n */\n escape(columnName: string): string {\n return `\"${columnName}\"`;\n }\n\n /**\n * Build full table name with database name, schema name and table name.\n * Oracle does not support table schemas. One user can have only one schema.\n */\n buildTableName(tableName: string, schema?: string, database?: string): string {\n return tableName;\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) {\n return value ? 1 : 0;\n\n } else if (columnMetadata.type === \"date\") {\n if (typeof value === \"string\")\n value = value.replace(/[^0-9-]/g, \"\");\n return () => `TO_DATE('${DateUtils.mixedDateToDateString(value)}', 'YYYY-MM-DD')`;\n\n } else if (columnMetadata.type === Date\n || columnMetadata.type === \"timestamp\"\n || columnMetadata.type === \"timestamp with time zone\"\n || columnMetadata.type === \"timestamp with local time zone\") {\n return DateUtils.mixedDateToDate(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 }\n\n return value;\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type or metadata.\n */\n prepareHydratedValue(value: any, columnMetadata: ColumnMetadata): any {\n if (value === null || value === undefined)\n return columnMetadata.transformer ? ApplyValueTransformers.transformFrom(columnMetadata.transformer, value) : value;\n\n if (columnMetadata.type === Boolean) {\n value = !!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 === Date\n || columnMetadata.type === \"timestamp\"\n || columnMetadata.type === \"timestamp with time zone\"\n || columnMetadata.type === \"timestamp with local time zone\") {\n value = DateUtils.normalizeHydratedDate(value);\n\n } else if (columnMetadata.type === \"json\") {\n value = JSON.parse(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\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformFrom(columnMetadata.transformer, value);\n\n return value;\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, isArray?: boolean }): string {\n if (column.type === Number || column.type === Boolean || column.type === \"numeric\"\n || column.type === \"dec\" || column.type === \"decimal\" || column.type === \"int\"\n || column.type === \"integer\" || column.type === \"smallint\") {\n return \"number\";\n\n } else if (column.type === \"real\" || column.type === \"double precision\") {\n return \"float\";\n\n } else if (column.type === String || column.type === \"varchar\") {\n return \"varchar2\";\n\n } else if (column.type === Date) {\n return \"timestamp\";\n\n } else if ((column.type as any) === Buffer) {\n return \"blob\";\n\n } else if (column.type === \"uuid\") {\n return \"varchar2\";\n\n } else if (column.type === \"simple-array\") {\n return \"clob\";\n\n } else if (column.type === \"simple-json\") {\n return \"clob\";\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|TableColumn): string {\n if (column.length)\n return column.length.toString();\n\n switch (column.type) {\n case String:\n case \"varchar\":\n case \"varchar2\":\n case \"nvarchar2\":\n return \"255\";\n case \"raw\":\n return \"2000\";\n case \"uuid\":\n return \"36\";\n default:\n return \"\";\n }\n }\n\n createFullType(column: TableColumn): string {\n let type = column.type;\n\n // used 'getColumnLength()' method, because in Oracle column length is required for some data types.\n if (this.getColumnLength(column)) {\n type += `(${this.getColumnLength(column)})`;\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.type === \"timestamp with time zone\") {\n type = \"TIMESTAMP\" + (column.precision !== null && column.precision !== undefined ? \"(\" + column.precision + \")\" : \"\") + \" WITH TIME ZONE\";\n\n } else if (column.type === \"timestamp with local time zone\") {\n type = \"TIMESTAMP\" + (column.precision !== null && column.precision !== undefined ? \"(\" + column.precision + \")\" : \"\") + \" WITH LOCAL TIME ZONE\";\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 new Promise<any>((ok, fail) => {\n this.master.getConnection((err: any, connection: any, release: Function) => {\n if (err) return fail(err);\n ok(connection);\n });\n });\n }\n\n /**\n * Obtains a new database connection to a slave server.\n * Used for replication.\n * If replication is not setup then returns master (default) connection's database connection.\n */\n obtainSlaveConnection(): Promise<any> {\n if (!this.slaves.length)\n return this.obtainMasterConnection();\n\n return new Promise<any>((ok, fail) => {\n const random = Math.floor(Math.random() * this.slaves.length);\n\n this.slaves[random].getConnection((err: any, connection: any) => {\n if (err) return fail(err);\n ok(connection);\n });\n });\n }\n\n /**\n * Creates generated map of values generated or returned by database after INSERT query.\n */\n createGeneratedMap(metadata: EntityMetadata, insertResult: ObjectLiteral) {\n if (!insertResult)\n return undefined;\n\n return Object.keys(insertResult).reduce((map, key) => {\n const column = metadata.findColumnWithDatabaseName(key);\n if (column) {\n OrmUtils.mergeDeep(map, column.createValueMap(this.prepareHydratedValue(insertResult[key], column)));\n }\n return map;\n }, {} as ObjectLiteral);\n }\n\n /**\n * Differentiate columns of this table and columns from the given column metadatas columns\n * and returns only changed.\n */\n findChangedColumns(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 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 true;\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 }\n\n /**\n * Converts column type in to native oracle type.\n */\n columnTypeToNativeParameter(type: ColumnType): any {\n switch (this.normalizeType({ type: type as any })) {\n case \"number\":\n case \"numeric\":\n case \"int\":\n case \"integer\":\n case \"smallint\":\n case \"dec\":\n case \"decimal\":\n return this.oracle.NUMBER;\n case \"char\":\n case \"nchar\":\n case \"nvarchar2\":\n case \"varchar2\":\n return this.oracle.STRING;\n case \"blob\":\n return this.oracle.BLOB;\n case \"clob\":\n return this.oracle.CLOB;\n case \"date\":\n case \"timestamp\":\n case \"timestamp with time zone\":\n case \"timestamp with local time zone\":\n return this.oracle.DATE;\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Loads all driver dependencies.\n */\n protected loadDependencies(): void {\n try {\n this.oracle = PlatformTools.load(\"oracledb\");\n\n } catch (e) {\n throw new DriverPackageNotInstalledError(\"Oracle\", \"oracledb\");\n }\n }\n\n /**\n * Creates a new connection pool for a given database credentials.\n */\n protected async createPool(options: OracleConnectionOptions, credentials: OracleConnectionCredentialsOptions): Promise<any> {\n\n credentials = Object.assign({}, credentials, DriverUtils.buildDriverOptions(credentials)); // todo: do it better way\n\n // build connection options for the driver\n const connectionOptions = Object.assign({}, {\n user: credentials.username,\n password: credentials.password,\n connectString: credentials.connectString ? credentials.connectString : credentials.host + \":\" + credentials.port + \"/\" + credentials.sid,\n }, options.extra || {});\n\n // pooling is enabled either when its set explicitly to true,\n // either when its not defined at all (e.g. enabled by default)\n return new Promise<void>((ok, fail) => {\n this.oracle.createPool(connectionOptions, (err: any, pool: any) => {\n if (err)\n return fail(err);\n ok(pool);\n });\n });\n\n }\n\n /**\n * Closes connection pool.\n */\n protected async closePool(pool: any): Promise<void> {\n return new Promise<void>((ok, fail) => {\n pool.close((err: any) => err ? fail(err) : ok());\n pool = undefined;\n });\n }\n\n}\n"],"sourceRoot":"../.."}
|
|
1
|
+
{"version":3,"sources":["../../src/driver/oracle/OracleDriver.ts"],"names":[],"mappings":"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","file":"OracleDriver.js","sourcesContent":["import {Driver} from \"../Driver\";\nimport {ConnectionIsNotSetError} from \"../../error/ConnectionIsNotSetError\";\nimport {DriverPackageNotInstalledError} from \"../../error/DriverPackageNotInstalledError\";\nimport {OracleQueryRunner} from \"./OracleQueryRunner\";\nimport {ObjectLiteral} from \"../../common/ObjectLiteral\";\nimport {ColumnMetadata} from \"../../metadata/ColumnMetadata\";\nimport {DateUtils} from \"../../util/DateUtils\";\nimport {PlatformTools} from \"../../platform/PlatformTools\";\nimport {Connection} from \"../../connection/Connection\";\nimport {RdbmsSchemaBuilder} from \"../../schema-builder/RdbmsSchemaBuilder\";\nimport {OracleConnectionOptions} from \"./OracleConnectionOptions\";\nimport {MappedColumnTypes} from \"../types/MappedColumnTypes\";\nimport {ColumnType} from \"../types/ColumnTypes\";\nimport {DataTypeDefaults} from \"../types/DataTypeDefaults\";\nimport {TableColumn} from \"../../schema-builder/table/TableColumn\";\nimport {OracleConnectionCredentialsOptions} from \"./OracleConnectionCredentialsOptions\";\nimport {DriverUtils} from \"../DriverUtils\";\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 Oracle RDBMS.\n */\nexport class OracleDriver implements Driver {\n\n // -------------------------------------------------------------------------\n // Public Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection used by driver.\n */\n connection: Connection;\n\n /**\n * Underlying oracle library.\n */\n oracle: any;\n\n /**\n * Pool for master database.\n */\n master: any;\n\n /**\n * Pool for slave databases.\n * Used in replication.\n */\n slaves: any[] = [];\n\n // -------------------------------------------------------------------------\n // Public Implemented Properties\n // -------------------------------------------------------------------------\n\n /**\n * Connection options.\n */\n options: OracleConnectionOptions;\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 * 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.techonthenet.com/oracle/datatypes.php\n * @see https://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT012\n */\n supportedDataTypes: ColumnType[] = [\n \"char\",\n \"nchar\",\n \"nvarchar2\",\n \"varchar2\",\n \"long\",\n \"raw\",\n \"long raw\",\n \"number\",\n \"numeric\",\n \"float\",\n \"dec\",\n \"decimal\",\n \"integer\",\n \"int\",\n \"smallint\",\n \"real\",\n \"double precision\",\n \"date\",\n \"timestamp\",\n \"timestamp with time zone\",\n \"timestamp with local time zone\",\n \"interval year to month\",\n \"interval day to second\",\n \"bfile\",\n \"blob\",\n \"clob\",\n \"nclob\",\n \"rowid\",\n \"urowid\"\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 length by a driver.\n */\n withLengthColumnTypes: ColumnType[] = [\n \"char\",\n \"nchar\",\n \"nvarchar2\",\n \"varchar2\",\n \"varchar\",\n \"raw\"\n ];\n\n /**\n * Gets list of column data types that support precision by a driver.\n */\n withPrecisionColumnTypes: ColumnType[] = [\n \"number\",\n \"float\",\n \"timestamp\",\n \"timestamp with time zone\",\n \"timestamp with local time zone\"\n ];\n\n /**\n * Gets list of column data types that support scale by a driver.\n */\n withScaleColumnTypes: ColumnType[] = [\n \"number\"\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: \"timestamp\",\n createDateDefault: \"CURRENT_TIMESTAMP\",\n updateDate: \"timestamp\",\n updateDateDefault: \"CURRENT_TIMESTAMP\",\n deleteDate: \"timestamp\",\n deleteDateNullable: true,\n version: \"number\",\n treeLevel: \"number\",\n migrationId: \"number\",\n migrationName: \"varchar2\",\n migrationTimestamp: \"number\",\n cacheId: \"number\",\n cacheIdentifier: \"varchar2\",\n cacheTime: \"number\",\n cacheDuration: \"number\",\n cacheQuery: \"clob\",\n cacheResult: \"clob\",\n metadataType: \"varchar2\",\n metadataDatabase: \"varchar2\",\n metadataSchema: \"varchar2\",\n metadataTable: \"varchar2\",\n metadataName: \"varchar2\",\n metadataValue: \"clob\",\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 \"char\": { length: 1 },\n \"nchar\": { length: 1 },\n \"varchar\": { length: 255 },\n \"varchar2\": { length: 255 },\n \"nvarchar2\": { length: 255 },\n \"raw\": { length: 2000 },\n \"float\": { precision: 126 },\n \"timestamp\": { precision: 6 },\n \"timestamp with time zone\": { precision: 6 },\n \"timestamp with local time zone\": { precision: 6 }\n };\n\n /**\n * Max length allowed by Oracle for aliases.\n * @see https://docs.oracle.com/database/121/SQLRF/sql_elements008.htm#SQLRF51129\n * > The following list of rules applies to both quoted and nonquoted identifiers unless otherwise indicated\n * > Names must be from 1 to 30 bytes long with these exceptions:\n * > [...]\n *\n * Since Oracle 12.2 (with a compatible driver/client), the limit has been set to 128.\n * @see https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sqlrf/Database-Object-Names-and-Qualifiers.html\n *\n * > If COMPATIBLE is set to a value of 12.2 or higher, then names must be from 1 to 128 bytes long with these exceptions\n */\n maxAliasLength = 30;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(connection: Connection) {\n this.connection = connection;\n this.options = connection.options as OracleConnectionOptions;\n\n if (this.options.useUTC === true) {\n process.env.ORA_SDTZ = 'UTC';\n }\n // load oracle package\n this.loadDependencies();\n\n // extra oracle setup\n this.oracle.outFormat = this.oracle.OBJECT;\n\n // Object.assign(connection.options, DriverUtils.buildDriverOptions(connection.options)); // todo: do it better way\n // validate options to make sure everything is set\n // if (!this.options.host)\n // throw new DriverOptionNotSetError(\"host\");\n // if (!this.options.username)\n // throw new DriverOptionNotSetError(\"username\");\n // if (!this.options.sid)\n // throw new DriverOptionNotSetError(\"sid\");\n //\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Performs connection to the database.\n * Based on pooling options, it can either create connection immediately,\n * either create a pool and create connection when needed.\n */\n async connect(): Promise<void> {\n this.oracle.fetchAsString = [ this.oracle.CLOB ];\n this.oracle.fetchAsBuffer = [ this.oracle.BLOB ];\n if (this.options.replication) {\n this.slaves = await Promise.all(this.options.replication.slaves.map(slave => {\n return this.createPool(this.options, slave);\n }));\n this.master = await this.createPool(this.options, this.options.replication.master);\n this.database = this.options.replication.master.database;\n\n } else {\n this.master = await this.createPool(this.options, this.options);\n this.database = this.options.database;\n }\n }\n\n /**\n * Makes any action after connection (e.g. create extensions in Postgres driver).\n */\n afterConnect(): Promise<void> {\n return Promise.resolve();\n }\n\n /**\n * Closes connection with the database.\n */\n async disconnect(): Promise<void> {\n if (!this.master)\n return Promise.reject(new ConnectionIsNotSetError(\"oracle\"));\n\n await this.closePool(this.master);\n await Promise.all(this.slaves.map(slave => this.closePool(slave)));\n this.master = undefined;\n this.slaves = [];\n }\n\n /**\n * Creates a schema builder used to build and sync a schema.\n */\n createSchemaBuilder() {\n return new RdbmsSchemaBuilder(this.connection);\n }\n\n /**\n * Creates a query runner used to execute database queries.\n */\n createQueryRunner(mode: ReplicationMode) {\n return new OracleQueryRunner(this, mode);\n }\n\n /**\n * Replaces parameters in the given sql with special escaping character\n * and an array of parameter names to be passed to a query.\n */\n escapeQueryWithParameters(sql: string, parameters: ObjectLiteral, nativeParameters: ObjectLiteral): [string, any[]] {\n const escapedParameters: any[] = Object.keys(nativeParameters).map(key => {\n if (typeof nativeParameters[key] === \"boolean\")\n return nativeParameters[key] ? 1 : 0;\n return nativeParameters[key];\n });\n if (!parameters || !Object.keys(parameters).length)\n return [sql, escapedParameters];\n\n const keys = Object.keys(parameters).map(parameter => \"(:(\\\\.\\\\.\\\\.)?\" + parameter + \"\\\\b)\").join(\"|\");\n sql = sql.replace(new RegExp(keys, \"g\"), (key: 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, index: number) => {\n escapedParameters.push(v);\n return `:${key.substr(4)}${index}`;\n }).join(\", \");\n\n } else if (value instanceof Function) {\n return value();\n\n } else if (typeof value === \"boolean\") {\n return value ? 1 : 0;\n\n } else {\n escapedParameters.push(value);\n return key;\n }\n }); // todo: make replace only in value statements, otherwise problems\n return [sql, escapedParameters];\n }\n\n /**\n * Escapes a column name.\n */\n escape(columnName: string): string {\n return `\"${columnName}\"`;\n }\n\n /**\n * Build full table name with database name, schema name and table name.\n * Oracle does not support table schemas. One user can have only one schema.\n */\n buildTableName(tableName: string, schema?: string, database?: string): string {\n return tableName;\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) {\n return value ? 1 : 0;\n\n } else if (columnMetadata.type === \"date\") {\n if (typeof value === \"string\")\n value = value.replace(/[^0-9-]/g, \"\");\n return () => `TO_DATE('${DateUtils.mixedDateToDateString(value)}', 'YYYY-MM-DD')`;\n\n } else if (columnMetadata.type === Date\n || columnMetadata.type === \"timestamp\"\n || columnMetadata.type === \"timestamp with time zone\"\n || columnMetadata.type === \"timestamp with local time zone\") {\n return DateUtils.mixedDateToDate(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 }\n\n return value;\n }\n\n /**\n * Prepares given value to a value to be persisted, based on its column type or metadata.\n */\n prepareHydratedValue(value: any, columnMetadata: ColumnMetadata): any {\n if (value === null || value === undefined)\n return columnMetadata.transformer ? ApplyValueTransformers.transformFrom(columnMetadata.transformer, value) : value;\n\n if (columnMetadata.type === Boolean) {\n value = !!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 === Date\n || columnMetadata.type === \"timestamp\"\n || columnMetadata.type === \"timestamp with time zone\"\n || columnMetadata.type === \"timestamp with local time zone\") {\n value = DateUtils.normalizeHydratedDate(value);\n\n } else if (columnMetadata.type === \"json\") {\n value = JSON.parse(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\n if (columnMetadata.transformer)\n value = ApplyValueTransformers.transformFrom(columnMetadata.transformer, value);\n\n return value;\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, isArray?: boolean }): string {\n if (column.type === Number || column.type === Boolean || column.type === \"numeric\"\n || column.type === \"dec\" || column.type === \"decimal\" || column.type === \"int\"\n || column.type === \"integer\" || column.type === \"smallint\") {\n return \"number\";\n\n } else if (column.type === \"real\" || column.type === \"double precision\") {\n return \"float\";\n\n } else if (column.type === String || column.type === \"varchar\") {\n return \"varchar2\";\n\n } else if (column.type === Date) {\n return \"timestamp\";\n\n } else if ((column.type as any) === Buffer) {\n return \"blob\";\n\n } else if (column.type === \"uuid\") {\n return \"varchar2\";\n\n } else if (column.type === \"simple-array\") {\n return \"clob\";\n\n } else if (column.type === \"simple-json\") {\n return \"clob\";\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|TableColumn): string {\n if (column.length)\n return column.length.toString();\n\n switch (column.type) {\n case String:\n case \"varchar\":\n case \"varchar2\":\n case \"nvarchar2\":\n return \"255\";\n case \"raw\":\n return \"2000\";\n case \"uuid\":\n return \"36\";\n default:\n return \"\";\n }\n }\n\n createFullType(column: TableColumn): string {\n let type = column.type;\n\n // used 'getColumnLength()' method, because in Oracle column length is required for some data types.\n if (this.getColumnLength(column)) {\n type += `(${this.getColumnLength(column)})`;\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.type === \"timestamp with time zone\") {\n type = \"TIMESTAMP\" + (column.precision !== null && column.precision !== undefined ? \"(\" + column.precision + \")\" : \"\") + \" WITH TIME ZONE\";\n\n } else if (column.type === \"timestamp with local time zone\") {\n type = \"TIMESTAMP\" + (column.precision !== null && column.precision !== undefined ? \"(\" + column.precision + \")\" : \"\") + \" WITH LOCAL TIME ZONE\";\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 new Promise<any>((ok, fail) => {\n this.master.getConnection((err: any, connection: any, release: Function) => {\n if (err) return fail(err);\n ok(connection);\n });\n });\n }\n\n /**\n * Obtains a new database connection to a slave server.\n * Used for replication.\n * If replication is not setup then returns master (default) connection's database connection.\n */\n obtainSlaveConnection(): Promise<any> {\n if (!this.slaves.length)\n return this.obtainMasterConnection();\n\n return new Promise<any>((ok, fail) => {\n const random = Math.floor(Math.random() * this.slaves.length);\n\n this.slaves[random].getConnection((err: any, connection: any) => {\n if (err) return fail(err);\n ok(connection);\n });\n });\n }\n\n /**\n * Creates generated map of values generated or returned by database after INSERT query.\n */\n createGeneratedMap(metadata: EntityMetadata, insertResult: ObjectLiteral) {\n if (!insertResult)\n return undefined;\n\n return Object.keys(insertResult).reduce((map, key) => {\n const column = metadata.findColumnWithDatabaseName(key);\n if (column) {\n OrmUtils.mergeDeep(map, column.createValueMap(this.prepareHydratedValue(insertResult[key], column)));\n }\n return map;\n }, {} as ObjectLiteral);\n }\n\n /**\n * Differentiate columns of this table and columns from the given column metadatas columns\n * and returns only changed.\n */\n findChangedColumns(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 const isColumnChanged = 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\n || tableColumn.default !== this.normalizeDefault(columnMetadata)\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 // DEBUG SECTION\n // if (isColumnChanged) {\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, this.normalizeDefault(columnMetadata));\n // console.log(\"enum:\", tableColumn.enum && columnMetadata.enum && !OrmUtils.isArraysEqual(tableColumn.enum, columnMetadata.enum.map(val => val + \"\")));\n // console.log(\"onUpdate:\", tableColumn.onUpdate, columnMetadata.onUpdate);\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\n return isColumnChanged\n });\n }\n\n /**\n * Returns true if driver supports RETURNING / OUTPUT statement.\n */\n isReturningSqlSupported(): boolean {\n return true;\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 }\n\n /**\n * Converts column type in to native oracle type.\n */\n columnTypeToNativeParameter(type: ColumnType): any {\n switch (this.normalizeType({ type: type as any })) {\n case \"number\":\n case \"numeric\":\n case \"int\":\n case \"integer\":\n case \"smallint\":\n case \"dec\":\n case \"decimal\":\n return this.oracle.NUMBER;\n case \"char\":\n case \"nchar\":\n case \"nvarchar2\":\n case \"varchar2\":\n return this.oracle.STRING;\n case \"blob\":\n return this.oracle.BLOB;\n case \"clob\":\n return this.oracle.CLOB;\n case \"date\":\n case \"timestamp\":\n case \"timestamp with time zone\":\n case \"timestamp with local time zone\":\n return this.oracle.DATE;\n }\n }\n\n // -------------------------------------------------------------------------\n // Protected Methods\n // -------------------------------------------------------------------------\n\n /**\n * Loads all driver dependencies.\n */\n protected loadDependencies(): void {\n try {\n this.oracle = PlatformTools.load(\"oracledb\");\n\n } catch (e) {\n throw new DriverPackageNotInstalledError(\"Oracle\", \"oracledb\");\n }\n }\n\n /**\n * Creates a new connection pool for a given database credentials.\n */\n protected async createPool(options: OracleConnectionOptions, credentials: OracleConnectionCredentialsOptions): Promise<any> {\n\n credentials = Object.assign({}, credentials, DriverUtils.buildDriverOptions(credentials)); // todo: do it better way\n\n // build connection options for the driver\n const connectionOptions = Object.assign({}, {\n user: credentials.username,\n password: credentials.password,\n connectString: credentials.connectString ? credentials.connectString : credentials.host + \":\" + credentials.port + \"/\" + credentials.sid,\n }, options.extra || {});\n\n // pooling is enabled either when its set explicitly to true,\n // either when its not defined at all (e.g. enabled by default)\n return new Promise<void>((ok, fail) => {\n this.oracle.createPool(connectionOptions, (err: any, pool: any) => {\n if (err)\n return fail(err);\n ok(pool);\n });\n });\n\n }\n\n /**\n * Closes connection pool.\n */\n protected async closePool(pool: any): Promise<void> {\n return new Promise<void>((ok, fail) => {\n pool.close((err: any) => err ? fail(err) : ok());\n pool = undefined;\n });\n }\n\n}\n"],"sourceRoot":"../.."}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OracleQueryRunner = void 0;
|
|
3
4
|
var tslib_1 = require("tslib");
|
|
4
5
|
var TransactionAlreadyStartedError_1 = require("../../error/TransactionAlreadyStartedError");
|
|
5
6
|
var TransactionNotStartedError_1 = require("../../error/TransactionNotStartedError");
|
|
@@ -1866,7 +1867,7 @@ var OracleQueryRunner = /** @class */ (function (_super) {
|
|
|
1866
1867
|
referencedTableName: dbForeignKey["REFERENCED_TABLE_NAME"],
|
|
1867
1868
|
referencedColumnNames: foreignKeys.map(function (dbFk) { return dbFk["REFERENCED_COLUMN_NAME"]; }),
|
|
1868
1869
|
onDelete: dbForeignKey["ON_DELETE"],
|
|
1869
|
-
onUpdate: "NO ACTION",
|
|
1870
|
+
onUpdate: "NO ACTION", // Oracle does not have onUpdate option in FK's, but we need it for proper synchronization
|
|
1870
1871
|
});
|
|
1871
1872
|
});
|
|
1872
1873
|
// create TableIndex objects from the loaded indices
|