@l-v-yonsama/multi-platform-database-drivers 0.1.8 → 0.1.10
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/README.md +6 -0
- package/built/src/db/drivers/AwsS3Driver.d.ts +1 -1
- package/built/src/db/drivers/AwsS3Driver.js +122 -421
- package/built/src/db/drivers/AwsS3Driver.js.map +1 -1
- package/built/src/db/drivers/BaseDriver.d.ts +6 -6
- package/built/src/db/drivers/BaseDriver.js +86 -111
- package/built/src/db/drivers/BaseDriver.js.map +1 -1
- package/built/src/db/drivers/MySQLDriver.d.ts +1 -1
- package/built/src/db/drivers/MySQLDriver.js +187 -183
- package/built/src/db/drivers/MySQLDriver.js.map +1 -1
- package/built/src/db/drivers/PostgresDriver.d.ts +1 -1
- package/built/src/db/drivers/PostgresDriver.js +173 -185
- package/built/src/db/drivers/PostgresDriver.js.map +1 -1
- package/built/src/db/drivers/RedisDriver.d.ts +2 -2
- package/built/src/db/drivers/RedisDriver.js +172 -162
- package/built/src/db/drivers/RedisDriver.js.map +1 -1
- package/built/src/db/index.d.ts +0 -1
- package/built/src/db/index.js +0 -1
- package/built/src/db/index.js.map +1 -1
- package/built/src/db/resource/DbResource.d.ts +43 -35
- package/built/src/db/resource/DbResource.js +80 -73
- package/built/src/db/resource/DbResource.js.map +1 -1
- package/built/src/db/resource/MultipleResultSetDataHolder.js +0 -1
- package/built/src/db/resource/MultipleResultSetDataHolder.js.map +1 -1
- package/built/src/db/resource/ResourceHelper.d.ts +6 -0
- package/built/src/db/resource/ResourceHelper.js +58 -0
- package/built/src/db/resource/ResourceHelper.js.map +1 -0
- package/built/src/db/resource/ResultSetDataHolder.d.ts +0 -11
- package/built/src/db/resource/ResultSetDataHolder.js +0 -42
- package/built/src/db/resource/ResultSetDataHolder.js.map +1 -1
- package/built/src/db/resource/index.d.ts +1 -1
- package/built/src/db/resource/index.js +1 -1
- package/built/src/db/resource/index.js.map +1 -1
- package/built/src/db/resource/types/GeneralColumnType.js +0 -20
- package/built/src/db/resource/types/GeneralColumnType.js.map +1 -1
- package/built/src/db/resource/types/MySQLColumnType.js +9 -19
- package/built/src/db/resource/types/MySQLColumnType.js.map +1 -1
- package/built/src/db/resource/types/PostgresColumnType.js +0 -2
- package/built/src/db/resource/types/PostgresColumnType.js.map +1 -1
- package/built/src/index.d.ts +1 -1
- package/built/src/index.js +1 -1
- package/built/src/index.js.map +1 -1
- package/built/src/service/DBAccessService.d.ts +20 -0
- package/built/src/service/DBAccessService.js +319 -0
- package/built/src/service/DBAccessService.js.map +1 -0
- package/built/src/service/DBDriverResolver.d.ts +17 -0
- package/built/src/service/DBDriverResolver.js +89 -0
- package/built/src/service/DBDriverResolver.js.map +1 -0
- package/built/src/service/SQLService.d.ts +5 -0
- package/built/src/service/SQLService.js +67 -0
- package/built/src/service/SQLService.js.map +1 -0
- package/built/src/service/index.d.ts +5 -0
- package/built/src/service/index.js +9 -0
- package/built/src/service/index.js.map +1 -0
- package/built/src/service/request/{redis_request.d.ts → RedisRequest.d.ts} +1 -1
- package/built/src/service/request/{redis_request.js → RedisRequest.js} +1 -1
- package/built/src/service/request/RedisRequest.js.map +1 -0
- package/built/src/service/request/{s3_request.d.ts → S3Request.d.ts} +1 -1
- package/built/src/service/request/{s3_request.js → S3Request.js} +1 -1
- package/built/src/service/request/S3Request.js.map +1 -0
- package/built/src/service/request/index.d.ts +67 -0
- package/built/src/service/request/index.js +19 -0
- package/built/src/service/request/index.js.map +1 -0
- package/built/src/service/response/GeneralDBResponse.d.ts +8 -0
- package/built/src/service/response/GeneralDBResponse.js +3 -0
- package/built/src/service/response/GeneralDBResponse.js.map +1 -0
- package/built/src/service/response/GeneralResponse.d.ts +6 -0
- package/built/src/service/response/GeneralResponse.js +13 -0
- package/built/src/service/response/GeneralResponse.js.map +1 -0
- package/built/src/service/response/index.d.ts +2 -0
- package/built/src/service/response/index.js +6 -0
- package/built/src/service/response/index.js.map +1 -0
- package/built/src/service/response/reply/ConnectionResult.d.ts +3 -0
- package/built/src/service/response/reply/ConnectionResult.js +3 -0
- package/built/src/service/response/reply/ConnectionResult.js.map +1 -0
- package/built/src/service/response/reply/FileExportReply.d.ts +10 -0
- package/built/src/service/response/reply/FileExportReply.js +17 -0
- package/built/src/service/response/reply/FileExportReply.js.map +1 -0
- package/built/src/service/response/reply/FileProcessResult.d.ts +14 -0
- package/built/src/service/response/reply/FileProcessResult.js +28 -0
- package/built/src/service/response/reply/FileProcessResult.js.map +1 -0
- package/built/src/service/response/{GeneralReponse.d.ts → reply/GeneralReply.d.ts} +1 -1
- package/built/src/service/response/{GeneralReponse.js → reply/GeneralReply.js} +3 -3
- package/built/src/service/response/reply/GeneralReply.js.map +1 -0
- package/built/src/service/response/reply/OutputReply.d.ts +9 -0
- package/built/src/service/response/reply/OutputReply.js +16 -0
- package/built/src/service/response/reply/OutputReply.js.map +1 -0
- package/built/src/service/response/reply/ProgressReply.d.ts +7 -0
- package/built/src/service/response/reply/ProgressReply.js +13 -0
- package/built/src/service/response/reply/ProgressReply.js.map +1 -0
- package/built/src/service/response/reply/types/FileExportType.d.ts +3 -0
- package/built/src/service/response/reply/types/FileExportType.js +9 -0
- package/built/src/service/response/reply/types/FileExportType.js.map +1 -0
- package/built/src/service/response/reply/types/OutputType.d.ts +11 -0
- package/built/src/service/response/reply/types/OutputType.js +16 -0
- package/built/src/service/response/reply/types/OutputType.js.map +1 -0
- package/built/src/service/response/reply/types/ReplyEventType.d.ts +10 -0
- package/built/src/service/response/reply/types/ReplyEventType.js +16 -0
- package/built/src/service/response/reply/types/ReplyEventType.js.map +1 -0
- package/package.json +9 -5
- package/built/src/db/manager.d.ts +0 -8
- package/built/src/db/manager.js +0 -87
- package/built/src/db/manager.js.map +0 -1
- package/built/src/db/resource/ResourceUtil.d.ts +0 -39
- package/built/src/db/resource/ResourceUtil.js +0 -337
- package/built/src/db/resource/ResourceUtil.js.map +0 -1
- package/built/src/service/request/general_db_request.d.ts +0 -18
- package/built/src/service/request/general_db_request.js +0 -14
- package/built/src/service/request/general_db_request.js.map +0 -1
- package/built/src/service/request/redis_request.js.map +0 -1
- package/built/src/service/request/s3_request.js.map +0 -1
- package/built/src/service/response/GeneralReponse.js.map +0 -1
- package/built/src/util/file_util.d.ts +0 -22
- package/built/src/util/file_util.js +0 -143
- package/built/src/util/file_util.js.map +0 -1
- package/built/src/util/index.d.ts +0 -1
- package/built/src/util/index.js +0 -5
- package/built/src/util/index.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
4
|
const BaseDriver_1 = require("./BaseDriver");
|
|
5
5
|
const ResultSetDataHolder_1 = require("../resource/ResultSetDataHolder");
|
|
6
6
|
const DbResource_1 = require("../resource/DbResource");
|
|
@@ -12,13 +12,6 @@ class PostgresDriver extends BaseDriver_1.default {
|
|
|
12
12
|
constructor(conRes) {
|
|
13
13
|
super(conRes);
|
|
14
14
|
}
|
|
15
|
-
// name: 'name',
|
|
16
|
-
// tableID: 12822,
|
|
17
|
-
// columnID: 2,
|
|
18
|
-
// dataTypeID: 1043,
|
|
19
|
-
// dataTypeSize: -1,
|
|
20
|
-
// dataTypeModifier: -1,
|
|
21
|
-
// format: 'text' }
|
|
22
15
|
fieldInfo2Key(fieldInfo, resolver) {
|
|
23
16
|
if (fieldInfo.name.startsWith('c_')) {
|
|
24
17
|
console.log(`★ ${fieldInfo.name.substring(2).toUpperCase()} = ${fieldInfo.dataTypeID}`);
|
|
@@ -27,197 +20,189 @@ class PostgresDriver extends BaseDriver_1.default {
|
|
|
27
20
|
const key = new ResultSetDataHolder_1.RdhKey(fieldInfo.name, GeneralColumnType_1.GeneralColumnType.parse(name), super.resolveColumnComment(fieldInfo.name, resolver));
|
|
28
21
|
return key;
|
|
29
22
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
23
|
+
connectSub() {
|
|
24
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
let errorReason = '';
|
|
26
|
+
const options = Object.assign({
|
|
27
|
+
port: 5432,
|
|
28
|
+
host: '127.0.0.1',
|
|
29
|
+
database: 'postgres',
|
|
30
|
+
}, {
|
|
31
|
+
max: 1,
|
|
32
|
+
idleTimeoutMillis: 3000,
|
|
33
|
+
connectionTimeoutMillis: 1000,
|
|
34
|
+
port: this.conRes.port,
|
|
35
|
+
host: this.conRes.host,
|
|
36
|
+
user: this.conRes.user,
|
|
37
|
+
password: this.conRes.password,
|
|
38
|
+
database: this.conRes.database,
|
|
39
|
+
});
|
|
40
|
+
this.pool = new pg_1.default.Pool(options);
|
|
41
|
+
errorReason = yield this.test();
|
|
42
|
+
return errorReason;
|
|
45
43
|
});
|
|
46
|
-
this.pool = new pg_1.default.Pool(options);
|
|
47
|
-
// the pool with emit an error on behalf of any idle clients
|
|
48
|
-
// it contains if a backend error or network partition happens
|
|
49
|
-
// this.pool.on('error', (err, client) => {
|
|
50
|
-
// // log.error('Unexpected error on idle client', err);
|
|
51
|
-
// });
|
|
52
|
-
// this.pool.on('acquire', function (client) {
|
|
53
|
-
// // log.info('acquire', client);
|
|
54
|
-
// });
|
|
55
|
-
// this.pool.on('connect', function (client) {
|
|
56
|
-
// // log.info('connect', client);
|
|
57
|
-
// });
|
|
58
|
-
errorReason = await this.test();
|
|
59
|
-
return errorReason;
|
|
60
44
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
45
|
+
test(with_connect = false) {
|
|
46
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
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
|
+
}
|
|
66
56
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
errorReason = rdh.errorMessage;
|
|
57
|
+
catch (e) {
|
|
58
|
+
errorReason = e.message;
|
|
70
59
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
finally {
|
|
76
|
-
if (with_connect) {
|
|
77
|
-
await this.asyncClose();
|
|
60
|
+
finally {
|
|
61
|
+
if (with_connect) {
|
|
62
|
+
yield this.disconnect();
|
|
63
|
+
}
|
|
78
64
|
}
|
|
79
|
-
|
|
80
|
-
|
|
65
|
+
return errorReason;
|
|
66
|
+
});
|
|
81
67
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
68
|
+
requestSql(sql, options) {
|
|
69
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
let rdh = new ResultSetDataHolder_1.default([]);
|
|
71
|
+
try {
|
|
72
|
+
let binds = [];
|
|
73
|
+
if (options && options.binds) {
|
|
74
|
+
binds = options.binds;
|
|
75
|
+
}
|
|
76
|
+
const results = yield this.pool.query(sql, binds);
|
|
77
|
+
if (results) {
|
|
78
|
+
let resolver;
|
|
79
|
+
if (options && options.needs_column_resolve === true) {
|
|
80
|
+
resolver = this.createColumnResolver(sql);
|
|
81
|
+
}
|
|
82
|
+
const fields = results.fields;
|
|
83
|
+
rdh = new ResultSetDataHolder_1.default(fields === undefined
|
|
84
|
+
? []
|
|
85
|
+
: fields.map((f) => this.fieldInfo2Key(f, resolver)));
|
|
86
|
+
if (results.rows) {
|
|
87
|
+
results.rows.forEach((result) => {
|
|
88
|
+
rdh.addRow(result);
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
90
92
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
93
|
+
catch (err) {
|
|
94
|
+
rdh = ResultSetDataHolder_1.default.create(err);
|
|
95
|
+
}
|
|
96
|
+
return rdh;
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
countTables(tables, options) {
|
|
100
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
101
|
+
const list = new Array();
|
|
102
|
+
let counter = 1;
|
|
103
|
+
for (const st of tables.list) {
|
|
104
|
+
let prefix = '';
|
|
105
|
+
if (st.schema) {
|
|
106
|
+
prefix = st.schema + '.';
|
|
107
|
+
}
|
|
108
|
+
if (options && options.progress_callback) {
|
|
109
|
+
if (counter % 5 === 0) {
|
|
110
|
+
options.progress_callback(`Count ${prefix}${st.table}`, 70);
|
|
111
|
+
}
|
|
107
112
|
}
|
|
108
|
-
const
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
}
|
|
113
|
+
const sql = `SELECT COUNT(*) as count FROM ${prefix}${st.table}`;
|
|
114
|
+
try {
|
|
115
|
+
const results = yield this.pool.query(sql, []);
|
|
116
|
+
if (results && results.rows && results.rows.length > 0) {
|
|
117
|
+
const row = results.rows[0];
|
|
118
|
+
const obj = Object.assign({ count: row.count }, st);
|
|
119
|
+
list.push(obj);
|
|
120
|
+
}
|
|
116
121
|
}
|
|
122
|
+
catch (e) { }
|
|
123
|
+
counter++;
|
|
117
124
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
rdh = ResultSetDataHolder_1.default.create(err);
|
|
121
|
-
}
|
|
122
|
-
return rdh;
|
|
125
|
+
return list;
|
|
126
|
+
});
|
|
123
127
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
let prefix = '';
|
|
129
|
-
if (st.schema) {
|
|
130
|
-
prefix = st.schema + '.';
|
|
128
|
+
getInfomationSchemas(options) {
|
|
129
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
130
|
+
if (!this.conRes) {
|
|
131
|
+
return [];
|
|
131
132
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
133
|
+
const dbResources = new Array();
|
|
134
|
+
const db_list = yield this.asyncGetDatabases(this.conRes.database);
|
|
135
|
+
db_list.forEach((db) => dbResources.push(db));
|
|
136
|
+
const dbDatabase = db_list.find((d) => d.name === this.conRes.database);
|
|
137
|
+
const dbSchemas = yield this.getSchemas(dbDatabase);
|
|
138
|
+
dbSchemas.forEach((res) => {
|
|
139
|
+
dbDatabase.addChild(res);
|
|
140
|
+
});
|
|
141
|
+
this.resetDefaultSchema(dbDatabase);
|
|
142
|
+
for (const dbSchema of dbSchemas) {
|
|
143
|
+
const dbTables = yield this.getTables(dbSchema);
|
|
144
|
+
dbTables.forEach((res) => dbSchema.addChild(res));
|
|
136
145
|
}
|
|
137
|
-
const
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
const row = results.rows[0];
|
|
142
|
-
const obj = Object.assign({ count: row.count }, st);
|
|
143
|
-
list.push(obj);
|
|
146
|
+
for (const dbSchema of dbSchemas) {
|
|
147
|
+
for (const dbTable of dbSchema.getChildren()) {
|
|
148
|
+
const dbColumns = yield this.getColumns(dbTable);
|
|
149
|
+
dbColumns.forEach((res) => dbTable.addChild(res));
|
|
144
150
|
}
|
|
145
|
-
// eslint-disable-next-line no-empty
|
|
146
151
|
}
|
|
147
|
-
|
|
148
|
-
counter++;
|
|
149
|
-
}
|
|
150
|
-
return list;
|
|
151
|
-
}
|
|
152
|
-
async getResouces(options) {
|
|
153
|
-
if (!this.conRes) {
|
|
154
|
-
return [];
|
|
155
|
-
}
|
|
156
|
-
const dbResources = new Array();
|
|
157
|
-
const db_list = await this.asyncGetDatabases(this.conRes.database);
|
|
158
|
-
db_list.forEach((db) => dbResources.push(db));
|
|
159
|
-
const dbDatabase = db_list.find((d) => d.name === this.conRes.database);
|
|
160
|
-
const dbSchemas = await this.getSchemas(dbDatabase);
|
|
161
|
-
dbSchemas.forEach((res) => {
|
|
162
|
-
dbDatabase.addChild(res);
|
|
152
|
+
return dbResources;
|
|
163
153
|
});
|
|
164
|
-
// const parallels = [];
|
|
165
|
-
for (const dbSchema of dbSchemas) {
|
|
166
|
-
const dbTables = await this.getTables(dbSchema);
|
|
167
|
-
dbTables.forEach((res) => dbSchema.addChild(res));
|
|
168
|
-
}
|
|
169
|
-
for (const dbSchema of dbSchemas) {
|
|
170
|
-
for (const dbTable of dbSchema.getChildren()) {
|
|
171
|
-
const dbColumns = await this.getColumns(dbTable);
|
|
172
|
-
dbColumns.forEach((res) => dbTable.addChild(res));
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
return dbResources;
|
|
176
154
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
155
|
+
asyncGetDatabases(connection_database) {
|
|
156
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
157
|
+
const rdh = yield this
|
|
158
|
+
.requestSql(`SELECT datname AS name, pg_encoding_to_char(encoding) AS comment
|
|
180
159
|
FROM pg_database ORDER BY datname`);
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
160
|
+
return rdh.rows.map((r) => {
|
|
161
|
+
const res = new DbResource_1.DbDatabase(r.values.name);
|
|
162
|
+
res.comment = r.values.comment;
|
|
163
|
+
res.disabled = res.name !== connection_database;
|
|
164
|
+
return res;
|
|
165
|
+
});
|
|
186
166
|
});
|
|
187
167
|
}
|
|
188
|
-
|
|
189
|
-
|
|
168
|
+
getSchemas(dbDatabase) {
|
|
169
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
170
|
+
const rdh = yield this.requestSql(`SELECT SCHEMA_NAME AS name
|
|
190
171
|
FROM INFORMATION_SCHEMA.SCHEMATA
|
|
191
172
|
WHERE LOWER(SCHEMA_NAME) NOT IN ('information_schema', 'sys', 'performance_schema', 'pg_catalog', 'pg_toast', 'pg_temp_1', 'pg_toast_temp_1')
|
|
192
173
|
ORDER BY name`);
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
174
|
+
return rdh.rows.map((r) => {
|
|
175
|
+
const res = new DbResource_1.DbSchema(r.values.name);
|
|
176
|
+
return res;
|
|
177
|
+
});
|
|
196
178
|
});
|
|
197
179
|
}
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
180
|
+
getTables(dbSchema) {
|
|
181
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
182
|
+
let rdh = yield this
|
|
183
|
+
.requestSql(`select quote_ident(m.relname) as qname, COALESCE(d.description, '') as comment
|
|
201
184
|
from pg_stat_all_tables as m
|
|
202
185
|
LEFT JOIN pg_description as d ON (m.relid = d.objoid AND d.objsubid=0)
|
|
203
186
|
WHERE m.schemaname='${dbSchema.getName()}'
|
|
204
187
|
ORDER BY m.relname`);
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
188
|
+
const list = rdh.rows.map((r) => {
|
|
189
|
+
const res = new DbResource_1.DbTable(r.values.qname, 'TABLE', r.values.comment);
|
|
190
|
+
return res;
|
|
191
|
+
});
|
|
192
|
+
rdh = yield this
|
|
193
|
+
.requestSql(`select quote_ident(viewname) as qname, definition from pg_catalog.pg_views
|
|
211
194
|
where schemaname = '${dbSchema.getName()}'
|
|
212
195
|
order by viewname`);
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
196
|
+
return list.concat(rdh.rows.map((r) => {
|
|
197
|
+
const res = new DbResource_1.DbTable(r.values.qname, 'VIEW', '');
|
|
198
|
+
return res;
|
|
199
|
+
}));
|
|
200
|
+
});
|
|
217
201
|
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
202
|
+
getColumns(dbTable) {
|
|
203
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
204
|
+
const binds = [dbTable.getParent().getName(), dbTable.getName()];
|
|
205
|
+
const rdh = yield this.requestSql(`select
|
|
221
206
|
col.COLUMN_NAME as name,
|
|
222
207
|
quote_ident(col.COLUMN_NAME) as qname,
|
|
223
208
|
data_type as col_type,
|
|
@@ -270,27 +255,30 @@ class PostgresDriver extends BaseDriver_1.default {
|
|
|
270
255
|
col.table_schema = $1 AND quote_ident(col.table_name) = $2
|
|
271
256
|
order by
|
|
272
257
|
col.ordinal_position`, { binds });
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
258
|
+
return rdh.rows.map((r) => {
|
|
259
|
+
const type_name = enum_values_1.EnumValues.getNameFromValue(PostgresColumnType_1.PostgresColumnType, PostgresColumnType_1.PostgresColumnType.parse(r.values.col_type));
|
|
260
|
+
const res = new DbResource_1.DbColumn(r.values.qname, GeneralColumnType_1.GeneralColumnType.parse(type_name), {
|
|
261
|
+
nullable: r.values.nullable === 1,
|
|
262
|
+
key: r.values.col_key,
|
|
263
|
+
default: r.values.col_default,
|
|
264
|
+
extra: r.values.col_extra,
|
|
265
|
+
}, r.values.comment);
|
|
266
|
+
return res;
|
|
267
|
+
});
|
|
282
268
|
});
|
|
283
269
|
}
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
270
|
+
closeSub() {
|
|
271
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
272
|
+
try {
|
|
273
|
+
if (this.pool) {
|
|
274
|
+
yield this.pool.end();
|
|
275
|
+
}
|
|
276
|
+
return '';
|
|
288
277
|
}
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
}
|
|
278
|
+
catch (e) {
|
|
279
|
+
return e.message;
|
|
280
|
+
}
|
|
281
|
+
});
|
|
294
282
|
}
|
|
295
283
|
}
|
|
296
284
|
exports.default = PostgresDriver;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgresDriver.js","sourceRoot":"","sources":["../../../../src/db/drivers/PostgresDriver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PostgresDriver.js","sourceRoot":"","sources":["../../../../src/db/drivers/PostgresDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { DbConnection, DbResource, DbKey, SchemaAndTableHints, TableRows } from
|
|
|
3
3
|
import { Redis } from 'ioredis';
|
|
4
4
|
import ResultSetDataHolder from '../resource/ResultSetDataHolder';
|
|
5
5
|
import { RedisKeyType } from '../resource/types/RedisKeyType';
|
|
6
|
-
import { RedisRequest } from '../../service/request/
|
|
6
|
+
import { RedisRequest } from '../../service/request/RedisRequest';
|
|
7
7
|
export default class RedisDriver extends BaseDriver {
|
|
8
8
|
client: Redis | undefined;
|
|
9
9
|
databases: number;
|
|
@@ -15,7 +15,7 @@ export default class RedisDriver extends BaseDriver {
|
|
|
15
15
|
executeCommand(req: RedisRequest): Promise<DbKey | string | number>;
|
|
16
16
|
scan(db_index: number, key: string, count: number, with_value: boolean, progressCallback: Function): Promise<Array<DbKey>>;
|
|
17
17
|
getValueByKey(client: Redis, key: string, type: RedisKeyType): Promise<any>;
|
|
18
|
-
|
|
18
|
+
getInfomationSchemas(options: {
|
|
19
19
|
progress_callback?: Function | undefined;
|
|
20
20
|
params?: any;
|
|
21
21
|
}): Promise<Array<DbResource>>;
|