typeorm 0.2.39-dev.d8c5812 → 0.2.39-dev.dd94c9d
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/driver/aurora-data-api/AuroraDataApiQueryRunner.js +17 -46
- package/browser/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +17 -46
- package/browser/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
- package/browser/driver/cockroachdb/CockroachQueryRunner.js +44 -75
- package/browser/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/browser/driver/expo/ExpoQueryRunner.js +12 -43
- package/browser/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/browser/driver/mysql/MysqlQueryRunner.js +22 -52
- package/browser/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/browser/driver/oracle/OracleQueryRunner.js +18 -46
- package/browser/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/browser/driver/postgres/PostgresQueryRunner.js +19 -49
- package/browser/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/browser/driver/sap/SapQueryRunner.js +18 -48
- package/browser/driver/sap/SapQueryRunner.js.map +1 -1
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +17 -47
- package/browser/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/browser/driver/sqlserver/SqlServerQueryRunner.js +74 -106
- package/browser/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/browser/entity-manager/MongoEntityManager.js +8 -13
- package/browser/entity-manager/MongoEntityManager.js.map +1 -1
- package/browser/query-builder/DeleteQueryBuilder.js +3 -10
- package/browser/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/InsertQueryBuilder.js +2 -4
- package/browser/query-builder/InsertQueryBuilder.js.map +1 -1
- package/browser/query-builder/SelectQueryBuilder.js +2 -6
- package/browser/query-builder/SelectQueryBuilder.js.map +1 -1
- package/browser/query-builder/SoftDeleteQueryBuilder.js +3 -10
- package/browser/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/browser/query-builder/UpdateQueryBuilder.js +3 -10
- package/browser/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/browser/subscriber/Broadcaster.d.ts +23 -2
- package/browser/subscriber/Broadcaster.js +35 -2
- package/browser/subscriber/Broadcaster.js.map +1 -1
- package/browser/subscriber/BroadcasterResult.d.ts +4 -0
- package/browser/subscriber/BroadcasterResult.js +19 -0
- package/browser/subscriber/BroadcasterResult.js.map +1 -1
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.js +17 -46
- package/driver/aurora-data-api/AuroraDataApiQueryRunner.js.map +1 -1
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js +17 -46
- package/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.js.map +1 -1
- package/driver/cockroachdb/CockroachQueryRunner.js +44 -75
- package/driver/cockroachdb/CockroachQueryRunner.js.map +1 -1
- package/driver/expo/ExpoQueryRunner.js +12 -43
- package/driver/expo/ExpoQueryRunner.js.map +1 -1
- package/driver/mysql/MysqlQueryRunner.js +22 -52
- package/driver/mysql/MysqlQueryRunner.js.map +1 -1
- package/driver/oracle/OracleQueryRunner.js +18 -46
- package/driver/oracle/OracleQueryRunner.js.map +1 -1
- package/driver/postgres/PostgresQueryRunner.js +19 -49
- package/driver/postgres/PostgresQueryRunner.js.map +1 -1
- package/driver/sap/SapQueryRunner.js +18 -48
- package/driver/sap/SapQueryRunner.js.map +1 -1
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js +17 -47
- package/driver/sqlite-abstract/AbstractSqliteQueryRunner.js.map +1 -1
- package/driver/sqlserver/SqlServerQueryRunner.js +74 -106
- package/driver/sqlserver/SqlServerQueryRunner.js.map +1 -1
- package/entity-manager/MongoEntityManager.js +8 -13
- package/entity-manager/MongoEntityManager.js.map +1 -1
- package/package.json +1 -1
- package/query-builder/DeleteQueryBuilder.js +3 -10
- package/query-builder/DeleteQueryBuilder.js.map +1 -1
- package/query-builder/InsertQueryBuilder.js +2 -4
- package/query-builder/InsertQueryBuilder.js.map +1 -1
- package/query-builder/SelectQueryBuilder.js +2 -6
- package/query-builder/SelectQueryBuilder.js.map +1 -1
- package/query-builder/SoftDeleteQueryBuilder.js +3 -10
- package/query-builder/SoftDeleteQueryBuilder.js.map +1 -1
- package/query-builder/UpdateQueryBuilder.js +3 -10
- package/query-builder/UpdateQueryBuilder.js.map +1 -1
- package/subscriber/Broadcaster.d.ts +23 -2
- package/subscriber/Broadcaster.js +35 -2
- package/subscriber/Broadcaster.js.map +1 -1
- package/subscriber/BroadcasterResult.d.ts +4 -0
- package/subscriber/BroadcasterResult.js +19 -0
- package/subscriber/BroadcasterResult.js.map +1 -1
|
@@ -6,7 +6,6 @@ var QueryRunnerAlreadyReleasedError_1 = require("../../error/QueryRunnerAlreadyR
|
|
|
6
6
|
var TransactionAlreadyStartedError_1 = require("../../error/TransactionAlreadyStartedError");
|
|
7
7
|
var TransactionNotStartedError_1 = require("../../error/TransactionNotStartedError");
|
|
8
8
|
var PostgresQueryRunner_1 = require("../postgres/PostgresQueryRunner");
|
|
9
|
-
var BroadcasterResult_1 = require("../../subscriber/BroadcasterResult");
|
|
10
9
|
var QueryResult_1 = require("../../query-runner/QueryResult");
|
|
11
10
|
var PostgresQueryRunnerWrapper = /** @class */ (function (_super) {
|
|
12
11
|
(0, tslib_1.__extends)(PostgresQueryRunnerWrapper, _super);
|
|
@@ -66,32 +65,22 @@ var AuroraDataApiPostgresQueryRunner = /** @class */ (function (_super) {
|
|
|
66
65
|
*/
|
|
67
66
|
AuroraDataApiPostgresQueryRunner.prototype.startTransaction = function (isolationLevel) {
|
|
68
67
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
69
|
-
var beforeBroadcastResult, afterBroadcastResult;
|
|
70
68
|
return (0, tslib_1.__generator)(this, function (_a) {
|
|
71
69
|
switch (_a.label) {
|
|
72
70
|
case 0:
|
|
73
71
|
if (this.isTransactionActive)
|
|
74
72
|
throw new TransactionAlreadyStartedError_1.TransactionAlreadyStartedError();
|
|
75
|
-
|
|
76
|
-
this.broadcaster.broadcastBeforeTransactionStartEvent(beforeBroadcastResult);
|
|
77
|
-
if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
|
|
78
|
-
return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
|
|
73
|
+
return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionStart')];
|
|
79
74
|
case 1:
|
|
80
75
|
_a.sent();
|
|
81
|
-
_a.label = 2;
|
|
82
|
-
case 2:
|
|
83
76
|
this.isTransactionActive = true;
|
|
84
77
|
return [4 /*yield*/, this.client.startTransaction()];
|
|
85
|
-
case
|
|
78
|
+
case 2:
|
|
86
79
|
_a.sent();
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 5];
|
|
90
|
-
return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
|
|
91
|
-
case 4:
|
|
80
|
+
return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionStart')];
|
|
81
|
+
case 3:
|
|
92
82
|
_a.sent();
|
|
93
|
-
|
|
94
|
-
case 5: return [2 /*return*/];
|
|
83
|
+
return [2 /*return*/];
|
|
95
84
|
}
|
|
96
85
|
});
|
|
97
86
|
});
|
|
@@ -102,31 +91,22 @@ var AuroraDataApiPostgresQueryRunner = /** @class */ (function (_super) {
|
|
|
102
91
|
*/
|
|
103
92
|
AuroraDataApiPostgresQueryRunner.prototype.commitTransaction = function () {
|
|
104
93
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
105
|
-
var beforeBroadcastResult, afterBroadcastResult;
|
|
106
94
|
return (0, tslib_1.__generator)(this, function (_a) {
|
|
107
95
|
switch (_a.label) {
|
|
108
96
|
case 0:
|
|
109
97
|
if (!this.isTransactionActive)
|
|
110
98
|
throw new TransactionNotStartedError_1.TransactionNotStartedError();
|
|
111
|
-
|
|
112
|
-
this.broadcaster.broadcastBeforeTransactionCommitEvent(beforeBroadcastResult);
|
|
113
|
-
if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
|
|
114
|
-
return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
|
|
99
|
+
return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionCommit')];
|
|
115
100
|
case 1:
|
|
116
101
|
_a.sent();
|
|
117
|
-
|
|
118
|
-
case 2:
|
|
119
|
-
case 3:
|
|
102
|
+
return [4 /*yield*/, this.client.commitTransaction()];
|
|
103
|
+
case 2:
|
|
120
104
|
_a.sent();
|
|
121
105
|
this.isTransactionActive = false;
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 5];
|
|
125
|
-
return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
|
|
126
|
-
case 4:
|
|
106
|
+
return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionCommit')];
|
|
107
|
+
case 3:
|
|
127
108
|
_a.sent();
|
|
128
|
-
|
|
129
|
-
case 5: return [2 /*return*/];
|
|
109
|
+
return [2 /*return*/];
|
|
130
110
|
}
|
|
131
111
|
});
|
|
132
112
|
});
|
|
@@ -137,30 +117,21 @@ var AuroraDataApiPostgresQueryRunner = /** @class */ (function (_super) {
|
|
|
137
117
|
*/
|
|
138
118
|
AuroraDataApiPostgresQueryRunner.prototype.rollbackTransaction = function () {
|
|
139
119
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
140
|
-
var beforeBroadcastResult, afterBroadcastResult;
|
|
141
120
|
return (0, tslib_1.__generator)(this, function (_a) {
|
|
142
121
|
switch (_a.label) {
|
|
143
122
|
case 0:
|
|
144
123
|
if (!this.isTransactionActive)
|
|
145
124
|
throw new TransactionNotStartedError_1.TransactionNotStartedError();
|
|
146
|
-
|
|
147
|
-
this.broadcaster.broadcastBeforeTransactionRollbackEvent(beforeBroadcastResult);
|
|
148
|
-
if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
|
|
149
|
-
return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
|
|
125
|
+
return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionRollback')];
|
|
150
126
|
case 1:
|
|
151
127
|
_a.sent();
|
|
152
|
-
|
|
153
|
-
case 2:
|
|
154
|
-
case 3:
|
|
128
|
+
return [4 /*yield*/, this.client.rollbackTransaction()];
|
|
129
|
+
case 2:
|
|
155
130
|
_a.sent();
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 5];
|
|
159
|
-
return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
|
|
160
|
-
case 4:
|
|
131
|
+
return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionRollback')];
|
|
132
|
+
case 3:
|
|
161
133
|
_a.sent();
|
|
162
|
-
|
|
163
|
-
case 5: return [2 /*return*/];
|
|
134
|
+
return [2 /*return*/];
|
|
164
135
|
}
|
|
165
136
|
});
|
|
166
137
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.ts"],"names":[],"mappings":"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","file":"AuroraDataApiPostgresQueryRunner.js","sourcesContent":["import {QueryRunnerAlreadyReleasedError} from \"../../error/QueryRunnerAlreadyReleasedError\";\nimport {TransactionAlreadyStartedError} from \"../../error/TransactionAlreadyStartedError\";\nimport {TransactionNotStartedError} from \"../../error/TransactionNotStartedError\";\nimport {QueryRunner} from \"../../query-runner/QueryRunner\";\nimport {IsolationLevel} from \"../types/IsolationLevel\";\nimport {AuroraDataApiPostgresDriver} from \"./AuroraDataApiPostgresDriver\";\nimport {PostgresQueryRunner} from \"../postgres/PostgresQueryRunner\";\nimport {ReplicationMode} from \"../types/ReplicationMode\";\nimport {BroadcasterResult} from \"../../subscriber/BroadcasterResult\";\nimport { QueryResult } from \"../../query-runner/QueryResult\";\n\nclass PostgresQueryRunnerWrapper extends PostgresQueryRunner {\n driver: any;\n\n constructor(driver: any, mode: ReplicationMode) {\n super(driver, mode);\n }\n}\n\n/**\n * Runs queries on a single postgres database connection.\n */\nexport class AuroraDataApiPostgresQueryRunner extends PostgresQueryRunnerWrapper implements QueryRunner {\n\n // -------------------------------------------------------------------------\n // Public Implemented Properties\n // -------------------------------------------------------------------------\n\n /**\n * Database driver used by connection.\n */\n driver: AuroraDataApiPostgresDriver;\n\n protected client: any;\n\n // -------------------------------------------------------------------------\n // Protected Properties\n // -------------------------------------------------------------------------\n\n /**\n * Promise used to obtain a database connection for a first time.\n */\n protected databaseConnectionPromise: Promise<any>;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(driver: AuroraDataApiPostgresDriver, client: any, mode: ReplicationMode) {\n super(driver, mode);\n\n this.client = client\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates/uses database connection from the connection pool to perform further operations.\n * Returns obtained database connection.\n */\n connect(): Promise<any> {\n if (this.databaseConnection)\n return Promise.resolve(this.databaseConnection);\n\n if (this.databaseConnectionPromise)\n return this.databaseConnectionPromise;\n\n if (this.mode === \"slave\" && this.driver.isReplicated) {\n this.databaseConnectionPromise = this.driver.obtainSlaveConnection().then(([ connection, release]: any[]) => {\n this.driver.connectedQueryRunners.push(this);\n this.databaseConnection = connection;\n this.releaseCallback = release;\n return this.databaseConnection;\n });\n\n } else { // master\n this.databaseConnectionPromise = this.driver.obtainMasterConnection().then(([connection, release]: any[]) => {\n this.driver.connectedQueryRunners.push(this);\n this.databaseConnection = connection;\n this.releaseCallback = release;\n return this.databaseConnection;\n });\n }\n\n return this.databaseConnectionPromise;\n }\n\n /**\n * Starts transaction on the current connection.\n */\n async startTransaction(isolationLevel?: IsolationLevel): Promise<void> {\n if (this.isTransactionActive)\n throw new TransactionAlreadyStartedError();\n\n const beforeBroadcastResult = new BroadcasterResult();\n this.broadcaster.broadcastBeforeTransactionStartEvent(beforeBroadcastResult);\n if (beforeBroadcastResult.promises.length > 0) await Promise.all(beforeBroadcastResult.promises);\n\n this.isTransactionActive = true;\n \n await this.client.startTransaction();\n\n const afterBroadcastResult = new BroadcasterResult();\n this.broadcaster.broadcastAfterTransactionStartEvent(afterBroadcastResult);\n if (afterBroadcastResult.promises.length > 0) await Promise.all(afterBroadcastResult.promises);\n }\n\n /**\n * Commits transaction.\n * Error will be thrown if transaction was not started.\n */\n async commitTransaction(): Promise<void> {\n if (!this.isTransactionActive)\n throw new TransactionNotStartedError();\n \n const beforeBroadcastResult = new BroadcasterResult();\n this.broadcaster.broadcastBeforeTransactionCommitEvent(beforeBroadcastResult);\n if (beforeBroadcastResult.promises.length > 0) await Promise.all(beforeBroadcastResult.promises);\n\n await this.client.commitTransaction();\n\n this.isTransactionActive = false;\n\n const afterBroadcastResult = new BroadcasterResult();\n this.broadcaster.broadcastAfterTransactionCommitEvent(afterBroadcastResult);\n if (afterBroadcastResult.promises.length > 0) await Promise.all(afterBroadcastResult.promises);\n }\n\n /**\n * Rollbacks transaction.\n * Error will be thrown if transaction was not started.\n */\n async rollbackTransaction(): Promise<void> {\n if (!this.isTransactionActive)\n throw new TransactionNotStartedError();\n\n const beforeBroadcastResult = new BroadcasterResult();\n this.broadcaster.broadcastBeforeTransactionRollbackEvent(beforeBroadcastResult);\n if (beforeBroadcastResult.promises.length > 0) await Promise.all(beforeBroadcastResult.promises);\n\n await this.client.rollbackTransaction();\n\n const afterBroadcastResult = new BroadcasterResult();\n this.broadcaster.broadcastAfterTransactionRollbackEvent(afterBroadcastResult);\n if (afterBroadcastResult.promises.length > 0) await Promise.all(afterBroadcastResult.promises);\n }\n\n /**\n * Executes a given SQL query.\n */\n async query(query: string, parameters?: any[], useStructuredResult = false): Promise<any> {\n if (this.isReleased)\n throw new QueryRunnerAlreadyReleasedError();\n\n const raw = await this.client.query(query, parameters);\n\n const result = new QueryResult();\n\n result.raw = raw;\n\n if (raw?.hasOwnProperty('records') && Array.isArray(raw.records)) {\n result.records = raw.records;\n }\n\n if (raw?.hasOwnProperty('numberOfRecordsUpdated')) {\n result.affected = raw.numberOfRecordsUpdated;\n }\n\n if (!useStructuredResult) {\n return result.raw;\n }\n\n return result;\n }\n}\n"],"sourceRoot":"../.."}
|
|
1
|
+
{"version":3,"sources":["../../src/driver/aurora-data-api-pg/AuroraDataApiPostgresQueryRunner.ts"],"names":[],"mappings":"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","file":"AuroraDataApiPostgresQueryRunner.js","sourcesContent":["import {QueryRunnerAlreadyReleasedError} from \"../../error/QueryRunnerAlreadyReleasedError\";\nimport {TransactionAlreadyStartedError} from \"../../error/TransactionAlreadyStartedError\";\nimport {TransactionNotStartedError} from \"../../error/TransactionNotStartedError\";\nimport {QueryRunner} from \"../../query-runner/QueryRunner\";\nimport {IsolationLevel} from \"../types/IsolationLevel\";\nimport {AuroraDataApiPostgresDriver} from \"./AuroraDataApiPostgresDriver\";\nimport {PostgresQueryRunner} from \"../postgres/PostgresQueryRunner\";\nimport {ReplicationMode} from \"../types/ReplicationMode\";\nimport { QueryResult } from \"../../query-runner/QueryResult\";\n\nclass PostgresQueryRunnerWrapper extends PostgresQueryRunner {\n driver: any;\n\n constructor(driver: any, mode: ReplicationMode) {\n super(driver, mode);\n }\n}\n\n/**\n * Runs queries on a single postgres database connection.\n */\nexport class AuroraDataApiPostgresQueryRunner extends PostgresQueryRunnerWrapper implements QueryRunner {\n\n // -------------------------------------------------------------------------\n // Public Implemented Properties\n // -------------------------------------------------------------------------\n\n /**\n * Database driver used by connection.\n */\n driver: AuroraDataApiPostgresDriver;\n\n protected client: any;\n\n // -------------------------------------------------------------------------\n // Protected Properties\n // -------------------------------------------------------------------------\n\n /**\n * Promise used to obtain a database connection for a first time.\n */\n protected databaseConnectionPromise: Promise<any>;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(driver: AuroraDataApiPostgresDriver, client: any, mode: ReplicationMode) {\n super(driver, mode);\n\n this.client = client\n }\n\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n\n /**\n * Creates/uses database connection from the connection pool to perform further operations.\n * Returns obtained database connection.\n */\n connect(): Promise<any> {\n if (this.databaseConnection)\n return Promise.resolve(this.databaseConnection);\n\n if (this.databaseConnectionPromise)\n return this.databaseConnectionPromise;\n\n if (this.mode === \"slave\" && this.driver.isReplicated) {\n this.databaseConnectionPromise = this.driver.obtainSlaveConnection().then(([ connection, release]: any[]) => {\n this.driver.connectedQueryRunners.push(this);\n this.databaseConnection = connection;\n this.releaseCallback = release;\n return this.databaseConnection;\n });\n\n } else { // master\n this.databaseConnectionPromise = this.driver.obtainMasterConnection().then(([connection, release]: any[]) => {\n this.driver.connectedQueryRunners.push(this);\n this.databaseConnection = connection;\n this.releaseCallback = release;\n return this.databaseConnection;\n });\n }\n\n return this.databaseConnectionPromise;\n }\n\n /**\n * Starts transaction on the current connection.\n */\n async startTransaction(isolationLevel?: IsolationLevel): Promise<void> {\n if (this.isTransactionActive)\n throw new TransactionAlreadyStartedError();\n\n await this.broadcaster.broadcast('BeforeTransactionStart')\n\n this.isTransactionActive = true;\n\n await this.client.startTransaction();\n\n await this.broadcaster.broadcast('AfterTransactionStart')\n }\n\n /**\n * Commits transaction.\n * Error will be thrown if transaction was not started.\n */\n async commitTransaction(): Promise<void> {\n if (!this.isTransactionActive)\n throw new TransactionNotStartedError();\n\n await this.broadcaster.broadcast('BeforeTransactionCommit');\n\n await this.client.commitTransaction();\n\n this.isTransactionActive = false;\n\n await this.broadcaster.broadcast('AfterTransactionCommit');\n }\n\n /**\n * Rollbacks transaction.\n * Error will be thrown if transaction was not started.\n */\n async rollbackTransaction(): Promise<void> {\n if (!this.isTransactionActive)\n throw new TransactionNotStartedError();\n\n await this.broadcaster.broadcast('BeforeTransactionRollback');\n\n await this.client.rollbackTransaction();\n\n await this.broadcaster.broadcast('AfterTransactionRollback');\n }\n\n /**\n * Executes a given SQL query.\n */\n async query(query: string, parameters?: any[], useStructuredResult = false): Promise<any> {\n if (this.isReleased)\n throw new QueryRunnerAlreadyReleasedError();\n\n const raw = await this.client.query(query, parameters);\n\n const result = new QueryResult();\n\n result.raw = raw;\n\n if (raw?.hasOwnProperty('records') && Array.isArray(raw.records)) {\n result.records = raw.records;\n }\n\n if (raw?.hasOwnProperty('numberOfRecordsUpdated')) {\n result.affected = raw.numberOfRecordsUpdated;\n }\n\n if (!useStructuredResult) {\n return result.raw;\n }\n\n return result;\n }\n}\n"],"sourceRoot":"../.."}
|
|
@@ -19,7 +19,6 @@ var BaseQueryRunner_1 = require("../../query-runner/BaseQueryRunner");
|
|
|
19
19
|
var OrmUtils_1 = require("../../util/OrmUtils");
|
|
20
20
|
var TableCheck_1 = require("../../schema-builder/table/TableCheck");
|
|
21
21
|
var TableExclusion_1 = require("../../schema-builder/table/TableExclusion");
|
|
22
|
-
var BroadcasterResult_1 = require("../../subscriber/BroadcasterResult");
|
|
23
22
|
var error_1 = require("../../error");
|
|
24
23
|
/**
|
|
25
24
|
* Runs queries on a single postgres database connection.
|
|
@@ -96,42 +95,32 @@ var CockroachQueryRunner = /** @class */ (function (_super) {
|
|
|
96
95
|
*/
|
|
97
96
|
CockroachQueryRunner.prototype.startTransaction = function (isolationLevel) {
|
|
98
97
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
99
|
-
var beforeBroadcastResult, afterBroadcastResult;
|
|
100
98
|
return (0, tslib_1.__generator)(this, function (_a) {
|
|
101
99
|
switch (_a.label) {
|
|
102
100
|
case 0:
|
|
103
101
|
if (this.isTransactionActive)
|
|
104
102
|
throw new TransactionAlreadyStartedError_1.TransactionAlreadyStartedError();
|
|
105
|
-
|
|
106
|
-
this.broadcaster.broadcastBeforeTransactionStartEvent(beforeBroadcastResult);
|
|
107
|
-
if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
|
|
108
|
-
return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
|
|
103
|
+
return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionStart')];
|
|
109
104
|
case 1:
|
|
110
105
|
_a.sent();
|
|
111
|
-
_a.label = 2;
|
|
112
|
-
case 2:
|
|
113
106
|
this.isTransactionActive = true;
|
|
114
107
|
return [4 /*yield*/, this.query("START TRANSACTION")];
|
|
115
|
-
case
|
|
108
|
+
case 2:
|
|
116
109
|
_a.sent();
|
|
117
110
|
return [4 /*yield*/, this.query("SAVEPOINT cockroach_restart")];
|
|
118
|
-
case
|
|
111
|
+
case 3:
|
|
119
112
|
_a.sent();
|
|
120
|
-
if (!isolationLevel) return [3 /*break*/,
|
|
113
|
+
if (!isolationLevel) return [3 /*break*/, 5];
|
|
121
114
|
return [4 /*yield*/, this.query("SET TRANSACTION ISOLATION LEVEL " + isolationLevel)];
|
|
122
|
-
case
|
|
115
|
+
case 4:
|
|
123
116
|
_a.sent();
|
|
124
|
-
_a.label =
|
|
125
|
-
case
|
|
117
|
+
_a.label = 5;
|
|
118
|
+
case 5:
|
|
126
119
|
this.storeQueries = true;
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 8];
|
|
130
|
-
return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
|
|
131
|
-
case 7:
|
|
120
|
+
return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionStart')];
|
|
121
|
+
case 6:
|
|
132
122
|
_a.sent();
|
|
133
|
-
|
|
134
|
-
case 8: return [2 /*return*/];
|
|
123
|
+
return [2 /*return*/];
|
|
135
124
|
}
|
|
136
125
|
});
|
|
137
126
|
});
|
|
@@ -142,80 +131,70 @@ var CockroachQueryRunner = /** @class */ (function (_super) {
|
|
|
142
131
|
*/
|
|
143
132
|
CockroachQueryRunner.prototype.commitTransaction = function () {
|
|
144
133
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
145
|
-
var
|
|
134
|
+
var e_1, _a, _b, q, e_2_1;
|
|
146
135
|
var e_2, _c;
|
|
147
136
|
return (0, tslib_1.__generator)(this, function (_d) {
|
|
148
137
|
switch (_d.label) {
|
|
149
138
|
case 0:
|
|
150
139
|
if (!this.isTransactionActive)
|
|
151
140
|
throw new TransactionNotStartedError_1.TransactionNotStartedError();
|
|
152
|
-
|
|
153
|
-
this.broadcaster.broadcastBeforeTransactionCommitEvent(beforeBroadcastResult);
|
|
154
|
-
if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
|
|
155
|
-
return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
|
|
141
|
+
return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionCommit')];
|
|
156
142
|
case 1:
|
|
157
143
|
_d.sent();
|
|
144
|
+
this.storeQueries = false;
|
|
158
145
|
_d.label = 2;
|
|
159
146
|
case 2:
|
|
160
|
-
|
|
161
|
-
_d.label = 3;
|
|
162
|
-
case 3:
|
|
163
|
-
_d.trys.push([3, 6, , 18]);
|
|
147
|
+
_d.trys.push([2, 5, , 17]);
|
|
164
148
|
return [4 /*yield*/, this.query("RELEASE SAVEPOINT cockroach_restart")];
|
|
165
|
-
case
|
|
149
|
+
case 3:
|
|
166
150
|
_d.sent();
|
|
167
151
|
return [4 /*yield*/, this.query("COMMIT")];
|
|
168
|
-
case
|
|
152
|
+
case 4:
|
|
169
153
|
_d.sent();
|
|
170
154
|
this.queries = [];
|
|
171
155
|
this.isTransactionActive = false;
|
|
172
|
-
return [3 /*break*/,
|
|
173
|
-
case
|
|
156
|
+
return [3 /*break*/, 17];
|
|
157
|
+
case 5:
|
|
174
158
|
e_1 = _d.sent();
|
|
175
|
-
if (!(e_1.code === "40001")) return [3 /*break*/,
|
|
159
|
+
if (!(e_1.code === "40001")) return [3 /*break*/, 16];
|
|
176
160
|
return [4 /*yield*/, this.query("ROLLBACK TO SAVEPOINT cockroach_restart")];
|
|
177
|
-
case
|
|
161
|
+
case 6:
|
|
178
162
|
_d.sent();
|
|
163
|
+
_d.label = 7;
|
|
164
|
+
case 7:
|
|
165
|
+
_d.trys.push([7, 12, 13, 14]);
|
|
166
|
+
_a = (0, tslib_1.__values)(this.queries), _b = _a.next();
|
|
179
167
|
_d.label = 8;
|
|
180
168
|
case 8:
|
|
181
|
-
|
|
182
|
-
_a = (0, tslib_1.__values)(this.queries), _b = _a.next();
|
|
183
|
-
_d.label = 9;
|
|
184
|
-
case 9:
|
|
185
|
-
if (!!_b.done) return [3 /*break*/, 12];
|
|
169
|
+
if (!!_b.done) return [3 /*break*/, 11];
|
|
186
170
|
q = _b.value;
|
|
187
171
|
return [4 /*yield*/, this.query(q.query, q.parameters)];
|
|
188
|
-
case
|
|
172
|
+
case 9:
|
|
189
173
|
_d.sent();
|
|
190
|
-
_d.label =
|
|
191
|
-
case
|
|
174
|
+
_d.label = 10;
|
|
175
|
+
case 10:
|
|
192
176
|
_b = _a.next();
|
|
193
|
-
return [3 /*break*/,
|
|
194
|
-
case
|
|
195
|
-
case
|
|
177
|
+
return [3 /*break*/, 8];
|
|
178
|
+
case 11: return [3 /*break*/, 14];
|
|
179
|
+
case 12:
|
|
196
180
|
e_2_1 = _d.sent();
|
|
197
181
|
e_2 = { error: e_2_1 };
|
|
198
|
-
return [3 /*break*/,
|
|
199
|
-
case
|
|
182
|
+
return [3 /*break*/, 14];
|
|
183
|
+
case 13:
|
|
200
184
|
try {
|
|
201
185
|
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
|
|
202
186
|
}
|
|
203
187
|
finally { if (e_2) throw e_2.error; }
|
|
204
188
|
return [7 /*endfinally*/];
|
|
205
|
-
case
|
|
206
|
-
case
|
|
189
|
+
case 14: return [4 /*yield*/, this.commitTransaction()];
|
|
190
|
+
case 15:
|
|
207
191
|
_d.sent();
|
|
208
|
-
_d.label =
|
|
209
|
-
case
|
|
192
|
+
_d.label = 16;
|
|
193
|
+
case 16: return [3 /*break*/, 17];
|
|
194
|
+
case 17: return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionCommit')];
|
|
210
195
|
case 18:
|
|
211
|
-
afterBroadcastResult = new BroadcasterResult_1.BroadcasterResult();
|
|
212
|
-
this.broadcaster.broadcastAfterTransactionCommitEvent(afterBroadcastResult);
|
|
213
|
-
if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 20];
|
|
214
|
-
return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
|
|
215
|
-
case 19:
|
|
216
196
|
_d.sent();
|
|
217
|
-
|
|
218
|
-
case 20: return [2 /*return*/];
|
|
197
|
+
return [2 /*return*/];
|
|
219
198
|
}
|
|
220
199
|
});
|
|
221
200
|
});
|
|
@@ -226,34 +205,24 @@ var CockroachQueryRunner = /** @class */ (function (_super) {
|
|
|
226
205
|
*/
|
|
227
206
|
CockroachQueryRunner.prototype.rollbackTransaction = function () {
|
|
228
207
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
229
|
-
var beforeBroadcastResult, afterBroadcastResult;
|
|
230
208
|
return (0, tslib_1.__generator)(this, function (_a) {
|
|
231
209
|
switch (_a.label) {
|
|
232
210
|
case 0:
|
|
233
211
|
if (!this.isTransactionActive)
|
|
234
212
|
throw new TransactionNotStartedError_1.TransactionNotStartedError();
|
|
235
|
-
|
|
236
|
-
this.broadcaster.broadcastBeforeTransactionRollbackEvent(beforeBroadcastResult);
|
|
237
|
-
if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
|
|
238
|
-
return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
|
|
213
|
+
return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionRollback')];
|
|
239
214
|
case 1:
|
|
240
215
|
_a.sent();
|
|
241
|
-
_a.label = 2;
|
|
242
|
-
case 2:
|
|
243
216
|
this.storeQueries = false;
|
|
244
217
|
return [4 /*yield*/, this.query("ROLLBACK")];
|
|
245
|
-
case
|
|
218
|
+
case 2:
|
|
246
219
|
_a.sent();
|
|
247
220
|
this.queries = [];
|
|
248
221
|
this.isTransactionActive = false;
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 5];
|
|
252
|
-
return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
|
|
253
|
-
case 4:
|
|
222
|
+
return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionRollback')];
|
|
223
|
+
case 3:
|
|
254
224
|
_a.sent();
|
|
255
|
-
|
|
256
|
-
case 5: return [2 /*return*/];
|
|
225
|
+
return [2 /*return*/];
|
|
257
226
|
}
|
|
258
227
|
});
|
|
259
228
|
});
|