typeorm 0.2.39-dev.0bc194c → 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/cli.js +0 -5
- package/cli.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
|
@@ -5,7 +5,6 @@ import { AbstractSqliteQueryRunner } from "../sqlite-abstract/AbstractSqliteQuer
|
|
|
5
5
|
import { TransactionAlreadyStartedError } from "../../error/TransactionAlreadyStartedError";
|
|
6
6
|
import { TransactionNotStartedError } from "../../error/TransactionNotStartedError";
|
|
7
7
|
import { Broadcaster } from "../../subscriber/Broadcaster";
|
|
8
|
-
import { BroadcasterResult } from "../../subscriber/BroadcasterResult";
|
|
9
8
|
import { QueryResult } from "../../query-runner/QueryResult";
|
|
10
9
|
/**
|
|
11
10
|
* Runs queries on a single sqlite database connection.
|
|
@@ -35,29 +34,19 @@ var ExpoQueryRunner = /** @class */ (function (_super) {
|
|
|
35
34
|
*/
|
|
36
35
|
ExpoQueryRunner.prototype.startTransaction = function () {
|
|
37
36
|
return __awaiter(this, void 0, void 0, function () {
|
|
38
|
-
var beforeBroadcastResult, afterBroadcastResult;
|
|
39
37
|
return __generator(this, function (_a) {
|
|
40
38
|
switch (_a.label) {
|
|
41
39
|
case 0:
|
|
42
40
|
if (this.isTransactionActive && typeof this.transaction !== "undefined")
|
|
43
41
|
throw new TransactionAlreadyStartedError();
|
|
44
|
-
|
|
45
|
-
this.broadcaster.broadcastBeforeTransactionStartEvent(beforeBroadcastResult);
|
|
46
|
-
if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
|
|
47
|
-
return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
|
|
42
|
+
return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionStart')];
|
|
48
43
|
case 1:
|
|
49
44
|
_a.sent();
|
|
50
|
-
_a.label = 2;
|
|
51
|
-
case 2:
|
|
52
45
|
this.isTransactionActive = true;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 4];
|
|
56
|
-
return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
|
|
57
|
-
case 3:
|
|
46
|
+
return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionStart')];
|
|
47
|
+
case 2:
|
|
58
48
|
_a.sent();
|
|
59
|
-
|
|
60
|
-
case 4: return [2 /*return*/];
|
|
49
|
+
return [2 /*return*/];
|
|
61
50
|
}
|
|
62
51
|
});
|
|
63
52
|
});
|
|
@@ -72,30 +61,20 @@ var ExpoQueryRunner = /** @class */ (function (_super) {
|
|
|
72
61
|
*/
|
|
73
62
|
ExpoQueryRunner.prototype.commitTransaction = function () {
|
|
74
63
|
return __awaiter(this, void 0, void 0, function () {
|
|
75
|
-
var beforeBroadcastResult, afterBroadcastResult;
|
|
76
64
|
return __generator(this, function (_a) {
|
|
77
65
|
switch (_a.label) {
|
|
78
66
|
case 0:
|
|
79
67
|
if (!this.isTransactionActive && typeof this.transaction === "undefined")
|
|
80
68
|
throw new TransactionNotStartedError();
|
|
81
|
-
|
|
82
|
-
this.broadcaster.broadcastBeforeTransactionCommitEvent(beforeBroadcastResult);
|
|
83
|
-
if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
|
|
84
|
-
return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
|
|
69
|
+
return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionCommit')];
|
|
85
70
|
case 1:
|
|
86
71
|
_a.sent();
|
|
87
|
-
_a.label = 2;
|
|
88
|
-
case 2:
|
|
89
72
|
this.isTransactionActive = false;
|
|
90
73
|
this.transaction = undefined;
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 4];
|
|
94
|
-
return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
|
|
95
|
-
case 3:
|
|
74
|
+
return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionCommit')];
|
|
75
|
+
case 2:
|
|
96
76
|
_a.sent();
|
|
97
|
-
|
|
98
|
-
case 4: return [2 /*return*/];
|
|
77
|
+
return [2 /*return*/];
|
|
99
78
|
}
|
|
100
79
|
});
|
|
101
80
|
});
|
|
@@ -109,30 +88,20 @@ var ExpoQueryRunner = /** @class */ (function (_super) {
|
|
|
109
88
|
*/
|
|
110
89
|
ExpoQueryRunner.prototype.rollbackTransaction = function () {
|
|
111
90
|
return __awaiter(this, void 0, void 0, function () {
|
|
112
|
-
var beforeBroadcastResult, afterBroadcastResult;
|
|
113
91
|
return __generator(this, function (_a) {
|
|
114
92
|
switch (_a.label) {
|
|
115
93
|
case 0:
|
|
116
94
|
if (!this.isTransactionActive && typeof this.transaction === "undefined")
|
|
117
95
|
throw new TransactionNotStartedError();
|
|
118
|
-
|
|
119
|
-
this.broadcaster.broadcastBeforeTransactionRollbackEvent(beforeBroadcastResult);
|
|
120
|
-
if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
|
|
121
|
-
return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
|
|
96
|
+
return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionRollback')];
|
|
122
97
|
case 1:
|
|
123
98
|
_a.sent();
|
|
124
|
-
_a.label = 2;
|
|
125
|
-
case 2:
|
|
126
99
|
this.isTransactionActive = false;
|
|
127
100
|
this.transaction = undefined;
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 4];
|
|
131
|
-
return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
|
|
132
|
-
case 3:
|
|
101
|
+
return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionRollback')];
|
|
102
|
+
case 2:
|
|
133
103
|
_a.sent();
|
|
134
|
-
|
|
135
|
-
case 4: return [2 /*return*/];
|
|
104
|
+
return [2 /*return*/];
|
|
136
105
|
}
|
|
137
106
|
});
|
|
138
107
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../browser/src/driver/expo/ExpoQueryRunner.ts"],"names":[],"mappings":"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","file":"ExpoQueryRunner.js","sourcesContent":["import {QueryRunnerAlreadyReleasedError} from \"../../error/QueryRunnerAlreadyReleasedError\";\nimport {QueryFailedError} from \"../../error/QueryFailedError\";\nimport {AbstractSqliteQueryRunner} from \"../sqlite-abstract/AbstractSqliteQueryRunner\";\nimport {TransactionAlreadyStartedError} from \"../../error/TransactionAlreadyStartedError\";\nimport {TransactionNotStartedError} from \"../../error/TransactionNotStartedError\";\nimport {ExpoDriver} from \"./ExpoDriver\";\nimport {Broadcaster} from \"../../subscriber/Broadcaster\";\nimport {BroadcasterResult} from \"../../subscriber/BroadcasterResult\";\nimport { QueryResult } from \"../../query-runner/QueryResult\";\n\n// Needed to satisfy the Typescript compiler\ninterface IResultSet {\n insertId: number | undefined;\n rowsAffected: number;\n rows: {\n length: number;\n item: (idx: number) => any;\n _array: any[];\n };\n}\ninterface ITransaction {\n executeSql: (\n sql: string,\n args: any[] | undefined,\n ok: (tsx: ITransaction, resultSet: IResultSet) => void,\n fail: (tsx: ITransaction, err: any) => void\n ) => void;\n}\n\n/**\n * Runs queries on a single sqlite database connection.\n */\nexport class ExpoQueryRunner extends AbstractSqliteQueryRunner {\n\n /**\n * Database driver used by connection.\n */\n driver: ExpoDriver;\n\n /**\n * Database transaction object\n */\n private transaction?: ITransaction;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(driver: ExpoDriver) {\n super();\n this.driver = driver;\n this.connection = driver.connection;\n this.broadcaster = new Broadcaster(this);\n }\n\n /**\n * Starts transaction. Within Expo, all database operations happen in a\n * transaction context, so issuing a `BEGIN TRANSACTION` command is\n * redundant and will result in the following error:\n *\n * `Error: Error code 1: cannot start a transaction within a transaction`\n *\n * Instead, we keep track of a `Transaction` object in `this.transaction`\n * and continue using the same object until we wish to commit the\n * transaction.\n */\n async startTransaction(): Promise<void> {\n if (this.isTransactionActive && typeof this.transaction !== \"undefined\")\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 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 * Since Expo will automatically commit the transaction once all the\n * callbacks of the transaction object have been completed, \"committing\" a\n * transaction in this driver's context means that we delete the transaction\n * object and set the stage for the next transaction.\n */\n async commitTransaction(): Promise<void> {\n if (!this.isTransactionActive && typeof this.transaction === \"undefined\")\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 this.isTransactionActive = false;\n this.transaction = undefined;\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 * This method's functionality is identical to `commitTransaction()` because\n * the transaction lifecycle is handled within the Expo transaction object.\n * Issuing separate statements for `COMMIT` or `ROLLBACK` aren't necessary.\n */\n async rollbackTransaction(): Promise<void> {\n if (!this.isTransactionActive && typeof this.transaction === \"undefined\")\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 this.isTransactionActive = false;\n this.transaction = undefined;\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 return new Promise<any>(async (ok, fail) => {\n const databaseConnection = await this.connect();\n this.driver.connection.logger.logQuery(query, parameters, this);\n const queryStartTime = +new Date();\n // All Expo SQL queries are executed in a transaction context\n databaseConnection.transaction((transaction: ITransaction) => {\n if (typeof this.transaction === \"undefined\") {\n this.startTransaction();\n this.transaction = transaction;\n }\n this.transaction.executeSql(query, parameters, (t: ITransaction, raw: IResultSet) => {\n // log slow queries if maxQueryExecution time is set\n const maxQueryExecutionTime = this.driver.options.maxQueryExecutionTime;\n const queryEndTime = +new Date();\n const queryExecutionTime = queryEndTime - queryStartTime;\n if (maxQueryExecutionTime && queryExecutionTime > maxQueryExecutionTime) {\n this.driver.connection.logger.logQuerySlow(queryExecutionTime, query, parameters, this);\n }\n\n const result = new QueryResult();\n\n // return id of inserted row, if query was insert statement.\n if (query.substr(0, 11) === \"INSERT INTO\") {\n result.raw = raw.insertId;\n }\n\n if (raw?.hasOwnProperty('rowsAffected')) {\n result.affected = raw.rowsAffected;\n }\n\n if (raw?.hasOwnProperty('rows')) {\n let resultSet = [];\n for (let i = 0; i < raw.rows.length; i++) {\n resultSet.push(raw.rows.item(i));\n }\n\n result.raw = resultSet;\n result.records = resultSet;\n }\n\n if (useStructuredResult) {\n ok(result);\n } else {\n ok(result.raw);\n }\n }, (t: ITransaction, err: any) => {\n this.driver.connection.logger.logQueryError(err, query, parameters, this);\n fail(new QueryFailedError(query, parameters, err));\n });\n }, (err: any) => {\n this.rollbackTransaction();\n }, () => {\n this.isTransactionActive = false;\n this.transaction = undefined;\n });\n });\n }\n}\n"],"sourceRoot":"../.."}
|
|
1
|
+
{"version":3,"sources":["../browser/src/driver/expo/ExpoQueryRunner.ts"],"names":[],"mappings":"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","file":"ExpoQueryRunner.js","sourcesContent":["import {QueryRunnerAlreadyReleasedError} from \"../../error/QueryRunnerAlreadyReleasedError\";\nimport {QueryFailedError} from \"../../error/QueryFailedError\";\nimport {AbstractSqliteQueryRunner} from \"../sqlite-abstract/AbstractSqliteQueryRunner\";\nimport {TransactionAlreadyStartedError} from \"../../error/TransactionAlreadyStartedError\";\nimport {TransactionNotStartedError} from \"../../error/TransactionNotStartedError\";\nimport {ExpoDriver} from \"./ExpoDriver\";\nimport {Broadcaster} from \"../../subscriber/Broadcaster\";\nimport { QueryResult } from \"../../query-runner/QueryResult\";\n\n// Needed to satisfy the Typescript compiler\ninterface IResultSet {\n insertId: number | undefined;\n rowsAffected: number;\n rows: {\n length: number;\n item: (idx: number) => any;\n _array: any[];\n };\n}\ninterface ITransaction {\n executeSql: (\n sql: string,\n args: any[] | undefined,\n ok: (tsx: ITransaction, resultSet: IResultSet) => void,\n fail: (tsx: ITransaction, err: any) => void\n ) => void;\n}\n\n/**\n * Runs queries on a single sqlite database connection.\n */\nexport class ExpoQueryRunner extends AbstractSqliteQueryRunner {\n\n /**\n * Database driver used by connection.\n */\n driver: ExpoDriver;\n\n /**\n * Database transaction object\n */\n private transaction?: ITransaction;\n\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n\n constructor(driver: ExpoDriver) {\n super();\n this.driver = driver;\n this.connection = driver.connection;\n this.broadcaster = new Broadcaster(this);\n }\n\n /**\n * Starts transaction. Within Expo, all database operations happen in a\n * transaction context, so issuing a `BEGIN TRANSACTION` command is\n * redundant and will result in the following error:\n *\n * `Error: Error code 1: cannot start a transaction within a transaction`\n *\n * Instead, we keep track of a `Transaction` object in `this.transaction`\n * and continue using the same object until we wish to commit the\n * transaction.\n */\n async startTransaction(): Promise<void> {\n if (this.isTransactionActive && typeof this.transaction !== \"undefined\")\n throw new TransactionAlreadyStartedError();\n\n await this.broadcaster.broadcast('BeforeTransactionStart');\n\n this.isTransactionActive = true;\n\n await this.broadcaster.broadcast('AfterTransactionStart');\n }\n\n /**\n * Commits transaction.\n * Error will be thrown if transaction was not started.\n * Since Expo will automatically commit the transaction once all the\n * callbacks of the transaction object have been completed, \"committing\" a\n * transaction in this driver's context means that we delete the transaction\n * object and set the stage for the next transaction.\n */\n async commitTransaction(): Promise<void> {\n if (!this.isTransactionActive && typeof this.transaction === \"undefined\")\n throw new TransactionNotStartedError();\n\n await this.broadcaster.broadcast('BeforeTransactionCommit');\n\n this.isTransactionActive = false;\n this.transaction = undefined;\n\n await this.broadcaster.broadcast('AfterTransactionCommit');\n }\n\n /**\n * Rollbacks transaction.\n * Error will be thrown if transaction was not started.\n * This method's functionality is identical to `commitTransaction()` because\n * the transaction lifecycle is handled within the Expo transaction object.\n * Issuing separate statements for `COMMIT` or `ROLLBACK` aren't necessary.\n */\n async rollbackTransaction(): Promise<void> {\n if (!this.isTransactionActive && typeof this.transaction === \"undefined\")\n throw new TransactionNotStartedError();\n\n await this.broadcaster.broadcast('BeforeTransactionRollback');\n\n this.isTransactionActive = false;\n this.transaction = undefined;\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 return new Promise<any>(async (ok, fail) => {\n const databaseConnection = await this.connect();\n this.driver.connection.logger.logQuery(query, parameters, this);\n const queryStartTime = +new Date();\n // All Expo SQL queries are executed in a transaction context\n databaseConnection.transaction((transaction: ITransaction) => {\n if (typeof this.transaction === \"undefined\") {\n this.startTransaction();\n this.transaction = transaction;\n }\n this.transaction.executeSql(query, parameters, (t: ITransaction, raw: IResultSet) => {\n // log slow queries if maxQueryExecution time is set\n const maxQueryExecutionTime = this.driver.options.maxQueryExecutionTime;\n const queryEndTime = +new Date();\n const queryExecutionTime = queryEndTime - queryStartTime;\n if (maxQueryExecutionTime && queryExecutionTime > maxQueryExecutionTime) {\n this.driver.connection.logger.logQuerySlow(queryExecutionTime, query, parameters, this);\n }\n\n const result = new QueryResult();\n\n // return id of inserted row, if query was insert statement.\n if (query.substr(0, 11) === \"INSERT INTO\") {\n result.raw = raw.insertId;\n }\n\n if (raw?.hasOwnProperty('rowsAffected')) {\n result.affected = raw.rowsAffected;\n }\n\n if (raw?.hasOwnProperty('rows')) {\n let resultSet = [];\n for (let i = 0; i < raw.rows.length; i++) {\n resultSet.push(raw.rows.item(i));\n }\n\n result.raw = resultSet;\n result.records = resultSet;\n }\n\n if (useStructuredResult) {\n ok(result);\n } else {\n ok(result.raw);\n }\n }, (t: ITransaction, err: any) => {\n this.driver.connection.logger.logQueryError(err, query, parameters, this);\n fail(new QueryFailedError(query, parameters, err));\n });\n }, (err: any) => {\n this.rollbackTransaction();\n }, () => {\n this.isTransactionActive = false;\n this.transaction = undefined;\n });\n });\n }\n}\n"],"sourceRoot":"../.."}
|
|
@@ -15,7 +15,6 @@ import { TableUnique } from "../../schema-builder/table/TableUnique";
|
|
|
15
15
|
import { BaseQueryRunner } from "../../query-runner/BaseQueryRunner";
|
|
16
16
|
import { Broadcaster } from "../../subscriber/Broadcaster";
|
|
17
17
|
import { VersionUtils } from "../../util/VersionUtils";
|
|
18
|
-
import { BroadcasterResult } from "../../subscriber/BroadcasterResult";
|
|
19
18
|
import { TypeORMError } from "../../error";
|
|
20
19
|
/**
|
|
21
20
|
* Runs queries on a single mysql database connection.
|
|
@@ -75,42 +74,31 @@ var MysqlQueryRunner = /** @class */ (function (_super) {
|
|
|
75
74
|
*/
|
|
76
75
|
MysqlQueryRunner.prototype.startTransaction = function (isolationLevel) {
|
|
77
76
|
return __awaiter(this, void 0, void 0, function () {
|
|
78
|
-
var beforeBroadcastResult, afterBroadcastResult;
|
|
79
77
|
return __generator(this, function (_a) {
|
|
80
78
|
switch (_a.label) {
|
|
81
79
|
case 0:
|
|
82
80
|
if (this.isTransactionActive)
|
|
83
81
|
throw new TransactionAlreadyStartedError();
|
|
84
|
-
|
|
85
|
-
this.broadcaster.broadcastBeforeTransactionStartEvent(beforeBroadcastResult);
|
|
86
|
-
if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
|
|
87
|
-
return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
|
|
82
|
+
return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionStart')];
|
|
88
83
|
case 1:
|
|
89
84
|
_a.sent();
|
|
90
|
-
_a.label = 2;
|
|
91
|
-
case 2:
|
|
92
85
|
this.isTransactionActive = true;
|
|
93
|
-
if (!isolationLevel) return [3 /*break*/,
|
|
86
|
+
if (!isolationLevel) return [3 /*break*/, 4];
|
|
94
87
|
return [4 /*yield*/, this.query("SET TRANSACTION ISOLATION LEVEL " + isolationLevel)];
|
|
95
|
-
case
|
|
88
|
+
case 2:
|
|
96
89
|
_a.sent();
|
|
97
90
|
return [4 /*yield*/, this.query("START TRANSACTION")];
|
|
98
|
-
case
|
|
91
|
+
case 3:
|
|
99
92
|
_a.sent();
|
|
100
|
-
return [3 /*break*/,
|
|
101
|
-
case
|
|
102
|
-
case
|
|
93
|
+
return [3 /*break*/, 6];
|
|
94
|
+
case 4: return [4 /*yield*/, this.query("START TRANSACTION")];
|
|
95
|
+
case 5:
|
|
103
96
|
_a.sent();
|
|
104
|
-
_a.label =
|
|
97
|
+
_a.label = 6;
|
|
98
|
+
case 6: return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionStart')];
|
|
105
99
|
case 7:
|
|
106
|
-
afterBroadcastResult = new BroadcasterResult();
|
|
107
|
-
this.broadcaster.broadcastAfterTransactionStartEvent(afterBroadcastResult);
|
|
108
|
-
if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 9];
|
|
109
|
-
return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
|
|
110
|
-
case 8:
|
|
111
100
|
_a.sent();
|
|
112
|
-
|
|
113
|
-
case 9: return [2 /*return*/];
|
|
101
|
+
return [2 /*return*/];
|
|
114
102
|
}
|
|
115
103
|
});
|
|
116
104
|
});
|
|
@@ -121,31 +109,22 @@ var MysqlQueryRunner = /** @class */ (function (_super) {
|
|
|
121
109
|
*/
|
|
122
110
|
MysqlQueryRunner.prototype.commitTransaction = function () {
|
|
123
111
|
return __awaiter(this, void 0, void 0, function () {
|
|
124
|
-
var beforeBroadcastResult, afterBroadcastResult;
|
|
125
112
|
return __generator(this, function (_a) {
|
|
126
113
|
switch (_a.label) {
|
|
127
114
|
case 0:
|
|
128
115
|
if (!this.isTransactionActive)
|
|
129
116
|
throw new TransactionNotStartedError();
|
|
130
|
-
|
|
131
|
-
this.broadcaster.broadcastBeforeTransactionCommitEvent(beforeBroadcastResult);
|
|
132
|
-
if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
|
|
133
|
-
return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
|
|
117
|
+
return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionCommit')];
|
|
134
118
|
case 1:
|
|
135
119
|
_a.sent();
|
|
136
|
-
|
|
137
|
-
case 2:
|
|
138
|
-
case 3:
|
|
120
|
+
return [4 /*yield*/, this.query("COMMIT")];
|
|
121
|
+
case 2:
|
|
139
122
|
_a.sent();
|
|
140
123
|
this.isTransactionActive = false;
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 5];
|
|
144
|
-
return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
|
|
145
|
-
case 4:
|
|
124
|
+
return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionCommit')];
|
|
125
|
+
case 3:
|
|
146
126
|
_a.sent();
|
|
147
|
-
|
|
148
|
-
case 5: return [2 /*return*/];
|
|
127
|
+
return [2 /*return*/];
|
|
149
128
|
}
|
|
150
129
|
});
|
|
151
130
|
});
|
|
@@ -156,31 +135,22 @@ var MysqlQueryRunner = /** @class */ (function (_super) {
|
|
|
156
135
|
*/
|
|
157
136
|
MysqlQueryRunner.prototype.rollbackTransaction = function () {
|
|
158
137
|
return __awaiter(this, void 0, void 0, function () {
|
|
159
|
-
var beforeBroadcastResult, afterBroadcastResult;
|
|
160
138
|
return __generator(this, function (_a) {
|
|
161
139
|
switch (_a.label) {
|
|
162
140
|
case 0:
|
|
163
141
|
if (!this.isTransactionActive)
|
|
164
142
|
throw new TransactionNotStartedError();
|
|
165
|
-
|
|
166
|
-
this.broadcaster.broadcastBeforeTransactionRollbackEvent(beforeBroadcastResult);
|
|
167
|
-
if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
|
|
168
|
-
return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
|
|
143
|
+
return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionRollback')];
|
|
169
144
|
case 1:
|
|
170
145
|
_a.sent();
|
|
171
|
-
|
|
172
|
-
case 2:
|
|
173
|
-
case 3:
|
|
146
|
+
return [4 /*yield*/, this.query("ROLLBACK")];
|
|
147
|
+
case 2:
|
|
174
148
|
_a.sent();
|
|
175
149
|
this.isTransactionActive = false;
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 5];
|
|
179
|
-
return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
|
|
180
|
-
case 4:
|
|
150
|
+
return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionRollback')];
|
|
151
|
+
case 3:
|
|
181
152
|
_a.sent();
|
|
182
|
-
|
|
183
|
-
case 5: return [2 /*return*/];
|
|
153
|
+
return [2 /*return*/];
|
|
184
154
|
}
|
|
185
155
|
});
|
|
186
156
|
});
|