typeorm 0.3.18-dev.b240d87 → 0.3.18-dev.b5ec088
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 +13 -2
- 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 +3 -3
- package/browser/entity-manager/MongoEntityManager.js +5 -10
- package/browser/entity-manager/MongoEntityManager.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/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/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 +3 -3
- 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 +13 -2
- 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 +3 -3
- package/entity-manager/MongoEntityManager.js +5 -10
- package/entity-manager/MongoEntityManager.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/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/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 +3 -3
- 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/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
|
@@ -18,6 +18,7 @@ import { OrmUtils } from "../../util/OrmUtils";
|
|
|
18
18
|
import { VersionUtils } from "../../util/VersionUtils";
|
|
19
19
|
import { Query } from "../Query";
|
|
20
20
|
import { MetadataTableType } from "../types/MetadataTableType";
|
|
21
|
+
import { BroadcasterResult } from "../../subscriber/BroadcasterResult";
|
|
21
22
|
/**
|
|
22
23
|
* Runs queries on a single postgres database connection.
|
|
23
24
|
*/
|
|
@@ -115,15 +116,16 @@ export class PostgresQueryRunner extends BaseQueryRunner {
|
|
|
115
116
|
throw err;
|
|
116
117
|
}
|
|
117
118
|
if (this.transactionDepth === 0) {
|
|
119
|
+
this.transactionDepth += 1;
|
|
118
120
|
await this.query("START TRANSACTION");
|
|
119
121
|
if (isolationLevel) {
|
|
120
122
|
await this.query("SET TRANSACTION ISOLATION LEVEL " + isolationLevel);
|
|
121
123
|
}
|
|
122
124
|
}
|
|
123
125
|
else {
|
|
124
|
-
|
|
126
|
+
this.transactionDepth += 1;
|
|
127
|
+
await this.query(`SAVEPOINT typeorm_${this.transactionDepth - 1}`);
|
|
125
128
|
}
|
|
126
|
-
this.transactionDepth += 1;
|
|
127
129
|
await this.broadcaster.broadcast("AfterTransactionStart");
|
|
128
130
|
}
|
|
129
131
|
/**
|
|
@@ -135,13 +137,14 @@ export class PostgresQueryRunner extends BaseQueryRunner {
|
|
|
135
137
|
throw new TransactionNotStartedError();
|
|
136
138
|
await this.broadcaster.broadcast("BeforeTransactionCommit");
|
|
137
139
|
if (this.transactionDepth > 1) {
|
|
138
|
-
|
|
140
|
+
this.transactionDepth -= 1;
|
|
141
|
+
await this.query(`RELEASE SAVEPOINT typeorm_${this.transactionDepth}`);
|
|
139
142
|
}
|
|
140
143
|
else {
|
|
144
|
+
this.transactionDepth -= 1;
|
|
141
145
|
await this.query("COMMIT");
|
|
142
146
|
this.isTransactionActive = false;
|
|
143
147
|
}
|
|
144
|
-
this.transactionDepth -= 1;
|
|
145
148
|
await this.broadcaster.broadcast("AfterTransactionCommit");
|
|
146
149
|
}
|
|
147
150
|
/**
|
|
@@ -153,13 +156,14 @@ export class PostgresQueryRunner extends BaseQueryRunner {
|
|
|
153
156
|
throw new TransactionNotStartedError();
|
|
154
157
|
await this.broadcaster.broadcast("BeforeTransactionRollback");
|
|
155
158
|
if (this.transactionDepth > 1) {
|
|
156
|
-
|
|
159
|
+
this.transactionDepth -= 1;
|
|
160
|
+
await this.query(`ROLLBACK TO SAVEPOINT typeorm_${this.transactionDepth}`);
|
|
157
161
|
}
|
|
158
162
|
else {
|
|
163
|
+
this.transactionDepth -= 1;
|
|
159
164
|
await this.query("ROLLBACK");
|
|
160
165
|
this.isTransactionActive = false;
|
|
161
166
|
}
|
|
162
|
-
this.transactionDepth -= 1;
|
|
163
167
|
await this.broadcaster.broadcast("AfterTransactionRollback");
|
|
164
168
|
}
|
|
165
169
|
/**
|
|
@@ -169,7 +173,9 @@ export class PostgresQueryRunner extends BaseQueryRunner {
|
|
|
169
173
|
if (this.isReleased)
|
|
170
174
|
throw new QueryRunnerAlreadyReleasedError();
|
|
171
175
|
const databaseConnection = await this.connect();
|
|
176
|
+
const broadcasterResult = new BroadcasterResult();
|
|
172
177
|
this.driver.connection.logger.logQuery(query, parameters, this);
|
|
178
|
+
this.broadcaster.broadcastBeforeQueryEvent(broadcasterResult, query, parameters);
|
|
173
179
|
try {
|
|
174
180
|
const queryStartTime = +new Date();
|
|
175
181
|
const raw = await databaseConnection.query(query, parameters);
|
|
@@ -177,6 +183,7 @@ export class PostgresQueryRunner extends BaseQueryRunner {
|
|
|
177
183
|
const maxQueryExecutionTime = this.driver.options.maxQueryExecutionTime;
|
|
178
184
|
const queryEndTime = +new Date();
|
|
179
185
|
const queryExecutionTime = queryEndTime - queryStartTime;
|
|
186
|
+
this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, true, queryExecutionTime, raw, undefined);
|
|
180
187
|
if (maxQueryExecutionTime &&
|
|
181
188
|
queryExecutionTime > maxQueryExecutionTime)
|
|
182
189
|
this.driver.connection.logger.logQuerySlow(queryExecutionTime, query, parameters, this);
|
|
@@ -205,8 +212,12 @@ export class PostgresQueryRunner extends BaseQueryRunner {
|
|
|
205
212
|
}
|
|
206
213
|
catch (err) {
|
|
207
214
|
this.driver.connection.logger.logQueryError(err, query, parameters, this);
|
|
215
|
+
this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, false, undefined, undefined, err);
|
|
208
216
|
throw new QueryFailedError(query, parameters, err);
|
|
209
217
|
}
|
|
218
|
+
finally {
|
|
219
|
+
await broadcasterResult.wait();
|
|
220
|
+
}
|
|
210
221
|
}
|
|
211
222
|
/**
|
|
212
223
|
* Returns raw data stream.
|
|
@@ -1781,13 +1792,14 @@ export class PostgresQueryRunner extends BaseQueryRunner {
|
|
|
1781
1792
|
`WHERE "t"."relkind" IN ('r', 'p') AND (${constraintsCondition})`;
|
|
1782
1793
|
const indicesSql = `SELECT "ns"."nspname" AS "table_schema", "t"."relname" AS "table_name", "i"."relname" AS "constraint_name", "a"."attname" AS "column_name", ` +
|
|
1783
1794
|
`CASE "ix"."indisunique" WHEN 't' THEN 'TRUE' ELSE'FALSE' END AS "is_unique", pg_get_expr("ix"."indpred", "ix"."indrelid") AS "condition", ` +
|
|
1784
|
-
`"types"."typname" AS "type_name" ` +
|
|
1795
|
+
`"types"."typname" AS "type_name", "am"."amname" AS "index_type" ` +
|
|
1785
1796
|
`FROM "pg_class" "t" ` +
|
|
1786
1797
|
`INNER JOIN "pg_index" "ix" ON "ix"."indrelid" = "t"."oid" ` +
|
|
1787
1798
|
`INNER JOIN "pg_attribute" "a" ON "a"."attrelid" = "t"."oid" AND "a"."attnum" = ANY ("ix"."indkey") ` +
|
|
1788
1799
|
`INNER JOIN "pg_namespace" "ns" ON "ns"."oid" = "t"."relnamespace" ` +
|
|
1789
1800
|
`INNER JOIN "pg_class" "i" ON "i"."oid" = "ix"."indexrelid" ` +
|
|
1790
1801
|
`INNER JOIN "pg_type" "types" ON "types"."oid" = "a"."atttypid" ` +
|
|
1802
|
+
`INNER JOIN "pg_am" "am" ON "i"."relam" = "am"."oid" ` +
|
|
1791
1803
|
`LEFT JOIN "pg_constraint" "cnst" ON "cnst"."conname" = "i"."relname" ` +
|
|
1792
1804
|
`WHERE "t"."relkind" IN ('r', 'p') AND "cnst"."contype" IS NULL AND (${constraintsCondition})`;
|
|
1793
1805
|
const foreignKeysCondition = dbTables
|
|
@@ -1857,26 +1869,34 @@ export class PostgresQueryRunner extends BaseQueryRunner {
|
|
|
1857
1869
|
tableColumn.name = dbColumn["column_name"];
|
|
1858
1870
|
tableColumn.type = dbColumn["regtype"].toLowerCase();
|
|
1859
1871
|
if (tableColumn.type === "numeric" ||
|
|
1872
|
+
tableColumn.type === "numeric[]" ||
|
|
1860
1873
|
tableColumn.type === "decimal" ||
|
|
1861
1874
|
tableColumn.type === "float") {
|
|
1875
|
+
let numericPrecision = dbColumn["numeric_precision"];
|
|
1876
|
+
let numericScale = dbColumn["numeric_scale"];
|
|
1877
|
+
if (dbColumn["data_type"] === "ARRAY") {
|
|
1878
|
+
const numericSize = dbColumn["format_type"].match(/^numeric\(([0-9]+),([0-9]+)\)\[\]$/);
|
|
1879
|
+
if (numericSize) {
|
|
1880
|
+
numericPrecision = +numericSize[1];
|
|
1881
|
+
numericScale = +numericSize[2];
|
|
1882
|
+
}
|
|
1883
|
+
}
|
|
1862
1884
|
// If one of these properties was set, and another was not, Postgres sets '0' in to unspecified property
|
|
1863
1885
|
// we set 'undefined' in to unspecified property to avoid changing column on sync
|
|
1864
|
-
if (
|
|
1865
|
-
!this.isDefaultColumnPrecision(table, tableColumn,
|
|
1866
|
-
tableColumn.precision =
|
|
1867
|
-
dbColumn["numeric_precision"];
|
|
1886
|
+
if (numericPrecision !== null &&
|
|
1887
|
+
!this.isDefaultColumnPrecision(table, tableColumn, numericPrecision)) {
|
|
1888
|
+
tableColumn.precision = numericPrecision;
|
|
1868
1889
|
}
|
|
1869
|
-
else if (
|
|
1870
|
-
!this.isDefaultColumnScale(table, tableColumn,
|
|
1890
|
+
else if (numericScale !== null &&
|
|
1891
|
+
!this.isDefaultColumnScale(table, tableColumn, numericScale)) {
|
|
1871
1892
|
tableColumn.precision = undefined;
|
|
1872
1893
|
}
|
|
1873
|
-
if (
|
|
1874
|
-
!this.isDefaultColumnScale(table, tableColumn,
|
|
1875
|
-
tableColumn.scale =
|
|
1876
|
-
dbColumn["numeric_scale"];
|
|
1894
|
+
if (numericScale !== null &&
|
|
1895
|
+
!this.isDefaultColumnScale(table, tableColumn, numericScale)) {
|
|
1896
|
+
tableColumn.scale = numericScale;
|
|
1877
1897
|
}
|
|
1878
|
-
else if (
|
|
1879
|
-
!this.isDefaultColumnPrecision(table, tableColumn,
|
|
1898
|
+
else if (numericPrecision !== null &&
|
|
1899
|
+
!this.isDefaultColumnPrecision(table, tableColumn, numericPrecision)) {
|
|
1880
1900
|
tableColumn.scale = undefined;
|
|
1881
1901
|
}
|
|
1882
1902
|
}
|
|
@@ -2159,7 +2179,7 @@ export class PostgresQueryRunner extends BaseQueryRunner {
|
|
|
2159
2179
|
columnNames: indices.map((i) => i["column_name"]),
|
|
2160
2180
|
isUnique: constraint["is_unique"] === "TRUE",
|
|
2161
2181
|
where: constraint["condition"],
|
|
2162
|
-
isSpatial:
|
|
2182
|
+
isSpatial: constraint["index_type"] === "gist",
|
|
2163
2183
|
isFulltext: false,
|
|
2164
2184
|
});
|
|
2165
2185
|
});
|
|
@@ -2380,7 +2400,7 @@ export class PostgresQueryRunner extends BaseQueryRunner {
|
|
|
2380
2400
|
const columns = index.columnNames
|
|
2381
2401
|
.map((columnName) => `"${columnName}"`)
|
|
2382
2402
|
.join(", ");
|
|
2383
|
-
return new Query(`CREATE ${index.isUnique ? "UNIQUE " : ""}INDEX "${index.name}" ON ${this.escapePath(table)} ${index.isSpatial ? "USING GiST " : ""}(${columns}) ${index.where ? "WHERE " + index.where : ""}`);
|
|
2403
|
+
return new Query(`CREATE ${index.isUnique ? "UNIQUE " : ""}${index.isConcurrent ? "CONCURRENTLY " : ""}INDEX "${index.name}" ON ${this.escapePath(table)} ${index.isSpatial ? "USING GiST " : ""}(${columns}) ${index.where ? "WHERE " + index.where : ""}`);
|
|
2384
2404
|
}
|
|
2385
2405
|
/**
|
|
2386
2406
|
* Builds create view index sql.
|
|
@@ -2398,10 +2418,13 @@ export class PostgresQueryRunner extends BaseQueryRunner {
|
|
|
2398
2418
|
let indexName = InstanceChecker.isTableIndex(indexOrName)
|
|
2399
2419
|
? indexOrName.name
|
|
2400
2420
|
: indexOrName;
|
|
2421
|
+
const concurrent = InstanceChecker.isTableIndex(indexOrName)
|
|
2422
|
+
? indexOrName.isConcurrent
|
|
2423
|
+
: false;
|
|
2401
2424
|
const { schema } = this.driver.parseTableName(table);
|
|
2402
2425
|
return schema
|
|
2403
|
-
? new Query(`DROP INDEX "${schema}"."${indexName}"`)
|
|
2404
|
-
: new Query(`DROP INDEX "${indexName}"`);
|
|
2426
|
+
? new Query(`DROP INDEX ${concurrent ? "CONCURRENTLY" : ""}"${schema}"."${indexName}"`)
|
|
2427
|
+
: new Query(`DROP INDEX ${concurrent ? "CONCURRENTLY" : ""}"${indexName}"`);
|
|
2405
2428
|
}
|
|
2406
2429
|
/**
|
|
2407
2430
|
* Builds create primary key sql.
|