@l-v-yonsama/multi-platform-database-drivers 0.1.31 → 0.1.32
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/drivers → drivers}/AwsS3Driver.d.ts +4 -3
- package/built/src/{db/drivers → drivers}/AwsS3Driver.js +49 -7
- package/built/src/drivers/AwsS3Driver.js.map +1 -0
- package/built/src/drivers/AwsSQSDriver.d.ts +27 -0
- package/built/src/drivers/AwsSQSDriver.js +140 -0
- package/built/src/drivers/AwsSQSDriver.js.map +1 -0
- package/built/src/{db/drivers → drivers}/BaseDriver.d.ts +4 -3
- package/built/src/{db/drivers → drivers}/BaseDriver.js +34 -5
- package/built/src/drivers/BaseDriver.js.map +1 -0
- package/built/src/drivers/DBDriverResolver.d.ts +12 -0
- package/built/src/{service → drivers}/DBDriverResolver.js +20 -32
- package/built/src/drivers/DBDriverResolver.js.map +1 -0
- package/built/src/drivers/DBError.js.map +1 -0
- package/built/src/{db/drivers → drivers}/MySQLDriver.d.ts +1 -1
- package/built/src/{db/drivers → drivers}/MySQLDriver.js +9 -7
- package/built/src/drivers/MySQLDriver.js.map +1 -0
- package/built/src/{db/drivers → drivers}/PostgresDriver.d.ts +2 -2
- package/built/src/{db/drivers → drivers}/PostgresDriver.js +8 -6
- package/built/src/drivers/PostgresDriver.js.map +1 -0
- package/built/src/{db/drivers → drivers}/RedisDriver.d.ts +4 -7
- package/built/src/{db/drivers → drivers}/RedisDriver.js +41 -100
- package/built/src/drivers/RedisDriver.js.map +1 -0
- package/built/src/{db/drivers → drivers}/index.d.ts +2 -0
- package/built/src/{db/drivers → drivers}/index.js +2 -0
- package/built/src/drivers/index.js.map +1 -0
- package/built/src/index.d.ts +2 -2
- package/built/src/index.js +2 -2
- package/built/src/index.js.map +1 -1
- package/built/src/{db/resource → resource}/DbResource.d.ts +30 -33
- package/built/src/{db/resource → resource}/DbResource.js +29 -93
- package/built/src/resource/DbResource.js.map +1 -0
- package/built/src/{db/resource → resource}/MultipleResultSetDataHolder.d.ts +1 -1
- package/built/src/{db/resource → resource}/MultipleResultSetDataHolder.js +1 -1
- package/built/src/resource/MultipleResultSetDataHolder.js.map +1 -0
- package/built/src/{db/resource → resource}/ResourceHelper.d.ts +1 -1
- package/built/src/resource/ResourceHelper.js.map +1 -0
- package/built/src/{db/resource → resource}/ResultSetDataHolder.d.ts +1 -1
- package/built/src/{db/resource → resource}/ResultSetDataHolder.js +2 -3
- package/built/src/resource/ResultSetDataHolder.js.map +1 -0
- package/built/src/{db/resource → resource}/index.d.ts +0 -1
- package/built/src/{db/resource → resource}/index.js +0 -1
- package/built/src/resource/index.js.map +1 -0
- package/built/src/types/AwsRegion.d.ts +30 -0
- package/built/src/types/AwsRegion.js +33 -0
- package/built/src/types/AwsRegion.js.map +1 -0
- package/built/src/{db/resource/types → types}/DBType.d.ts +1 -0
- package/built/src/{db/resource/types → types}/DBType.js +1 -0
- package/built/src/types/DBType.js.map +1 -0
- package/built/src/types/GeneralColumnType.js.map +1 -0
- package/built/src/{service/response/GeneralResponse.d.ts → types/GeneralResult.d.ts} +1 -1
- package/built/src/types/GeneralResult.js.map +1 -0
- package/built/src/types/MySQLColumnType.js.map +1 -0
- package/built/src/types/PostgresColumnType.js.map +1 -0
- package/built/src/types/RedisKeyType.d.ts +9 -0
- package/built/src/types/RedisKeyType.js +12 -0
- package/built/src/types/RedisKeyType.js.map +1 -0
- package/built/src/{db/resource/types → types}/ResourceType.d.ts +1 -0
- package/built/src/{db/resource/types → types}/ResourceType.js +1 -0
- package/built/src/types/ResourceType.js.map +1 -0
- package/built/src/types/ScanParams.d.ts +7 -0
- package/built/src/{service/response/result/ConnectionResult.js → types/ScanParams.js} +1 -1
- package/built/src/types/ScanParams.js.map +1 -0
- package/built/src/types/index.d.ts +7 -2
- package/built/src/types/index.js +7 -2
- package/built/src/types/index.js.map +1 -1
- package/package.json +4 -4
- package/built/src/db/DBError.js.map +0 -1
- package/built/src/db/drivers/AwsS3Driver.js.map +0 -1
- package/built/src/db/drivers/BaseDriver.js.map +0 -1
- package/built/src/db/drivers/MySQLDriver.js.map +0 -1
- package/built/src/db/drivers/PostgresDriver.js.map +0 -1
- package/built/src/db/drivers/RedisDriver.js.map +0 -1
- package/built/src/db/drivers/index.js.map +0 -1
- package/built/src/db/index.d.ts +0 -3
- package/built/src/db/index.js +0 -7
- package/built/src/db/index.js.map +0 -1
- package/built/src/db/resource/DbResource.js.map +0 -1
- package/built/src/db/resource/MultipleResultSetDataHolder.js.map +0 -1
- package/built/src/db/resource/ResourceHelper.js.map +0 -1
- package/built/src/db/resource/ResultSetDataHolder.js.map +0 -1
- package/built/src/db/resource/index.js.map +0 -1
- package/built/src/db/resource/types/DBType.js.map +0 -1
- package/built/src/db/resource/types/GeneralColumnType.js.map +0 -1
- package/built/src/db/resource/types/MySQLColumnType.js.map +0 -1
- package/built/src/db/resource/types/ODBCVendorType.d.ts +0 -3
- package/built/src/db/resource/types/ODBCVendorType.js +0 -8
- package/built/src/db/resource/types/ODBCVendorType.js.map +0 -1
- package/built/src/db/resource/types/PostgresColumnType.js.map +0 -1
- package/built/src/db/resource/types/RedisKeyType.d.ts +0 -12
- package/built/src/db/resource/types/RedisKeyType.js +0 -55
- package/built/src/db/resource/types/RedisKeyType.js.map +0 -1
- package/built/src/db/resource/types/ResourceType.js.map +0 -1
- package/built/src/db/resource/types/index.d.ts +0 -7
- package/built/src/db/resource/types/index.js +0 -11
- package/built/src/db/resource/types/index.js.map +0 -1
- package/built/src/service/DBAccessService.d.ts +0 -21
- package/built/src/service/DBAccessService.js +0 -359
- package/built/src/service/DBAccessService.js.map +0 -1
- package/built/src/service/DBDriverResolver.d.ts +0 -17
- package/built/src/service/DBDriverResolver.js.map +0 -1
- package/built/src/service/SQLService.d.ts +0 -5
- package/built/src/service/SQLService.js +0 -68
- package/built/src/service/SQLService.js.map +0 -1
- package/built/src/service/index.d.ts +0 -5
- package/built/src/service/index.js +0 -9
- package/built/src/service/index.js.map +0 -1
- package/built/src/service/request/RedisRequest.d.ts +0 -18
- package/built/src/service/request/RedisRequest.js +0 -14
- package/built/src/service/request/RedisRequest.js.map +0 -1
- package/built/src/service/request/S3Request.d.ts +0 -14
- package/built/src/service/request/S3Request.js +0 -12
- package/built/src/service/request/S3Request.js.map +0 -1
- package/built/src/service/request/index.d.ts +0 -80
- package/built/src/service/request/index.js +0 -23
- package/built/src/service/request/index.js.map +0 -1
- package/built/src/service/response/GeneralDBResponse.d.ts +0 -8
- package/built/src/service/response/GeneralDBResponse.js +0 -3
- package/built/src/service/response/GeneralDBResponse.js.map +0 -1
- package/built/src/service/response/GeneralResponse.js +0 -13
- package/built/src/service/response/GeneralResponse.js.map +0 -1
- package/built/src/service/response/index.d.ts +0 -3
- package/built/src/service/response/index.js +0 -7
- package/built/src/service/response/index.js.map +0 -1
- package/built/src/service/response/result/ConnectionResult.d.ts +0 -3
- package/built/src/service/response/result/ConnectionResult.js.map +0 -1
- package/built/src/service/response/result/GeneralResult.d.ts +0 -6
- package/built/src/service/response/result/GeneralResult.js.map +0 -1
- package/built/src/service/response/result/ProgressResult.d.ts +0 -7
- package/built/src/service/response/result/ProgressResult.js +0 -14
- package/built/src/service/response/result/ProgressResult.js.map +0 -1
- package/built/src/service/response/result/index.d.ts +0 -3
- package/built/src/service/response/result/index.js +0 -7
- package/built/src/service/response/result/index.js.map +0 -1
- package/built/src/types/DateModifiedType.d.ts +0 -14
- package/built/src/types/DateModifiedType.js +0 -68
- package/built/src/types/DateModifiedType.js.map +0 -1
- package/built/src/types/FileKindType.d.ts +0 -12
- package/built/src/types/FileKindType.js +0 -75
- package/built/src/types/FileKindType.js.map +0 -1
- /package/built/src/{db → drivers}/DBError.d.ts +0 -0
- /package/built/src/{db → drivers}/DBError.js +0 -0
- /package/built/src/{db/resource → resource}/ResourceHelper.js +0 -0
- /package/built/src/{db/resource/types → types}/GeneralColumnType.d.ts +0 -0
- /package/built/src/{db/resource/types → types}/GeneralColumnType.js +0 -0
- /package/built/src/{service/response/result → types}/GeneralResult.js +0 -0
- /package/built/src/{db/resource/types → types}/MySQLColumnType.d.ts +0 -0
- /package/built/src/{db/resource/types → types}/MySQLColumnType.js +0 -0
- /package/built/src/{db/resource/types → types}/PostgresColumnType.d.ts +0 -0
- /package/built/src/{db/resource/types → types}/PostgresColumnType.js +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { BaseDriver, RequestSqlOptions } from './BaseDriver';
|
|
2
|
-
import { DbConnection, DbDatabase, TableRows, SchemaAndTableHints, ResultSetDataHolder } from '../resource';
|
|
3
1
|
import { PutObjectCommandInput, S3Client, S3ClientConfig } from '@aws-sdk/client-s3';
|
|
2
|
+
import { BaseDriver, RequestSqlOptions } from './BaseDriver';
|
|
3
|
+
import { DbConnection, DbDatabase, DbKey, ResultSetDataHolder, S3KeyParams } from '../resource';
|
|
4
|
+
import { ScanParams } from '../types';
|
|
4
5
|
export declare class AwsS3Driver extends BaseDriver {
|
|
5
6
|
s3Client: S3Client;
|
|
6
7
|
finder: any;
|
|
@@ -8,8 +9,8 @@ export declare class AwsS3Driver extends BaseDriver {
|
|
|
8
9
|
constructor(conRes: DbConnection);
|
|
9
10
|
connectSub(): Promise<string>;
|
|
10
11
|
test(with_connect?: boolean): Promise<string>;
|
|
11
|
-
countTables(tables: SchemaAndTableHints, options: any): Promise<TableRows[]>;
|
|
12
12
|
abortSearch(): void;
|
|
13
|
+
scan(params: ScanParams): Promise<DbKey<S3KeyParams>[]>;
|
|
13
14
|
getInfomationSchemas(options: {
|
|
14
15
|
progress_callback?: Function | undefined;
|
|
15
16
|
params?: any;
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AwsS3Driver = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
5
6
|
const BaseDriver_1 = require("./BaseDriver");
|
|
6
7
|
const resource_1 = require("../resource");
|
|
7
|
-
const
|
|
8
|
+
const types_1 = require("../types");
|
|
8
9
|
class AwsS3Driver extends BaseDriver_1.BaseDriver {
|
|
9
10
|
constructor(conRes) {
|
|
10
11
|
super(conRes);
|
|
@@ -20,7 +21,7 @@ class AwsS3Driver extends BaseDriver_1.BaseDriver {
|
|
|
20
21
|
accessKeyId: this.conRes.user,
|
|
21
22
|
secretAccessKey: this.conRes.password,
|
|
22
23
|
};
|
|
23
|
-
if (this.conRes.dbType ===
|
|
24
|
+
if (this.conRes.dbType === types_1.DBType.Minio) {
|
|
24
25
|
this.config.endpoint = this.conRes.url;
|
|
25
26
|
this.config.s3ForcePathStyle = 'true';
|
|
26
27
|
}
|
|
@@ -49,16 +50,57 @@ class AwsS3Driver extends BaseDriver_1.BaseDriver {
|
|
|
49
50
|
return errorReason;
|
|
50
51
|
});
|
|
51
52
|
}
|
|
52
|
-
countTables(tables, options) {
|
|
53
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
54
|
-
return new Array();
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
53
|
abortSearch() {
|
|
58
54
|
if (this.finder) {
|
|
59
55
|
this.finder.abort();
|
|
60
56
|
}
|
|
61
57
|
}
|
|
58
|
+
scan(params) {
|
|
59
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
60
|
+
const { target, limit, keyword, withValue } = params;
|
|
61
|
+
let truncated = true;
|
|
62
|
+
let pageMarker;
|
|
63
|
+
const bucketParams = {
|
|
64
|
+
Bucket: target,
|
|
65
|
+
Prefix: keyword,
|
|
66
|
+
};
|
|
67
|
+
const list = [];
|
|
68
|
+
while (truncated) {
|
|
69
|
+
try {
|
|
70
|
+
bucketParams.MaxKeys = Math.min(1000, limit - list.length);
|
|
71
|
+
const response = yield this.s3Client.send(new client_s3_1.ListObjectsCommand(bucketParams));
|
|
72
|
+
response.Contents.forEach((item) => {
|
|
73
|
+
const key = new resource_1.DbKey(item.Key, {
|
|
74
|
+
etag: item.ETag,
|
|
75
|
+
size: item.Size,
|
|
76
|
+
storageClass: item.StorageClass,
|
|
77
|
+
lastModified: item.LastModified,
|
|
78
|
+
});
|
|
79
|
+
list.push(key);
|
|
80
|
+
});
|
|
81
|
+
truncated = response.IsTruncated;
|
|
82
|
+
if (truncated) {
|
|
83
|
+
pageMarker = response.Contents.slice(-1)[0].Key;
|
|
84
|
+
bucketParams.Marker = pageMarker;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
catch (err) {
|
|
88
|
+
console.log('Error', err);
|
|
89
|
+
truncated = false;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
if (withValue) {
|
|
93
|
+
const promises = list.map((it) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
it.params.base64 = yield this.getValueByKey({
|
|
95
|
+
bucket: target,
|
|
96
|
+
key: it.name,
|
|
97
|
+
});
|
|
98
|
+
}));
|
|
99
|
+
yield Promise.all(promises);
|
|
100
|
+
}
|
|
101
|
+
return list;
|
|
102
|
+
});
|
|
103
|
+
}
|
|
62
104
|
getInfomationSchemas(options) {
|
|
63
105
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
64
106
|
if (!this.conRes) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AwsS3Driver.js","sourceRoot":"","sources":["../../../src/drivers/AwsS3Driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { SQSClient, SQSClientConfig } from '@aws-sdk/client-sqs';
|
|
2
|
+
import { BaseDriver, RequestSqlOptions } from './BaseDriver';
|
|
3
|
+
import { DbConnection, DbDatabase, DbKey, ResultSetDataHolder, SQSMessageParams, SchemaAndTableHints, TableRows } from '../resource';
|
|
4
|
+
import { ScanParams } from '../types';
|
|
5
|
+
export declare class AwsSQSDriver extends BaseDriver {
|
|
6
|
+
countTables(tables: SchemaAndTableHints, options: any): Promise<TableRows[]>;
|
|
7
|
+
sqsClient: SQSClient;
|
|
8
|
+
finder: any;
|
|
9
|
+
config: SQSClientConfig;
|
|
10
|
+
constructor(conRes: DbConnection);
|
|
11
|
+
connectSub(): Promise<string>;
|
|
12
|
+
test(with_connect?: boolean): Promise<string>;
|
|
13
|
+
abortSearch(): void;
|
|
14
|
+
scan(params: ScanParams): Promise<DbKey<SQSMessageParams>[]>;
|
|
15
|
+
getInfomationSchemas(options: {
|
|
16
|
+
progress_callback?: Function | undefined;
|
|
17
|
+
params?: any;
|
|
18
|
+
}): Promise<Array<DbDatabase>>;
|
|
19
|
+
requestSql(sql: string, options?: RequestSqlOptions): Promise<ResultSetDataHolder>;
|
|
20
|
+
createQueue({ name }: {
|
|
21
|
+
name: string;
|
|
22
|
+
}): Promise<void>;
|
|
23
|
+
removeQueue({ url }: {
|
|
24
|
+
url: string;
|
|
25
|
+
}): Promise<void>;
|
|
26
|
+
closeSub(): Promise<string>;
|
|
27
|
+
}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AwsSQSDriver = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const client_sqs_1 = require("@aws-sdk/client-sqs");
|
|
6
|
+
const url = tslib_1.__importStar(require("url"));
|
|
7
|
+
const BaseDriver_1 = require("./BaseDriver");
|
|
8
|
+
const resource_1 = require("../resource");
|
|
9
|
+
const types_1 = require("../types");
|
|
10
|
+
class AwsSQSDriver extends BaseDriver_1.BaseDriver {
|
|
11
|
+
countTables(tables, options) {
|
|
12
|
+
throw new Error('Method not implemented.');
|
|
13
|
+
}
|
|
14
|
+
constructor(conRes) {
|
|
15
|
+
super(conRes);
|
|
16
|
+
}
|
|
17
|
+
connectSub() {
|
|
18
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
this.config = {};
|
|
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);
|
|
32
|
+
return this.test(false);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
test(with_connect = false) {
|
|
36
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
let errorReason = '';
|
|
38
|
+
if (with_connect) {
|
|
39
|
+
errorReason = yield this.connect();
|
|
40
|
+
}
|
|
41
|
+
if (this.sqsClient) {
|
|
42
|
+
try {
|
|
43
|
+
const a = yield this.sqsClient.send(new client_sqs_1.ListQueuesCommand({ MaxResults: 1 }));
|
|
44
|
+
}
|
|
45
|
+
catch (e) {
|
|
46
|
+
errorReason = e.message;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (with_connect) {
|
|
50
|
+
yield this.disconnect();
|
|
51
|
+
}
|
|
52
|
+
return errorReason;
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
abortSearch() {
|
|
56
|
+
if (this.finder) {
|
|
57
|
+
this.finder.abort();
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
scan(params) {
|
|
61
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
const { target, limit, keyword } = params;
|
|
63
|
+
const result = yield this.sqsClient.send(new client_sqs_1.ReceiveMessageCommand({
|
|
64
|
+
QueueUrl: target,
|
|
65
|
+
MaxNumberOfMessages: limit,
|
|
66
|
+
}));
|
|
67
|
+
let messages = result.Messages;
|
|
68
|
+
if (keyword) {
|
|
69
|
+
messages = messages.filter((it) => it.Body.includes(keyword) || it.MessageId.includes(keyword));
|
|
70
|
+
}
|
|
71
|
+
return messages.map((it) => {
|
|
72
|
+
const params = {
|
|
73
|
+
body: it.Body,
|
|
74
|
+
receiptHandle: it.ReceiptHandle,
|
|
75
|
+
md5OfBody: it.MD5OfBody,
|
|
76
|
+
};
|
|
77
|
+
return new resource_1.DbKey(it.MessageId, params);
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
getInfomationSchemas(options) {
|
|
82
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
if (!this.conRes) {
|
|
84
|
+
return [];
|
|
85
|
+
}
|
|
86
|
+
const dbResources = new Array();
|
|
87
|
+
const dbDatabase = new resource_1.DbDatabase('SQS');
|
|
88
|
+
dbResources.push(dbDatabase);
|
|
89
|
+
try {
|
|
90
|
+
let NextToken = undefined;
|
|
91
|
+
do {
|
|
92
|
+
const queues = yield this.sqsClient.send(new client_sqs_1.ListQueuesCommand({ MaxResults: 1000, NextToken }));
|
|
93
|
+
if (queues.QueueUrls) {
|
|
94
|
+
for (const queueUrl of queues.QueueUrls) {
|
|
95
|
+
const name = url.parse(queueUrl).pathname;
|
|
96
|
+
const attr = yield this.sqsClient.send(new client_sqs_1.GetQueueAttributesCommand({
|
|
97
|
+
QueueUrl: queueUrl,
|
|
98
|
+
AttributeNames: ['All'],
|
|
99
|
+
}));
|
|
100
|
+
const attributes = attr === null || attr === void 0 ? void 0 : attr.Attributes;
|
|
101
|
+
const dbQueue = new resource_1.DbSQSQueue(name, queueUrl, attributes);
|
|
102
|
+
dbDatabase.addChild(dbQueue);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
NextToken = queues.NextToken;
|
|
106
|
+
} while (NextToken);
|
|
107
|
+
dbDatabase.comment = `${dbDatabase.getChildren().length} queues`;
|
|
108
|
+
}
|
|
109
|
+
catch (e) {
|
|
110
|
+
console.error(e);
|
|
111
|
+
}
|
|
112
|
+
return dbResources;
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
requestSql(sql, options) {
|
|
116
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
117
|
+
return new resource_1.ResultSetDataHolder([]);
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
createQueue({ name }) {
|
|
121
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
122
|
+
yield this.sqsClient.send(new client_sqs_1.CreateQueueCommand({ QueueName: name }));
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
removeQueue({ url }) {
|
|
126
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
127
|
+
yield this.sqsClient.send(new client_sqs_1.DeleteQueueCommand({ QueueUrl: url }));
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
closeSub() {
|
|
131
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
132
|
+
if (this.sqsClient) {
|
|
133
|
+
this.sqsClient.destroy();
|
|
134
|
+
}
|
|
135
|
+
return '';
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
exports.AwsSQSDriver = AwsSQSDriver;
|
|
140
|
+
//# sourceMappingURL=AwsSQSDriver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AwsSQSDriver.js","sourceRoot":"","sources":["../../../src/drivers/AwsSQSDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { ColumnResolver, DbColumn, DbConnection, DbDatabase, ResultSetDataHolder, SchemaAndTableHints } from '../resource';
|
|
2
|
+
import { GeneralResult } from '../types';
|
|
3
|
+
import { DBError } from './DBError';
|
|
3
4
|
export declare abstract class BaseDriver {
|
|
4
5
|
isConnected: boolean;
|
|
5
6
|
protected conRes: DbConnection;
|
|
@@ -13,6 +14,7 @@ export declare abstract class BaseDriver {
|
|
|
13
14
|
isQuery(sql: string): boolean;
|
|
14
15
|
createColumnResolver(sql?: string): ColumnResolver;
|
|
15
16
|
parseSchemaAndTableHints(sql: string): SchemaAndTableHints;
|
|
17
|
+
flow<T = any>(f: () => Promise<T>): Promise<GeneralResult<T>>;
|
|
16
18
|
resetDefaultSchema(database: DbDatabase): void;
|
|
17
19
|
resolveColumn(column: string, resolver?: ColumnResolver): DbColumn | undefined;
|
|
18
20
|
resolveColumnComment(column: string, resolver?: ColumnResolver): string;
|
|
@@ -26,7 +28,6 @@ export declare abstract class BaseDriver {
|
|
|
26
28
|
params?: any;
|
|
27
29
|
}): Promise<Array<DbDatabase>>;
|
|
28
30
|
abstract test(with_connect: boolean): Promise<string>;
|
|
29
|
-
abstract countTables(tables: SchemaAndTableHints, options: any): Promise<TableRows[]>;
|
|
30
31
|
abstract requestSql(sql: string, options?: RequestSqlOptions): Promise<ResultSetDataHolder>;
|
|
31
32
|
createDBError(message: string, sourceError: any): DBError;
|
|
32
33
|
}
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BaseDriver = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const DBError_1 = require("../DBError");
|
|
6
|
-
const resource_1 = require("../resource");
|
|
7
5
|
const tunnel = tslib_1.__importStar(require("tunnel-ssh"));
|
|
8
6
|
const get_port_please_1 = require("get-port-please");
|
|
9
7
|
const fs = tslib_1.__importStar(require("fs"));
|
|
8
|
+
const resource_1 = require("../resource");
|
|
9
|
+
const types_1 = require("../types");
|
|
10
|
+
const DBError_1 = require("./DBError");
|
|
10
11
|
class BaseDriver {
|
|
11
12
|
constructor(conRes) {
|
|
12
13
|
this.conRes = conRes;
|
|
@@ -50,6 +51,34 @@ class BaseDriver {
|
|
|
50
51
|
}
|
|
51
52
|
return ret;
|
|
52
53
|
}
|
|
54
|
+
flow(f) {
|
|
55
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
let ok = true;
|
|
57
|
+
let message = yield this.connect();
|
|
58
|
+
let result;
|
|
59
|
+
if (message) {
|
|
60
|
+
return {
|
|
61
|
+
ok: false,
|
|
62
|
+
message,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
try {
|
|
66
|
+
result = yield f();
|
|
67
|
+
}
|
|
68
|
+
catch (e) {
|
|
69
|
+
ok = false;
|
|
70
|
+
message = e.message;
|
|
71
|
+
}
|
|
72
|
+
finally {
|
|
73
|
+
yield this.disconnect();
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
ok,
|
|
77
|
+
message,
|
|
78
|
+
result,
|
|
79
|
+
};
|
|
80
|
+
});
|
|
81
|
+
}
|
|
53
82
|
resetDefaultSchema(database) {
|
|
54
83
|
const searchNames = [];
|
|
55
84
|
if (this.conRes.database) {
|
|
@@ -61,7 +90,7 @@ class BaseDriver {
|
|
|
61
90
|
searchNames.push('public');
|
|
62
91
|
for (const searchName of searchNames) {
|
|
63
92
|
const child = database.getChildByName(searchName, {
|
|
64
|
-
resouceType:
|
|
93
|
+
resouceType: types_1.ResourceType.Schema,
|
|
65
94
|
});
|
|
66
95
|
if (child) {
|
|
67
96
|
child.isDefault = true;
|
|
@@ -70,7 +99,7 @@ class BaseDriver {
|
|
|
70
99
|
}
|
|
71
100
|
const child = database
|
|
72
101
|
.getChildren()
|
|
73
|
-
.find((it) => it.getResouceType() ===
|
|
102
|
+
.find((it) => it.getResouceType() === types_1.ResourceType.Schema);
|
|
74
103
|
if (child) {
|
|
75
104
|
child.isDefault = true;
|
|
76
105
|
}
|
|
@@ -82,7 +111,7 @@ class BaseDriver {
|
|
|
82
111
|
if (this.conRes) {
|
|
83
112
|
for (let i = 0; i < resolver.hints.list.length; i++) {
|
|
84
113
|
const hints = resolver.hints.list[i];
|
|
85
|
-
const t = resource_1.ResourceHelper.findResource(this.conRes,
|
|
114
|
+
const t = resource_1.ResourceHelper.findResource(this.conRes, types_1.ResourceType.Table, hints.table);
|
|
86
115
|
if (t) {
|
|
87
116
|
return t.getChildByName(column, { unwrapQuote: true });
|
|
88
117
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseDriver.js","sourceRoot":"","sources":["../../../src/drivers/BaseDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BaseDriver } from './BaseDriver';
|
|
2
|
+
import { ConnectionSetting } from '../resource';
|
|
3
|
+
export declare class DBDriverResolver {
|
|
4
|
+
private driverMap;
|
|
5
|
+
private static instance;
|
|
6
|
+
static getInstance(): DBDriverResolver;
|
|
7
|
+
private constructor();
|
|
8
|
+
getDriverById(connectionId: string): BaseDriver;
|
|
9
|
+
createDriver<T extends BaseDriver>(setting: ConnectionSetting): T;
|
|
10
|
+
removeDriver(driver: BaseDriver): void;
|
|
11
|
+
closeAll(): Promise<string>;
|
|
12
|
+
}
|
|
@@ -2,8 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DBDriverResolver = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const db_1 = require("../db");
|
|
6
5
|
const short_unique_id_1 = tslib_1.__importDefault(require("short-unique-id"));
|
|
6
|
+
const resource_1 = require("../resource");
|
|
7
|
+
const types_1 = require("../types");
|
|
8
|
+
const MySQLDriver_1 = require("./MySQLDriver");
|
|
9
|
+
const PostgresDriver_1 = require("./PostgresDriver");
|
|
10
|
+
const RedisDriver_1 = require("./RedisDriver");
|
|
11
|
+
const AwsS3Driver_1 = require("./AwsS3Driver");
|
|
12
|
+
const AwsSQSDriver_1 = require("./AwsSQSDriver");
|
|
7
13
|
const uid = new short_unique_id_1.default();
|
|
8
14
|
class DBDriverResolver {
|
|
9
15
|
static getInstance() {
|
|
@@ -13,28 +19,8 @@ class DBDriverResolver {
|
|
|
13
19
|
return this.instance;
|
|
14
20
|
}
|
|
15
21
|
constructor() {
|
|
16
|
-
this.connectionList = new Array();
|
|
17
|
-
this.connectionSettingList = new Array();
|
|
18
22
|
this.driverMap = new Map();
|
|
19
23
|
}
|
|
20
|
-
addConnectionSetting(setting) {
|
|
21
|
-
if (this.connectionSettingList.some((it) => it.name === setting.name)) {
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
this.connectionSettingList.push(setting);
|
|
25
|
-
}
|
|
26
|
-
removeConnectionSettingByName(name) {
|
|
27
|
-
const idx = this.connectionSettingList.findIndex((it) => it.name === name);
|
|
28
|
-
if (idx >= 0) {
|
|
29
|
-
this.connectionSettingList.splice(idx, 1);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
getConResList() {
|
|
33
|
-
return this.connectionList;
|
|
34
|
-
}
|
|
35
|
-
getSettingByName(defName) {
|
|
36
|
-
return this.connectionSettingList.find((def) => def.name === defName);
|
|
37
|
-
}
|
|
38
24
|
getDriverById(connectionId) {
|
|
39
25
|
if (!this.driverMap.has(connectionId)) {
|
|
40
26
|
throw new Error(`Connection resource for 'ID:${connectionId}' not found.`);
|
|
@@ -42,26 +28,28 @@ class DBDriverResolver {
|
|
|
42
28
|
return this.driverMap.get(connectionId);
|
|
43
29
|
}
|
|
44
30
|
createDriver(setting) {
|
|
45
|
-
const conRes = new
|
|
31
|
+
const conRes = new resource_1.DbConnection(Object.assign(Object.assign({}, setting), { id: uid.randomUUID(8) }));
|
|
46
32
|
let driver = undefined;
|
|
47
33
|
switch (conRes.dbType) {
|
|
48
|
-
case
|
|
49
|
-
driver = new
|
|
34
|
+
case types_1.DBType.MySQL:
|
|
35
|
+
driver = new MySQLDriver_1.MySQLDriver(conRes);
|
|
36
|
+
break;
|
|
37
|
+
case types_1.DBType.Postgres:
|
|
38
|
+
driver = new PostgresDriver_1.PostgresDriver(conRes);
|
|
50
39
|
break;
|
|
51
|
-
case
|
|
52
|
-
driver = new
|
|
40
|
+
case types_1.DBType.Redis:
|
|
41
|
+
driver = new RedisDriver_1.RedisDriver(conRes);
|
|
53
42
|
break;
|
|
54
|
-
case
|
|
55
|
-
|
|
43
|
+
case types_1.DBType.AwsS3:
|
|
44
|
+
case types_1.DBType.Minio:
|
|
45
|
+
driver = new AwsS3Driver_1.AwsS3Driver(conRes);
|
|
56
46
|
break;
|
|
57
|
-
case
|
|
58
|
-
|
|
59
|
-
driver = new db_1.AwsS3Driver(conRes);
|
|
47
|
+
case types_1.DBType.AwsSQS:
|
|
48
|
+
driver = new AwsSQSDriver_1.AwsSQSDriver(conRes);
|
|
60
49
|
break;
|
|
61
50
|
default:
|
|
62
51
|
throw new Error(`${conRes.dbType} is not supported.`);
|
|
63
52
|
}
|
|
64
|
-
this.connectionList.push(conRes);
|
|
65
53
|
this.driverMap.set(conRes.id, driver);
|
|
66
54
|
return driver;
|
|
67
55
|
}
|
|
@@ -0,0 +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;AAE9C,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;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;AArFD,4CAqFC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DBError.js","sourceRoot":"","sources":["../../../src/drivers/DBError.ts"],"names":[],"mappings":";;;AAAA,MAAa,OAAQ,SAAQ,KAAK;IAMhC,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,5 +1,5 @@
|
|
|
1
1
|
import { BaseDriver, RequestSqlOptions } from './BaseDriver';
|
|
2
|
-
import {
|
|
2
|
+
import { ColumnResolver, DbColumn, DbConnection, DbDatabase, DbSchema, DbTable, RdhKey, ResultSetDataHolder, SchemaAndTableHints, TableRows } from '../resource';
|
|
3
3
|
export declare class MySQLDriver extends BaseDriver {
|
|
4
4
|
private client;
|
|
5
5
|
constructor(conRes: DbConnection);
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MySQLDriver = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const BaseDriver_1 = require("./BaseDriver");
|
|
6
5
|
const mysql = tslib_1.__importStar(require("mysql2/promise"));
|
|
7
|
-
const resource_1 = require("../resource");
|
|
8
6
|
const enum_values_1 = require("enum-values");
|
|
7
|
+
const MySQLColumnType_1 = require("../types/MySQLColumnType");
|
|
8
|
+
const BaseDriver_1 = require("./BaseDriver");
|
|
9
|
+
const resource_1 = require("../resource");
|
|
10
|
+
const types_1 = require("../types");
|
|
9
11
|
class MySQLDriver extends BaseDriver_1.BaseDriver {
|
|
10
12
|
constructor(conRes) {
|
|
11
13
|
super(conRes);
|
|
@@ -14,9 +16,9 @@ class MySQLDriver extends BaseDriver_1.BaseDriver {
|
|
|
14
16
|
if (resolver) {
|
|
15
17
|
resolver.hints.list.push({ table: fieldInfo.orgTable });
|
|
16
18
|
}
|
|
17
|
-
const name = enum_values_1.EnumValues.getNameFromValue(
|
|
18
|
-
const key = new resource_1.RdhKey(fieldInfo.name,
|
|
19
|
-
if (key.type ===
|
|
19
|
+
const name = enum_values_1.EnumValues.getNameFromValue(MySQLColumnType_1.MySQLColumnType, MySQLColumnType_1.MySQLColumnType.parseByFieldInfo(fieldInfo));
|
|
20
|
+
const key = new resource_1.RdhKey(fieldInfo.name, types_1.GeneralColumnType.parse(name), super.resolveColumnComment(fieldInfo.orgName, resolver));
|
|
21
|
+
if (key.type === types_1.GeneralColumnType.UNKNOWN) {
|
|
20
22
|
}
|
|
21
23
|
return key;
|
|
22
24
|
}
|
|
@@ -228,8 +230,8 @@ class MySQLDriver extends BaseDriver_1.BaseDriver {
|
|
|
228
230
|
FROM INFORMATION_SCHEMA.COLUMNS
|
|
229
231
|
WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?`, { binds });
|
|
230
232
|
return rdh.rows.map((r) => {
|
|
231
|
-
const type_name = enum_values_1.EnumValues.getNameFromValue(
|
|
232
|
-
const res = new resource_1.DbColumn(r.values.name,
|
|
233
|
+
const type_name = enum_values_1.EnumValues.getNameFromValue(MySQLColumnType_1.MySQLColumnType, MySQLColumnType_1.MySQLColumnType.parse(r.values.col_type));
|
|
234
|
+
const res = new resource_1.DbColumn(r.values.name, types_1.GeneralColumnType.parse(type_name), {
|
|
233
235
|
nullable: r.values.nullable === 1,
|
|
234
236
|
key: r.values.col_key,
|
|
235
237
|
default: r.values.col_default,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MySQLDriver.js","sourceRoot":"","sources":["../../../src/drivers/MySQLDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { BaseDriver, RequestSqlOptions } from './BaseDriver';
|
|
2
|
-
import { ResultSetDataHolder, RdhKey, DbConnection, DbDatabase, DbSchema, DbTable, DbColumn, ColumnResolver, TableRows, SchemaAndTableHints } from '../resource';
|
|
3
1
|
import { default as pg } from 'pg';
|
|
2
|
+
import { BaseDriver, RequestSqlOptions } from './BaseDriver';
|
|
3
|
+
import { ColumnResolver, DbColumn, DbConnection, DbDatabase, DbSchema, DbTable, RdhKey, ResultSetDataHolder, SchemaAndTableHints, TableRows } from '../resource';
|
|
4
4
|
export declare class PostgresDriver extends BaseDriver {
|
|
5
5
|
private pool;
|
|
6
6
|
constructor(conRes: DbConnection);
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PostgresDriver = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const BaseDriver_1 = require("./BaseDriver");
|
|
6
|
-
const resource_1 = require("../resource");
|
|
7
5
|
const pg_1 = tslib_1.__importDefault(require("pg"));
|
|
8
6
|
const enum_values_1 = require("enum-values");
|
|
7
|
+
const PostgresColumnType_1 = require("../types/PostgresColumnType");
|
|
8
|
+
const BaseDriver_1 = require("./BaseDriver");
|
|
9
|
+
const resource_1 = require("../resource");
|
|
10
|
+
const types_1 = require("../types");
|
|
9
11
|
class PostgresDriver extends BaseDriver_1.BaseDriver {
|
|
10
12
|
constructor(conRes) {
|
|
11
13
|
super(conRes);
|
|
@@ -14,8 +16,8 @@ class PostgresDriver extends BaseDriver_1.BaseDriver {
|
|
|
14
16
|
if (fieldInfo.name.startsWith('c_')) {
|
|
15
17
|
console.log(`★ ${fieldInfo.name.substring(2).toUpperCase()} = ${fieldInfo.dataTypeID}`);
|
|
16
18
|
}
|
|
17
|
-
const name = enum_values_1.EnumValues.getNameFromValue(
|
|
18
|
-
const key = new resource_1.RdhKey(fieldInfo.name,
|
|
19
|
+
const name = enum_values_1.EnumValues.getNameFromValue(PostgresColumnType_1.PostgresColumnType, PostgresColumnType_1.PostgresColumnType.parse(fieldInfo.dataTypeID));
|
|
20
|
+
const key = new resource_1.RdhKey(fieldInfo.name, types_1.GeneralColumnType.parse(name), super.resolveColumnComment(fieldInfo.name, resolver));
|
|
19
21
|
return key;
|
|
20
22
|
}
|
|
21
23
|
connectSub() {
|
|
@@ -255,8 +257,8 @@ class PostgresDriver extends BaseDriver_1.BaseDriver {
|
|
|
255
257
|
order by
|
|
256
258
|
col.ordinal_position`, { binds });
|
|
257
259
|
return rdh.rows.map((r) => {
|
|
258
|
-
const type_name = enum_values_1.EnumValues.getNameFromValue(
|
|
259
|
-
const res = new resource_1.DbColumn(r.values.qname,
|
|
260
|
+
const type_name = enum_values_1.EnumValues.getNameFromValue(PostgresColumnType_1.PostgresColumnType, PostgresColumnType_1.PostgresColumnType.parse(r.values.col_type));
|
|
261
|
+
const res = new resource_1.DbColumn(r.values.qname, types_1.GeneralColumnType.parse(type_name), {
|
|
260
262
|
nullable: r.values.nullable === 1,
|
|
261
263
|
key: r.values.col_key,
|
|
262
264
|
default: r.values.col_default,
|