typeorm 0.3.18-dev.d184d85 → 0.3.18-dev.e67d704
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/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/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 +74 -64
- 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/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/FindOptionsWhere.d.ts +1 -1
- package/browser/find-options/FindOptionsWhere.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/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 +26 -23
- package/browser/query-builder/QueryBuilder.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilder.js +13 -3
- package/browser/query-builder/SelectQueryBuilder.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/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/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 +74 -64
- 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/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/FindOptionsWhere.d.ts +1 -1
- package/find-options/FindOptionsWhere.js.map +1 -1
- 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/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 +26 -23
- package/query-builder/QueryBuilder.js.map +1 -1
- package/query-builder/SelectQueryBuilder.js +13 -3
- package/query-builder/SelectQueryBuilder.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/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
|
@@ -20,6 +20,7 @@ const TableExclusion_1 = require("../../schema-builder/table/TableExclusion");
|
|
|
20
20
|
const error_1 = require("../../error");
|
|
21
21
|
const MetadataTableType_1 = require("../types/MetadataTableType");
|
|
22
22
|
const InstanceChecker_1 = require("../../util/InstanceChecker");
|
|
23
|
+
const BroadcasterResult_1 = require("../../subscriber/BroadcasterResult");
|
|
23
24
|
const VersionUtils_1 = require("../../util/VersionUtils");
|
|
24
25
|
/**
|
|
25
26
|
* Runs queries on a single postgres database connection.
|
|
@@ -65,7 +66,12 @@ class CockroachQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
65
66
|
.then(([connection, release]) => {
|
|
66
67
|
this.driver.connectedQueryRunners.push(this);
|
|
67
68
|
this.databaseConnection = connection;
|
|
68
|
-
|
|
69
|
+
const onErrorCallback = (err) => this.releaseConnection(err);
|
|
70
|
+
this.releaseCallback = (err) => {
|
|
71
|
+
this.databaseConnection.removeListener("error", onErrorCallback);
|
|
72
|
+
release(err);
|
|
73
|
+
};
|
|
74
|
+
this.databaseConnection.on("error", onErrorCallback);
|
|
69
75
|
return this.databaseConnection;
|
|
70
76
|
});
|
|
71
77
|
}
|
|
@@ -76,27 +82,41 @@ class CockroachQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
76
82
|
.then(([connection, release]) => {
|
|
77
83
|
this.driver.connectedQueryRunners.push(this);
|
|
78
84
|
this.databaseConnection = connection;
|
|
79
|
-
|
|
85
|
+
const onErrorCallback = (err) => this.releaseConnection(err);
|
|
86
|
+
this.releaseCallback = (err) => {
|
|
87
|
+
this.databaseConnection.removeListener("error", onErrorCallback);
|
|
88
|
+
release(err);
|
|
89
|
+
};
|
|
90
|
+
this.databaseConnection.on("error", onErrorCallback);
|
|
80
91
|
return this.databaseConnection;
|
|
81
92
|
});
|
|
82
93
|
}
|
|
83
94
|
return this.databaseConnectionPromise;
|
|
84
95
|
}
|
|
85
96
|
/**
|
|
86
|
-
*
|
|
87
|
-
*
|
|
97
|
+
* Release a connection back to the pool, optionally specifying an Error to release with.
|
|
98
|
+
* Per pg-pool documentation this will prevent the pool from re-using the broken connection.
|
|
88
99
|
*/
|
|
89
|
-
|
|
100
|
+
async releaseConnection(err) {
|
|
90
101
|
if (this.isReleased) {
|
|
91
|
-
return
|
|
102
|
+
return;
|
|
92
103
|
}
|
|
93
104
|
this.isReleased = true;
|
|
94
|
-
if (this.releaseCallback)
|
|
95
|
-
this.releaseCallback();
|
|
105
|
+
if (this.releaseCallback) {
|
|
106
|
+
this.releaseCallback(err);
|
|
107
|
+
this.releaseCallback = undefined;
|
|
108
|
+
}
|
|
96
109
|
const index = this.driver.connectedQueryRunners.indexOf(this);
|
|
97
|
-
if (index !== -1)
|
|
98
|
-
this.driver.connectedQueryRunners.splice(index);
|
|
99
|
-
|
|
110
|
+
if (index !== -1) {
|
|
111
|
+
this.driver.connectedQueryRunners.splice(index, 1);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Releases used database connection.
|
|
116
|
+
* You cannot use query runner methods once its released.
|
|
117
|
+
*/
|
|
118
|
+
release() {
|
|
119
|
+
return this.releaseConnection();
|
|
100
120
|
}
|
|
101
121
|
/**
|
|
102
122
|
* Starts transaction.
|
|
@@ -112,6 +132,7 @@ class CockroachQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
112
132
|
throw err;
|
|
113
133
|
}
|
|
114
134
|
if (this.transactionDepth === 0) {
|
|
135
|
+
this.transactionDepth += 1;
|
|
115
136
|
await this.query("START TRANSACTION");
|
|
116
137
|
await this.query("SAVEPOINT cockroach_restart");
|
|
117
138
|
if (isolationLevel) {
|
|
@@ -119,9 +140,9 @@ class CockroachQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
119
140
|
}
|
|
120
141
|
}
|
|
121
142
|
else {
|
|
122
|
-
|
|
143
|
+
this.transactionDepth += 1;
|
|
144
|
+
await this.query(`SAVEPOINT typeorm_${this.transactionDepth - 1}`);
|
|
123
145
|
}
|
|
124
|
-
this.transactionDepth += 1;
|
|
125
146
|
this.storeQueries = true;
|
|
126
147
|
await this.broadcaster.broadcast("AfterTransactionStart");
|
|
127
148
|
}
|
|
@@ -134,17 +155,17 @@ class CockroachQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
134
155
|
throw new TransactionNotStartedError_1.TransactionNotStartedError();
|
|
135
156
|
await this.broadcaster.broadcast("BeforeTransactionCommit");
|
|
136
157
|
if (this.transactionDepth > 1) {
|
|
137
|
-
await this.query(`RELEASE SAVEPOINT typeorm_${this.transactionDepth - 1}`);
|
|
138
158
|
this.transactionDepth -= 1;
|
|
159
|
+
await this.query(`RELEASE SAVEPOINT typeorm_${this.transactionDepth}`);
|
|
139
160
|
}
|
|
140
161
|
else {
|
|
141
162
|
this.storeQueries = false;
|
|
163
|
+
this.transactionDepth -= 1;
|
|
142
164
|
await this.query("RELEASE SAVEPOINT cockroach_restart");
|
|
143
165
|
await this.query("COMMIT");
|
|
144
166
|
this.queries = [];
|
|
145
167
|
this.isTransactionActive = false;
|
|
146
168
|
this.transactionRetries = 0;
|
|
147
|
-
this.transactionDepth -= 1;
|
|
148
169
|
}
|
|
149
170
|
await this.broadcaster.broadcast("AfterTransactionCommit");
|
|
150
171
|
}
|
|
@@ -157,16 +178,17 @@ class CockroachQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
157
178
|
throw new TransactionNotStartedError_1.TransactionNotStartedError();
|
|
158
179
|
await this.broadcaster.broadcast("BeforeTransactionRollback");
|
|
159
180
|
if (this.transactionDepth > 1) {
|
|
160
|
-
|
|
181
|
+
this.transactionDepth -= 1;
|
|
182
|
+
await this.query(`ROLLBACK TO SAVEPOINT typeorm_${this.transactionDepth}`);
|
|
161
183
|
}
|
|
162
184
|
else {
|
|
163
185
|
this.storeQueries = false;
|
|
186
|
+
this.transactionDepth -= 1;
|
|
164
187
|
await this.query("ROLLBACK");
|
|
165
188
|
this.queries = [];
|
|
166
189
|
this.isTransactionActive = false;
|
|
167
190
|
this.transactionRetries = 0;
|
|
168
191
|
}
|
|
169
|
-
this.transactionDepth -= 1;
|
|
170
192
|
await this.broadcaster.broadcast("AfterTransactionRollback");
|
|
171
193
|
}
|
|
172
194
|
/**
|
|
@@ -176,7 +198,9 @@ class CockroachQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
176
198
|
if (this.isReleased)
|
|
177
199
|
throw new QueryRunnerAlreadyReleasedError_1.QueryRunnerAlreadyReleasedError();
|
|
178
200
|
const databaseConnection = await this.connect();
|
|
201
|
+
const broadcasterResult = new BroadcasterResult_1.BroadcasterResult();
|
|
179
202
|
this.driver.connection.logger.logQuery(query, parameters, this);
|
|
203
|
+
this.broadcaster.broadcastBeforeQueryEvent(broadcasterResult, query, parameters);
|
|
180
204
|
const queryStartTime = +new Date();
|
|
181
205
|
if (this.isTransactionActive && this.storeQueries) {
|
|
182
206
|
this.queries.push({ query, parameters });
|
|
@@ -208,6 +232,7 @@ class CockroachQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
208
232
|
default:
|
|
209
233
|
result.raw = raw.rows;
|
|
210
234
|
}
|
|
235
|
+
this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, true, queryExecutionTime, raw, undefined);
|
|
211
236
|
if (useStructuredResult) {
|
|
212
237
|
return result;
|
|
213
238
|
}
|
|
@@ -239,9 +264,13 @@ class CockroachQueryRunner extends BaseQueryRunner_1.BaseQueryRunner {
|
|
|
239
264
|
}
|
|
240
265
|
else {
|
|
241
266
|
this.driver.connection.logger.logQueryError(err, query, parameters, this);
|
|
267
|
+
this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, false, undefined, undefined, err);
|
|
242
268
|
throw new QueryFailedError_1.QueryFailedError(query, parameters, err);
|
|
243
269
|
}
|
|
244
270
|
}
|
|
271
|
+
finally {
|
|
272
|
+
await broadcasterResult.wait();
|
|
273
|
+
}
|
|
245
274
|
}
|
|
246
275
|
/**
|
|
247
276
|
* Returns raw data stream.
|