@l-v-yonsama/multi-platform-database-drivers 0.1.11 → 0.1.12
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/db/DBError.js +4 -1
- package/built/src/db/DBError.js.map +1 -1
- package/built/src/db/drivers/AwsS3Driver.js +35 -32
- package/built/src/db/drivers/AwsS3Driver.js.map +1 -1
- package/built/src/db/drivers/BaseDriver.js +19 -16
- package/built/src/db/drivers/BaseDriver.js.map +1 -1
- package/built/src/db/drivers/MySQLDriver.js +33 -30
- package/built/src/db/drivers/MySQLDriver.js.map +1 -1
- package/built/src/db/drivers/PostgresDriver.js +34 -31
- package/built/src/db/drivers/PostgresDriver.js.map +1 -1
- package/built/src/db/drivers/RedisDriver.js +40 -37
- package/built/src/db/drivers/RedisDriver.js.map +1 -1
- package/built/src/db/drivers/index.js +8 -5
- package/built/src/db/drivers/index.js.map +1 -1
- package/built/src/db/index.js +6 -3
- package/built/src/db/index.js.map +1 -1
- package/built/src/db/resource/DbResource.js +58 -43
- package/built/src/db/resource/DbResource.js.map +1 -1
- package/built/src/db/resource/MultipleResultSetDataHolder.js +9 -5
- package/built/src/db/resource/MultipleResultSetDataHolder.js.map +1 -1
- package/built/src/db/resource/ResourceHelper.js +5 -1
- package/built/src/db/resource/ResourceHelper.js.map +1 -1
- package/built/src/db/resource/ResultSetDataHolder.js +43 -33
- package/built/src/db/resource/ResultSetDataHolder.js.map +1 -1
- package/built/src/db/resource/index.js +8 -5
- package/built/src/db/resource/index.js.map +1 -1
- package/built/src/db/resource/types/DBType.js +6 -3
- package/built/src/db/resource/types/DBType.js.map +1 -1
- package/built/src/db/resource/types/GeneralColumnType.js +8 -5
- package/built/src/db/resource/types/GeneralColumnType.js.map +1 -1
- package/built/src/db/resource/types/MySQLColumnType.js +10 -7
- package/built/src/db/resource/types/MySQLColumnType.js.map +1 -1
- package/built/src/db/resource/types/ODBCVendorType.js +5 -2
- package/built/src/db/resource/types/ODBCVendorType.js.map +1 -1
- package/built/src/db/resource/types/PostgresColumnType.js +9 -6
- package/built/src/db/resource/types/PostgresColumnType.js.map +1 -1
- package/built/src/db/resource/types/RedisKeyType.js +8 -5
- package/built/src/db/resource/types/RedisKeyType.js.map +1 -1
- package/built/src/db/resource/types/ResourceType.js +5 -2
- package/built/src/db/resource/types/ResourceType.js.map +1 -1
- package/built/src/db/resource/types/index.js +10 -7
- package/built/src/db/resource/types/index.js.map +1 -1
- package/built/src/index.js +6 -3
- package/built/src/index.js.map +1 -1
- package/built/src/service/DBAccessService.js +47 -43
- package/built/src/service/DBAccessService.js.map +1 -1
- package/built/src/service/DBDriverResolver.js +26 -22
- package/built/src/service/DBDriverResolver.js.map +1 -1
- package/built/src/service/SQLService.js +8 -3
- package/built/src/service/SQLService.js.map +1 -1
- package/built/src/service/index.js +8 -5
- package/built/src/service/index.js.map +1 -1
- package/built/src/service/request/RedisRequest.js +5 -2
- package/built/src/service/request/RedisRequest.js.map +1 -1
- package/built/src/service/request/S3Request.js +5 -2
- package/built/src/service/request/S3Request.js.map +1 -1
- package/built/src/service/request/index.js +5 -2
- package/built/src/service/request/index.js.map +1 -1
- package/built/src/service/response/GeneralDBResponse.js +2 -1
- package/built/src/service/response/GeneralResponse.js +5 -1
- package/built/src/service/response/GeneralResponse.js.map +1 -1
- package/built/src/service/response/index.js +5 -2
- package/built/src/service/response/index.js.map +1 -1
- package/built/src/service/response/reply/ConnectionResult.js +2 -1
- package/built/src/service/response/reply/FileExportReply.js +8 -4
- package/built/src/service/response/reply/FileExportReply.js.map +1 -1
- package/built/src/service/response/reply/FileProcessResult.js +7 -3
- package/built/src/service/response/reply/FileProcessResult.js.map +1 -1
- package/built/src/service/response/reply/GeneralReply.js +4 -1
- package/built/src/service/response/reply/GeneralReply.js.map +1 -1
- package/built/src/service/response/reply/OutputReply.js +8 -4
- package/built/src/service/response/reply/OutputReply.js.map +1 -1
- package/built/src/service/response/reply/ProgressReply.js +6 -2
- package/built/src/service/response/reply/ProgressReply.js.map +1 -1
- package/built/src/service/response/reply/types/FileExportType.js +5 -2
- package/built/src/service/response/reply/types/FileExportType.js.map +1 -1
- package/built/src/service/response/reply/types/OutputType.js +5 -2
- package/built/src/service/response/reply/types/OutputType.js.map +1 -1
- package/built/src/service/response/reply/types/ReplyEventType.js +5 -2
- package/built/src/service/response/reply/types/ReplyEventType.js.map +1 -1
- package/built/src/types/DateModifiedType.js +6 -3
- package/built/src/types/DateModifiedType.js.map +1 -1
- package/built/src/types/FileKindType.js +6 -3
- package/built/src/types/FileKindType.js.map +1 -1
- package/built/src/types/index.js +5 -2
- package/built/src/types/index.js.map +1 -1
- package/package.json +2 -5
package/built/src/db/DBError.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class DBError extends Error {
|
|
2
4
|
constructor(message, code, errno, sqlMessage, sqlState) {
|
|
3
5
|
super(message);
|
|
4
6
|
this.name = this.constructor.name;
|
|
@@ -14,4 +16,5 @@ export default class DBError extends Error {
|
|
|
14
16
|
this.sqlState = sqlState;
|
|
15
17
|
}
|
|
16
18
|
}
|
|
19
|
+
exports.default = DBError;
|
|
17
20
|
//# sourceMappingURL=DBError.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DBError.js","sourceRoot":"","sources":["../../../src/db/DBError.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"DBError.js","sourceRoot":"","sources":["../../../src/db/DBError.ts"],"names":[],"mappings":";;AAAA,MAAqB,OAAQ,SAAQ,KAAK;IAMxC,YACE,OAAY,EACZ,IAAS,EACT,KAAU,EACV,UAAe,EACf,QAAa;QAEb,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,UAAU,EAAE;YACjD,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SACjD;aAAM;YACL,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;SACvC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;CACF;AAzBD,0BAyBC"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const BaseDriver_1 = tslib_1.__importDefault(require("./BaseDriver"));
|
|
5
|
+
const DbResource_1 = require("../resource/DbResource");
|
|
6
|
+
const ResultSetDataHolder_1 = tslib_1.__importDefault(require("../resource/ResultSetDataHolder"));
|
|
7
|
+
const DBType_1 = require("../resource/types/DBType");
|
|
8
|
+
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
9
|
+
class AwsS3Driver extends BaseDriver_1.default {
|
|
8
10
|
constructor(conRes) {
|
|
9
11
|
super(conRes);
|
|
10
12
|
}
|
|
11
13
|
connectSub() {
|
|
12
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
14
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
13
15
|
this.config = {};
|
|
14
16
|
this.config.region = 'us-west-1';
|
|
15
17
|
if (this.conRes.region) {
|
|
@@ -19,23 +21,23 @@ export default class AwsS3Driver extends BaseDriver {
|
|
|
19
21
|
accessKeyId: this.conRes.user,
|
|
20
22
|
secretAccessKey: this.conRes.password,
|
|
21
23
|
};
|
|
22
|
-
if (this.conRes.dbType === DBType.Minio) {
|
|
24
|
+
if (this.conRes.dbType === DBType_1.DBType.Minio) {
|
|
23
25
|
this.config.endpoint = this.conRes.url;
|
|
24
26
|
this.config.s3ForcePathStyle = 'true';
|
|
25
27
|
}
|
|
26
|
-
this.s3Client = new S3Client(this.config);
|
|
28
|
+
this.s3Client = new client_s3_1.S3Client(this.config);
|
|
27
29
|
return this.test(false);
|
|
28
30
|
});
|
|
29
31
|
}
|
|
30
32
|
test(with_connect = false) {
|
|
31
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
32
34
|
let errorReason = '';
|
|
33
35
|
if (with_connect) {
|
|
34
36
|
errorReason = yield this.connect();
|
|
35
37
|
}
|
|
36
38
|
if (this.s3Client) {
|
|
37
39
|
try {
|
|
38
|
-
const a = yield this.s3Client.send(new ListBucketsCommand({}));
|
|
40
|
+
const a = yield this.s3Client.send(new client_s3_1.ListBucketsCommand({}));
|
|
39
41
|
}
|
|
40
42
|
catch (e) {
|
|
41
43
|
console.error(e);
|
|
@@ -49,7 +51,7 @@ export default class AwsS3Driver extends BaseDriver {
|
|
|
49
51
|
});
|
|
50
52
|
}
|
|
51
53
|
countTables(tables, options) {
|
|
52
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
53
55
|
return new Array();
|
|
54
56
|
});
|
|
55
57
|
}
|
|
@@ -59,23 +61,23 @@ export default class AwsS3Driver extends BaseDriver {
|
|
|
59
61
|
}
|
|
60
62
|
}
|
|
61
63
|
getInfomationSchemas(options) {
|
|
62
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
63
65
|
if (!this.conRes) {
|
|
64
66
|
return [];
|
|
65
67
|
}
|
|
66
68
|
const dbResources = new Array();
|
|
67
|
-
const dbDatabase = new DbDatabase('S3');
|
|
69
|
+
const dbDatabase = new DbResource_1.DbDatabase('S3');
|
|
68
70
|
dbResources.push(dbDatabase);
|
|
69
71
|
try {
|
|
70
|
-
const buckets = yield this.s3Client.send(new ListBucketsCommand({}));
|
|
72
|
+
const buckets = yield this.s3Client.send(new client_s3_1.ListBucketsCommand({}));
|
|
71
73
|
if (buckets.Buckets) {
|
|
72
74
|
for (const bucket of buckets.Buckets) {
|
|
73
|
-
const dbBucket = new DbS3Bucket(bucket.Name, bucket.CreationDate);
|
|
75
|
+
const dbBucket = new DbResource_1.DbS3Bucket(bucket.Name, bucket.CreationDate);
|
|
74
76
|
dbDatabase.addChild(dbBucket);
|
|
75
77
|
}
|
|
76
78
|
}
|
|
77
79
|
if (buckets.Owner) {
|
|
78
|
-
const dbOwner = new DbS3Owner(buckets.Owner.ID, buckets.Owner.DisplayName);
|
|
80
|
+
const dbOwner = new DbResource_1.DbS3Owner(buckets.Owner.ID, buckets.Owner.DisplayName);
|
|
79
81
|
dbDatabase.addChild(dbOwner);
|
|
80
82
|
}
|
|
81
83
|
else {
|
|
@@ -88,18 +90,18 @@ export default class AwsS3Driver extends BaseDriver {
|
|
|
88
90
|
});
|
|
89
91
|
}
|
|
90
92
|
requestSql(sql, options) {
|
|
91
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
92
|
-
return new
|
|
93
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
return new ResultSetDataHolder_1.default([]);
|
|
93
95
|
});
|
|
94
96
|
}
|
|
95
97
|
createBucket({ bucket }) {
|
|
96
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
97
|
-
yield this.s3Client.send(new CreateBucketCommand({ Bucket: bucket }));
|
|
98
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
99
|
+
yield this.s3Client.send(new client_s3_1.CreateBucketCommand({ Bucket: bucket }));
|
|
98
100
|
});
|
|
99
101
|
}
|
|
100
102
|
getValueByKey({ bucket, key, }) {
|
|
101
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
102
|
-
const data = yield this.s3Client.send(new GetObjectCommand({
|
|
103
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
104
|
+
const data = yield this.s3Client.send(new client_s3_1.GetObjectCommand({
|
|
103
105
|
Bucket: bucket,
|
|
104
106
|
Key: key,
|
|
105
107
|
}));
|
|
@@ -107,8 +109,8 @@ export default class AwsS3Driver extends BaseDriver {
|
|
|
107
109
|
});
|
|
108
110
|
}
|
|
109
111
|
putObject({ bucket, key, body, }) {
|
|
110
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
111
|
-
yield this.s3Client.send(new PutObjectCommand({
|
|
112
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
113
|
+
yield this.s3Client.send(new client_s3_1.PutObjectCommand({
|
|
112
114
|
Bucket: bucket,
|
|
113
115
|
Key: key,
|
|
114
116
|
Body: body,
|
|
@@ -116,21 +118,21 @@ export default class AwsS3Driver extends BaseDriver {
|
|
|
116
118
|
});
|
|
117
119
|
}
|
|
118
120
|
removeBucket({ bucket }) {
|
|
119
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
121
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
120
122
|
yield this.removeAllObjects({ bucket });
|
|
121
|
-
yield this.s3Client.send(new DeleteBucketCommand({ Bucket: bucket }));
|
|
123
|
+
yield this.s3Client.send(new client_s3_1.DeleteBucketCommand({ Bucket: bucket }));
|
|
122
124
|
});
|
|
123
125
|
}
|
|
124
126
|
removeAllObjects({ bucket }) {
|
|
125
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
127
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
126
128
|
let truncated = true;
|
|
127
129
|
let pageMarker;
|
|
128
130
|
const bucketParams = { Bucket: bucket };
|
|
129
131
|
while (truncated) {
|
|
130
|
-
const response = yield this.s3Client.send(new ListObjectsCommand(bucketParams));
|
|
132
|
+
const response = yield this.s3Client.send(new client_s3_1.ListObjectsCommand(bucketParams));
|
|
131
133
|
for (let i = 0; i < response.Contents.length; i++) {
|
|
132
134
|
const item = response.Contents[i];
|
|
133
|
-
const delR = yield this.s3Client.send(new DeleteObjectCommand({
|
|
135
|
+
const delR = yield this.s3Client.send(new client_s3_1.DeleteObjectCommand({
|
|
134
136
|
Bucket: bucket,
|
|
135
137
|
Key: item.Key,
|
|
136
138
|
}));
|
|
@@ -144,7 +146,7 @@ export default class AwsS3Driver extends BaseDriver {
|
|
|
144
146
|
});
|
|
145
147
|
}
|
|
146
148
|
closeSub() {
|
|
147
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
149
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
148
150
|
if (this.s3Client) {
|
|
149
151
|
this.s3Client.destroy();
|
|
150
152
|
}
|
|
@@ -152,4 +154,5 @@ export default class AwsS3Driver extends BaseDriver {
|
|
|
152
154
|
});
|
|
153
155
|
}
|
|
154
156
|
}
|
|
157
|
+
exports.default = AwsS3Driver;
|
|
155
158
|
//# sourceMappingURL=AwsS3Driver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AwsS3Driver.js","sourceRoot":"","sources":["../../../../src/db/drivers/AwsS3Driver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AwsS3Driver.js","sourceRoot":"","sources":["../../../../src/db/drivers/AwsS3Driver.ts"],"names":[],"mappings":";;;AAEA,sEAA6D;AAC7D,uDAUgC;AAChC,kGAAkE;AAClE,qDAAkD;AAClD,kDAW4B;AAE5B,MAAqB,WAAY,SAAQ,oBAAU;IAKjD,YAAY,MAAoB;QAC9B,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAEK,UAAU;;YACd,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC;YAEjC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBACtB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;aACzC;YAED,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG;gBACxB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBAC7B,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;aACtC,CAAC;YACF,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,eAAM,CAAC,KAAK,EAAE;gBACjC,IAAI,CAAC,MAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;gBACxC,IAAI,CAAC,MAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC;aAC9C;YACD,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE1C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;KAAA;IAEK,IAAI,CAAC,YAAY,GAAG,KAAK;;YAC7B,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,YAAY,EAAE;gBAChB,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;aACpC;YACD,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI;oBACF,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,8BAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;iBAChE;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACjB,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC;iBACzB;aACF;YAED,IAAI,YAAY,EAAE;gBAChB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;aACzB;YAED,OAAO,WAAW,CAAC;QACrB,CAAC;KAAA;IAYK,WAAW,CACf,MAA2B,EAC3B,OAAY;;YAEZ,OAAO,IAAI,KAAK,EAAa,CAAC;QAChC,CAAC;KAAA;IAED,WAAW;QACT,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;SACrB;IACH,CAAC;IAoRK,oBAAoB,CAAC,OAG1B;;YACC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAChB,OAAO,EAAE,CAAC;aACX;YACD,MAAM,WAAW,GAAG,IAAI,KAAK,EAAc,CAAC;YAC5C,MAAM,UAAU,GAAG,IAAI,uBAAU,CAAC,IAAI,CAAC,CAAC;YACxC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAE7B,IAAI;gBACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,8BAAkB,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrE,IAAI,OAAO,CAAC,OAAO,EAAE;oBACnB,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE;wBACpC,MAAM,QAAQ,GAAG,IAAI,uBAAU,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;wBAClE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;qBAC/B;iBACF;gBACD,IAAI,OAAO,CAAC,KAAK,EAAE;oBACjB,MAAM,OAAO,GAAG,IAAI,sBAAS,CAC3B,OAAO,CAAC,KAAK,CAAC,EAAE,EAChB,OAAO,CAAC,KAAK,CAAC,WAAW,CAC1B,CAAC;oBACF,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;iBAC9B;qBAAM;iBAEN;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAElB;YACD,OAAO,WAAW,CAAC;QACrB,CAAC;KAAA;IACK,UAAU,CACd,GAAW,EACX,OAA2B;;YAE3B,OAAO,IAAI,6BAAmB,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;KAAA;IAyCK,YAAY,CAAC,EAAE,MAAM,EAAsB;;YAC/C,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,+BAAmB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACxE,CAAC;KAAA;IAEK,aAAa,CAAC,EAClB,MAAM,EACN,GAAG,GAIJ;;YAEC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CACnC,IAAI,4BAAgB,CAAC;gBACnB,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,GAAG;aACT,CAAC,CACH,CAAC;YACF,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvC,CAAC;KAAA;IAEK,SAAS,CAAC,EACd,MAAM,EACN,GAAG,EACH,IAAI,GAKL;;YACC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CACtB,IAAI,4BAAgB,CAAC;gBACnB,MAAM,EAAE,MAAM;gBACd,GAAG,EAAE,GAAG;gBACR,IAAI,EAAE,IAAI;aACX,CAAC,CACH,CAAC;QACJ,CAAC;KAAA;IAEK,YAAY,CAAC,EAAE,MAAM,EAAsB;;YAC/C,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YACxC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,+BAAmB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACxE,CAAC;KAAA;IAEK,gBAAgB,CAAC,EAAE,MAAM,EAAsB;;YACnD,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,IAAI,UAAU,CAAC;YACf,MAAM,YAAY,GAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAE7C,OAAO,SAAS,EAAE;gBAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CACvC,IAAI,8BAAkB,CAAC,YAAY,CAAC,CACrC,CAAC;gBAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CACnC,IAAI,+BAAmB,CAAC;wBACtB,MAAM,EAAE,MAAM;wBACd,GAAG,EAAE,IAAI,CAAC,GAAG;qBACd,CAAC,CACH,CAAC;iBACH;gBAED,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC;gBAEjC,IAAI,SAAS,EAAE;oBACb,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;oBAEhD,YAAY,CAAC,MAAM,GAAG,UAAU,CAAC;iBAClC;aAEF;QACH,CAAC;KAAA;IAEK,QAAQ;;YACZ,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;aACzB;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;KAAA;CACF;AA7fD,8BA6fC"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const DBError_1 = tslib_1.__importDefault(require("../DBError"));
|
|
5
|
+
const tunnel = tslib_1.__importStar(require("tunnel-ssh"));
|
|
6
|
+
const get_port_1 = tslib_1.__importStar(require("get-port"));
|
|
7
|
+
const ResourceType_1 = require("../resource/types/ResourceType");
|
|
8
|
+
const fs = tslib_1.__importStar(require("fs"));
|
|
9
|
+
const resource_1 = require("../resource");
|
|
10
|
+
class BaseDriver {
|
|
9
11
|
constructor(conRes) {
|
|
10
12
|
this.conRes = conRes;
|
|
11
13
|
this.isConnected = false;
|
|
@@ -59,7 +61,7 @@ export default class BaseDriver {
|
|
|
59
61
|
searchNames.push('public');
|
|
60
62
|
for (const searchName of searchNames) {
|
|
61
63
|
const child = database.getChildByName(searchName, {
|
|
62
|
-
resouceType: ResourceType.Schema,
|
|
64
|
+
resouceType: ResourceType_1.ResourceType.Schema,
|
|
63
65
|
});
|
|
64
66
|
if (child) {
|
|
65
67
|
child.isDefault = true;
|
|
@@ -68,7 +70,7 @@ export default class BaseDriver {
|
|
|
68
70
|
}
|
|
69
71
|
const child = database
|
|
70
72
|
.getChildren()
|
|
71
|
-
.find((it) => it.getResouceType() === ResourceType.Schema);
|
|
73
|
+
.find((it) => it.getResouceType() === ResourceType_1.ResourceType.Schema);
|
|
72
74
|
if (child) {
|
|
73
75
|
child.isDefault = true;
|
|
74
76
|
}
|
|
@@ -80,7 +82,7 @@ export default class BaseDriver {
|
|
|
80
82
|
if (this.conRes) {
|
|
81
83
|
for (let i = 0; i < resolver.hints.list.length; i++) {
|
|
82
84
|
const hints = resolver.hints.list[i];
|
|
83
|
-
const t = ResourceHelper.findResource(this.conRes, ResourceType.Table, hints.table);
|
|
85
|
+
const t = resource_1.ResourceHelper.findResource(this.conRes, ResourceType_1.ResourceType.Table, hints.table);
|
|
84
86
|
if (t) {
|
|
85
87
|
return t.getChildByName(column, { unwrapQuote: true });
|
|
86
88
|
}
|
|
@@ -100,8 +102,8 @@ export default class BaseDriver {
|
|
|
100
102
|
return '';
|
|
101
103
|
}
|
|
102
104
|
connectToSshServer() {
|
|
103
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
104
|
-
this.sshLocalPort = yield
|
|
105
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
106
|
+
this.sshLocalPort = yield (0, get_port_1.default)({ port: (0, get_port_1.portNumbers)(13000, 15100) });
|
|
105
107
|
return new Promise((resolve, reject) => {
|
|
106
108
|
const setting = Object.assign({}, this.conRes.ssh, {
|
|
107
109
|
localHost: '127.0.0.1',
|
|
@@ -125,7 +127,7 @@ export default class BaseDriver {
|
|
|
125
127
|
});
|
|
126
128
|
}
|
|
127
129
|
connect() {
|
|
128
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
130
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
129
131
|
let errorReason = '';
|
|
130
132
|
try {
|
|
131
133
|
this.initBaseStatus();
|
|
@@ -147,7 +149,7 @@ export default class BaseDriver {
|
|
|
147
149
|
});
|
|
148
150
|
}
|
|
149
151
|
disconnect() {
|
|
150
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
152
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
151
153
|
let errorReason = '';
|
|
152
154
|
try {
|
|
153
155
|
if (this.conRes) {
|
|
@@ -175,7 +177,8 @@ export default class BaseDriver {
|
|
|
175
177
|
});
|
|
176
178
|
}
|
|
177
179
|
createDBError(message, sourceError) {
|
|
178
|
-
return new
|
|
180
|
+
return new DBError_1.default(message, sourceError.code, sourceError.errno, sourceError.sqlMessage, sourceError.sqlState);
|
|
179
181
|
}
|
|
180
182
|
}
|
|
183
|
+
exports.default = BaseDriver;
|
|
181
184
|
//# sourceMappingURL=BaseDriver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseDriver.js","sourceRoot":"","sources":["../../../../src/db/drivers/BaseDriver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BaseDriver.js","sourceRoot":"","sources":["../../../../src/db/drivers/BaseDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const BaseDriver_1 = tslib_1.__importDefault(require("./BaseDriver"));
|
|
5
|
+
const mysql = tslib_1.__importStar(require("mysql2/promise"));
|
|
6
|
+
const ResultSetDataHolder_1 = tslib_1.__importStar(require("../resource/ResultSetDataHolder"));
|
|
7
|
+
const DbResource_1 = require("../resource/DbResource");
|
|
8
|
+
const MySQLColumnType_1 = require("../resource/types/MySQLColumnType");
|
|
9
|
+
const enum_values_1 = require("enum-values");
|
|
10
|
+
const GeneralColumnType_1 = require("../resource/types/GeneralColumnType");
|
|
11
|
+
class MySQLDriver extends BaseDriver_1.default {
|
|
10
12
|
constructor(conRes) {
|
|
11
13
|
super(conRes);
|
|
12
14
|
}
|
|
@@ -14,14 +16,14 @@ export default class MySQLDriver extends BaseDriver {
|
|
|
14
16
|
if (resolver) {
|
|
15
17
|
resolver.hints.list.push({ table: fieldInfo.orgTable });
|
|
16
18
|
}
|
|
17
|
-
const name = EnumValues.getNameFromValue(MySQLColumnType, MySQLColumnType.parseByFieldInfo(fieldInfo));
|
|
18
|
-
const key = new RdhKey(fieldInfo.name, GeneralColumnType.parse(name), super.resolveColumnComment(fieldInfo.orgName, resolver));
|
|
19
|
-
if (key.type === GeneralColumnType.UNKNOWN) {
|
|
19
|
+
const name = enum_values_1.EnumValues.getNameFromValue(MySQLColumnType_1.MySQLColumnType, MySQLColumnType_1.MySQLColumnType.parseByFieldInfo(fieldInfo));
|
|
20
|
+
const key = new ResultSetDataHolder_1.RdhKey(fieldInfo.name, GeneralColumnType_1.GeneralColumnType.parse(name), super.resolveColumnComment(fieldInfo.orgName, resolver));
|
|
21
|
+
if (key.type === GeneralColumnType_1.GeneralColumnType.UNKNOWN) {
|
|
20
22
|
}
|
|
21
23
|
return key;
|
|
22
24
|
}
|
|
23
25
|
connectSub() {
|
|
24
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
25
27
|
let errorMessage = '';
|
|
26
28
|
const options = {
|
|
27
29
|
connectionLimit: 4,
|
|
@@ -43,7 +45,7 @@ export default class MySQLDriver extends BaseDriver {
|
|
|
43
45
|
});
|
|
44
46
|
}
|
|
45
47
|
test(with_connect = false) {
|
|
46
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
47
49
|
let errorReason = '';
|
|
48
50
|
if (with_connect) {
|
|
49
51
|
errorReason = yield this.connect();
|
|
@@ -61,8 +63,8 @@ export default class MySQLDriver extends BaseDriver {
|
|
|
61
63
|
});
|
|
62
64
|
}
|
|
63
65
|
requestSql(sql, options) {
|
|
64
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
65
|
-
let rdh = new
|
|
66
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
let rdh = new ResultSetDataHolder_1.default([]);
|
|
66
68
|
if (this.client) {
|
|
67
69
|
let binds = [];
|
|
68
70
|
if (options && options.binds) {
|
|
@@ -76,7 +78,7 @@ export default class MySQLDriver extends BaseDriver {
|
|
|
76
78
|
try {
|
|
77
79
|
if (fields === undefined) {
|
|
78
80
|
const results = rows;
|
|
79
|
-
rdh = new
|
|
81
|
+
rdh = new ResultSetDataHolder_1.default([
|
|
80
82
|
'fieldCount',
|
|
81
83
|
'affectedRows',
|
|
82
84
|
'insertId',
|
|
@@ -94,7 +96,7 @@ export default class MySQLDriver extends BaseDriver {
|
|
|
94
96
|
});
|
|
95
97
|
}
|
|
96
98
|
else {
|
|
97
|
-
rdh = new
|
|
99
|
+
rdh = new ResultSetDataHolder_1.default(fields === undefined
|
|
98
100
|
? []
|
|
99
101
|
: fields.map((f) => this.fieldInfo2Key(f, resolver)));
|
|
100
102
|
rows.forEach((result) => {
|
|
@@ -103,7 +105,7 @@ export default class MySQLDriver extends BaseDriver {
|
|
|
103
105
|
}
|
|
104
106
|
}
|
|
105
107
|
catch (err) {
|
|
106
|
-
rdh =
|
|
108
|
+
rdh = ResultSetDataHolder_1.default.create(err);
|
|
107
109
|
}
|
|
108
110
|
}
|
|
109
111
|
else {
|
|
@@ -113,7 +115,7 @@ export default class MySQLDriver extends BaseDriver {
|
|
|
113
115
|
});
|
|
114
116
|
}
|
|
115
117
|
countTables(tables, options) {
|
|
116
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
118
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
117
119
|
const list = new Array();
|
|
118
120
|
let counter = 1;
|
|
119
121
|
for (const st of tables.list) {
|
|
@@ -144,12 +146,12 @@ export default class MySQLDriver extends BaseDriver {
|
|
|
144
146
|
});
|
|
145
147
|
}
|
|
146
148
|
getInfomationSchemas(options) {
|
|
147
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
149
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
148
150
|
if (!this.conRes) {
|
|
149
151
|
return [];
|
|
150
152
|
}
|
|
151
153
|
const dbResources = new Array();
|
|
152
|
-
const dbDatabase = new DbDatabase(this.conRes.database);
|
|
154
|
+
const dbDatabase = new DbResource_1.DbDatabase(this.conRes.database);
|
|
153
155
|
dbResources.push(dbDatabase);
|
|
154
156
|
let progress = 10;
|
|
155
157
|
if (options.progress_callback) {
|
|
@@ -187,19 +189,19 @@ export default class MySQLDriver extends BaseDriver {
|
|
|
187
189
|
});
|
|
188
190
|
}
|
|
189
191
|
getSchemas(dbDatabase) {
|
|
190
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
192
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
191
193
|
const rdh = yield this.requestSql(`SELECT SCHEMA_NAME AS name
|
|
192
194
|
FROM INFORMATION_SCHEMA.SCHEMATA
|
|
193
195
|
WHERE LOWER(SCHEMA_NAME) NOT IN ('information_schema', 'sys', 'performance_schema')
|
|
194
196
|
ORDER BY name`);
|
|
195
197
|
return rdh.rows.map((r) => {
|
|
196
|
-
const res = new DbSchema(r.values.name);
|
|
198
|
+
const res = new DbResource_1.DbSchema(r.values.name);
|
|
197
199
|
return res;
|
|
198
200
|
});
|
|
199
201
|
});
|
|
200
202
|
}
|
|
201
203
|
getTables(dbSchema) {
|
|
202
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
204
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
203
205
|
const rdh = yield this
|
|
204
206
|
.requestSql(`SELECT TABLE_NAME as name, CASE TABLE_TYPE
|
|
205
207
|
WHEN 'BASE TABLE' THEN 'TABLE'
|
|
@@ -209,13 +211,13 @@ export default class MySQLDriver extends BaseDriver {
|
|
|
209
211
|
FROM INFORMATION_SCHEMA.TABLES
|
|
210
212
|
WHERE TABLE_SCHEMA = '${dbSchema.getName()}' `);
|
|
211
213
|
return rdh.rows.map((r) => {
|
|
212
|
-
const res = new DbTable(r.values.name, r.values.table_type, r.values.comment);
|
|
214
|
+
const res = new DbResource_1.DbTable(r.values.name, r.values.table_type, r.values.comment);
|
|
213
215
|
return res;
|
|
214
216
|
});
|
|
215
217
|
});
|
|
216
218
|
}
|
|
217
219
|
getColumns(dbTable) {
|
|
218
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
220
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
219
221
|
const binds = [dbTable.getParent().getName(), dbTable.getName()];
|
|
220
222
|
const rdh = yield this.requestSql(`SELECT COLUMN_NAME as name,
|
|
221
223
|
DATA_TYPE as col_type,
|
|
@@ -227,8 +229,8 @@ export default class MySQLDriver extends BaseDriver {
|
|
|
227
229
|
FROM INFORMATION_SCHEMA.COLUMNS
|
|
228
230
|
WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?`, { binds });
|
|
229
231
|
return rdh.rows.map((r) => {
|
|
230
|
-
const type_name = EnumValues.getNameFromValue(MySQLColumnType, MySQLColumnType.parse(r.values.col_type));
|
|
231
|
-
const res = new DbColumn(r.values.name, GeneralColumnType.parse(type_name), {
|
|
232
|
+
const type_name = enum_values_1.EnumValues.getNameFromValue(MySQLColumnType_1.MySQLColumnType, MySQLColumnType_1.MySQLColumnType.parse(r.values.col_type));
|
|
233
|
+
const res = new DbResource_1.DbColumn(r.values.name, GeneralColumnType_1.GeneralColumnType.parse(type_name), {
|
|
232
234
|
nullable: r.values.nullable === 1,
|
|
233
235
|
key: r.values.col_key,
|
|
234
236
|
default: r.values.col_default,
|
|
@@ -239,7 +241,7 @@ export default class MySQLDriver extends BaseDriver {
|
|
|
239
241
|
});
|
|
240
242
|
}
|
|
241
243
|
closeSub() {
|
|
242
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
244
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
243
245
|
try {
|
|
244
246
|
if (this.client) {
|
|
245
247
|
yield this.client.end();
|
|
@@ -252,4 +254,5 @@ export default class MySQLDriver extends BaseDriver {
|
|
|
252
254
|
});
|
|
253
255
|
}
|
|
254
256
|
}
|
|
257
|
+
exports.default = MySQLDriver;
|
|
255
258
|
//# sourceMappingURL=MySQLDriver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MySQLDriver.js","sourceRoot":"","sources":["../../../../src/db/drivers/MySQLDriver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MySQLDriver.js","sourceRoot":"","sources":["../../../../src/db/drivers/MySQLDriver.ts"],"names":[],"mappings":"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"}
|