@l-v-yonsama/multi-platform-database-drivers 0.1.34 → 0.1.36
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/built/src/drivers/AwsBaseDriver.d.ts +24 -0
- package/built/src/drivers/AwsBaseDriver.js +89 -0
- package/built/src/drivers/AwsBaseDriver.js.map +1 -0
- package/built/src/drivers/AwsCloudwatchDriver.d.ts +28 -0
- package/built/src/drivers/AwsCloudwatchDriver.js +192 -0
- package/built/src/drivers/AwsCloudwatchDriver.js.map +1 -0
- package/built/src/drivers/AwsS3Driver.d.ts +13 -10
- package/built/src/drivers/AwsS3Driver.js +37 -44
- package/built/src/drivers/AwsS3Driver.js.map +1 -1
- package/built/src/drivers/AwsSQSDriver.d.ts +21 -14
- package/built/src/drivers/AwsSQSDriver.js +50 -54
- package/built/src/drivers/AwsSQSDriver.js.map +1 -1
- package/built/src/drivers/BaseDriver.d.ts +5 -6
- package/built/src/drivers/BaseDriver.js +8 -20
- package/built/src/drivers/BaseDriver.js.map +1 -1
- package/built/src/drivers/DBDriverResolver.js +4 -0
- package/built/src/drivers/DBDriverResolver.js.map +1 -1
- package/built/src/drivers/MySQLDriver.d.ts +4 -3
- package/built/src/drivers/MySQLDriver.js +29 -49
- package/built/src/drivers/MySQLDriver.js.map +1 -1
- package/built/src/drivers/PostgresDriver.d.ts +4 -3
- package/built/src/drivers/PostgresDriver.js +21 -46
- package/built/src/drivers/PostgresDriver.js.map +1 -1
- package/built/src/drivers/RDSBaseDriver.d.ts +13 -0
- package/built/src/drivers/RDSBaseDriver.js +51 -0
- package/built/src/drivers/RDSBaseDriver.js.map +1 -0
- package/built/src/drivers/RedisDriver.d.ts +4 -4
- package/built/src/drivers/RedisDriver.js +16 -6
- package/built/src/drivers/RedisDriver.js.map +1 -1
- package/built/src/drivers/index.d.ts +1 -0
- package/built/src/drivers/index.js +1 -0
- package/built/src/drivers/index.js.map +1 -1
- package/built/src/example.d.ts +1 -0
- package/built/src/example.js +25 -0
- package/built/src/example.js.map +1 -0
- package/built/src/resource/DbResource.d.ts +37 -27
- package/built/src/resource/DbResource.js +10 -123
- package/built/src/resource/DbResource.js.map +1 -1
- package/built/src/resource/ResultSetDataHolder.d.ts +0 -2
- package/built/src/resource/ResultSetDataHolder.js +1 -14
- package/built/src/resource/ResultSetDataHolder.js.map +1 -1
- package/built/src/types/AwsRegion.js +1 -1
- package/built/src/types/AwsRegion.js.map +1 -1
- package/built/src/types/AwsSQSAttributes.d.ts +18 -0
- package/built/src/types/AwsSQSAttributes.js +3 -0
- package/built/src/types/AwsSQSAttributes.js.map +1 -0
- package/built/src/types/DBType.d.ts +5 -2
- package/built/src/types/DBType.js +22 -11
- package/built/src/types/DBType.js.map +1 -1
- package/built/src/types/RedisKeyType.d.ts +1 -0
- package/built/src/types/RedisKeyType.js +2 -1
- package/built/src/types/RedisKeyType.js.map +1 -1
- package/built/src/types/ScanParams.d.ts +1 -2
- package/built/src/types/index.d.ts +1 -0
- package/built/src/types/index.js +1 -0
- package/built/src/types/index.js.map +1 -1
- package/package.json +4 -1
|
@@ -4,78 +4,71 @@ exports.AwsSQSDriver = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const client_sqs_1 = require("@aws-sdk/client-sqs");
|
|
6
6
|
const url = tslib_1.__importStar(require("url"));
|
|
7
|
-
const BaseDriver_1 = require("./BaseDriver");
|
|
8
7
|
const resource_1 = require("../resource");
|
|
9
8
|
const types_1 = require("../types");
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
throw new Error('Method not implemented.');
|
|
13
|
-
}
|
|
9
|
+
const AwsBaseDriver_1 = require("./AwsBaseDriver");
|
|
10
|
+
class AwsSQSDriver extends AwsBaseDriver_1.AwsBaseDriver {
|
|
14
11
|
constructor(conRes) {
|
|
15
12
|
super(conRes);
|
|
16
13
|
}
|
|
17
14
|
connectSub() {
|
|
18
15
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
19
|
-
this.
|
|
20
|
-
this.config.region = types_1.AwsRegion.usWest1;
|
|
21
|
-
if (this.conRes.region) {
|
|
22
|
-
this.config.region = this.conRes.region;
|
|
23
|
-
}
|
|
24
|
-
this.config.credentials = {
|
|
25
|
-
accessKeyId: this.conRes.user,
|
|
26
|
-
secretAccessKey: this.conRes.password,
|
|
27
|
-
};
|
|
28
|
-
if (this.conRes.url) {
|
|
29
|
-
this.config.endpoint = this.conRes.url;
|
|
30
|
-
}
|
|
31
|
-
this.sqsClient = new client_sqs_1.SQSClient(this.config);
|
|
16
|
+
this.sqsClient = new client_sqs_1.SQSClient(this.createClientConfig());
|
|
32
17
|
return this.test(false);
|
|
33
18
|
});
|
|
34
19
|
}
|
|
35
|
-
|
|
20
|
+
testSub() {
|
|
36
21
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
37
22
|
let errorReason = '';
|
|
38
|
-
if (with_connect) {
|
|
39
|
-
errorReason = yield this.connect();
|
|
40
|
-
}
|
|
41
23
|
if (this.sqsClient) {
|
|
42
24
|
try {
|
|
43
|
-
|
|
25
|
+
yield this.sqsClient.send(new client_sqs_1.ListQueuesCommand({ MaxResults: 1 }));
|
|
44
26
|
}
|
|
45
27
|
catch (e) {
|
|
46
28
|
errorReason = e.message;
|
|
47
29
|
}
|
|
48
30
|
}
|
|
49
|
-
if (with_connect) {
|
|
50
|
-
yield this.disconnect();
|
|
51
|
-
}
|
|
52
31
|
return errorReason;
|
|
53
32
|
});
|
|
54
33
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
this.
|
|
58
|
-
|
|
34
|
+
receiveMessages(params) {
|
|
35
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
36
|
+
const { Messages } = yield this.sqsClient.send(new client_sqs_1.ReceiveMessageCommand(params));
|
|
37
|
+
return Messages.map((it) => {
|
|
38
|
+
var _a, _b;
|
|
39
|
+
const params = {
|
|
40
|
+
body: it.Body,
|
|
41
|
+
receiptHandle: it.ReceiptHandle,
|
|
42
|
+
md5OfBody: it.MD5OfBody,
|
|
43
|
+
sentTimestamp: this.toDate(this.toNum((_a = it.Attributes) === null || _a === void 0 ? void 0 : _a.SentTimestamp)),
|
|
44
|
+
approximateFirstReceiveTimestamp: this.toDate(this.toNum((_b = it.Attributes) === null || _b === void 0 ? void 0 : _b.ApproximateFirstReceiveTimestamp)),
|
|
45
|
+
};
|
|
46
|
+
return new resource_1.DbKey(it.MessageId, params);
|
|
47
|
+
});
|
|
48
|
+
});
|
|
59
49
|
}
|
|
60
50
|
scan(params) {
|
|
61
51
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
62
52
|
const { target, limit, keyword } = params;
|
|
63
|
-
|
|
53
|
+
let keys = yield this.receiveMessages({
|
|
64
54
|
QueueUrl: target,
|
|
65
55
|
MaxNumberOfMessages: limit,
|
|
66
|
-
|
|
67
|
-
|
|
56
|
+
AttributeNames: ['SentTimestamp', 'ApproximateFirstReceiveTimestamp'],
|
|
57
|
+
});
|
|
68
58
|
if (keyword) {
|
|
69
|
-
|
|
59
|
+
keys = keys.filter((it) => it.meta.body.includes(keyword) || it.name.includes(keyword));
|
|
70
60
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
61
|
+
const rdh = new resource_1.ResultSetDataHolder([
|
|
62
|
+
new resource_1.RdhKey('messageId', types_1.GeneralColumnType.TEXT),
|
|
63
|
+
new resource_1.RdhKey('body', types_1.GeneralColumnType.TEXT),
|
|
64
|
+
new resource_1.RdhKey('receiptHandle', types_1.GeneralColumnType.TEXT),
|
|
65
|
+
new resource_1.RdhKey('sentTimestamp', types_1.GeneralColumnType.TIMESTAMP),
|
|
66
|
+
new resource_1.RdhKey('approximateFirstReceiveTimestamp', types_1.GeneralColumnType.TIMESTAMP),
|
|
67
|
+
]);
|
|
68
|
+
keys.forEach((dbKey) => {
|
|
69
|
+
rdh.addRow(Object.assign(Object.assign({}, dbKey.params), { messageId: dbKey.getName() }));
|
|
78
70
|
});
|
|
71
|
+
return rdh;
|
|
79
72
|
});
|
|
80
73
|
}
|
|
81
74
|
getInfomationSchemas() {
|
|
@@ -101,8 +94,7 @@ class AwsSQSDriver extends BaseDriver_1.BaseDriver {
|
|
|
101
94
|
QueueUrl: queueUrl,
|
|
102
95
|
AttributeNames: ['All'],
|
|
103
96
|
}));
|
|
104
|
-
const
|
|
105
|
-
const dbQueue = new resource_1.DbSQSQueue(name, queueUrl, attributes);
|
|
97
|
+
const dbQueue = new resource_1.DbSQSQueue(name, queueUrl, this.toAttributes(attr === null || attr === void 0 ? void 0 : attr.Attributes));
|
|
106
98
|
dbDatabase.addChild(dbQueue);
|
|
107
99
|
}
|
|
108
100
|
}
|
|
@@ -116,29 +108,33 @@ class AwsSQSDriver extends BaseDriver_1.BaseDriver {
|
|
|
116
108
|
return dbResources;
|
|
117
109
|
});
|
|
118
110
|
}
|
|
119
|
-
|
|
111
|
+
toAttributes(it) {
|
|
112
|
+
return Object.assign(Object.assign({}, it), { ApproximateNumberOfMessages: this.toNum(it.ApproximateNumberOfMessages), ApproximateNumberOfMessagesNotVisible: this.toNum(it.ApproximateNumberOfMessagesNotVisible), ApproximateNumberOfMessagesDelayed: this.toNum(it.ApproximateNumberOfMessagesDelayed), DelaySeconds: this.toNum(it.DelaySeconds), MaximumMessageSize: this.toNum(it.MaximumMessageSize), MessageRetentionPeriod: this.toNum(it.MessageRetentionPeriod), ReceiveMessageWaitTimeSeconds: this.toNum(it.ReceiveMessageWaitTimeSeconds), VisibilityTimeout: this.toNum(it.VisibilityTimeout), CreatedTimestamp: this.toNum(it.CreatedTimestamp), LastModifiedTimestamp: this.toNum(it.LastModifiedTimestamp), FifoQueue: this.toBoolean(it.FifoQueue), ContentBasedDeduplication: this.toBoolean(it.ContentBasedDeduplication) });
|
|
113
|
+
}
|
|
114
|
+
createQueue({ name, attributes, }) {
|
|
120
115
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
121
|
-
|
|
116
|
+
const { QueueUrl } = yield this.sqsClient.send(new client_sqs_1.CreateQueueCommand({ QueueName: name, Attributes: attributes }));
|
|
117
|
+
return QueueUrl;
|
|
122
118
|
});
|
|
123
119
|
}
|
|
124
|
-
|
|
120
|
+
deleteQueue({ url }) {
|
|
125
121
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
126
|
-
yield this.sqsClient.send(new client_sqs_1.
|
|
122
|
+
yield this.sqsClient.send(new client_sqs_1.DeleteQueueCommand({ QueueUrl: url }));
|
|
127
123
|
});
|
|
128
124
|
}
|
|
129
|
-
|
|
125
|
+
purgeQueue({ url }) {
|
|
130
126
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
131
|
-
yield this.sqsClient.send(new client_sqs_1.
|
|
127
|
+
yield this.sqsClient.send(new client_sqs_1.PurgeQueueCommand({ QueueUrl: url }));
|
|
132
128
|
});
|
|
133
129
|
}
|
|
134
|
-
|
|
130
|
+
deleteMessage({ url, receiptHandle, }) {
|
|
135
131
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
136
|
-
|
|
137
|
-
this.sqsClient.destroy();
|
|
138
|
-
}
|
|
139
|
-
return '';
|
|
132
|
+
yield this.sqsClient.send(new client_sqs_1.DeleteMessageCommand({ QueueUrl: url, ReceiptHandle: receiptHandle }));
|
|
140
133
|
});
|
|
141
134
|
}
|
|
135
|
+
getClient() {
|
|
136
|
+
return this.sqsClient;
|
|
137
|
+
}
|
|
142
138
|
}
|
|
143
139
|
exports.AwsSQSDriver = AwsSQSDriver;
|
|
144
140
|
//# sourceMappingURL=AwsSQSDriver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AwsSQSDriver.js","sourceRoot":"","sources":["../../../src/drivers/AwsSQSDriver.ts"],"names":[],"mappings":";;;;AAGA,
|
|
1
|
+
{"version":3,"file":"AwsSQSDriver.js","sourceRoot":"","sources":["../../../src/drivers/AwsSQSDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { ColumnResolver, DbColumn, DbConnection, DbDatabase, ResultSetDataHolder, SchemaAndTableHints } from '../resource';
|
|
2
|
-
import { GeneralResult } from '../types';
|
|
2
|
+
import { GeneralResult, ScanParams } from '../types';
|
|
3
3
|
import { DBError } from './DBError';
|
|
4
|
+
export interface Scannable {
|
|
5
|
+
scan(params: ScanParams): Promise<ResultSetDataHolder>;
|
|
6
|
+
}
|
|
7
|
+
export declare function isScannable(arg: any): arg is Scannable;
|
|
4
8
|
export declare abstract class BaseDriver {
|
|
5
9
|
isConnected: boolean;
|
|
6
10
|
protected conRes: DbConnection;
|
|
@@ -21,15 +25,10 @@ export declare abstract class BaseDriver {
|
|
|
21
25
|
connectToSshServer(): Promise<string>;
|
|
22
26
|
connect(): Promise<string>;
|
|
23
27
|
disconnect(): Promise<string>;
|
|
24
|
-
viewData(tableName: string, options?: {
|
|
25
|
-
schemaName?: string;
|
|
26
|
-
columnNames?: string[];
|
|
27
|
-
}): Promise<ResultSetDataHolder>;
|
|
28
28
|
abstract connectSub(): Promise<string>;
|
|
29
29
|
abstract closeSub(): Promise<string>;
|
|
30
30
|
abstract getInfomationSchemas(): Promise<Array<DbDatabase>>;
|
|
31
31
|
abstract test(with_connect: boolean): Promise<string>;
|
|
32
|
-
abstract requestSql(sql: string, options?: RequestSqlOptions): Promise<ResultSetDataHolder>;
|
|
33
32
|
createDBError(message: string, sourceError: any): DBError;
|
|
34
33
|
}
|
|
35
34
|
export interface RequestSqlOptions {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BaseDriver = void 0;
|
|
3
|
+
exports.BaseDriver = exports.isScannable = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const tunnel = tslib_1.__importStar(require("tunnel-ssh"));
|
|
6
6
|
const get_port_please_1 = require("get-port-please");
|
|
@@ -8,6 +8,13 @@ const fs = tslib_1.__importStar(require("fs"));
|
|
|
8
8
|
const resource_1 = require("../resource");
|
|
9
9
|
const types_1 = require("../types");
|
|
10
10
|
const DBError_1 = require("./DBError");
|
|
11
|
+
function isScannable(arg) {
|
|
12
|
+
if (!arg) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
return typeof arg === 'object' && typeof arg.scan === 'function';
|
|
16
|
+
}
|
|
17
|
+
exports.isScannable = isScannable;
|
|
11
18
|
class BaseDriver {
|
|
12
19
|
constructor(conRes) {
|
|
13
20
|
this.conRes = conRes;
|
|
@@ -205,25 +212,6 @@ class BaseDriver {
|
|
|
205
212
|
return errorReason;
|
|
206
213
|
});
|
|
207
214
|
}
|
|
208
|
-
viewData(tableName, options) {
|
|
209
|
-
var _a;
|
|
210
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
211
|
-
let sp = '';
|
|
212
|
-
let cols = '';
|
|
213
|
-
if (options === null || options === void 0 ? void 0 : options.schemaName) {
|
|
214
|
-
sp = `${options.schemaName}.`;
|
|
215
|
-
}
|
|
216
|
-
if ((options === null || options === void 0 ? void 0 : options.columnNames) && ((_a = options.columnNames) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
217
|
-
cols = options.columnNames.join(',');
|
|
218
|
-
}
|
|
219
|
-
else {
|
|
220
|
-
cols = '*';
|
|
221
|
-
}
|
|
222
|
-
return yield this.requestSql(`SELECT ${cols} FROM ${sp}${tableName} `, {
|
|
223
|
-
needsColumnResolve: false,
|
|
224
|
-
});
|
|
225
|
-
});
|
|
226
|
-
}
|
|
227
215
|
createDBError(message, sourceError) {
|
|
228
216
|
return new DBError_1.DBError(message, sourceError.code, sourceError.errno, sourceError.sqlMessage, sourceError.sqlState);
|
|
229
217
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseDriver.js","sourceRoot":"","sources":["../../../src/drivers/BaseDriver.ts"],"names":[],"mappings":";;;;AAAA,2DAAqC;AACrC,qDAA0C;AAC1C,+CAAyB;AACzB,0CASqB;AACrB,
|
|
1
|
+
{"version":3,"file":"BaseDriver.js","sourceRoot":"","sources":["../../../src/drivers/BaseDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ const PostgresDriver_1 = require("./PostgresDriver");
|
|
|
10
10
|
const RedisDriver_1 = require("./RedisDriver");
|
|
11
11
|
const AwsS3Driver_1 = require("./AwsS3Driver");
|
|
12
12
|
const AwsSQSDriver_1 = require("./AwsSQSDriver");
|
|
13
|
+
const AwsCloudwatchDriver_1 = require("./AwsCloudwatchDriver");
|
|
13
14
|
const uid = new short_unique_id_1.default();
|
|
14
15
|
class DBDriverResolver {
|
|
15
16
|
static getInstance() {
|
|
@@ -47,6 +48,9 @@ class DBDriverResolver {
|
|
|
47
48
|
case types_1.DBType.AwsSQS:
|
|
48
49
|
driver = new AwsSQSDriver_1.AwsSQSDriver(conRes);
|
|
49
50
|
break;
|
|
51
|
+
case types_1.DBType.AwsCloudwatch:
|
|
52
|
+
driver = new AwsCloudwatchDriver_1.AwsCloudwatchDriver(conRes);
|
|
53
|
+
break;
|
|
50
54
|
default:
|
|
51
55
|
throw new Error(`${conRes.dbType} is not supported.`);
|
|
52
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DBDriverResolver.js","sourceRoot":"","sources":["../../../src/drivers/DBDriverResolver.ts"],"names":[],"mappings":";;;;AAAA,8EAA4C;AAE5C,0CAA8D;AAC9D,oCAAkC;AAClC,+CAA4C;AAC5C,qDAAkD;AAClD,+CAA4C;AAC5C,+CAA4C;AAC5C,iDAA8C;
|
|
1
|
+
{"version":3,"file":"DBDriverResolver.js","sourceRoot":"","sources":["../../../src/drivers/DBDriverResolver.ts"],"names":[],"mappings":";;;;AAAA,8EAA4C;AAE5C,0CAA8D;AAC9D,oCAAkC;AAClC,+CAA4C;AAC5C,qDAAkD;AAClD,+CAA4C;AAC5C,+CAA4C;AAC5C,iDAA8C;AAC9C,+DAA4D;AAE5D,MAAM,GAAG,GAAG,IAAI,yBAAa,EAAE,CAAC;AAEhC,MAAa,gBAAgB;IAK3B,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;SACxC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAGD;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAsB,CAAC;IACjD,CAAC;IAED,aAAa,CAAC,YAAoB;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YACrC,MAAM,IAAI,KAAK,CACb,+BAA+B,YAAY,cAAc,CAC1D,CAAC;SACH;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;IAED,YAAY,CAAuB,OAA0B;QAC3D,MAAM,MAAM,GAAG,IAAI,uBAAY,iCAC1B,OAAO,KACV,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IACrB,CAAC;QAEH,IAAI,MAAM,GAAG,SAAS,CAAC;QACvB,QAAQ,MAAM,CAAC,MAAM,EAAE;YAIrB,KAAK,cAAM,CAAC,KAAK;gBACf,MAAM,GAAG,IAAI,yBAAW,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,cAAM,CAAC,QAAQ;gBAClB,MAAM,GAAG,IAAI,+BAAc,CAAC,MAAM,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,cAAM,CAAC,KAAK;gBACf,MAAM,GAAG,IAAI,yBAAW,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM;YAIR,KAAK,cAAM,CAAC,KAAK,CAAC;YAClB,KAAK,cAAM,CAAC,KAAK;gBACf,MAAM,GAAG,IAAI,yBAAW,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,cAAM,CAAC,MAAM;gBAChB,MAAM,GAAG,IAAI,2BAAY,CAAC,MAAM,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,cAAM,CAAC,aAAa;gBACvB,MAAM,GAAG,IAAI,yCAAmB,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM;YAOR;gBACE,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,oBAAoB,CAAC,CAAC;SACzD;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,YAAY,CAAC,MAAkB;QAC7B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IAEK,QAAQ;;YACZ,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAO,MAAkB,EAAE,EAAE;gBAClD,IAAI;oBACF,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;iBAC3B;gBAAC,OAAO,CAAC,EAAE;oBACV,YAAY,IAAI,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;iBAClC;YACH,CAAC,CAAA,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACvB,OAAO,YAAY,CAAC;QACtB,CAAC;KAAA;CACF;AAxFD,4CAwFC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RequestSqlOptions } from './BaseDriver';
|
|
2
2
|
import { ColumnResolver, DbColumn, DbConnection, DbDatabase, DbSchema, DbTable, RdhKey, ResultSetDataHolder, SchemaAndTableHints, TableRows } from '../resource';
|
|
3
|
-
|
|
3
|
+
import { RDSBaseDriver } from './RDSBaseDriver';
|
|
4
|
+
export declare class MySQLDriver extends RDSBaseDriver {
|
|
4
5
|
private client;
|
|
5
6
|
constructor(conRes: DbConnection);
|
|
6
7
|
fieldInfo2Key(fieldInfo: any, resolver?: ColumnResolver): RdhKey;
|
|
7
8
|
connectSub(): Promise<string>;
|
|
8
|
-
|
|
9
|
+
protected getTestSqlStatement(): string;
|
|
9
10
|
requestSql(sql: string, options?: RequestSqlOptions): Promise<ResultSetDataHolder>;
|
|
10
11
|
countTables(tables: SchemaAndTableHints, options: any): Promise<TableRows[]>;
|
|
11
12
|
getInfomationSchemas(): Promise<Array<DbDatabase>>;
|
|
@@ -5,10 +5,10 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const mysql = tslib_1.__importStar(require("mysql2/promise"));
|
|
6
6
|
const enum_values_1 = require("enum-values");
|
|
7
7
|
const MySQLColumnType_1 = require("../types/MySQLColumnType");
|
|
8
|
-
const BaseDriver_1 = require("./BaseDriver");
|
|
9
8
|
const resource_1 = require("../resource");
|
|
10
9
|
const types_1 = require("../types");
|
|
11
|
-
|
|
10
|
+
const RDSBaseDriver_1 = require("./RDSBaseDriver");
|
|
11
|
+
class MySQLDriver extends RDSBaseDriver_1.RDSBaseDriver {
|
|
12
12
|
constructor(conRes) {
|
|
13
13
|
super(conRes);
|
|
14
14
|
}
|
|
@@ -44,23 +44,8 @@ class MySQLDriver extends BaseDriver_1.BaseDriver {
|
|
|
44
44
|
return errorMessage;
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
|
-
|
|
48
|
-
return
|
|
49
|
-
let errorReason = '';
|
|
50
|
-
if (with_connect) {
|
|
51
|
-
errorReason = yield this.connect();
|
|
52
|
-
}
|
|
53
|
-
if (!errorReason) {
|
|
54
|
-
const rdh = yield this.requestSql('SELECT 1 from DUAL');
|
|
55
|
-
if (rdh && rdh.errorMessage) {
|
|
56
|
-
return rdh.errorMessage;
|
|
57
|
-
}
|
|
58
|
-
if (with_connect) {
|
|
59
|
-
yield this.disconnect();
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
return errorReason;
|
|
63
|
-
});
|
|
47
|
+
getTestSqlStatement() {
|
|
48
|
+
return 'SELECT 1';
|
|
64
49
|
}
|
|
65
50
|
requestSql(sql, options) {
|
|
66
51
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -75,37 +60,32 @@ class MySQLDriver extends BaseDriver_1.BaseDriver {
|
|
|
75
60
|
resolver = this.createColumnResolver(sql);
|
|
76
61
|
}
|
|
77
62
|
const [rows, fields] = yield this.client.execute(sql, binds);
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
rdh = new resource_1.ResultSetDataHolder(fields === undefined
|
|
100
|
-
? []
|
|
101
|
-
: fields.map((f) => this.fieldInfo2Key(f, resolver)));
|
|
102
|
-
rows.forEach((result) => {
|
|
103
|
-
rdh.addRow(result);
|
|
104
|
-
});
|
|
105
|
-
}
|
|
63
|
+
if (fields === undefined) {
|
|
64
|
+
const results = rows;
|
|
65
|
+
rdh = new resource_1.ResultSetDataHolder([
|
|
66
|
+
'fieldCount',
|
|
67
|
+
'affectedRows',
|
|
68
|
+
'insertId',
|
|
69
|
+
'serverStatus',
|
|
70
|
+
'warningStatus',
|
|
71
|
+
'changedRows',
|
|
72
|
+
]);
|
|
73
|
+
rdh.addRow({
|
|
74
|
+
fieldCount: results.fieldCount,
|
|
75
|
+
affectedRows: results.affectedRows,
|
|
76
|
+
insertId: results.insertId,
|
|
77
|
+
serverStatus: results.serverStatus,
|
|
78
|
+
warningStatus: results.warningStatus,
|
|
79
|
+
changedRows: results.changedRows,
|
|
80
|
+
});
|
|
106
81
|
}
|
|
107
|
-
|
|
108
|
-
rdh = resource_1.ResultSetDataHolder
|
|
82
|
+
else {
|
|
83
|
+
rdh = new resource_1.ResultSetDataHolder(fields === undefined
|
|
84
|
+
? []
|
|
85
|
+
: fields.map((f) => this.fieldInfo2Key(f, resolver)));
|
|
86
|
+
rows.forEach((result) => {
|
|
87
|
+
rdh.addRow(result);
|
|
88
|
+
});
|
|
109
89
|
}
|
|
110
90
|
}
|
|
111
91
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MySQLDriver.js","sourceRoot":"","sources":["../../../src/drivers/MySQLDriver.ts"],"names":[],"mappings":";;;;AAAA,8DAAwC;AACxC,6CAAyC;AAEzC,8DAA2D;
|
|
1
|
+
{"version":3,"file":"MySQLDriver.js","sourceRoot":"","sources":["../../../src/drivers/MySQLDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { default as pg } from 'pg';
|
|
2
|
-
import {
|
|
2
|
+
import { RequestSqlOptions } from './BaseDriver';
|
|
3
3
|
import { ColumnResolver, DbColumn, DbConnection, DbDatabase, DbSchema, DbTable, RdhKey, ResultSetDataHolder, SchemaAndTableHints, TableRows } from '../resource';
|
|
4
|
-
|
|
4
|
+
import { RDSBaseDriver } from './RDSBaseDriver';
|
|
5
|
+
export declare class PostgresDriver extends RDSBaseDriver {
|
|
5
6
|
private pool;
|
|
6
7
|
constructor(conRes: DbConnection);
|
|
7
8
|
fieldInfo2Key(fieldInfo: pg.FieldDef, resolver?: ColumnResolver): RdhKey;
|
|
8
9
|
connectSub(): Promise<string>;
|
|
9
|
-
|
|
10
|
+
protected getTestSqlStatement(): string;
|
|
10
11
|
requestSql(sql: string, options?: RequestSqlOptions): Promise<ResultSetDataHolder>;
|
|
11
12
|
countTables(tables: SchemaAndTableHints, options: any): Promise<TableRows[]>;
|
|
12
13
|
getInfomationSchemas(): Promise<Array<DbDatabase>>;
|
|
@@ -5,10 +5,10 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const pg_1 = tslib_1.__importDefault(require("pg"));
|
|
6
6
|
const enum_values_1 = require("enum-values");
|
|
7
7
|
const PostgresColumnType_1 = require("../types/PostgresColumnType");
|
|
8
|
-
const BaseDriver_1 = require("./BaseDriver");
|
|
9
8
|
const resource_1 = require("../resource");
|
|
10
9
|
const types_1 = require("../types");
|
|
11
|
-
|
|
10
|
+
const RDSBaseDriver_1 = require("./RDSBaseDriver");
|
|
11
|
+
class PostgresDriver extends RDSBaseDriver_1.RDSBaseDriver {
|
|
12
12
|
constructor(conRes) {
|
|
13
13
|
super(conRes);
|
|
14
14
|
}
|
|
@@ -42,57 +42,32 @@ class PostgresDriver extends BaseDriver_1.BaseDriver {
|
|
|
42
42
|
return errorReason;
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
|
-
|
|
46
|
-
return
|
|
47
|
-
let errorReason = '';
|
|
48
|
-
try {
|
|
49
|
-
if (with_connect) {
|
|
50
|
-
errorReason = yield this.connect();
|
|
51
|
-
}
|
|
52
|
-
const rdh = yield this.requestSql('SELECT NOW()');
|
|
53
|
-
if (rdh && rdh.errorMessage) {
|
|
54
|
-
errorReason = rdh.errorMessage;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
catch (e) {
|
|
58
|
-
errorReason = e.message;
|
|
59
|
-
}
|
|
60
|
-
finally {
|
|
61
|
-
if (with_connect) {
|
|
62
|
-
yield this.disconnect();
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return errorReason;
|
|
66
|
-
});
|
|
45
|
+
getTestSqlStatement() {
|
|
46
|
+
return 'SELECT NOW()';
|
|
67
47
|
}
|
|
68
48
|
requestSql(sql, options) {
|
|
69
49
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
70
50
|
let rdh = new resource_1.ResultSetDataHolder([]);
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
51
|
+
let binds = [];
|
|
52
|
+
if (options && options.binds) {
|
|
53
|
+
binds = options.binds;
|
|
54
|
+
}
|
|
55
|
+
const results = yield this.pool.query(sql, binds);
|
|
56
|
+
if (results) {
|
|
57
|
+
let resolver;
|
|
58
|
+
if (options && options.needsColumnResolve === true) {
|
|
59
|
+
resolver = this.createColumnResolver(sql);
|
|
75
60
|
}
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
? []
|
|
85
|
-
: fields.map((f) => this.fieldInfo2Key(f, resolver)));
|
|
86
|
-
if (results.rows) {
|
|
87
|
-
results.rows.forEach((result) => {
|
|
88
|
-
rdh.addRow(result);
|
|
89
|
-
});
|
|
90
|
-
}
|
|
61
|
+
const fields = results.fields;
|
|
62
|
+
rdh = new resource_1.ResultSetDataHolder(fields === undefined
|
|
63
|
+
? []
|
|
64
|
+
: fields.map((f) => this.fieldInfo2Key(f, resolver)));
|
|
65
|
+
if (results.rows) {
|
|
66
|
+
results.rows.forEach((result) => {
|
|
67
|
+
rdh.addRow(result);
|
|
68
|
+
});
|
|
91
69
|
}
|
|
92
70
|
}
|
|
93
|
-
catch (err) {
|
|
94
|
-
rdh = resource_1.ResultSetDataHolder.create(err);
|
|
95
|
-
}
|
|
96
71
|
rdh.setSqlStatement(sql);
|
|
97
72
|
return rdh;
|
|
98
73
|
});
|