@breautek/storm 4.5.0 → 4.6.1
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/CHANGELOG.md +12 -0
- package/docs/README.md +6 -5
- package/docs/classes/Application.md +26 -26
- package/docs/classes/BackendAuthenticationMiddleware.md +2 -2
- package/docs/classes/CORSMiddleware.md +6 -6
- package/docs/classes/ConfigLoader.md +1 -1
- package/docs/classes/Database.md +12 -12
- package/docs/classes/DatabaseCastObject.md +3 -3
- package/docs/classes/DatabaseConnection.md +26 -20
- package/docs/classes/DatabaseQueryError.md +10 -10
- package/docs/classes/DeadLockError.md +10 -10
- package/docs/classes/DiskSpaceError.md +10 -10
- package/docs/classes/DropTemporaryTableQuery.md +8 -8
- package/docs/classes/DumpStream.md +1 -1
- package/docs/classes/DuplicateEntryError.md +10 -10
- package/docs/classes/EntityNotFoundError.md +10 -10
- package/docs/classes/ExpiredTokenError.md +10 -10
- package/docs/classes/Handler.md +14 -14
- package/docs/classes/InternalError.md +10 -10
- package/docs/classes/InvalidCredentialsError.md +10 -10
- package/docs/classes/InvalidValueError.md +10 -10
- package/docs/classes/LineString.md +4 -4
- package/docs/classes/ManagedDatabaseConnection.md +26 -20
- package/docs/classes/Middleware.md +3 -3
- package/docs/classes/MissingConfigError.md +10 -10
- package/docs/classes/MissingParameterError.md +10 -10
- package/docs/classes/MySQLConnection.md +27 -21
- package/docs/classes/MySQLDatabase.md +13 -13
- package/docs/classes/NotImplementedError.md +10 -10
- package/docs/classes/Point.md +4 -4
- package/docs/classes/Polygon.md +4 -4
- package/docs/classes/Query.md +8 -8
- package/docs/classes/RawError.md +10 -10
- package/docs/classes/RawQuery.md +8 -8
- package/docs/classes/Request.md +18 -18
- package/docs/classes/Response.md +11 -11
- package/docs/classes/ResponseData.md +7 -7
- package/docs/classes/ServiceProvider.md +15 -15
- package/docs/classes/ServiceResponse.md +4 -4
- package/docs/classes/SetSessionVariableQuery.md +8 -8
- package/docs/classes/StormError.md +10 -10
- package/docs/classes/TemporaryTableQuery.md +8 -8
- package/docs/classes/Token.md +2 -2
- package/docs/classes/TokenManager.md +4 -4
- package/docs/classes/UnauthorizedAccessError.md +10 -10
- package/docs/enums/ErrorCode.md +9 -9
- package/docs/enums/ExitCode.md +2 -2
- package/docs/enums/HTTPMethod.md +4 -4
- package/docs/enums/IsolationLevel.md +52 -0
- package/docs/enums/JWTError.md +2 -2
- package/docs/enums/StatusCode.md +48 -48
- package/docs/interfaces/IConfig.md +8 -8
- package/docs/interfaces/IDatabaseConfig.md +6 -6
- package/docs/interfaces/IDatabaseConnection.md +21 -15
- package/docs/interfaces/IErrorResponse.md +5 -5
- package/docs/interfaces/IFormData.md +2 -2
- package/docs/interfaces/IHandler.md +1 -1
- package/docs/interfaces/IInsertQueryResult.md +3 -3
- package/docs/interfaces/IJWTVerifyOptions.md +1 -1
- package/docs/interfaces/IRequestResponse.md +2 -2
- package/docs/interfaces/ISetSessionVariableQueryInput.md +2 -2
- package/docs/interfaces/ITemporaryTableQueryInput.md +2 -2
- package/docs/interfaces/IUpdateQueryResult.md +2 -2
- package/jest.config.js +5 -1
- package/lib/DatabaseConnection.d.ts +2 -1
- package/lib/DatabaseConnection.js.map +1 -1
- package/lib/IDatabaseConnection.d.ts +2 -1
- package/lib/IsolationLevel.d.ts +6 -0
- package/lib/IsolationLevel.js +26 -0
- package/lib/IsolationLevel.js.map +1 -0
- package/lib/ManagedDatabaseConnection.d.ts +2 -1
- package/lib/ManagedDatabaseConnection.js +2 -2
- package/lib/ManagedDatabaseConnection.js.map +1 -1
- package/lib/MySQLConnection.d.ts +2 -1
- package/lib/MySQLConnection.js +15 -12
- package/lib/MySQLConnection.js.map +1 -1
- package/lib/api.d.ts +1 -0
- package/lib/api.js +4 -1
- package/lib/api.js.map +1 -1
- package/lib/private/SetIsolationLevelQuery.d.ts +5 -0
- package/lib/private/SetIsolationLevelQuery.js +42 -0
- package/lib/private/SetIsolationLevelQuery.js.map +1 -0
- package/package.json +1 -1
- package/src/DatabaseConnection.ts +2 -1
- package/src/IDatabaseConnection.ts +2 -1
- package/src/IsolationLevel.ts +22 -0
- package/src/ManagedDatabaseConnection.ts +3 -2
- package/src/MySQLConnection.ts +16 -12
- package/src/api.ts +1 -0
- package/src/private/SetIsolationLevelQuery.ts +39 -0
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
|
|
21
21
|
#### Defined in
|
|
22
22
|
|
|
23
|
-
[src/StormError.ts:37](https://github.com/breautek/storm/blob/
|
|
23
|
+
[src/StormError.ts:37](https://github.com/breautek/storm/blob/daf9166/src/StormError.ts#L37)
|
|
24
24
|
|
|
25
25
|
___
|
|
26
26
|
|
|
@@ -30,7 +30,7 @@ ___
|
|
|
30
30
|
|
|
31
31
|
#### Defined in
|
|
32
32
|
|
|
33
|
-
[src/StormError.ts:38](https://github.com/breautek/storm/blob/
|
|
33
|
+
[src/StormError.ts:38](https://github.com/breautek/storm/blob/daf9166/src/StormError.ts#L38)
|
|
34
34
|
|
|
35
35
|
___
|
|
36
36
|
|
|
@@ -40,7 +40,7 @@ ___
|
|
|
40
40
|
|
|
41
41
|
#### Defined in
|
|
42
42
|
|
|
43
|
-
[src/StormError.ts:36](https://github.com/breautek/storm/blob/
|
|
43
|
+
[src/StormError.ts:36](https://github.com/breautek/storm/blob/daf9166/src/StormError.ts#L36)
|
|
44
44
|
|
|
45
45
|
___
|
|
46
46
|
|
|
@@ -50,7 +50,7 @@ ___
|
|
|
50
50
|
|
|
51
51
|
#### Defined in
|
|
52
52
|
|
|
53
|
-
[src/StormError.ts:35](https://github.com/breautek/storm/blob/
|
|
53
|
+
[src/StormError.ts:35](https://github.com/breautek/storm/blob/daf9166/src/StormError.ts#L35)
|
|
54
54
|
|
|
55
55
|
___
|
|
56
56
|
|
|
@@ -60,4 +60,4 @@ ___
|
|
|
60
60
|
|
|
61
61
|
#### Defined in
|
|
62
62
|
|
|
63
|
-
[src/StormError.ts:34](https://github.com/breautek/storm/blob/
|
|
63
|
+
[src/StormError.ts:34](https://github.com/breautek/storm/blob/daf9166/src/StormError.ts#L34)
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
#### Defined in
|
|
19
19
|
|
|
20
|
-
[src/IFormData.ts:20](https://github.com/breautek/storm/blob/
|
|
20
|
+
[src/IFormData.ts:20](https://github.com/breautek/storm/blob/daf9166/src/IFormData.ts#L20)
|
|
21
21
|
|
|
22
22
|
___
|
|
23
23
|
|
|
@@ -27,4 +27,4 @@ ___
|
|
|
27
27
|
|
|
28
28
|
#### Defined in
|
|
29
29
|
|
|
30
|
-
[src/IFormData.ts:21](https://github.com/breautek/storm/blob/
|
|
30
|
+
[src/IFormData.ts:21](https://github.com/breautek/storm/blob/daf9166/src/IFormData.ts#L21)
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
#### Defined in
|
|
20
20
|
|
|
21
|
-
[src/IInsertQueryResult.ts:19](https://github.com/breautek/storm/blob/
|
|
21
|
+
[src/IInsertQueryResult.ts:19](https://github.com/breautek/storm/blob/daf9166/src/IInsertQueryResult.ts#L19)
|
|
22
22
|
|
|
23
23
|
___
|
|
24
24
|
|
|
@@ -28,7 +28,7 @@ ___
|
|
|
28
28
|
|
|
29
29
|
#### Defined in
|
|
30
30
|
|
|
31
|
-
[src/IInsertQueryResult.ts:20](https://github.com/breautek/storm/blob/
|
|
31
|
+
[src/IInsertQueryResult.ts:20](https://github.com/breautek/storm/blob/daf9166/src/IInsertQueryResult.ts#L20)
|
|
32
32
|
|
|
33
33
|
___
|
|
34
34
|
|
|
@@ -38,4 +38,4 @@ ___
|
|
|
38
38
|
|
|
39
39
|
#### Defined in
|
|
40
40
|
|
|
41
|
-
[src/IInsertQueryResult.ts:18](https://github.com/breautek/storm/blob/
|
|
41
|
+
[src/IInsertQueryResult.ts:18](https://github.com/breautek/storm/blob/daf9166/src/IInsertQueryResult.ts#L18)
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
|
|
25
25
|
#### Defined in
|
|
26
26
|
|
|
27
|
-
[src/IRequestResponse.ts:21](https://github.com/breautek/storm/blob/
|
|
27
|
+
[src/IRequestResponse.ts:21](https://github.com/breautek/storm/blob/daf9166/src/IRequestResponse.ts#L21)
|
|
28
28
|
|
|
29
29
|
___
|
|
30
30
|
|
|
@@ -34,4 +34,4 @@ ___
|
|
|
34
34
|
|
|
35
35
|
#### Defined in
|
|
36
36
|
|
|
37
|
-
[src/IRequestResponse.ts:22](https://github.com/breautek/storm/blob/
|
|
37
|
+
[src/IRequestResponse.ts:22](https://github.com/breautek/storm/blob/daf9166/src/IRequestResponse.ts#L22)
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
#### Defined in
|
|
19
19
|
|
|
20
|
-
[src/SetSessionVariableQuery.ts:7](https://github.com/breautek/storm/blob/
|
|
20
|
+
[src/SetSessionVariableQuery.ts:7](https://github.com/breautek/storm/blob/daf9166/src/SetSessionVariableQuery.ts#L7)
|
|
21
21
|
|
|
22
22
|
___
|
|
23
23
|
|
|
@@ -27,4 +27,4 @@ ___
|
|
|
27
27
|
|
|
28
28
|
#### Defined in
|
|
29
29
|
|
|
30
|
-
[src/SetSessionVariableQuery.ts:8](https://github.com/breautek/storm/blob/
|
|
30
|
+
[src/SetSessionVariableQuery.ts:8](https://github.com/breautek/storm/blob/daf9166/src/SetSessionVariableQuery.ts#L8)
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
#### Defined in
|
|
19
19
|
|
|
20
|
-
[src/TemporaryTableQuery.ts:22](https://github.com/breautek/storm/blob/
|
|
20
|
+
[src/TemporaryTableQuery.ts:22](https://github.com/breautek/storm/blob/daf9166/src/TemporaryTableQuery.ts#L22)
|
|
21
21
|
|
|
22
22
|
___
|
|
23
23
|
|
|
@@ -27,4 +27,4 @@ ___
|
|
|
27
27
|
|
|
28
28
|
#### Defined in
|
|
29
29
|
|
|
30
|
-
[src/TemporaryTableQuery.ts:21](https://github.com/breautek/storm/blob/
|
|
30
|
+
[src/TemporaryTableQuery.ts:21](https://github.com/breautek/storm/blob/daf9166/src/TemporaryTableQuery.ts#L21)
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
#### Defined in
|
|
19
19
|
|
|
20
|
-
[src/IUpdateQueryResult.ts:18](https://github.com/breautek/storm/blob/
|
|
20
|
+
[src/IUpdateQueryResult.ts:18](https://github.com/breautek/storm/blob/daf9166/src/IUpdateQueryResult.ts#L18)
|
|
21
21
|
|
|
22
22
|
___
|
|
23
23
|
|
|
@@ -27,4 +27,4 @@ ___
|
|
|
27
27
|
|
|
28
28
|
#### Defined in
|
|
29
29
|
|
|
30
|
-
[src/IUpdateQueryResult.ts:19](https://github.com/breautek/storm/blob/
|
|
30
|
+
[src/IUpdateQueryResult.ts:19](https://github.com/breautek/storm/blob/daf9166/src/IUpdateQueryResult.ts#L19)
|
package/jest.config.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { Readable } from 'stream';
|
|
3
3
|
import { IDatabaseConnection } from './IDatabaseConnection';
|
|
4
4
|
import { Query } from './Query';
|
|
5
|
+
import { IsolationLevel } from './IsolationLevel';
|
|
5
6
|
export declare const LINGER_WARNING: number;
|
|
6
7
|
export declare const DEFAULT_QUERY_TIMEOUT: number;
|
|
7
8
|
/**
|
|
@@ -86,7 +87,7 @@ export declare abstract class DatabaseConnection<TAPI> implements IDatabaseConne
|
|
|
86
87
|
* @async
|
|
87
88
|
* @returns Promise<void>
|
|
88
89
|
*/
|
|
89
|
-
abstract startTransaction(): Promise<void>;
|
|
90
|
+
abstract startTransaction(isolationLevel?: IsolationLevel): Promise<void>;
|
|
90
91
|
/**
|
|
91
92
|
* Implementation method to determine if the connection is in an active transaction.
|
|
92
93
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatabaseConnection.js","sourceRoot":"","sources":["../src/DatabaseConnection.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAEF,yCAEoB;
|
|
1
|
+
{"version":3,"file":"DatabaseConnection.js","sourceRoot":"","sources":["../src/DatabaseConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { Readable } from 'stream';
|
|
3
|
+
import { IsolationLevel } from './IsolationLevel';
|
|
3
4
|
import { Query } from './Query';
|
|
4
5
|
export interface IDatabaseConnection {
|
|
5
6
|
setInstantiationStack(stack: string): void;
|
|
@@ -12,7 +13,7 @@ export interface IDatabaseConnection {
|
|
|
12
13
|
stream(query: string | Query, params?: any, streamOptions?: any): Readable;
|
|
13
14
|
close(forceClose?: boolean): Promise<void>;
|
|
14
15
|
isClosed(): boolean;
|
|
15
|
-
startTransaction(): Promise<void>;
|
|
16
|
+
startTransaction(level?: IsolationLevel): Promise<void>;
|
|
16
17
|
isTransaction(): boolean;
|
|
17
18
|
commit(): Promise<void>;
|
|
18
19
|
rollback(): Promise<void>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
Copyright 2017-2022 Norman Breau
|
|
4
|
+
|
|
5
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
you may not use this file except in compliance with the License.
|
|
7
|
+
You may obtain a copy of the License at
|
|
8
|
+
|
|
9
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
|
|
11
|
+
Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
See the License for the specific language governing permissions and
|
|
15
|
+
limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.IsolationLevel = void 0;
|
|
19
|
+
var IsolationLevel;
|
|
20
|
+
(function (IsolationLevel) {
|
|
21
|
+
IsolationLevel[IsolationLevel["REPEATABLE_READ"] = 1] = "REPEATABLE_READ";
|
|
22
|
+
IsolationLevel[IsolationLevel["READ_COMMITTED"] = 2] = "READ_COMMITTED";
|
|
23
|
+
IsolationLevel[IsolationLevel["READ_UNCOMMITTED"] = 3] = "READ_UNCOMMITTED";
|
|
24
|
+
IsolationLevel[IsolationLevel["SERIALIZABLE"] = 4] = "SERIALIZABLE";
|
|
25
|
+
})(IsolationLevel = exports.IsolationLevel || (exports.IsolationLevel = {}));
|
|
26
|
+
//# sourceMappingURL=IsolationLevel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IsolationLevel.js","sourceRoot":"","sources":["../src/IsolationLevel.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAEF,IAAY,cAKX;AALD,WAAY,cAAc;IACtB,yEAAmB,CAAA;IACnB,uEAAc,CAAA;IACd,2EAAgB,CAAA;IAChB,mEAAY,CAAA;AAChB,CAAC,EALW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAKzB"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { IDatabaseConnection } from './IDatabaseConnection';
|
|
3
3
|
import { Readable } from 'stream';
|
|
4
4
|
import { Query } from './Query';
|
|
5
|
+
import { IsolationLevel } from './IsolationLevel';
|
|
5
6
|
export declare class ManagedDatabaseConnection implements IDatabaseConnection {
|
|
6
7
|
private $connection;
|
|
7
8
|
/**
|
|
@@ -26,7 +27,7 @@ export declare class ManagedDatabaseConnection implements IDatabaseConnection {
|
|
|
26
27
|
query(query: Query, params?: any): Promise<any>;
|
|
27
28
|
stream(query: Query, params?: any, streamOptions?: any): Readable;
|
|
28
29
|
close(forceClose?: boolean): Promise<void>;
|
|
29
|
-
startTransaction(): Promise<void>;
|
|
30
|
+
startTransaction(isolationLevel?: IsolationLevel): Promise<void>;
|
|
30
31
|
isTransaction(): boolean;
|
|
31
32
|
commit(): Promise<void>;
|
|
32
33
|
rollback(): Promise<void>;
|
|
@@ -133,11 +133,11 @@ class ManagedDatabaseConnection {
|
|
|
133
133
|
}
|
|
134
134
|
});
|
|
135
135
|
}
|
|
136
|
-
startTransaction() {
|
|
136
|
+
startTransaction(isolationLevel) {
|
|
137
137
|
return new Promise((resolve, reject) => {
|
|
138
138
|
this.$getConnection().then((connection) => {
|
|
139
139
|
if (!this.isManaged()) {
|
|
140
|
-
connection.startTransaction().then(resolve).catch(reject);
|
|
140
|
+
connection.startTransaction(isolationLevel).then(resolve).catch(reject);
|
|
141
141
|
}
|
|
142
142
|
else {
|
|
143
143
|
resolve();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManagedDatabaseConnection.js","sourceRoot":"","sources":["../src/ManagedDatabaseConnection.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAGF,yCAAuC;
|
|
1
|
+
{"version":3,"file":"ManagedDatabaseConnection.js","sourceRoot":"","sources":["../src/ManagedDatabaseConnection.ts"],"names":[],"mappings":"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"}
|
package/lib/MySQLConnection.d.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { DatabaseConnection } from './DatabaseConnection';
|
|
3
3
|
import * as MySQL from 'mysql';
|
|
4
4
|
import { Readable } from 'stream';
|
|
5
|
+
import { IsolationLevel } from './IsolationLevel';
|
|
5
6
|
export declare class MySQLConnection extends DatabaseConnection<MySQL.PoolConnection> {
|
|
6
7
|
private $transaction;
|
|
7
8
|
private $opened;
|
|
@@ -10,7 +11,7 @@ export declare class MySQLConnection extends DatabaseConnection<MySQL.PoolConnec
|
|
|
10
11
|
isOpen(): boolean;
|
|
11
12
|
protected _query(query: string, params?: any): Promise<any>;
|
|
12
13
|
protected _stream(query: string, params?: any, streamOptions?: any): Readable;
|
|
13
|
-
startTransaction(): Promise<void>;
|
|
14
|
+
startTransaction(isolationLevel?: IsolationLevel): Promise<void>;
|
|
14
15
|
endTransaction(requiresRollback?: boolean): Promise<void>;
|
|
15
16
|
rollback(): Promise<void>;
|
|
16
17
|
commit(): Promise<void>;
|
package/lib/MySQLConnection.js
CHANGED
|
@@ -25,6 +25,7 @@ const RollbackQuery_1 = require("./private/RollbackQuery");
|
|
|
25
25
|
const SQLFormatter = require("sql-formatter");
|
|
26
26
|
const logger_1 = require("@arashi/logger");
|
|
27
27
|
const DeadLockError_1 = require("./DeadLockError");
|
|
28
|
+
const SetIsolationLevelQuery_1 = require("./private/SetIsolationLevelQuery");
|
|
28
29
|
const DEFAULT_HIGH_WATERMARK = 512; // in number of result objects
|
|
29
30
|
const TAG = 'MySQLConnection';
|
|
30
31
|
const SQL_FORMATTING_OPTIONS = {
|
|
@@ -117,23 +118,25 @@ class MySQLConnection extends DatabaseConnection_1.DatabaseConnection {
|
|
|
117
118
|
(0, instance_1.getInstance)().getLogger().trace(TAG, SQLFormatter.format(queryObject.sql, SQL_FORMATTING_OPTIONS));
|
|
118
119
|
return queryObject.stream(streamOptions);
|
|
119
120
|
}
|
|
120
|
-
startTransaction() {
|
|
121
|
+
async startTransaction(isolationLevel) {
|
|
121
122
|
if (this.isReadOnly()) {
|
|
122
|
-
|
|
123
|
+
throw new Error('A readonly connection cannot start a transaction.');
|
|
123
124
|
}
|
|
124
125
|
if (this.isTransaction()) {
|
|
125
|
-
|
|
126
|
+
throw new Error('Connection is already in a transaction.');
|
|
126
127
|
}
|
|
127
128
|
this.$transaction = true;
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
129
|
+
try {
|
|
130
|
+
if (isolationLevel) {
|
|
131
|
+
await new SetIsolationLevelQuery_1.SetIsolationLevelQuery(isolationLevel).execute(this);
|
|
132
|
+
}
|
|
133
|
+
await startTransactionQuery.execute(this);
|
|
134
|
+
}
|
|
135
|
+
catch (ex) {
|
|
136
|
+
this.$transaction = false;
|
|
137
|
+
(0, instance_1.getInstance)().getLogger().error(TAG, ex);
|
|
138
|
+
throw ex;
|
|
139
|
+
}
|
|
137
140
|
}
|
|
138
141
|
endTransaction(requiresRollback = false) {
|
|
139
142
|
return (requiresRollback) ? this.rollback() : this.commit();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MySQLConnection.js","sourceRoot":"","sources":["../src/MySQLConnection.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MySQLConnection.js","sourceRoot":"","sources":["../src/MySQLConnection.ts"],"names":[],"mappings":"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"}
|
package/lib/api.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export { IInsertQueryResult } from './IInsertQueryResult';
|
|
|
14
14
|
export { IDeleteQueryResult } from './IDeleteQueryResult';
|
|
15
15
|
export { IUpdateQueryResult } from './IUpdateQueryResult';
|
|
16
16
|
export { SetSessionVariableQuery, ISetSessionVariableQueryInput } from './SetSessionVariableQuery';
|
|
17
|
+
export { IsolationLevel } from './IsolationLevel';
|
|
17
18
|
export { ErrorCode } from './ErrorCode';
|
|
18
19
|
export { RawError } from './RawError';
|
|
19
20
|
export { StormError, IErrorResponse, IAdditionalErrorDetails } from './StormError';
|
package/lib/api.js
CHANGED
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.
|
|
18
|
+
exports.Polygon = exports.LineString = exports.Point = exports.DatabaseCastObject = exports.DumpStream = exports.ExitCode = exports.TokenManager = exports.Token = exports.BackendAuthenticationMiddleware = exports.ServiceResponse = exports.HTTPMethod = exports.ServiceProvider = exports.CORSMiddleware = exports.Handler = exports.ResponseData = exports.Response = exports.Request = exports.Middleware = exports.StatusCode = exports.DeadLockError = exports.NotImplementedError = exports.DatabaseQueryError = exports.MissingConfigError = exports.DuplicateEntryError = exports.DiskSpaceError = exports.EntityNotFoundError = exports.UnauthorizedAccessError = exports.InvalidValueError = exports.ExpiredTokenError = exports.InternalError = exports.InvalidCredentialsError = exports.MissingParameterError = exports.JWTError = exports.StormError = exports.RawError = exports.ErrorCode = exports.IsolationLevel = exports.SetSessionVariableQuery = exports.RawQuery = exports.DropTemporaryTableQuery = exports.TemporaryTableQuery = exports.Query = exports.ManagedDatabaseConnection = exports.MySQLConnection = exports.MySQLDatabase = exports.DatabaseConnection = exports.Database = exports.ConfigLoader = exports.Application = exports.getInstance = void 0;
|
|
19
|
+
exports.formidable = void 0;
|
|
19
20
|
// Application
|
|
20
21
|
var instance_1 = require("./instance");
|
|
21
22
|
Object.defineProperty(exports, "getInstance", { enumerable: true, get: function () { return instance_1.getInstance; } });
|
|
@@ -45,6 +46,8 @@ var RawQuery_1 = require("./RawQuery");
|
|
|
45
46
|
Object.defineProperty(exports, "RawQuery", { enumerable: true, get: function () { return RawQuery_1.RawQuery; } });
|
|
46
47
|
var SetSessionVariableQuery_1 = require("./SetSessionVariableQuery");
|
|
47
48
|
Object.defineProperty(exports, "SetSessionVariableQuery", { enumerable: true, get: function () { return SetSessionVariableQuery_1.SetSessionVariableQuery; } });
|
|
49
|
+
var IsolationLevel_1 = require("./IsolationLevel");
|
|
50
|
+
Object.defineProperty(exports, "IsolationLevel", { enumerable: true, get: function () { return IsolationLevel_1.IsolationLevel; } });
|
|
48
51
|
// Errors
|
|
49
52
|
var ErrorCode_1 = require("./ErrorCode");
|
|
50
53
|
Object.defineProperty(exports, "ErrorCode", { enumerable: true, get: function () { return ErrorCode_1.ErrorCode; } });
|
package/lib/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;;AAEF,cAAc;AACd,uCAAuC;AAA/B,uGAAA,WAAW,OAAA;AACnB,6CAA0C;AAAlC,0GAAA,WAAW,OAAA;AAEnB,SAAS;AACT,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AAEpB,WAAW;AACX,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,yEAAsE;AAA9D,sIAAA,yBAAyB,OAAA;AACjC,iCAA8B;AAAtB,8FAAA,KAAK,OAAA;AACb,6DAAqF;AAA7E,0HAAA,mBAAmB,OAAA;AAC3B,qEAAkE;AAA1D,kIAAA,uBAAuB,OAAA;AAC/B,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAIhB,qEAAiG;AAAzF,kIAAA,uBAAuB,OAAA;AAC/B,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AAEtB,SAAS;AACT,yCAAsC;AAA9B,sGAAA,SAAS,OAAA;AACjB,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,2CAIsB;AAHlB,wGAAA,UAAU,OAAA;AAId,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,iEAA8D;AAAtD,8HAAA,qBAAqB,OAAA;AAC7B,qEAAkE;AAA1D,kIAAA,uBAAuB,OAAA;AAC/B,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AACrB,yDAAsD;AAA9C,sHAAA,iBAAiB,OAAA;AACzB,yDAAsD;AAA9C,sHAAA,iBAAiB,OAAA;AACzB,qEAAkE;AAA1D,kIAAA,uBAAuB,OAAA;AAC/B,6DAA0D;AAAlD,0HAAA,mBAAmB,OAAA;AAC3B,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AACtB,6DAA0D;AAAlD,0HAAA,mBAAmB,OAAA;AAC3B,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,6DAA0D;AAAlD,0HAAA,mBAAmB,OAAA;AAC3B,iDAA8C;AAAtC,8GAAA,aAAa,OAAA;AAErB,OAAO;AACP,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,qCAAiD;AAAzC,kGAAA,OAAO,OAAA;AACf,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AACpB,qCAAmE;AAA3D,kGAAA,OAAO,OAAA;AACf,mDAAgD;AAAxC,gHAAA,cAAc,OAAA;AACtB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,qDAAkD;AAA1C,kHAAA,eAAe,OAAA;AACvB,qFAAkF;AAA1E,kJAAA,+BAA+B,OAAA;AAavC,QAAQ;AACR,iCAA8B;AAAtB,8FAAA,KAAK,OAAA;AACb,+CAA4C;AAApC,4GAAA,YAAY,OAAA;AAEpB,QAAQ;AACR,uCAAoC;AAA5B,oGAAA,QAAQ,OAAA;AAChB,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAIlB,2DAAwD;AAAhD,wHAAA,kBAAkB,OAAA;AAC1B,iCAA8B;AAAtB,8FAAA,KAAK,OAAA;AACb,2CAAwC;AAAhC,wGAAA,UAAU,OAAA;AAClB,qCAAkC;AAA1B,kGAAA,OAAO,OAAA;AAEf,cAAc;AACd,yCAAyC;AACjC,gCAAU"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
Copyright 2017-2021 Norman Breau
|
|
4
|
+
|
|
5
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
you may not use this file except in compliance with the License.
|
|
7
|
+
You may obtain a copy of the License at
|
|
8
|
+
|
|
9
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
|
|
11
|
+
Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
See the License for the specific language governing permissions and
|
|
15
|
+
limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.SetIsolationLevelQuery = void 0;
|
|
19
|
+
const IsolationLevel_1 = require("../IsolationLevel");
|
|
20
|
+
const Query_1 = require("../Query");
|
|
21
|
+
class SetIsolationLevelQuery extends Query_1.Query {
|
|
22
|
+
_getQuery() {
|
|
23
|
+
let level;
|
|
24
|
+
switch (this.getParameters()) {
|
|
25
|
+
case IsolationLevel_1.IsolationLevel.READ_COMMITTED:
|
|
26
|
+
level = 'READ COMMITTED';
|
|
27
|
+
break;
|
|
28
|
+
case IsolationLevel_1.IsolationLevel.READ_UNCOMMITTED:
|
|
29
|
+
level = 'READ UNCOMMITTED';
|
|
30
|
+
break;
|
|
31
|
+
case IsolationLevel_1.IsolationLevel.REPEATABLE_READ:
|
|
32
|
+
level = 'REPEATABLE READ';
|
|
33
|
+
break;
|
|
34
|
+
case IsolationLevel_1.IsolationLevel.SERIALIZABLE:
|
|
35
|
+
level = 'SERIALIZABLE';
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
return `SET TRANSACTION ISOLATION LEVEL ${level}`;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.SetIsolationLevelQuery = SetIsolationLevelQuery;
|
|
42
|
+
//# sourceMappingURL=SetIsolationLevelQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SetIsolationLevelQuery.js","sourceRoot":"","sources":["../../src/private/SetIsolationLevelQuery.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;EAcE;;;AAEF,sDAAmD;AACnD,oCAA+B;AAE/B,MAAa,sBAAuB,SAAQ,aAA2B;IACzD,SAAS;QACf,IAAI,KAAa,CAAC;QAClB,QAAQ,IAAI,CAAC,aAAa,EAAE,EAAE;YAC1B,KAAK,+BAAc,CAAC,cAAc;gBAC9B,KAAK,GAAG,gBAAgB,CAAC;gBACzB,MAAM;YACV,KAAK,+BAAc,CAAC,gBAAgB;gBAChC,KAAK,GAAG,kBAAkB,CAAC;gBAC3B,MAAM;YACV,KAAK,+BAAc,CAAC,eAAe;gBAC/B,KAAK,GAAG,iBAAiB,CAAC;gBAC1B,MAAM;YACV,KAAK,+BAAc,CAAC,YAAY;gBAC5B,KAAK,GAAG,cAAc,CAAC;gBACvB,MAAM;SACb;QACD,OAAO,mCAAmC,KAAK,EAAE,CAAC;IACtD,CAAC;CACJ;AAnBD,wDAmBC"}
|
package/package.json
CHANGED
|
@@ -21,6 +21,7 @@ import {Readable} from 'stream';
|
|
|
21
21
|
import {IDatabaseConnection} from './IDatabaseConnection';
|
|
22
22
|
import {Query} from './Query';
|
|
23
23
|
import { IConfig } from './IConfig';
|
|
24
|
+
import { IsolationLevel } from './IsolationLevel';
|
|
24
25
|
|
|
25
26
|
export const LINGER_WARNING: number = 10000;
|
|
26
27
|
export const DEFAULT_QUERY_TIMEOUT: number = 3600000;
|
|
@@ -189,7 +190,7 @@ export abstract class DatabaseConnection<TAPI> implements IDatabaseConnection {
|
|
|
189
190
|
* @async
|
|
190
191
|
* @returns Promise<void>
|
|
191
192
|
*/
|
|
192
|
-
public abstract startTransaction(): Promise<void>;
|
|
193
|
+
public abstract startTransaction(isolationLevel?: IsolationLevel): Promise<void>;
|
|
193
194
|
|
|
194
195
|
/**
|
|
195
196
|
* Implementation method to determine if the connection is in an active transaction.
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import { Readable } from 'stream';
|
|
18
|
+
import { IsolationLevel } from './IsolationLevel';
|
|
18
19
|
import { Query } from './Query';
|
|
19
20
|
|
|
20
21
|
export interface IDatabaseConnection {
|
|
@@ -28,7 +29,7 @@ export interface IDatabaseConnection {
|
|
|
28
29
|
stream(query: string | Query, params?: any, streamOptions?: any): Readable;
|
|
29
30
|
close(forceClose?: boolean): Promise<void>;
|
|
30
31
|
isClosed(): boolean;
|
|
31
|
-
startTransaction(): Promise<void>;
|
|
32
|
+
startTransaction(level?: IsolationLevel): Promise<void>;
|
|
32
33
|
isTransaction(): boolean;
|
|
33
34
|
commit(): Promise<void>;
|
|
34
35
|
rollback(): Promise<void>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Copyright 2017-2022 Norman Breau
|
|
3
|
+
|
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
you may not use this file except in compliance with the License.
|
|
6
|
+
You may obtain a copy of the License at
|
|
7
|
+
|
|
8
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
|
|
10
|
+
Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
See the License for the specific language governing permissions and
|
|
14
|
+
limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
export enum IsolationLevel {
|
|
18
|
+
REPEATABLE_READ = 1,
|
|
19
|
+
READ_COMMITTED,
|
|
20
|
+
READ_UNCOMMITTED,
|
|
21
|
+
SERIALIZABLE
|
|
22
|
+
}
|
|
@@ -18,6 +18,7 @@ import {IDatabaseConnection} from './IDatabaseConnection';
|
|
|
18
18
|
import {getInstance} from './instance';
|
|
19
19
|
import {Readable} from 'stream';
|
|
20
20
|
import { Query } from './Query';
|
|
21
|
+
import { IsolationLevel } from './IsolationLevel';
|
|
21
22
|
|
|
22
23
|
const TAG: string = 'ManagedDatabaseConnection';
|
|
23
24
|
|
|
@@ -164,11 +165,11 @@ export class ManagedDatabaseConnection implements IDatabaseConnection {
|
|
|
164
165
|
});
|
|
165
166
|
}
|
|
166
167
|
|
|
167
|
-
public startTransaction(): Promise<void> {
|
|
168
|
+
public startTransaction(isolationLevel?: IsolationLevel): Promise<void> {
|
|
168
169
|
return new Promise<void>((resolve, reject) => {
|
|
169
170
|
this.$getConnection().then((connection: IDatabaseConnection) => {
|
|
170
171
|
if (!this.isManaged()) {
|
|
171
|
-
connection.startTransaction().then(resolve).catch(reject);
|
|
172
|
+
connection.startTransaction(isolationLevel).then(resolve).catch(reject);
|
|
172
173
|
}
|
|
173
174
|
else {
|
|
174
175
|
resolve();
|