typeorm 0.3.18-dev.8d0e7f9 → 0.3.18-dev.a00b1df
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/cache/DbQueryResultCache.js +3 -0
- package/browser/cache/DbQueryResultCache.js.map +1 -1
- package/browser/data-source/BaseDataSourceOptions.d.ts +4 -0
- package/browser/data-source/BaseDataSourceOptions.js.map +1 -1
- package/browser/data-source/DataSource.d.ts +4 -0
- package/browser/data-source/DataSource.js +14 -0
- package/browser/data-source/DataSource.js.map +1 -1
- package/browser/decorator/Index.js +1 -0
- package/browser/decorator/Index.js.map +1 -1
- package/browser/decorator/options/IndexOptions.d.ts +5 -0
- package/browser/decorator/options/IndexOptions.js.map +1 -1
- package/browser/driver/Driver.d.ts +4 -0
- package/browser/driver/Driver.js.map +1 -1
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js +9 -6
- package/browser/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
- package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js +9 -6
- package/browser/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachConnectionOptions.d.ts +6 -0
- package/browser/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachDriver.d.ts +4 -0
- package/browser/driver/cockroachdb/CockroachDriver.js +10 -1
- package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +6 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.js +46 -17
- package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/browser/driver/cordova/CordovaDriver.js +2 -2
- package/browser/driver/cordova/CordovaDriver.js.map +1 -1
- package/browser/driver/cordova/CordovaQueryRunner.js +8 -0
- package/browser/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/browser/driver/expo/ExpoQueryRunner.js +9 -2
- package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/browser/driver/mongodb/MongoQueryRunner.d.ts +3 -3
- package/browser/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/browser/driver/mongodb/typings.d.ts +3 -3
- package/browser/driver/mongodb/typings.js.map +1 -1
- package/browser/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
- package/browser/driver/mysql/MysqlConnectionOptions.js.map +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.js +18 -7
- package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/browser/driver/oracle/OracleConnectionOptions.d.ts +14 -0
- package/browser/driver/oracle/OracleConnectionOptions.js.map +1 -1
- package/browser/driver/oracle/OracleDriver.d.ts +4 -0
- package/browser/driver/oracle/OracleDriver.js +17 -2
- package/browser/driver/oracle/OracleDriver.js.map +1 -1
- package/browser/driver/oracle/OracleQueryRunner.js +48 -6
- package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/browser/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +5 -0
- package/browser/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
- package/browser/driver/postgres/PostgresConnectionOptions.d.ts +6 -5
- package/browser/driver/postgres/PostgresConnectionOptions.js.map +1 -1
- package/browser/driver/postgres/PostgresDriver.d.ts +4 -0
- package/browser/driver/postgres/PostgresDriver.js +13 -4
- package/browser/driver/postgres/PostgresDriver.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.js +46 -23
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/driver/react-native/ReactNativeQueryRunner.js +10 -2
- package/browser/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/browser/driver/sap/SapDriver.d.ts +8 -0
- package/browser/driver/sap/SapDriver.js +14 -3
- package/browser/driver/sap/SapDriver.js.map +1 -1
- package/browser/driver/sap/SapQueryRunner.d.ts +5 -14
- package/browser/driver/sap/SapQueryRunner.js +75 -65
- package/browser/driver/sap/SapQueryRunner.js.map +1 -1
- package/browser/driver/spanner/SpannerConnectionOptions.d.ts +6 -0
- package/browser/driver/spanner/SpannerConnectionOptions.js.map +1 -1
- package/browser/driver/spanner/SpannerDriver.d.ts +4 -0
- package/browser/driver/spanner/SpannerDriver.js +10 -1
- package/browser/driver/spanner/SpannerDriver.js.map +1 -1
- package/browser/driver/spanner/SpannerQueryRunner.js +6 -0
- package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
- package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
- package/browser/driver/sqlite/SqliteQueryRunner.js +61 -46
- package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +10 -16
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqljs/SqljsQueryRunner.js +11 -3
- package/browser/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerConnectionOptions.d.ts +6 -5
- package/browser/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerDriver.d.ts +4 -0
- package/browser/driver/sqlserver/SqlServerDriver.js +10 -1
- package/browser/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerQueryRunner.js +12 -5
- package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/browser/entity-manager/EntityManager.d.ts +5 -1
- package/browser/entity-manager/EntityManager.js +10 -1
- package/browser/entity-manager/EntityManager.js.map +1 -1
- package/browser/entity-manager/MongoEntityManager.d.ts +8 -4
- package/browser/entity-manager/MongoEntityManager.js +12 -10
- package/browser/entity-manager/MongoEntityManager.js.map +1 -1
- package/browser/entity-schema/EntitySchemaOptions.d.ts +4 -0
- package/browser/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/browser/entity-schema/EntitySchemaTransformer.js +7 -0
- package/browser/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/browser/error/EntityNotFoundError.d.ts +2 -0
- package/browser/error/EntityNotFoundError.js +2 -0
- package/browser/error/EntityNotFoundError.js.map +1 -1
- package/browser/find-options/FindOperatorType.d.ts +1 -1
- package/browser/find-options/FindOperatorType.js.map +1 -1
- package/browser/find-options/FindOptionsWhere.d.ts +1 -1
- package/browser/find-options/FindOptionsWhere.js.map +1 -1
- package/browser/find-options/operator/Or.d.ts +2 -0
- package/browser/find-options/operator/Or.js +6 -0
- package/browser/find-options/operator/Or.js.map +1 -0
- package/browser/index.d.ts +1 -0
- package/browser/index.js +1 -0
- package/browser/index.js.map +1 -1
- package/browser/logger/AbstractLogger.js +1 -1
- package/browser/logger/AbstractLogger.js.map +1 -1
- package/browser/metadata/ColumnMetadata.js +4 -0
- package/browser/metadata/ColumnMetadata.js.map +1 -1
- package/browser/metadata/EntityMetadata.d.ts +3 -3
- package/browser/metadata/EntityMetadata.js +7 -3
- package/browser/metadata/EntityMetadata.js.map +1 -1
- package/browser/metadata/IndexMetadata.d.ts +5 -0
- package/browser/metadata/IndexMetadata.js +1 -0
- package/browser/metadata/IndexMetadata.js.map +1 -1
- package/browser/metadata-args/IndexMetadataArgs.d.ts +5 -0
- package/browser/metadata-args/IndexMetadataArgs.js.map +1 -1
- package/browser/metadata-builder/EntityMetadataBuilder.js +22 -0
- package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/browser/persistence/EntityPersistExecutor.js +1 -1
- package/browser/persistence/EntityPersistExecutor.js.map +1 -1
- package/browser/persistence/SubjectExecutor.js +4 -1
- package/browser/persistence/SubjectExecutor.js.map +1 -1
- package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js +6 -2
- package/browser/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
- package/browser/platform/BrowserPlatformTools.js +3 -2
- package/browser/platform/BrowserPlatformTools.js.map +1 -1
- package/browser/platform/PlatformTools.js +2 -0
- package/browser/platform/PlatformTools.js.map +1 -1
- package/browser/query-builder/InsertQueryBuilder.js +19 -6
- package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
- package/browser/query-builder/QueryBuilder.d.ts +5 -0
- package/browser/query-builder/QueryBuilder.js +35 -23
- package/browser/query-builder/QueryBuilder.js.map +1 -1
- package/browser/query-builder/QueryExpressionMap.d.ts +2 -1
- package/browser/query-builder/QueryExpressionMap.js +0 -4
- package/browser/query-builder/QueryExpressionMap.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilder.js +14 -4
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-builder/WhereClause.d.ts +1 -1
- package/browser/query-builder/WhereClause.js.map +1 -1
- package/browser/query-builder/index.d.ts +1 -0
- package/browser/query-builder/index.js +17 -0
- package/browser/query-builder/index.js.map +1 -0
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +9 -0
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js +28 -0
- package/browser/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/browser/repository/BaseEntity.d.ts +12 -0
- package/browser/repository/BaseEntity.js +12 -0
- package/browser/repository/BaseEntity.js.map +1 -1
- package/browser/repository/MongoRepository.d.ts +8 -4
- package/browser/repository/MongoRepository.js +6 -0
- package/browser/repository/MongoRepository.js.map +1 -1
- package/browser/repository/Repository.d.ts +13 -1
- package/browser/repository/Repository.js +17 -1
- package/browser/repository/Repository.js.map +1 -1
- package/browser/schema-builder/options/TableIndexOptions.d.ts +5 -0
- package/browser/schema-builder/options/TableIndexOptions.js.map +1 -1
- package/browser/schema-builder/table/TableIndex.d.ts +5 -0
- package/browser/schema-builder/table/TableIndex.js +3 -0
- package/browser/schema-builder/table/TableIndex.js.map +1 -1
- package/browser/subscriber/Broadcaster.d.ts +11 -1
- package/browser/subscriber/Broadcaster.js +48 -1
- package/browser/subscriber/Broadcaster.js.map +1 -1
- package/browser/subscriber/EntitySubscriberInterface.d.ts +9 -0
- package/browser/subscriber/EntitySubscriberInterface.js.map +1 -1
- package/browser/subscriber/event/InsertEvent.d.ts +5 -0
- package/browser/subscriber/event/InsertEvent.js.map +1 -1
- package/browser/subscriber/event/QueryEvent.d.ts +50 -0
- package/browser/subscriber/event/QueryEvent.js +3 -0
- package/browser/subscriber/event/QueryEvent.js.map +1 -0
- package/browser/util/DateUtils.js +4 -2
- package/browser/util/DateUtils.js.map +1 -1
- package/browser/util/OrmUtils.d.ts +6 -0
- package/browser/util/OrmUtils.js +66 -0
- package/browser/util/OrmUtils.js.map +1 -1
- package/cache/DbQueryResultCache.js +3 -0
- package/cache/DbQueryResultCache.js.map +1 -1
- package/commands/MigrationGenerateCommand.js +3 -1
- package/commands/MigrationGenerateCommand.js.map +1 -1
- package/data-source/BaseDataSourceOptions.d.ts +4 -0
- package/data-source/BaseDataSourceOptions.js.map +1 -1
- package/data-source/DataSource.d.ts +4 -0
- package/data-source/DataSource.js +14 -0
- package/data-source/DataSource.js.map +1 -1
- package/decorator/Index.js +1 -0
- package/decorator/Index.js.map +1 -1
- package/decorator/options/IndexOptions.d.ts +5 -0
- package/decorator/options/IndexOptions.js.map +1 -1
- package/driver/Driver.d.ts +4 -0
- package/driver/Driver.js.map +1 -1
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.js +9 -6
- package/driver/aurora-mysql/AuroraMysqlQueryRunner.js.map +1 -1
- package/driver/aurora-postgres/AuroraPostgresQueryRunner.js +9 -6
- package/driver/aurora-postgres/AuroraPostgresQueryRunner.js.map +1 -1
- package/driver/cockroachdb/CockroachConnectionOptions.d.ts +6 -0
- package/driver/cockroachdb/CockroachConnectionOptions.js.map +1 -1
- package/driver/cockroachdb/CockroachDriver.d.ts +4 -0
- package/driver/cockroachdb/CockroachDriver.js +10 -1
- package/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.d.ts +6 -1
- package/driver/cockroachdb/CockroachQueryRunner.js +46 -17
- package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/driver/cordova/CordovaDriver.js +2 -2
- package/driver/cordova/CordovaDriver.js.map +1 -1
- package/driver/cordova/CordovaQueryRunner.js +8 -0
- package/driver/cordova/CordovaQueryRunner.js.map +1 -1
- package/driver/expo/ExpoQueryRunner.js +9 -2
- package/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/driver/mongodb/MongoQueryRunner.d.ts +3 -3
- package/driver/mongodb/MongoQueryRunner.js.map +1 -1
- package/driver/mongodb/typings.d.ts +3 -3
- package/driver/mongodb/typings.js.map +1 -1
- package/driver/mysql/MysqlConnectionOptions.d.ts +6 -0
- package/driver/mysql/MysqlConnectionOptions.js.map +1 -1
- package/driver/mysql/MysqlQueryRunner.js +18 -7
- package/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/driver/oracle/OracleConnectionOptions.d.ts +14 -0
- package/driver/oracle/OracleConnectionOptions.js.map +1 -1
- package/driver/oracle/OracleDriver.d.ts +4 -0
- package/driver/oracle/OracleDriver.js +17 -2
- package/driver/oracle/OracleDriver.js.map +1 -1
- package/driver/oracle/OracleQueryRunner.js +48 -6
- package/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/driver/postgres/PostgresConnectionCredentialsOptions.d.ts +5 -0
- package/driver/postgres/PostgresConnectionCredentialsOptions.js.map +1 -1
- package/driver/postgres/PostgresConnectionOptions.d.ts +6 -5
- package/driver/postgres/PostgresConnectionOptions.js.map +1 -1
- package/driver/postgres/PostgresDriver.d.ts +4 -0
- package/driver/postgres/PostgresDriver.js +13 -4
- package/driver/postgres/PostgresDriver.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.js +46 -23
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/react-native/ReactNativeQueryRunner.js +10 -2
- package/driver/react-native/ReactNativeQueryRunner.js.map +1 -1
- package/driver/sap/SapDriver.d.ts +8 -0
- package/driver/sap/SapDriver.js +15 -4
- package/driver/sap/SapDriver.js.map +1 -1
- package/driver/sap/SapQueryRunner.d.ts +5 -14
- package/driver/sap/SapQueryRunner.js +75 -65
- package/driver/sap/SapQueryRunner.js.map +1 -1
- package/driver/spanner/SpannerConnectionOptions.d.ts +6 -0
- package/driver/spanner/SpannerConnectionOptions.js.map +1 -1
- package/driver/spanner/SpannerDriver.d.ts +4 -0
- package/driver/spanner/SpannerDriver.js +10 -1
- package/driver/spanner/SpannerDriver.js.map +1 -1
- package/driver/spanner/SpannerQueryRunner.js +6 -0
- package/driver/spanner/SpannerQueryRunner.js.map +1 -1
- package/driver/sqlite/SqliteDriver.js.map +1 -1
- package/driver/sqlite/SqliteQueryRunner.js +61 -46
- package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +10 -16
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/driver/sqljs/SqljsQueryRunner.js +11 -3
- package/driver/sqljs/SqljsQueryRunner.js.map +1 -1
- package/driver/sqlserver/SqlServerConnectionOptions.d.ts +6 -5
- package/driver/sqlserver/SqlServerConnectionOptions.js.map +1 -1
- package/driver/sqlserver/SqlServerDriver.d.ts +4 -0
- package/driver/sqlserver/SqlServerDriver.js +10 -1
- package/driver/sqlserver/SqlServerDriver.js.map +1 -1
- package/driver/sqlserver/SqlServerQueryRunner.js +12 -5
- package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/entity-manager/EntityManager.d.ts +5 -1
- package/entity-manager/EntityManager.js +10 -1
- package/entity-manager/EntityManager.js.map +1 -1
- package/entity-manager/MongoEntityManager.d.ts +8 -4
- package/entity-manager/MongoEntityManager.js +12 -10
- package/entity-manager/MongoEntityManager.js.map +1 -1
- package/entity-schema/EntitySchemaOptions.d.ts +4 -0
- package/entity-schema/EntitySchemaOptions.js.map +1 -1
- package/entity-schema/EntitySchemaTransformer.js +7 -0
- package/entity-schema/EntitySchemaTransformer.js.map +1 -1
- package/error/EntityNotFoundError.d.ts +2 -0
- package/error/EntityNotFoundError.js +2 -0
- package/error/EntityNotFoundError.js.map +1 -1
- package/find-options/FindOperatorType.d.ts +1 -1
- package/find-options/FindOperatorType.js.map +1 -1
- package/find-options/FindOptionsWhere.d.ts +1 -1
- package/find-options/FindOptionsWhere.js.map +1 -1
- package/find-options/operator/Or.d.ts +2 -0
- package/find-options/operator/Or.js +10 -0
- package/find-options/operator/Or.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/index.mjs +2 -0
- package/logger/AbstractLogger.js +1 -1
- package/logger/AbstractLogger.js.map +1 -1
- package/metadata/ColumnMetadata.js +4 -0
- package/metadata/ColumnMetadata.js.map +1 -1
- package/metadata/EntityMetadata.d.ts +3 -3
- package/metadata/EntityMetadata.js +7 -3
- package/metadata/EntityMetadata.js.map +1 -1
- package/metadata/IndexMetadata.d.ts +5 -0
- package/metadata/IndexMetadata.js +1 -0
- package/metadata/IndexMetadata.js.map +1 -1
- package/metadata-args/IndexMetadataArgs.d.ts +5 -0
- package/metadata-args/IndexMetadataArgs.js.map +1 -1
- package/metadata-builder/EntityMetadataBuilder.js +22 -0
- package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/package.json +1 -1
- package/persistence/EntityPersistExecutor.js +1 -1
- package/persistence/EntityPersistExecutor.js.map +1 -1
- package/persistence/SubjectExecutor.js +4 -1
- package/persistence/SubjectExecutor.js.map +1 -1
- package/persistence/subject-builder/ManyToManySubjectBuilder.js +6 -2
- package/persistence/subject-builder/ManyToManySubjectBuilder.js.map +1 -1
- package/platform/PlatformTools.js +2 -0
- package/platform/PlatformTools.js.map +1 -1
- package/query-builder/InsertQueryBuilder.js +19 -6
- package/query-builder/InsertQueryBuilder.js.map +1 -1
- package/query-builder/QueryBuilder.d.ts +5 -0
- package/query-builder/QueryBuilder.js +35 -23
- package/query-builder/QueryBuilder.js.map +1 -1
- package/query-builder/QueryExpressionMap.d.ts +2 -1
- package/query-builder/QueryExpressionMap.js +0 -4
- package/query-builder/QueryExpressionMap.js.map +1 -1
- package/query-builder/SelectQueryBuilder.js +14 -4
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-builder/WhereClause.d.ts +1 -1
- package/query-builder/WhereClause.js.map +1 -1
- package/query-builder/index.d.ts +1 -0
- package/query-builder/index.js +21 -0
- package/query-builder/index.js.map +1 -0
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.d.ts +9 -0
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js +28 -0
- package/query-builder/transformer/RawSqlResultsToEntityTransformer.js.map +1 -1
- package/repository/BaseEntity.d.ts +12 -0
- package/repository/BaseEntity.js +12 -0
- package/repository/BaseEntity.js.map +1 -1
- package/repository/MongoRepository.d.ts +8 -4
- package/repository/MongoRepository.js +6 -0
- package/repository/MongoRepository.js.map +1 -1
- package/repository/Repository.d.ts +13 -1
- package/repository/Repository.js +17 -1
- package/repository/Repository.js.map +1 -1
- package/schema-builder/options/TableIndexOptions.d.ts +5 -0
- package/schema-builder/options/TableIndexOptions.js.map +1 -1
- package/schema-builder/table/TableIndex.d.ts +5 -0
- package/schema-builder/table/TableIndex.js +3 -0
- package/schema-builder/table/TableIndex.js.map +1 -1
- package/subscriber/Broadcaster.d.ts +11 -1
- package/subscriber/Broadcaster.js +48 -1
- package/subscriber/Broadcaster.js.map +1 -1
- package/subscriber/EntitySubscriberInterface.d.ts +9 -0
- package/subscriber/EntitySubscriberInterface.js.map +1 -1
- package/subscriber/event/InsertEvent.d.ts +5 -0
- package/subscriber/event/InsertEvent.js.map +1 -1
- package/subscriber/event/QueryEvent.d.ts +50 -0
- package/subscriber/event/QueryEvent.js +4 -0
- package/subscriber/event/QueryEvent.js.map +1 -0
- package/typeorm-model-shim.js +61 -53
- package/util/DateUtils.js +5 -2
- package/util/DateUtils.js.map +1 -1
- package/util/OrmUtils.d.ts +6 -0
- package/util/OrmUtils.js +66 -0
- package/util/OrmUtils.js.map +1 -1
|
@@ -21,6 +21,7 @@ const QueryLock_1 = require("../../query-runner/QueryLock");
|
|
|
21
21
|
const MetadataTableType_1 = require("../types/MetadataTableType");
|
|
22
22
|
const InstanceChecker_1 = require("../../util/InstanceChecker");
|
|
23
23
|
const util_1 = require("util");
|
|
24
|
+
const BroadcasterResult_1 = require("../../subscriber/BroadcasterResult");
|
|
24
25
|
/**
|
|
25
26
|
* Runs queries on a single SQL Server database connection.
|
|
26
27
|
*/
|
|
@@ -136,21 +137,30 @@ class SapQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
136
137
|
const release = await this.lock.acquire();
|
|
137
138
|
let statement;
|
|
138
139
|
const result = new QueryResult_1.QueryResult();
|
|
140
|
+
const broadcasterResult = new BroadcasterResult_1.BroadcasterResult();
|
|
139
141
|
try {
|
|
140
142
|
const databaseConnection = await this.connect();
|
|
141
143
|
this.driver.connection.logger.logQuery(query, parameters, this);
|
|
144
|
+
this.broadcaster.broadcastBeforeQueryEvent(broadcasterResult, query, parameters);
|
|
142
145
|
const queryStartTime = +new Date();
|
|
143
146
|
const isInsertQuery = query.substr(0, 11) === "INSERT INTO";
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
147
|
+
if (parameters === null || parameters === void 0 ? void 0 : parameters.some(Array.isArray)) {
|
|
148
|
+
statement = await (0, util_1.promisify)(databaseConnection.prepare.bind(databaseConnection))(query);
|
|
149
|
+
}
|
|
150
|
+
let raw;
|
|
151
|
+
try {
|
|
152
|
+
raw = statement
|
|
153
|
+
? await (0, util_1.promisify)(statement.exec.bind(statement))(parameters)
|
|
154
|
+
: await (0, util_1.promisify)(databaseConnection.exec.bind(databaseConnection))(query, parameters, {});
|
|
155
|
+
}
|
|
156
|
+
catch (err) {
|
|
157
|
+
throw new error_1.QueryFailedError(query, parameters, err);
|
|
158
|
+
}
|
|
150
159
|
// log slow queries if maxQueryExecution time is set
|
|
151
160
|
const maxQueryExecutionTime = this.driver.connection.options.maxQueryExecutionTime;
|
|
152
161
|
const queryEndTime = +new Date();
|
|
153
162
|
const queryExecutionTime = queryEndTime - queryStartTime;
|
|
163
|
+
this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, true, queryExecutionTime, raw, undefined);
|
|
154
164
|
if (maxQueryExecutionTime &&
|
|
155
165
|
queryExecutionTime > maxQueryExecutionTime) {
|
|
156
166
|
this.driver.connection.logger.logQuerySlow(queryExecutionTime, query, parameters, this);
|
|
@@ -174,15 +184,17 @@ class SapQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
174
184
|
result.records = identityValueResult;
|
|
175
185
|
}
|
|
176
186
|
}
|
|
177
|
-
catch (
|
|
178
|
-
this.driver.connection.logger.logQueryError(
|
|
179
|
-
|
|
187
|
+
catch (err) {
|
|
188
|
+
this.driver.connection.logger.logQueryError(err, query, parameters, this);
|
|
189
|
+
this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, false, undefined, undefined, err);
|
|
190
|
+
throw err;
|
|
180
191
|
}
|
|
181
192
|
finally {
|
|
182
193
|
// Never forget to drop the statement we reserved
|
|
183
194
|
if (statement === null || statement === void 0 ? void 0 : statement.drop) {
|
|
184
195
|
await new Promise((ok) => statement.drop(() => ok()));
|
|
185
196
|
}
|
|
197
|
+
await broadcasterResult.wait();
|
|
186
198
|
// Always release the lock.
|
|
187
199
|
release();
|
|
188
200
|
}
|
|
@@ -197,7 +209,19 @@ class SapQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
197
209
|
* Returns raw data stream.
|
|
198
210
|
*/
|
|
199
211
|
async stream(query, parameters, onEnd, onError) {
|
|
200
|
-
|
|
212
|
+
if (this.isReleased)
|
|
213
|
+
throw new QueryRunnerAlreadyReleasedError_1.QueryRunnerAlreadyReleasedError();
|
|
214
|
+
const databaseConnection = await this.connect();
|
|
215
|
+
this.driver.connection.logger.logQuery(query, parameters, this);
|
|
216
|
+
const prepareAsync = (0, util_1.promisify)(databaseConnection.prepare).bind(databaseConnection);
|
|
217
|
+
const statement = await prepareAsync(query);
|
|
218
|
+
const resultSet = statement.executeQuery(parameters);
|
|
219
|
+
const stream = this.driver.streamClient.createObjectStream(resultSet);
|
|
220
|
+
if (onEnd)
|
|
221
|
+
stream.on("end", onEnd);
|
|
222
|
+
if (onError)
|
|
223
|
+
stream.on("error", onError);
|
|
224
|
+
return stream;
|
|
201
225
|
}
|
|
202
226
|
/**
|
|
203
227
|
* Returns all available database names including system databases.
|
|
@@ -265,7 +289,7 @@ class SapQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
265
289
|
if (!parsedTableName.schema) {
|
|
266
290
|
parsedTableName.schema = await this.getCurrentSchema();
|
|
267
291
|
}
|
|
268
|
-
const sql = `SELECT * FROM "SYS"."TABLE_COLUMNS" WHERE "SCHEMA_NAME" = ${parsedTableName.schema} AND "TABLE_NAME" = ${parsedTableName.tableName} AND "COLUMN_NAME" = '${columnName}'`;
|
|
292
|
+
const sql = `SELECT * FROM "SYS"."TABLE_COLUMNS" WHERE "SCHEMA_NAME" = '${parsedTableName.schema}' AND "TABLE_NAME" = '${parsedTableName.tableName}' AND "COLUMN_NAME" = '${columnName}'`;
|
|
269
293
|
const result = await this.query(sql);
|
|
270
294
|
return result.length ? true : false;
|
|
271
295
|
}
|
|
@@ -747,9 +771,15 @@ class SapQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
747
771
|
clonedTable.columns[clonedTable.columns.indexOf(oldTableColumn)].name = newColumn.name;
|
|
748
772
|
oldColumn.name = newColumn.name;
|
|
749
773
|
}
|
|
750
|
-
if (this.isColumnChanged(oldColumn, newColumn)) {
|
|
751
|
-
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER (${this.buildCreateColumnSql(newColumn
|
|
752
|
-
|
|
774
|
+
if (this.isColumnChanged(oldColumn, newColumn, true)) {
|
|
775
|
+
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER (${this.buildCreateColumnSql(newColumn, !(oldColumn.default === null ||
|
|
776
|
+
oldColumn.default === undefined), !oldColumn.isNullable)})`));
|
|
777
|
+
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER (${this.buildCreateColumnSql(oldColumn, !(newColumn.default === null ||
|
|
778
|
+
newColumn.default === undefined), !newColumn.isNullable)})`));
|
|
779
|
+
}
|
|
780
|
+
else if (oldColumn.comment !== newColumn.comment) {
|
|
781
|
+
upQueries.push(new Query_1.Query(`COMMENT ON COLUMN ${this.escapePath(table)}."${oldColumn.name}" IS ${this.escapeComment(newColumn.comment)}`));
|
|
782
|
+
downQueries.push(new Query_1.Query(`COMMENT ON COLUMN ${this.escapePath(table)}."${newColumn.name}" IS ${this.escapeComment(oldColumn.comment)}`));
|
|
753
783
|
}
|
|
754
784
|
if (newColumn.isPrimary !== oldColumn.isPrimary) {
|
|
755
785
|
const primaryColumns = clonedTable.primaryColumns;
|
|
@@ -821,24 +851,6 @@ class SapQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
821
851
|
downQueries.push(this.createIndexSql(table, uniqueIndex));
|
|
822
852
|
}
|
|
823
853
|
}
|
|
824
|
-
if (newColumn.default !== oldColumn.default) {
|
|
825
|
-
if (newColumn.default !== null &&
|
|
826
|
-
newColumn.default !== undefined) {
|
|
827
|
-
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER ("${newColumn.name}" ${this.connection.driver.createFullType(newColumn)} DEFAULT ${newColumn.default})`));
|
|
828
|
-
if (oldColumn.default !== null &&
|
|
829
|
-
oldColumn.default !== undefined) {
|
|
830
|
-
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER ("${oldColumn.name}" ${this.connection.driver.createFullType(oldColumn)} DEFAULT ${oldColumn.default})`));
|
|
831
|
-
}
|
|
832
|
-
else {
|
|
833
|
-
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER ("${oldColumn.name}" ${this.connection.driver.createFullType(oldColumn)} DEFAULT NULL)`));
|
|
834
|
-
}
|
|
835
|
-
}
|
|
836
|
-
else if (oldColumn.default !== null &&
|
|
837
|
-
oldColumn.default !== undefined) {
|
|
838
|
-
upQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER ("${newColumn.name}" ${this.connection.driver.createFullType(newColumn)} DEFAULT NULL)`));
|
|
839
|
-
downQueries.push(new Query_1.Query(`ALTER TABLE ${this.escapePath(table)} ALTER ("${oldColumn.name}" ${this.connection.driver.createFullType(oldColumn)} DEFAULT ${oldColumn.default})`));
|
|
840
|
-
}
|
|
841
|
-
}
|
|
842
854
|
await this.executeQueries(upQueries, downQueries);
|
|
843
855
|
this.replaceCachedTable(table, clonedTable);
|
|
844
856
|
}
|
|
@@ -1623,7 +1635,9 @@ class SapQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
1623
1635
|
dbColumn["DEFAULT_VALUE"];
|
|
1624
1636
|
}
|
|
1625
1637
|
}
|
|
1626
|
-
|
|
1638
|
+
if (dbColumn["COMMENTS"]) {
|
|
1639
|
+
tableColumn.comment = dbColumn["COMMENTS"];
|
|
1640
|
+
}
|
|
1627
1641
|
if (dbColumn["character_set_name"])
|
|
1628
1642
|
tableColumn.charset =
|
|
1629
1643
|
dbColumn["character_set_name"];
|
|
@@ -1957,59 +1971,55 @@ class SapQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
1957
1971
|
: foreignKeyOrName;
|
|
1958
1972
|
return new Query_1.Query(`ALTER TABLE ${this.escapePath(tableOrName)} DROP CONSTRAINT "${foreignKeyName}"`);
|
|
1959
1973
|
}
|
|
1974
|
+
/**
|
|
1975
|
+
* Escapes a given comment so it's safe to include in a query.
|
|
1976
|
+
*/
|
|
1977
|
+
escapeComment(comment) {
|
|
1978
|
+
if (!comment) {
|
|
1979
|
+
return "NULL";
|
|
1980
|
+
}
|
|
1981
|
+
comment = comment.replace(/'/g, "''").replace(/\u0000/g, ""); // Null bytes aren't allowed in comments
|
|
1982
|
+
return `'${comment}'`;
|
|
1983
|
+
}
|
|
1960
1984
|
/**
|
|
1961
1985
|
* Escapes given table or view path.
|
|
1962
1986
|
*/
|
|
1963
1987
|
escapePath(target) {
|
|
1964
1988
|
const { schema, tableName } = this.driver.parseTableName(target);
|
|
1965
|
-
if (schema) {
|
|
1989
|
+
if (schema && schema !== this.driver.schema) {
|
|
1966
1990
|
return `"${schema}"."${tableName}"`;
|
|
1967
1991
|
}
|
|
1968
1992
|
return `"${tableName}"`;
|
|
1969
1993
|
}
|
|
1970
|
-
/**
|
|
1971
|
-
* Concat database name and schema name to the foreign key name.
|
|
1972
|
-
* Needs because FK name is relevant to the schema and database.
|
|
1973
|
-
*/
|
|
1974
|
-
buildForeignKeyName(fkName, schemaName, dbName) {
|
|
1975
|
-
let joinedFkName = fkName;
|
|
1976
|
-
if (schemaName)
|
|
1977
|
-
joinedFkName = schemaName + "." + joinedFkName;
|
|
1978
|
-
if (dbName)
|
|
1979
|
-
joinedFkName = dbName + "." + joinedFkName;
|
|
1980
|
-
return joinedFkName;
|
|
1981
|
-
}
|
|
1982
|
-
/**
|
|
1983
|
-
* Removes parenthesis around default value.
|
|
1984
|
-
* Sql server returns default value with parenthesis around, e.g.
|
|
1985
|
-
* ('My text') - for string
|
|
1986
|
-
* ((1)) - for number
|
|
1987
|
-
* (newsequentialId()) - for function
|
|
1988
|
-
*/
|
|
1989
|
-
removeParenthesisFromDefault(defaultValue) {
|
|
1990
|
-
if (defaultValue.substr(0, 1) !== "(")
|
|
1991
|
-
return defaultValue;
|
|
1992
|
-
const normalizedDefault = defaultValue.substr(1, defaultValue.lastIndexOf(")") - 1);
|
|
1993
|
-
return this.removeParenthesisFromDefault(normalizedDefault);
|
|
1994
|
-
}
|
|
1995
1994
|
/**
|
|
1996
1995
|
* Builds a query for create column.
|
|
1997
1996
|
*/
|
|
1998
|
-
buildCreateColumnSql(column) {
|
|
1997
|
+
buildCreateColumnSql(column, explicitDefault, explicitNullable) {
|
|
1999
1998
|
let c = `"${column.name}" ` + this.connection.driver.createFullType(column);
|
|
2000
1999
|
if (column.charset)
|
|
2001
2000
|
c += " CHARACTER SET " + column.charset;
|
|
2002
2001
|
if (column.collation)
|
|
2003
2002
|
c += " COLLATE " + column.collation;
|
|
2004
|
-
if (column.default !== undefined && column.default !== null)
|
|
2005
|
-
// DEFAULT must be placed before NOT NULL
|
|
2003
|
+
if (column.default !== undefined && column.default !== null) {
|
|
2006
2004
|
c += " DEFAULT " + column.default;
|
|
2007
|
-
|
|
2005
|
+
}
|
|
2006
|
+
else if (explicitDefault) {
|
|
2007
|
+
c += " DEFAULT NULL";
|
|
2008
|
+
}
|
|
2009
|
+
if (!column.isGenerated) {
|
|
2008
2010
|
// NOT NULL is not supported with GENERATED
|
|
2009
|
-
|
|
2011
|
+
if (column.isNullable !== true)
|
|
2012
|
+
c += " NOT NULL";
|
|
2013
|
+
else if (explicitNullable)
|
|
2014
|
+
c += " NULL";
|
|
2015
|
+
}
|
|
2010
2016
|
if (column.isGenerated === true &&
|
|
2011
|
-
column.generationStrategy === "increment")
|
|
2017
|
+
column.generationStrategy === "increment") {
|
|
2012
2018
|
c += " GENERATED ALWAYS AS IDENTITY";
|
|
2019
|
+
}
|
|
2020
|
+
if (column.comment) {
|
|
2021
|
+
c += ` COMMENT ${this.escapeComment(column.comment)}`;
|
|
2022
|
+
}
|
|
2013
2023
|
return c;
|
|
2014
2024
|
}
|
|
2015
2025
|
}
|