@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 ResultSetDataHolder, { RdhKey } from '../resource/ResultSetDataHolder';
4
3
  import { DbDatabase, DbSchema, DbTable, DbColumn, } from '../resource/DbResource';
@@ -18,189 +17,172 @@ export default class PostgresDriver extends BaseDriver {
18
17
  const key = new RdhKey(fieldInfo.name, GeneralColumnType.parse(name), super.resolveColumnComment(fieldInfo.name, resolver));
19
18
  return key;
20
19
  }
21
- connectSub() {
22
- return __awaiter(this, void 0, void 0, function* () {
23
- let errorReason = '';
24
- const options = Object.assign({
25
- port: 5432,
26
- host: '127.0.0.1',
27
- database: 'postgres',
28
- }, {
29
- max: 1,
30
- idleTimeoutMillis: 3000,
31
- connectionTimeoutMillis: 1000,
32
- port: this.conRes.port,
33
- host: this.conRes.host,
34
- user: this.conRes.user,
35
- password: this.conRes.password,
36
- database: this.conRes.database,
37
- });
38
- this.pool = new pg.Pool(options);
39
- errorReason = yield this.test();
40
- return errorReason;
20
+ async connectSub() {
21
+ let errorReason = '';
22
+ const options = Object.assign({
23
+ port: 5432,
24
+ host: '127.0.0.1',
25
+ database: 'postgres',
26
+ }, {
27
+ max: 1,
28
+ idleTimeoutMillis: 3000,
29
+ connectionTimeoutMillis: 1000,
30
+ port: this.conRes.port,
31
+ host: this.conRes.host,
32
+ user: this.conRes.user,
33
+ password: this.conRes.password,
34
+ database: this.conRes.database,
41
35
  });
36
+ this.pool = new pg.Pool(options);
37
+ errorReason = await this.test();
38
+ return errorReason;
42
39
  }
43
- test(with_connect = false) {
44
- return __awaiter(this, void 0, void 0, function* () {
45
- let errorReason = '';
46
- try {
47
- if (with_connect) {
48
- errorReason = yield this.connect();
49
- }
50
- const rdh = yield this.requestSql('SELECT NOW()');
51
- if (rdh && rdh.errorMessage) {
52
- errorReason = rdh.errorMessage;
53
- }
40
+ async test(with_connect = false) {
41
+ let errorReason = '';
42
+ try {
43
+ if (with_connect) {
44
+ errorReason = await this.connect();
54
45
  }
55
- catch (e) {
56
- errorReason = e.message;
46
+ const rdh = await this.requestSql('SELECT NOW()');
47
+ if (rdh && rdh.errorMessage) {
48
+ errorReason = rdh.errorMessage;
57
49
  }
58
- finally {
59
- if (with_connect) {
60
- yield this.disconnect();
61
- }
50
+ }
51
+ catch (e) {
52
+ errorReason = e.message;
53
+ }
54
+ finally {
55
+ if (with_connect) {
56
+ await this.disconnect();
62
57
  }
63
- return errorReason;
64
- });
58
+ }
59
+ return errorReason;
65
60
  }
66
- requestSql(sql, options) {
67
- return __awaiter(this, void 0, void 0, function* () {
68
- let rdh = new ResultSetDataHolder([]);
69
- try {
70
- let binds = [];
71
- if (options && options.binds) {
72
- binds = options.binds;
73
- }
74
- const results = yield this.pool.query(sql, binds);
75
- if (results) {
76
- let resolver;
77
- if (options && options.needs_column_resolve === true) {
78
- resolver = this.createColumnResolver(sql);
79
- }
80
- const fields = results.fields;
81
- rdh = new ResultSetDataHolder(fields === undefined
82
- ? []
83
- : fields.map((f) => this.fieldInfo2Key(f, resolver)));
84
- if (results.rows) {
85
- results.rows.forEach((result) => {
86
- rdh.addRow(result);
87
- });
88
- }
89
- }
61
+ async requestSql(sql, options) {
62
+ let rdh = new ResultSetDataHolder([]);
63
+ try {
64
+ let binds = [];
65
+ if (options && options.binds) {
66
+ binds = options.binds;
90
67
  }
91
- catch (err) {
92
- rdh = ResultSetDataHolder.create(err);
93
- }
94
- return rdh;
95
- });
96
- }
97
- countTables(tables, options) {
98
- return __awaiter(this, void 0, void 0, function* () {
99
- const list = new Array();
100
- let counter = 1;
101
- for (const st of tables.list) {
102
- let prefix = '';
103
- if (st.schema) {
104
- prefix = st.schema + '.';
105
- }
106
- if (options && options.progress_callback) {
107
- if (counter % 5 === 0) {
108
- options.progress_callback(`Count ${prefix}${st.table}`, 70);
109
- }
68
+ const results = await this.pool.query(sql, binds);
69
+ if (results) {
70
+ let resolver;
71
+ if (options && options.needs_column_resolve === true) {
72
+ resolver = this.createColumnResolver(sql);
110
73
  }
111
- const sql = `SELECT COUNT(*) as count FROM ${prefix}${st.table}`;
112
- try {
113
- const results = yield this.pool.query(sql, []);
114
- if (results && results.rows && results.rows.length > 0) {
115
- const row = results.rows[0];
116
- const obj = Object.assign({ count: row.count }, st);
117
- list.push(obj);
118
- }
74
+ const fields = results.fields;
75
+ rdh = new ResultSetDataHolder(fields === undefined
76
+ ? []
77
+ : fields.map((f) => this.fieldInfo2Key(f, resolver)));
78
+ if (results.rows) {
79
+ results.rows.forEach((result) => {
80
+ rdh.addRow(result);
81
+ });
119
82
  }
120
- catch (e) { }
121
- counter++;
122
83
  }
123
- return list;
124
- });
84
+ }
85
+ catch (err) {
86
+ rdh = ResultSetDataHolder.create(err);
87
+ }
88
+ return rdh;
125
89
  }
126
- getInfomationSchemas(options) {
127
- return __awaiter(this, void 0, void 0, function* () {
128
- if (!this.conRes) {
129
- return [];
90
+ async countTables(tables, options) {
91
+ const list = new Array();
92
+ let counter = 1;
93
+ for (const st of tables.list) {
94
+ let prefix = '';
95
+ if (st.schema) {
96
+ prefix = st.schema + '.';
130
97
  }
131
- const dbResources = new Array();
132
- const db_list = yield this.asyncGetDatabases(this.conRes.database);
133
- db_list.forEach((db) => dbResources.push(db));
134
- const dbDatabase = db_list.find((d) => d.name === this.conRes.database);
135
- const dbSchemas = yield this.getSchemas(dbDatabase);
136
- dbSchemas.forEach((res) => {
137
- dbDatabase.addChild(res);
138
- });
139
- this.resetDefaultSchema(dbDatabase);
140
- for (const dbSchema of dbSchemas) {
141
- const dbTables = yield this.getTables(dbSchema);
142
- dbTables.forEach((res) => dbSchema.addChild(res));
98
+ if (options && options.progress_callback) {
99
+ if (counter % 5 === 0) {
100
+ options.progress_callback(`Count ${prefix}${st.table}`, 70);
101
+ }
143
102
  }
144
- for (const dbSchema of dbSchemas) {
145
- for (const dbTable of dbSchema.getChildren()) {
146
- const dbColumns = yield this.getColumns(dbTable);
147
- dbColumns.forEach((res) => dbTable.addChild(res));
103
+ const sql = `SELECT COUNT(*) as count FROM ${prefix}${st.table}`;
104
+ try {
105
+ const results = await this.pool.query(sql, []);
106
+ if (results && results.rows && results.rows.length > 0) {
107
+ const row = results.rows[0];
108
+ const obj = Object.assign({ count: row.count }, st);
109
+ list.push(obj);
148
110
  }
149
111
  }
150
- return dbResources;
112
+ catch (e) { }
113
+ counter++;
114
+ }
115
+ return list;
116
+ }
117
+ async getInfomationSchemas(options) {
118
+ if (!this.conRes) {
119
+ return [];
120
+ }
121
+ const dbResources = new Array();
122
+ const db_list = await this.asyncGetDatabases(this.conRes.database);
123
+ db_list.forEach((db) => dbResources.push(db));
124
+ const dbDatabase = db_list.find((d) => d.name === this.conRes.database);
125
+ const dbSchemas = await this.getSchemas(dbDatabase);
126
+ dbSchemas.forEach((res) => {
127
+ dbDatabase.addChild(res);
151
128
  });
129
+ this.resetDefaultSchema(dbDatabase);
130
+ for (const dbSchema of dbSchemas) {
131
+ const dbTables = await this.getTables(dbSchema);
132
+ dbTables.forEach((res) => dbSchema.addChild(res));
133
+ }
134
+ for (const dbSchema of dbSchemas) {
135
+ for (const dbTable of dbSchema.getChildren()) {
136
+ const dbColumns = await this.getColumns(dbTable);
137
+ dbColumns.forEach((res) => dbTable.addChild(res));
138
+ }
139
+ }
140
+ return dbResources;
152
141
  }
153
- asyncGetDatabases(connection_database) {
154
- return __awaiter(this, void 0, void 0, function* () {
155
- const rdh = yield this
156
- .requestSql(`SELECT datname AS name, pg_encoding_to_char(encoding) AS comment
142
+ async asyncGetDatabases(connection_database) {
143
+ const rdh = await this
144
+ .requestSql(`SELECT datname AS name, pg_encoding_to_char(encoding) AS comment
157
145
  FROM pg_database ORDER BY datname`);
158
- return rdh.rows.map((r) => {
159
- const res = new DbDatabase(r.values.name);
160
- res.comment = r.values.comment;
161
- res.disabled = res.name !== connection_database;
162
- return res;
163
- });
146
+ return rdh.rows.map((r) => {
147
+ const res = new DbDatabase(r.values.name);
148
+ res.comment = r.values.comment;
149
+ res.disabled = res.name !== connection_database;
150
+ return res;
164
151
  });
165
152
  }
166
- getSchemas(dbDatabase) {
167
- return __awaiter(this, void 0, void 0, function* () {
168
- const rdh = yield this.requestSql(`SELECT SCHEMA_NAME AS name
153
+ async getSchemas(dbDatabase) {
154
+ const rdh = await this.requestSql(`SELECT SCHEMA_NAME AS name
169
155
  FROM INFORMATION_SCHEMA.SCHEMATA
170
156
  WHERE LOWER(SCHEMA_NAME) NOT IN ('information_schema', 'sys', 'performance_schema', 'pg_catalog', 'pg_toast', 'pg_temp_1', 'pg_toast_temp_1')
171
157
  ORDER BY name`);
172
- return rdh.rows.map((r) => {
173
- const res = new DbSchema(r.values.name);
174
- return res;
175
- });
158
+ return rdh.rows.map((r) => {
159
+ const res = new DbSchema(r.values.name);
160
+ return res;
176
161
  });
177
162
  }
178
- getTables(dbSchema) {
179
- return __awaiter(this, void 0, void 0, function* () {
180
- let rdh = yield this
181
- .requestSql(`select quote_ident(m.relname) as qname, COALESCE(d.description, '') as comment
163
+ async getTables(dbSchema) {
164
+ let rdh = await this
165
+ .requestSql(`select quote_ident(m.relname) as qname, COALESCE(d.description, '') as comment
182
166
  from pg_stat_all_tables as m
183
167
  LEFT JOIN pg_description as d ON (m.relid = d.objoid AND d.objsubid=0)
184
168
  WHERE m.schemaname='${dbSchema.getName()}'
185
169
  ORDER BY m.relname`);
186
- const list = rdh.rows.map((r) => {
187
- const res = new DbTable(r.values.qname, 'TABLE', r.values.comment);
188
- return res;
189
- });
190
- rdh = yield this
191
- .requestSql(`select quote_ident(viewname) as qname, definition from pg_catalog.pg_views
170
+ const list = rdh.rows.map((r) => {
171
+ const res = new DbTable(r.values.qname, 'TABLE', r.values.comment);
172
+ return res;
173
+ });
174
+ rdh = await this
175
+ .requestSql(`select quote_ident(viewname) as qname, definition from pg_catalog.pg_views
192
176
  where schemaname = '${dbSchema.getName()}'
193
177
  order by viewname`);
194
- return list.concat(rdh.rows.map((r) => {
195
- const res = new DbTable(r.values.qname, 'VIEW', '');
196
- return res;
197
- }));
198
- });
178
+ return list.concat(rdh.rows.map((r) => {
179
+ const res = new DbTable(r.values.qname, 'VIEW', '');
180
+ return res;
181
+ }));
199
182
  }
200
- getColumns(dbTable) {
201
- return __awaiter(this, void 0, void 0, function* () {
202
- const binds = [dbTable.getParent().getName(), dbTable.getName()];
203
- const rdh = yield this.requestSql(`select
183
+ async getColumns(dbTable) {
184
+ const binds = [dbTable.getParent().getName(), dbTable.getName()];
185
+ const rdh = await this.requestSql(`select
204
186
  col.COLUMN_NAME as name,
205
187
  quote_ident(col.COLUMN_NAME) as qname,
206
188
  data_type as col_type,
@@ -253,30 +235,27 @@ export default class PostgresDriver extends BaseDriver {
253
235
  col.table_schema = $1 AND quote_ident(col.table_name) = $2
254
236
  order by
255
237
  col.ordinal_position`, { binds });
256
- return rdh.rows.map((r) => {
257
- const type_name = EnumValues.getNameFromValue(PostgresColumnType, PostgresColumnType.parse(r.values.col_type));
258
- const res = new DbColumn(r.values.qname, GeneralColumnType.parse(type_name), {
259
- nullable: r.values.nullable === 1,
260
- key: r.values.col_key,
261
- default: r.values.col_default,
262
- extra: r.values.col_extra,
263
- }, r.values.comment);
264
- return res;
265
- });
238
+ return rdh.rows.map((r) => {
239
+ const type_name = EnumValues.getNameFromValue(PostgresColumnType, PostgresColumnType.parse(r.values.col_type));
240
+ const res = new DbColumn(r.values.qname, GeneralColumnType.parse(type_name), {
241
+ nullable: r.values.nullable === 1,
242
+ key: r.values.col_key,
243
+ default: r.values.col_default,
244
+ extra: r.values.col_extra,
245
+ }, r.values.comment);
246
+ return res;
266
247
  });
267
248
  }
268
- closeSub() {
269
- return __awaiter(this, void 0, void 0, function* () {
270
- try {
271
- if (this.pool) {
272
- yield this.pool.end();
273
- }
274
- return '';
249
+ async closeSub() {
250
+ try {
251
+ if (this.pool) {
252
+ await this.pool.end();
275
253
  }
276
- catch (e) {
277
- return e.message;
278
- }
279
- });
254
+ return '';
255
+ }
256
+ catch (e) {
257
+ return e.message;
258
+ }
280
259
  }
281
260
  }
282
261
  //# sourceMappingURL=PostgresDriver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresDriver.js","sourceRoot":"","sources":["../../../../src/db/drivers/PostgresDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostgresDriver.js","sourceRoot":"","sources":["../../../../src/db/drivers/PostgresDriver.ts"],"names":[],"mappings":"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"}