@l-v-yonsama/multi-platform-database-drivers 0.1.11 → 0.1.13

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.
@@ -1,4 +1,3 @@
1
- import { __awaiter } from "tslib";
2
1
  import BaseDriver from './BaseDriver';
3
2
  import * as mysql from 'mysql2/promise';
4
3
  import ResultSetDataHolder, { RdhKey } from '../resource/ResultSetDataHolder';
@@ -20,204 +19,189 @@ export default class MySQLDriver extends BaseDriver {
20
19
  }
21
20
  return key;
22
21
  }
23
- connectSub() {
24
- return __awaiter(this, void 0, void 0, function* () {
25
- let errorMessage = '';
26
- const options = {
27
- connectionLimit: 4,
28
- multipleStatements: true,
29
- port: this.conRes.port,
30
- host: this.conRes.host,
31
- user: this.conRes.user,
32
- password: this.conRes.password,
33
- database: this.conRes.database,
34
- };
35
- this.client = mysql.createPool(options);
36
- try {
37
- errorMessage = yield this.test();
22
+ async connectSub() {
23
+ let errorMessage = '';
24
+ const options = {
25
+ connectionLimit: 4,
26
+ multipleStatements: true,
27
+ port: this.conRes.port,
28
+ host: this.conRes.host,
29
+ user: this.conRes.user,
30
+ password: this.conRes.password,
31
+ database: this.conRes.database,
32
+ };
33
+ this.client = mysql.createPool(options);
34
+ try {
35
+ errorMessage = await this.test();
36
+ }
37
+ catch (e) {
38
+ errorMessage = e.message;
39
+ }
40
+ return errorMessage;
41
+ }
42
+ async test(with_connect = false) {
43
+ let errorReason = '';
44
+ if (with_connect) {
45
+ errorReason = await this.connect();
46
+ }
47
+ if (!errorReason) {
48
+ const rdh = await this.requestSql('SELECT 1 from DUAL');
49
+ if (rdh && rdh.errorMessage) {
50
+ return rdh.errorMessage;
38
51
  }
39
- catch (e) {
40
- errorMessage = e.message;
52
+ if (with_connect) {
53
+ await this.disconnect();
41
54
  }
42
- return errorMessage;
43
- });
55
+ }
56
+ return errorReason;
44
57
  }
45
- test(with_connect = false) {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- let errorReason = '';
48
- if (with_connect) {
49
- errorReason = yield this.connect();
58
+ async requestSql(sql, options) {
59
+ let rdh = new ResultSetDataHolder([]);
60
+ if (this.client) {
61
+ let binds = [];
62
+ if (options && options.binds) {
63
+ binds = options.binds;
50
64
  }
51
- if (!errorReason) {
52
- const rdh = yield this.requestSql('SELECT 1 from DUAL');
53
- if (rdh && rdh.errorMessage) {
54
- return rdh.errorMessage;
55
- }
56
- if (with_connect) {
57
- yield this.disconnect();
58
- }
65
+ let resolver;
66
+ if (options && options.needs_column_resolve === true) {
67
+ resolver = this.createColumnResolver(sql);
59
68
  }
60
- return errorReason;
61
- });
62
- }
63
- requestSql(sql, options) {
64
- return __awaiter(this, void 0, void 0, function* () {
65
- let rdh = new ResultSetDataHolder([]);
66
- if (this.client) {
67
- let binds = [];
68
- if (options && options.binds) {
69
- binds = options.binds;
70
- }
71
- let resolver;
72
- if (options && options.needs_column_resolve === true) {
73
- resolver = this.createColumnResolver(sql);
74
- }
75
- const [rows, fields] = yield this.client.execute(sql, binds);
76
- try {
77
- if (fields === undefined) {
78
- const results = rows;
79
- rdh = new ResultSetDataHolder([
80
- 'fieldCount',
81
- 'affectedRows',
82
- 'insertId',
83
- 'serverStatus',
84
- 'warningStatus',
85
- 'changedRows',
86
- ]);
87
- rdh.addRow({
88
- fieldCount: results.fieldCount,
89
- affectedRows: results.affectedRows,
90
- insertId: results.insertId,
91
- serverStatus: results.serverStatus,
92
- warningStatus: results.warningStatus,
93
- changedRows: results.changedRows,
94
- });
95
- }
96
- else {
97
- rdh = new ResultSetDataHolder(fields === undefined
98
- ? []
99
- : fields.map((f) => this.fieldInfo2Key(f, resolver)));
100
- rows.forEach((result) => {
101
- rdh.addRow(result);
102
- });
103
- }
69
+ const [rows, fields] = await this.client.execute(sql, binds);
70
+ try {
71
+ if (fields === undefined) {
72
+ const results = rows;
73
+ rdh = new ResultSetDataHolder([
74
+ 'fieldCount',
75
+ 'affectedRows',
76
+ 'insertId',
77
+ 'serverStatus',
78
+ 'warningStatus',
79
+ 'changedRows',
80
+ ]);
81
+ rdh.addRow({
82
+ fieldCount: results.fieldCount,
83
+ affectedRows: results.affectedRows,
84
+ insertId: results.insertId,
85
+ serverStatus: results.serverStatus,
86
+ warningStatus: results.warningStatus,
87
+ changedRows: results.changedRows,
88
+ });
104
89
  }
105
- catch (err) {
106
- rdh = ResultSetDataHolder.create(err);
90
+ else {
91
+ rdh = new ResultSetDataHolder(fields === undefined
92
+ ? []
93
+ : fields.map((f) => this.fieldInfo2Key(f, resolver)));
94
+ rows.forEach((result) => {
95
+ rdh.addRow(result);
96
+ });
107
97
  }
108
98
  }
109
- else {
110
- new Error('No connection');
99
+ catch (err) {
100
+ rdh = ResultSetDataHolder.create(err);
111
101
  }
112
- return rdh;
113
- });
102
+ }
103
+ else {
104
+ new Error('No connection');
105
+ }
106
+ return rdh;
114
107
  }
115
- countTables(tables, options) {
116
- return __awaiter(this, void 0, void 0, function* () {
117
- const list = new Array();
118
- let counter = 1;
119
- for (const st of tables.list) {
120
- let prefix = '';
121
- if (st.schema) {
122
- prefix = st.schema + '.';
123
- }
124
- if (options && options.progress_callback) {
125
- if (counter % 5 === 0) {
126
- options.progress_callback(`Count ${prefix}${st.table}`, 70);
127
- }
128
- }
129
- const sql = `SELECT COUNT(*) as count FROM ${prefix}${st.table}`;
130
- try {
131
- const [results] = yield this.client.query(sql, []);
132
- if (results && results.length > 0) {
133
- const row = results[0];
134
- const obj = Object.assign({ count: row.count }, st);
135
- list.push(obj);
136
- }
108
+ async countTables(tables, options) {
109
+ const list = new Array();
110
+ let counter = 1;
111
+ for (const st of tables.list) {
112
+ let prefix = '';
113
+ if (st.schema) {
114
+ prefix = st.schema + '.';
115
+ }
116
+ if (options && options.progress_callback) {
117
+ if (counter % 5 === 0) {
118
+ options.progress_callback(`Count ${prefix}${st.table}`, 70);
137
119
  }
138
- catch (e) {
139
- console.error(e);
120
+ }
121
+ const sql = `SELECT COUNT(*) as count FROM ${prefix}${st.table}`;
122
+ try {
123
+ const [results] = await this.client.query(sql, []);
124
+ if (results && results.length > 0) {
125
+ const row = results[0];
126
+ const obj = Object.assign({ count: row.count }, st);
127
+ list.push(obj);
140
128
  }
141
- counter++;
142
129
  }
143
- return list;
144
- });
145
- }
146
- getInfomationSchemas(options) {
147
- return __awaiter(this, void 0, void 0, function* () {
148
- if (!this.conRes) {
149
- return [];
130
+ catch (e) {
131
+ console.error(e);
150
132
  }
151
- const dbResources = new Array();
152
- const dbDatabase = new DbDatabase(this.conRes.database);
153
- dbResources.push(dbDatabase);
154
- let progress = 10;
133
+ counter++;
134
+ }
135
+ return list;
136
+ }
137
+ async getInfomationSchemas(options) {
138
+ if (!this.conRes) {
139
+ return [];
140
+ }
141
+ const dbResources = new Array();
142
+ const dbDatabase = new DbDatabase(this.conRes.database);
143
+ dbResources.push(dbDatabase);
144
+ let progress = 10;
145
+ if (options.progress_callback) {
146
+ options.progress_callback(`${dbResources.length} Databases found.`, progress);
147
+ }
148
+ const dbSchemas = await this.getSchemas(dbDatabase);
149
+ dbSchemas.forEach((res) => {
150
+ dbDatabase.addChild(res);
151
+ });
152
+ this.resetDefaultSchema(dbDatabase);
153
+ progress = 30;
154
+ if (options.progress_callback) {
155
+ options.progress_callback(`${dbSchemas.length} Schemas found.`, progress);
156
+ }
157
+ const incrPerSchema = Math.round(20 / dbSchemas.length);
158
+ for (const dbSchema of dbSchemas) {
159
+ const dbTables = await this.getTables(dbSchema);
160
+ dbTables.forEach((res) => dbSchema.addChild(res));
155
161
  if (options.progress_callback) {
156
- options.progress_callback(`${dbResources.length} Databases found.`, progress);
162
+ progress += incrPerSchema;
163
+ options.progress_callback(`${dbTables.length} Tables found in Schema[${dbSchema.getName()}].`, progress);
157
164
  }
158
- const dbSchemas = yield this.getSchemas(dbDatabase);
159
- dbSchemas.forEach((res) => {
160
- dbDatabase.addChild(res);
161
- });
162
- this.resetDefaultSchema(dbDatabase);
163
- progress = 30;
165
+ }
166
+ for (const dbSchema of dbSchemas) {
164
167
  if (options.progress_callback) {
165
- options.progress_callback(`${dbSchemas.length} Schemas found.`, progress);
168
+ progress += incrPerSchema;
169
+ options.progress_callback(`Commnets finding now... in Schema[${dbSchema.getName()}].`, progress);
166
170
  }
167
- const incrPerSchema = Math.round(20 / dbSchemas.length);
168
- for (const dbSchema of dbSchemas) {
169
- const dbTables = yield this.getTables(dbSchema);
170
- dbTables.forEach((res) => dbSchema.addChild(res));
171
- if (options.progress_callback) {
172
- progress += incrPerSchema;
173
- options.progress_callback(`${dbTables.length} Tables found in Schema[${dbSchema.getName()}].`, progress);
174
- }
171
+ for (const dbTable of dbSchema.getChildren()) {
172
+ const dbColumns = await this.getColumns(dbTable);
173
+ dbColumns.forEach((res) => dbTable.addChild(res));
175
174
  }
176
- for (const dbSchema of dbSchemas) {
177
- if (options.progress_callback) {
178
- progress += incrPerSchema;
179
- options.progress_callback(`Commnets finding now... in Schema[${dbSchema.getName()}].`, progress);
180
- }
181
- for (const dbTable of dbSchema.getChildren()) {
182
- const dbColumns = yield this.getColumns(dbTable);
183
- dbColumns.forEach((res) => dbTable.addChild(res));
184
- }
185
- }
186
- return dbResources;
187
- });
175
+ }
176
+ return dbResources;
188
177
  }
189
- getSchemas(dbDatabase) {
190
- return __awaiter(this, void 0, void 0, function* () {
191
- const rdh = yield this.requestSql(`SELECT SCHEMA_NAME AS name
178
+ async getSchemas(dbDatabase) {
179
+ const rdh = await this.requestSql(`SELECT SCHEMA_NAME AS name
192
180
  FROM INFORMATION_SCHEMA.SCHEMATA
193
181
  WHERE LOWER(SCHEMA_NAME) NOT IN ('information_schema', 'sys', 'performance_schema')
194
182
  ORDER BY name`);
195
- return rdh.rows.map((r) => {
196
- const res = new DbSchema(r.values.name);
197
- return res;
198
- });
183
+ return rdh.rows.map((r) => {
184
+ const res = new DbSchema(r.values.name);
185
+ return res;
199
186
  });
200
187
  }
201
- getTables(dbSchema) {
202
- return __awaiter(this, void 0, void 0, function* () {
203
- const rdh = yield this
204
- .requestSql(`SELECT TABLE_NAME as name, CASE TABLE_TYPE
188
+ async getTables(dbSchema) {
189
+ const rdh = await this
190
+ .requestSql(`SELECT TABLE_NAME as name, CASE TABLE_TYPE
205
191
  WHEN 'BASE TABLE' THEN 'TABLE'
206
192
  WHEN 'SYSTEM VIEW' THEN 'VIEW'
207
193
  ELSE 'TABLE' END AS table_type,
208
194
  TABLE_COMMENT as comment
209
195
  FROM INFORMATION_SCHEMA.TABLES
210
196
  WHERE TABLE_SCHEMA = '${dbSchema.getName()}' `);
211
- return rdh.rows.map((r) => {
212
- const res = new DbTable(r.values.name, r.values.table_type, r.values.comment);
213
- return res;
214
- });
197
+ return rdh.rows.map((r) => {
198
+ const res = new DbTable(r.values.name, r.values.table_type, r.values.comment);
199
+ return res;
215
200
  });
216
201
  }
217
- getColumns(dbTable) {
218
- return __awaiter(this, void 0, void 0, function* () {
219
- const binds = [dbTable.getParent().getName(), dbTable.getName()];
220
- const rdh = yield this.requestSql(`SELECT COLUMN_NAME as name,
202
+ async getColumns(dbTable) {
203
+ const binds = [dbTable.getParent().getName(), dbTable.getName()];
204
+ const rdh = await this.requestSql(`SELECT COLUMN_NAME as name,
221
205
  DATA_TYPE as col_type,
222
206
  CASE WHEN IS_NULLABLE = 'YES' THEN 1 ELSE 0 END as nullable,
223
207
  COLUMN_KEY as col_key,
@@ -226,30 +210,27 @@ export default class MySQLDriver extends BaseDriver {
226
210
  COLUMN_COMMENT as comment
227
211
  FROM INFORMATION_SCHEMA.COLUMNS
228
212
  WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?`, { binds });
229
- 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
- nullable: r.values.nullable === 1,
233
- key: r.values.col_key,
234
- default: r.values.col_default,
235
- extra: r.values.col_extra,
236
- }, r.values.comment);
237
- return res;
238
- });
213
+ return rdh.rows.map((r) => {
214
+ const type_name = EnumValues.getNameFromValue(MySQLColumnType, MySQLColumnType.parse(r.values.col_type));
215
+ const res = new DbColumn(r.values.name, GeneralColumnType.parse(type_name), {
216
+ nullable: r.values.nullable === 1,
217
+ key: r.values.col_key,
218
+ default: r.values.col_default,
219
+ extra: r.values.col_extra,
220
+ }, r.values.comment);
221
+ return res;
239
222
  });
240
223
  }
241
- closeSub() {
242
- return __awaiter(this, void 0, void 0, function* () {
243
- try {
244
- if (this.client) {
245
- yield this.client.end();
246
- }
247
- return '';
248
- }
249
- catch (e) {
250
- return e.message;
224
+ async closeSub() {
225
+ try {
226
+ if (this.client) {
227
+ await this.client.end();
251
228
  }
252
- });
229
+ return '';
230
+ }
231
+ catch (e) {
232
+ return e.message;
233
+ }
253
234
  }
254
235
  }
255
236
  //# sourceMappingURL=MySQLDriver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MySQLDriver.js","sourceRoot":"","sources":["../../../../src/db/drivers/MySQLDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MySQLDriver.js","sourceRoot":"","sources":["../../../../src/db/drivers/MySQLDriver.ts"],"names":[],"mappings":"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"}