typeorm 0.3.18-dev.122c897 → 0.3.18-dev.15bc887
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 +30 -11
- package/browser/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.d.ts +6 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.js +49 -19
- 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 +19 -8
- 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 +49 -7
- 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 +14 -8
- package/browser/driver/postgres/PostgresDriver.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.js +47 -24
- 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/SapQueryRunner.js +22 -10
- 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 +7 -1
- package/browser/driver/spanner/SpannerQueryRunner.js.map +1 -1
- package/browser/driver/sqlite/SqliteDriver.js.map +1 -1
- package/browser/driver/sqlite/SqliteQueryRunner.js +60 -46
- package/browser/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +11 -17
- 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 +13 -6
- 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 +9 -0
- package/browser/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/browser/persistence/SubjectExecutor.js +5 -2
- 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/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 +12 -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/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 +30 -11
- package/driver/cockroachdb/CockroachDriver.js.map +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.d.ts +6 -1
- package/driver/cockroachdb/CockroachQueryRunner.js +49 -19
- 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 +19 -8
- 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 +49 -7
- 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 +14 -8
- package/driver/postgres/PostgresDriver.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.js +47 -24
- 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/SapQueryRunner.js +22 -10
- 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 +7 -1
- package/driver/spanner/SpannerQueryRunner.js.map +1 -1
- package/driver/sqlite/SqliteDriver.js.map +1 -1
- package/driver/sqlite/SqliteQueryRunner.js +60 -46
- package/driver/sqlite/SqliteQueryRunner.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +11 -17
- 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 +13 -6
- 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 +9 -0
- package/metadata-builder/EntityMetadataBuilder.js.map +1 -1
- package/package.json +1 -1
- package/persistence/SubjectExecutor.js +5 -2
- package/persistence/SubjectExecutor.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 +12 -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
|
@@ -17,6 +17,7 @@ import { TableExclusion } from "../../schema-builder/table/TableExclusion";
|
|
|
17
17
|
import { TypeORMError } from "../../error";
|
|
18
18
|
import { MetadataTableType } from "../types/MetadataTableType";
|
|
19
19
|
import { InstanceChecker } from "../../util/InstanceChecker";
|
|
20
|
+
import { BroadcasterResult } from "../../subscriber/BroadcasterResult";
|
|
20
21
|
import { VersionUtils } from "../../util/VersionUtils";
|
|
21
22
|
/**
|
|
22
23
|
* Runs queries on a single postgres database connection.
|
|
@@ -62,7 +63,12 @@ export class CockroachQueryRunner extends BaseQueryRunner {
|
|
|
62
63
|
.then(([connection, release]) => {
|
|
63
64
|
this.driver.connectedQueryRunners.push(this);
|
|
64
65
|
this.databaseConnection = connection;
|
|
65
|
-
|
|
66
|
+
const onErrorCallback = (err) => this.releaseConnection(err);
|
|
67
|
+
this.releaseCallback = (err) => {
|
|
68
|
+
this.databaseConnection.removeListener("error", onErrorCallback);
|
|
69
|
+
release(err);
|
|
70
|
+
};
|
|
71
|
+
this.databaseConnection.on("error", onErrorCallback);
|
|
66
72
|
return this.databaseConnection;
|
|
67
73
|
});
|
|
68
74
|
}
|
|
@@ -73,27 +79,41 @@ export class CockroachQueryRunner extends BaseQueryRunner {
|
|
|
73
79
|
.then(([connection, release]) => {
|
|
74
80
|
this.driver.connectedQueryRunners.push(this);
|
|
75
81
|
this.databaseConnection = connection;
|
|
76
|
-
|
|
82
|
+
const onErrorCallback = (err) => this.releaseConnection(err);
|
|
83
|
+
this.releaseCallback = (err) => {
|
|
84
|
+
this.databaseConnection.removeListener("error", onErrorCallback);
|
|
85
|
+
release(err);
|
|
86
|
+
};
|
|
87
|
+
this.databaseConnection.on("error", onErrorCallback);
|
|
77
88
|
return this.databaseConnection;
|
|
78
89
|
});
|
|
79
90
|
}
|
|
80
91
|
return this.databaseConnectionPromise;
|
|
81
92
|
}
|
|
82
93
|
/**
|
|
83
|
-
*
|
|
84
|
-
*
|
|
94
|
+
* Release a connection back to the pool, optionally specifying an Error to release with.
|
|
95
|
+
* Per pg-pool documentation this will prevent the pool from re-using the broken connection.
|
|
85
96
|
*/
|
|
86
|
-
|
|
97
|
+
async releaseConnection(err) {
|
|
87
98
|
if (this.isReleased) {
|
|
88
|
-
return
|
|
99
|
+
return;
|
|
89
100
|
}
|
|
90
101
|
this.isReleased = true;
|
|
91
|
-
if (this.releaseCallback)
|
|
92
|
-
this.releaseCallback();
|
|
102
|
+
if (this.releaseCallback) {
|
|
103
|
+
this.releaseCallback(err);
|
|
104
|
+
this.releaseCallback = undefined;
|
|
105
|
+
}
|
|
93
106
|
const index = this.driver.connectedQueryRunners.indexOf(this);
|
|
94
|
-
if (index !== -1)
|
|
95
|
-
this.driver.connectedQueryRunners.splice(index);
|
|
96
|
-
|
|
107
|
+
if (index !== -1) {
|
|
108
|
+
this.driver.connectedQueryRunners.splice(index, 1);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Releases used database connection.
|
|
113
|
+
* You cannot use query runner methods once its released.
|
|
114
|
+
*/
|
|
115
|
+
release() {
|
|
116
|
+
return this.releaseConnection();
|
|
97
117
|
}
|
|
98
118
|
/**
|
|
99
119
|
* Starts transaction.
|
|
@@ -109,6 +129,7 @@ export class CockroachQueryRunner extends BaseQueryRunner {
|
|
|
109
129
|
throw err;
|
|
110
130
|
}
|
|
111
131
|
if (this.transactionDepth === 0) {
|
|
132
|
+
this.transactionDepth += 1;
|
|
112
133
|
await this.query("START TRANSACTION");
|
|
113
134
|
await this.query("SAVEPOINT cockroach_restart");
|
|
114
135
|
if (isolationLevel) {
|
|
@@ -116,9 +137,9 @@ export class CockroachQueryRunner extends BaseQueryRunner {
|
|
|
116
137
|
}
|
|
117
138
|
}
|
|
118
139
|
else {
|
|
119
|
-
|
|
140
|
+
this.transactionDepth += 1;
|
|
141
|
+
await this.query(`SAVEPOINT typeorm_${this.transactionDepth - 1}`);
|
|
120
142
|
}
|
|
121
|
-
this.transactionDepth += 1;
|
|
122
143
|
this.storeQueries = true;
|
|
123
144
|
await this.broadcaster.broadcast("AfterTransactionStart");
|
|
124
145
|
}
|
|
@@ -131,17 +152,17 @@ export class CockroachQueryRunner extends BaseQueryRunner {
|
|
|
131
152
|
throw new TransactionNotStartedError();
|
|
132
153
|
await this.broadcaster.broadcast("BeforeTransactionCommit");
|
|
133
154
|
if (this.transactionDepth > 1) {
|
|
134
|
-
await this.query(`RELEASE SAVEPOINT typeorm_${this.transactionDepth - 1}`);
|
|
135
155
|
this.transactionDepth -= 1;
|
|
156
|
+
await this.query(`RELEASE SAVEPOINT typeorm_${this.transactionDepth}`);
|
|
136
157
|
}
|
|
137
158
|
else {
|
|
138
159
|
this.storeQueries = false;
|
|
160
|
+
this.transactionDepth -= 1;
|
|
139
161
|
await this.query("RELEASE SAVEPOINT cockroach_restart");
|
|
140
162
|
await this.query("COMMIT");
|
|
141
163
|
this.queries = [];
|
|
142
164
|
this.isTransactionActive = false;
|
|
143
165
|
this.transactionRetries = 0;
|
|
144
|
-
this.transactionDepth -= 1;
|
|
145
166
|
}
|
|
146
167
|
await this.broadcaster.broadcast("AfterTransactionCommit");
|
|
147
168
|
}
|
|
@@ -154,16 +175,17 @@ export class CockroachQueryRunner extends BaseQueryRunner {
|
|
|
154
175
|
throw new TransactionNotStartedError();
|
|
155
176
|
await this.broadcaster.broadcast("BeforeTransactionRollback");
|
|
156
177
|
if (this.transactionDepth > 1) {
|
|
157
|
-
|
|
178
|
+
this.transactionDepth -= 1;
|
|
179
|
+
await this.query(`ROLLBACK TO SAVEPOINT typeorm_${this.transactionDepth}`);
|
|
158
180
|
}
|
|
159
181
|
else {
|
|
160
182
|
this.storeQueries = false;
|
|
183
|
+
this.transactionDepth -= 1;
|
|
161
184
|
await this.query("ROLLBACK");
|
|
162
185
|
this.queries = [];
|
|
163
186
|
this.isTransactionActive = false;
|
|
164
187
|
this.transactionRetries = 0;
|
|
165
188
|
}
|
|
166
|
-
this.transactionDepth -= 1;
|
|
167
189
|
await this.broadcaster.broadcast("AfterTransactionRollback");
|
|
168
190
|
}
|
|
169
191
|
/**
|
|
@@ -173,7 +195,9 @@ export class CockroachQueryRunner extends BaseQueryRunner {
|
|
|
173
195
|
if (this.isReleased)
|
|
174
196
|
throw new QueryRunnerAlreadyReleasedError();
|
|
175
197
|
const databaseConnection = await this.connect();
|
|
198
|
+
const broadcasterResult = new BroadcasterResult();
|
|
176
199
|
this.driver.connection.logger.logQuery(query, parameters, this);
|
|
200
|
+
this.broadcaster.broadcastBeforeQueryEvent(broadcasterResult, query, parameters);
|
|
177
201
|
const queryStartTime = +new Date();
|
|
178
202
|
if (this.isTransactionActive && this.storeQueries) {
|
|
179
203
|
this.queries.push({ query, parameters });
|
|
@@ -205,6 +229,7 @@ export class CockroachQueryRunner extends BaseQueryRunner {
|
|
|
205
229
|
default:
|
|
206
230
|
result.raw = raw.rows;
|
|
207
231
|
}
|
|
232
|
+
this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, true, queryExecutionTime, raw, undefined);
|
|
208
233
|
if (useStructuredResult) {
|
|
209
234
|
return result;
|
|
210
235
|
}
|
|
@@ -236,9 +261,13 @@ export class CockroachQueryRunner extends BaseQueryRunner {
|
|
|
236
261
|
}
|
|
237
262
|
else {
|
|
238
263
|
this.driver.connection.logger.logQueryError(err, query, parameters, this);
|
|
264
|
+
this.broadcaster.broadcastAfterQueryEvent(broadcasterResult, query, parameters, false, undefined, undefined, err);
|
|
239
265
|
throw new QueryFailedError(query, parameters, err);
|
|
240
266
|
}
|
|
241
267
|
}
|
|
268
|
+
finally {
|
|
269
|
+
await broadcasterResult.wait();
|
|
270
|
+
}
|
|
242
271
|
}
|
|
243
272
|
/**
|
|
244
273
|
* Returns raw data stream.
|
|
@@ -1851,14 +1880,15 @@ export class CockroachQueryRunner extends BaseQueryRunner {
|
|
|
1851
1880
|
}
|
|
1852
1881
|
}
|
|
1853
1882
|
}
|
|
1854
|
-
if (dbColumn["is_generated"] === "YES"
|
|
1883
|
+
if ((dbColumn["is_generated"] === "YES" ||
|
|
1884
|
+
dbColumn["is_generated"] === "ALWAYS") &&
|
|
1855
1885
|
dbColumn["generation_expression"]) {
|
|
1856
1886
|
tableColumn.generatedType =
|
|
1857
1887
|
dbColumn["generated_type"] === "s"
|
|
1858
1888
|
? "STORED"
|
|
1859
1889
|
: "VIRTUAL";
|
|
1860
1890
|
// We cannot relay on information_schema.columns.generation_expression, because it is formatted different.
|
|
1861
|
-
const asExpressionQuery =
|
|
1891
|
+
const asExpressionQuery = this.selectTypeormMetadataSql({
|
|
1862
1892
|
schema: dbTable["table_schema"],
|
|
1863
1893
|
table: dbTable["table_name"],
|
|
1864
1894
|
type: MetadataTableType.GENERATED_COLUMN,
|