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
|
@@ -8,7 +8,6 @@ var AbstractSqliteQueryRunner_1 = require("../sqlite-abstract/AbstractSqliteQuer
|
|
|
8
8
|
var TransactionAlreadyStartedError_1 = require("../../error/TransactionAlreadyStartedError");
|
|
9
9
|
var TransactionNotStartedError_1 = require("../../error/TransactionNotStartedError");
|
|
10
10
|
var Broadcaster_1 = require("../../subscriber/Broadcaster");
|
|
11
|
-
var BroadcasterResult_1 = require("../../subscriber/BroadcasterResult");
|
|
12
11
|
var QueryResult_1 = require("../../query-runner/QueryResult");
|
|
13
12
|
/**
|
|
14
13
|
* Runs queries on a single sqlite database connection.
|
|
@@ -38,29 +37,19 @@ var ExpoQueryRunner = /** @class */ (function (_super) {
|
|
|
38
37
|
*/
|
|
39
38
|
ExpoQueryRunner.prototype.startTransaction = function () {
|
|
40
39
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
41
|
-
var beforeBroadcastResult, afterBroadcastResult;
|
|
42
40
|
return (0, tslib_1.__generator)(this, function (_a) {
|
|
43
41
|
switch (_a.label) {
|
|
44
42
|
case 0:
|
|
45
43
|
if (this.isTransactionActive && typeof this.transaction !== "undefined")
|
|
46
44
|
throw new TransactionAlreadyStartedError_1.TransactionAlreadyStartedError();
|
|
47
|
-
|
|
48
|
-
this.broadcaster.broadcastBeforeTransactionStartEvent(beforeBroadcastResult);
|
|
49
|
-
if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
|
|
50
|
-
return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
|
|
45
|
+
return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionStart')];
|
|
51
46
|
case 1:
|
|
52
47
|
_a.sent();
|
|
53
|
-
_a.label = 2;
|
|
54
|
-
case 2:
|
|
55
48
|
this.isTransactionActive = true;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 4];
|
|
59
|
-
return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
|
|
60
|
-
case 3:
|
|
49
|
+
return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionStart')];
|
|
50
|
+
case 2:
|
|
61
51
|
_a.sent();
|
|
62
|
-
|
|
63
|
-
case 4: return [2 /*return*/];
|
|
52
|
+
return [2 /*return*/];
|
|
64
53
|
}
|
|
65
54
|
});
|
|
66
55
|
});
|
|
@@ -75,30 +64,20 @@ var ExpoQueryRunner = /** @class */ (function (_super) {
|
|
|
75
64
|
*/
|
|
76
65
|
ExpoQueryRunner.prototype.commitTransaction = function () {
|
|
77
66
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
78
|
-
var beforeBroadcastResult, afterBroadcastResult;
|
|
79
67
|
return (0, tslib_1.__generator)(this, function (_a) {
|
|
80
68
|
switch (_a.label) {
|
|
81
69
|
case 0:
|
|
82
70
|
if (!this.isTransactionActive && typeof this.transaction === "undefined")
|
|
83
71
|
throw new TransactionNotStartedError_1.TransactionNotStartedError();
|
|
84
|
-
|
|
85
|
-
this.broadcaster.broadcastBeforeTransactionCommitEvent(beforeBroadcastResult);
|
|
86
|
-
if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
|
|
87
|
-
return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
|
|
72
|
+
return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionCommit')];
|
|
88
73
|
case 1:
|
|
89
74
|
_a.sent();
|
|
90
|
-
_a.label = 2;
|
|
91
|
-
case 2:
|
|
92
75
|
this.isTransactionActive = false;
|
|
93
76
|
this.transaction = undefined;
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 4];
|
|
97
|
-
return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
|
|
98
|
-
case 3:
|
|
77
|
+
return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionCommit')];
|
|
78
|
+
case 2:
|
|
99
79
|
_a.sent();
|
|
100
|
-
|
|
101
|
-
case 4: return [2 /*return*/];
|
|
80
|
+
return [2 /*return*/];
|
|
102
81
|
}
|
|
103
82
|
});
|
|
104
83
|
});
|
|
@@ -112,30 +91,20 @@ var ExpoQueryRunner = /** @class */ (function (_super) {
|
|
|
112
91
|
*/
|
|
113
92
|
ExpoQueryRunner.prototype.rollbackTransaction = function () {
|
|
114
93
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
115
|
-
var beforeBroadcastResult, afterBroadcastResult;
|
|
116
94
|
return (0, tslib_1.__generator)(this, function (_a) {
|
|
117
95
|
switch (_a.label) {
|
|
118
96
|
case 0:
|
|
119
97
|
if (!this.isTransactionActive && typeof this.transaction === "undefined")
|
|
120
98
|
throw new TransactionNotStartedError_1.TransactionNotStartedError();
|
|
121
|
-
|
|
122
|
-
this.broadcaster.broadcastBeforeTransactionRollbackEvent(beforeBroadcastResult);
|
|
123
|
-
if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
|
|
124
|
-
return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
|
|
99
|
+
return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionRollback')];
|
|
125
100
|
case 1:
|
|
126
101
|
_a.sent();
|
|
127
|
-
_a.label = 2;
|
|
128
|
-
case 2:
|
|
129
102
|
this.isTransactionActive = false;
|
|
130
103
|
this.transaction = undefined;
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 4];
|
|
134
|
-
return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
|
|
135
|
-
case 3:
|
|
104
|
+
return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionRollback')];
|
|
105
|
+
case 2:
|
|
136
106
|
_a.sent();
|
|
137
|
-
|
|
138
|
-
case 4: return [2 /*return*/];
|
|
107
|
+
return [2 /*return*/];
|
|
139
108
|
}
|
|
140
109
|
});
|
|
141
110
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../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":["../../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":"../.."}
|
|
@@ -18,7 +18,6 @@ var TableUnique_1 = require("../../schema-builder/table/TableUnique");
|
|
|
18
18
|
var BaseQueryRunner_1 = require("../../query-runner/BaseQueryRunner");
|
|
19
19
|
var Broadcaster_1 = require("../../subscriber/Broadcaster");
|
|
20
20
|
var VersionUtils_1 = require("../../util/VersionUtils");
|
|
21
|
-
var BroadcasterResult_1 = require("../../subscriber/BroadcasterResult");
|
|
22
21
|
var error_1 = require("../../error");
|
|
23
22
|
/**
|
|
24
23
|
* Runs queries on a single mysql database connection.
|
|
@@ -78,42 +77,31 @@ var MysqlQueryRunner = /** @class */ (function (_super) {
|
|
|
78
77
|
*/
|
|
79
78
|
MysqlQueryRunner.prototype.startTransaction = function (isolationLevel) {
|
|
80
79
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
81
|
-
var beforeBroadcastResult, afterBroadcastResult;
|
|
82
80
|
return (0, tslib_1.__generator)(this, function (_a) {
|
|
83
81
|
switch (_a.label) {
|
|
84
82
|
case 0:
|
|
85
83
|
if (this.isTransactionActive)
|
|
86
84
|
throw new TransactionAlreadyStartedError_1.TransactionAlreadyStartedError();
|
|
87
|
-
|
|
88
|
-
this.broadcaster.broadcastBeforeTransactionStartEvent(beforeBroadcastResult);
|
|
89
|
-
if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
|
|
90
|
-
return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
|
|
85
|
+
return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionStart')];
|
|
91
86
|
case 1:
|
|
92
87
|
_a.sent();
|
|
93
|
-
_a.label = 2;
|
|
94
|
-
case 2:
|
|
95
88
|
this.isTransactionActive = true;
|
|
96
|
-
if (!isolationLevel) return [3 /*break*/,
|
|
89
|
+
if (!isolationLevel) return [3 /*break*/, 4];
|
|
97
90
|
return [4 /*yield*/, this.query("SET TRANSACTION ISOLATION LEVEL " + isolationLevel)];
|
|
98
|
-
case
|
|
91
|
+
case 2:
|
|
99
92
|
_a.sent();
|
|
100
93
|
return [4 /*yield*/, this.query("START TRANSACTION")];
|
|
101
|
-
case
|
|
94
|
+
case 3:
|
|
102
95
|
_a.sent();
|
|
103
|
-
return [3 /*break*/,
|
|
104
|
-
case
|
|
105
|
-
case
|
|
96
|
+
return [3 /*break*/, 6];
|
|
97
|
+
case 4: return [4 /*yield*/, this.query("START TRANSACTION")];
|
|
98
|
+
case 5:
|
|
106
99
|
_a.sent();
|
|
107
|
-
_a.label =
|
|
100
|
+
_a.label = 6;
|
|
101
|
+
case 6: return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionStart')];
|
|
108
102
|
case 7:
|
|
109
|
-
afterBroadcastResult = new BroadcasterResult_1.BroadcasterResult();
|
|
110
|
-
this.broadcaster.broadcastAfterTransactionStartEvent(afterBroadcastResult);
|
|
111
|
-
if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 9];
|
|
112
|
-
return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
|
|
113
|
-
case 8:
|
|
114
103
|
_a.sent();
|
|
115
|
-
|
|
116
|
-
case 9: return [2 /*return*/];
|
|
104
|
+
return [2 /*return*/];
|
|
117
105
|
}
|
|
118
106
|
});
|
|
119
107
|
});
|
|
@@ -124,31 +112,22 @@ var MysqlQueryRunner = /** @class */ (function (_super) {
|
|
|
124
112
|
*/
|
|
125
113
|
MysqlQueryRunner.prototype.commitTransaction = function () {
|
|
126
114
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
127
|
-
var beforeBroadcastResult, afterBroadcastResult;
|
|
128
115
|
return (0, tslib_1.__generator)(this, function (_a) {
|
|
129
116
|
switch (_a.label) {
|
|
130
117
|
case 0:
|
|
131
118
|
if (!this.isTransactionActive)
|
|
132
119
|
throw new TransactionNotStartedError_1.TransactionNotStartedError();
|
|
133
|
-
|
|
134
|
-
this.broadcaster.broadcastBeforeTransactionCommitEvent(beforeBroadcastResult);
|
|
135
|
-
if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
|
|
136
|
-
return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
|
|
120
|
+
return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionCommit')];
|
|
137
121
|
case 1:
|
|
138
122
|
_a.sent();
|
|
139
|
-
|
|
140
|
-
case 2:
|
|
141
|
-
case 3:
|
|
123
|
+
return [4 /*yield*/, this.query("COMMIT")];
|
|
124
|
+
case 2:
|
|
142
125
|
_a.sent();
|
|
143
126
|
this.isTransactionActive = false;
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 5];
|
|
147
|
-
return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
|
|
148
|
-
case 4:
|
|
127
|
+
return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionCommit')];
|
|
128
|
+
case 3:
|
|
149
129
|
_a.sent();
|
|
150
|
-
|
|
151
|
-
case 5: return [2 /*return*/];
|
|
130
|
+
return [2 /*return*/];
|
|
152
131
|
}
|
|
153
132
|
});
|
|
154
133
|
});
|
|
@@ -159,31 +138,22 @@ var MysqlQueryRunner = /** @class */ (function (_super) {
|
|
|
159
138
|
*/
|
|
160
139
|
MysqlQueryRunner.prototype.rollbackTransaction = function () {
|
|
161
140
|
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
162
|
-
var beforeBroadcastResult, afterBroadcastResult;
|
|
163
141
|
return (0, tslib_1.__generator)(this, function (_a) {
|
|
164
142
|
switch (_a.label) {
|
|
165
143
|
case 0:
|
|
166
144
|
if (!this.isTransactionActive)
|
|
167
145
|
throw new TransactionNotStartedError_1.TransactionNotStartedError();
|
|
168
|
-
|
|
169
|
-
this.broadcaster.broadcastBeforeTransactionRollbackEvent(beforeBroadcastResult);
|
|
170
|
-
if (!(beforeBroadcastResult.promises.length > 0)) return [3 /*break*/, 2];
|
|
171
|
-
return [4 /*yield*/, Promise.all(beforeBroadcastResult.promises)];
|
|
146
|
+
return [4 /*yield*/, this.broadcaster.broadcast('BeforeTransactionRollback')];
|
|
172
147
|
case 1:
|
|
173
148
|
_a.sent();
|
|
174
|
-
|
|
175
|
-
case 2:
|
|
176
|
-
case 3:
|
|
149
|
+
return [4 /*yield*/, this.query("ROLLBACK")];
|
|
150
|
+
case 2:
|
|
177
151
|
_a.sent();
|
|
178
152
|
this.isTransactionActive = false;
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
if (!(afterBroadcastResult.promises.length > 0)) return [3 /*break*/, 5];
|
|
182
|
-
return [4 /*yield*/, Promise.all(afterBroadcastResult.promises)];
|
|
183
|
-
case 4:
|
|
153
|
+
return [4 /*yield*/, this.broadcaster.broadcast('AfterTransactionRollback')];
|
|
154
|
+
case 3:
|
|
184
155
|
_a.sent();
|
|
185
|
-
|
|
186
|
-
case 5: return [2 /*return*/];
|
|
156
|
+
return [2 /*return*/];
|
|
187
157
|
}
|
|
188
158
|
});
|
|
189
159
|
});
|