@l-v-yonsama/multi-platform-database-drivers 0.4.7 → 0.4.9

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.
@@ -0,0 +1,424 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SQLiteDriver2 = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const rdh_1 = require("@l-v-yonsama/rdh");
6
+ const sqlite3_1 = tslib_1.__importDefault(require("sqlite3"));
7
+ const helpers_1 = require("../helpers");
8
+ const resource_1 = require("../resource");
9
+ const RDSBaseDriver_1 = require("./RDSBaseDriver");
10
+ class SQLiteDriver2 extends RDSBaseDriver_1.RDSBaseDriver {
11
+ explainAnalyzeSqlSub(params) {
12
+ throw new Error('SQLite does not support explain analyze');
13
+ }
14
+ constructor(conRes) {
15
+ super(conRes);
16
+ }
17
+ begin() {
18
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
19
+ yield this.runWithFinalyze('BEGIN');
20
+ });
21
+ }
22
+ commit() {
23
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
24
+ yield this.runWithFinalyze('COMMIT');
25
+ });
26
+ }
27
+ rollback() {
28
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
29
+ yield this.runWithFinalyze('ROLLBACK');
30
+ });
31
+ }
32
+ setAutoCommit(value) {
33
+ return tslib_1.__awaiter(this, void 0, void 0, function* () { });
34
+ }
35
+ connectWithTest() {
36
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
37
+ let errorMessage = '';
38
+ yield this.createConnection();
39
+ try {
40
+ errorMessage = yield this.test();
41
+ }
42
+ catch (e) {
43
+ errorMessage = e.message;
44
+ }
45
+ return errorMessage;
46
+ });
47
+ }
48
+ kill() {
49
+ var _a;
50
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
51
+ try {
52
+ (_a = this.db) === null || _a === void 0 ? void 0 : _a.interrupt();
53
+ return '';
54
+ }
55
+ catch (e) {
56
+ if (e instanceof Error) {
57
+ return e.message;
58
+ }
59
+ return e + '';
60
+ }
61
+ });
62
+ }
63
+ getTestSqlStatement() {
64
+ return 'SELECT 1';
65
+ }
66
+ fieldInfo2Key(name, v, useTableColumnType, table) {
67
+ var _a;
68
+ const tableColumn = (_a = table === null || table === void 0 ? void 0 : table.children) === null || _a === void 0 ? void 0 : _a.find((it) => it.name === name);
69
+ if (useTableColumnType && tableColumn) {
70
+ return tableColumn.colType;
71
+ }
72
+ if (v instanceof Buffer) {
73
+ return rdh_1.GeneralColumnType.BLOB;
74
+ }
75
+ else if (typeof v === 'number') {
76
+ if (Number.isInteger(v)) {
77
+ return rdh_1.GeneralColumnType.INTEGER;
78
+ }
79
+ return rdh_1.GeneralColumnType.REAL;
80
+ }
81
+ else if (typeof v === 'string') {
82
+ return rdh_1.GeneralColumnType.TEXT;
83
+ }
84
+ return rdh_1.GeneralColumnType.UNKNOWN;
85
+ }
86
+ requestSqlSub(params) {
87
+ var _a;
88
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
89
+ const { sql, conditions, dbTable, meta } = params;
90
+ let rdb;
91
+ if (!this.db) {
92
+ throw new Error('No database');
93
+ }
94
+ const binds = (_a = conditions === null || conditions === void 0 ? void 0 : conditions.binds) !== null && _a !== void 0 ? _a : [];
95
+ const startTime = new Date().getTime();
96
+ if ((meta === null || meta === void 0 ? void 0 : meta.type) === 'select') {
97
+ const statement = yield this.createStatement(sql, binds);
98
+ return new Promise((resolve, reject) => {
99
+ try {
100
+ statement.all((err, rows) => {
101
+ statement.finalize();
102
+ if (err) {
103
+ reject(err);
104
+ return;
105
+ }
106
+ const elapsedTimeMilli = new Date().getTime() - startTime;
107
+ const fields = Object.keys(rows[0]);
108
+ const fieldTypeMap = new Map();
109
+ rdb = new rdh_1.ResultSetDataBuilder(fields.map((it) => '' + it));
110
+ rows.forEach((row, idx) => {
111
+ if (fields.length !== fieldTypeMap.size && idx < 30) {
112
+ fields
113
+ .filter((f) => !fieldTypeMap.has(f))
114
+ .forEach((it) => {
115
+ const v = row[it];
116
+ if (v !== null && v !== undefined) {
117
+ fieldTypeMap.set(it, this.fieldInfo2Key(it, v, (meta === null || meta === void 0 ? void 0 : meta.editable) === true, dbTable));
118
+ }
119
+ });
120
+ }
121
+ rdb.addRow(row);
122
+ });
123
+ fieldTypeMap.forEach((type, name) => {
124
+ rdb.updateKeyType(name, type);
125
+ });
126
+ rdb.setSummary({
127
+ elapsedTimeMilli,
128
+ selectedRows: rdb.rs.rows.length,
129
+ });
130
+ resolve(rdb);
131
+ });
132
+ }
133
+ catch (e) {
134
+ reject(e);
135
+ }
136
+ });
137
+ }
138
+ else {
139
+ const r = yield this.runWithFinalyze(sql, binds);
140
+ const elapsedTimeMilli = new Date().getTime() - startTime;
141
+ rdb = new rdh_1.ResultSetDataBuilder([
142
+ (0, rdh_1.createRdhKey)({
143
+ name: 'affectedRows',
144
+ type: rdh_1.GeneralColumnType.INTEGER,
145
+ }),
146
+ (0, rdh_1.createRdhKey)({ name: 'insertId', type: rdh_1.GeneralColumnType.INTEGER }),
147
+ ]);
148
+ rdb.addRow({
149
+ affectedRows: r.changes,
150
+ insertId: r.lastInsertRowid,
151
+ });
152
+ rdb.setSummary({
153
+ elapsedTimeMilli,
154
+ affectedRows: r.changes,
155
+ insertId: r.lastInsertRowid,
156
+ });
157
+ return rdb;
158
+ }
159
+ });
160
+ }
161
+ explainSqlSub(params) {
162
+ var _a, _b;
163
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
164
+ const ast = (0, helpers_1.parseQuery)(params.sql);
165
+ const explainParams = Object.assign(Object.assign({}, params), { sql: `EXPLAIN QUERY PLAN ${params.sql}` });
166
+ if ((_a = ast === null || ast === void 0 ? void 0 : ast.ast) === null || _a === void 0 ? void 0 : _a.type) {
167
+ if (!explainParams.meta) {
168
+ explainParams.meta = {};
169
+ }
170
+ explainParams.meta.type = (_b = ast === null || ast === void 0 ? void 0 : ast.ast) === null || _b === void 0 ? void 0 : _b.type;
171
+ }
172
+ const rdb = yield this.requestSqlSub(explainParams);
173
+ return rdb;
174
+ });
175
+ }
176
+ getInfomationSchemasSub() {
177
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
178
+ const dbResources = new Array();
179
+ const dbDatabase = new resource_1.RdsDatabase(this.conRes.database);
180
+ dbResources.push(dbDatabase);
181
+ const defaultSchema = new resource_1.DbSchema('Default');
182
+ defaultSchema.isDefault = true;
183
+ dbDatabase.addChild(defaultSchema);
184
+ let beforeTableRes = undefined;
185
+ const tableRs = yield this.requestSql({
186
+ sql: `
187
+ SELECT
188
+ m.name AS tableName,
189
+ p.name AS colName,
190
+ p.type AS colType,
191
+ p.pk AS colIsPk,
192
+ p.dflt_value AS colDefaultVal,
193
+ p.[notnull] AS colIsNotNull,
194
+ m.sql
195
+ FROM sqlite_master m
196
+ LEFT OUTER JOIN pragma_table_info((m.name)) p
197
+ ON m.name <> p.name
198
+ WHERE m.type = 'table'
199
+ ORDER BY m.name, p.cid`,
200
+ });
201
+ tableRs.rows.forEach((row) => {
202
+ const { values: it } = row;
203
+ if (beforeTableRes === undefined ||
204
+ beforeTableRes.name !== it.tableName) {
205
+ beforeTableRes = new resource_1.DbTable(it.tableName, 'TABLE');
206
+ defaultSchema.addChild(beforeTableRes);
207
+ }
208
+ const colType = this.parseColumnType(it.colType);
209
+ const nullable = it.colIsNotNull === 0;
210
+ const key = it.colIsPk > 0 ? 'PRI' : '';
211
+ let extra = '';
212
+ if (it.colIsPk === 1 &&
213
+ colType === rdh_1.GeneralColumnType.INTEGER &&
214
+ it.sql.toLocaleLowerCase().includes('autoincrement')) {
215
+ extra = 'auto_increment';
216
+ }
217
+ const colRes = new resource_1.DbColumn(it.colName, colType, {
218
+ nullable,
219
+ key,
220
+ default: it.colDefaultVal,
221
+ extra,
222
+ });
223
+ beforeTableRes.addChild(colRes);
224
+ });
225
+ yield this.setForinKeys(defaultSchema);
226
+ yield this.setUniqueKeys(defaultSchema);
227
+ return dbResources;
228
+ });
229
+ }
230
+ setForinKeys(dbSchema) {
231
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
232
+ const rdh = yield this.requestSql({
233
+ sql: `
234
+ SELECT
235
+ m.tbl_name as table_name,
236
+ p.[from] as column_name,
237
+ p.[table] as referenced_table_name,
238
+ p.[to] as referenced_column_name
239
+ FROM sqlite_master AS m
240
+ INNER JOIN pragma_foreign_key_list(m.name) AS p ON m.name != p."table"
241
+ `,
242
+ });
243
+ rdh.rows.forEach((row) => {
244
+ const { values: it } = row;
245
+ const tableName = it['table_name'];
246
+ const columnName = it['column_name'];
247
+ const referencedTableName = it['referenced_table_name'];
248
+ const referencedColumnName = it['referenced_column_name'];
249
+ const tableRes = dbSchema.getChildByName(tableName);
250
+ if (tableRes) {
251
+ if (tableRes.getChildByName(columnName)) {
252
+ if (tableRes.foreignKeys === undefined) {
253
+ tableRes.foreignKeys = {};
254
+ }
255
+ if (tableRes.foreignKeys.referenceTo === undefined) {
256
+ tableRes.foreignKeys.referenceTo = {};
257
+ }
258
+ tableRes.foreignKeys.referenceTo[columnName] = {
259
+ tableName: referencedTableName,
260
+ columnName: referencedColumnName,
261
+ constraintName: '',
262
+ };
263
+ }
264
+ }
265
+ const tableRes2 = dbSchema.getChildByName(referencedTableName);
266
+ if (tableRes2) {
267
+ if (tableRes2.getChildByName(referencedColumnName)) {
268
+ if (tableRes2.foreignKeys === undefined) {
269
+ tableRes2.foreignKeys = {};
270
+ }
271
+ if (tableRes2.foreignKeys.referencedFrom === undefined) {
272
+ tableRes2.foreignKeys.referencedFrom = {};
273
+ }
274
+ tableRes2.foreignKeys.referencedFrom[referencedColumnName] = {
275
+ tableName: tableName,
276
+ columnName: columnName,
277
+ constraintName: '',
278
+ };
279
+ }
280
+ }
281
+ });
282
+ });
283
+ }
284
+ setUniqueKeys(dbSchema) {
285
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
286
+ const rdh = yield this.requestSql({
287
+ sql: `
288
+ SELECT
289
+ m.tbl_name as tableName,
290
+ il.name as keyName,
291
+ group_concat(ii.name) as columnNames
292
+ FROM sqlite_master AS m,
293
+ pragma_index_list(m.name) AS il,
294
+ pragma_index_info(il.name) AS ii
295
+ WHERE
296
+ m.type = 'table'
297
+ AND il.origin='u'
298
+ GROUP by m.tbl_name,il.name
299
+ ORDER BY m.tbl_name,il.name
300
+ `,
301
+ });
302
+ rdh.rows.forEach((row) => {
303
+ const { values: it } = row;
304
+ const tableRes = dbSchema.getChildByName(it.tableName);
305
+ if (tableRes) {
306
+ if (tableRes.uniqueKeys === undefined) {
307
+ tableRes.uniqueKeys = [];
308
+ }
309
+ const constraint = {
310
+ name: it.keyName,
311
+ columns: it.columnNames.split(','),
312
+ };
313
+ tableRes.uniqueKeys.push(constraint);
314
+ constraint.columns.forEach((columnName) => {
315
+ const colRes = tableRes.getChildByName(columnName);
316
+ if (colRes) {
317
+ colRes['uniqKey'] = true;
318
+ }
319
+ });
320
+ }
321
+ });
322
+ });
323
+ }
324
+ parseColumnType(typeString) {
325
+ if (typeString == null || typeString === '') {
326
+ return rdh_1.GeneralColumnType.UNKNOWN;
327
+ }
328
+ switch (typeString.toLocaleLowerCase()) {
329
+ case 'blob':
330
+ return rdh_1.GeneralColumnType.BLOB;
331
+ case 'text':
332
+ return rdh_1.GeneralColumnType.TEXT;
333
+ case 'date':
334
+ return rdh_1.GeneralColumnType.TEXT;
335
+ case 'datetime':
336
+ return rdh_1.GeneralColumnType.TEXT;
337
+ case 'real':
338
+ return rdh_1.GeneralColumnType.REAL;
339
+ case 'integer':
340
+ return rdh_1.GeneralColumnType.INTEGER;
341
+ }
342
+ const typeString2 = (0, rdh_1.parseColumnType)(typeString.replace(/\([0-9.,]+\)/, ''));
343
+ if ((0, rdh_1.isTextLike)(typeString2)) {
344
+ return rdh_1.GeneralColumnType.TEXT;
345
+ }
346
+ if ((0, rdh_1.isBinaryLike)(typeString2)) {
347
+ return rdh_1.GeneralColumnType.BLOB;
348
+ }
349
+ return rdh_1.GeneralColumnType.UNKNOWN;
350
+ }
351
+ isPositionedParameterAvailable() {
352
+ return false;
353
+ }
354
+ getPositionalCharacter() {
355
+ return undefined;
356
+ }
357
+ isLimitAsTop() {
358
+ return false;
359
+ }
360
+ closeSub() {
361
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
362
+ try {
363
+ if (this.db) {
364
+ yield this.db.close();
365
+ this.db = undefined;
366
+ }
367
+ return '';
368
+ }
369
+ catch (e) {
370
+ return e.message;
371
+ }
372
+ });
373
+ }
374
+ createConnection() {
375
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
376
+ const { database } = this.conRes;
377
+ this.db = new (sqlite3_1.default.verbose().Database)(database);
378
+ this.db.configure('busyTimeout', 2000);
379
+ yield this.pragma('journal_mode = WAL');
380
+ yield this.pragma('foreign_keys = true');
381
+ });
382
+ }
383
+ pragma(query) {
384
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
385
+ yield this.runWithFinalyze(`PRAGMA ${query}`);
386
+ });
387
+ }
388
+ runWithFinalyze(query, binds) {
389
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
390
+ const statement = yield this.createStatement(query, binds);
391
+ return new Promise((resolve, reject) => {
392
+ statement.run(function (err) {
393
+ const { changes, lastInsertRowid } = this;
394
+ statement.finalize();
395
+ if (err) {
396
+ reject(err);
397
+ }
398
+ else {
399
+ resolve({ changes, lastInsertRowid });
400
+ }
401
+ });
402
+ });
403
+ });
404
+ }
405
+ createStatement(sql, binds) {
406
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
407
+ return new Promise((resolve, reject) => {
408
+ const statement = this.db.prepare(sql, (err) => {
409
+ if (err) {
410
+ reject(err);
411
+ }
412
+ else {
413
+ if (binds) {
414
+ statement.bind(...binds);
415
+ }
416
+ resolve(statement);
417
+ }
418
+ });
419
+ });
420
+ });
421
+ }
422
+ }
423
+ exports.SQLiteDriver2 = SQLiteDriver2;
424
+ //# sourceMappingURL=SQLiteDriver2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLiteDriver2.js","sourceRoot":"","sources":["../../../src/drivers/SQLiteDriver2.ts"],"names":[],"mappings":"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"}
@@ -9,4 +9,6 @@ export * from './MySQLDriver';
9
9
  export * from './PostgresDriver';
10
10
  export * from './RDSBaseDriver';
11
11
  export * from './RedisDriver';
12
+ export * from './SQLiteDriver';
13
+ export * from './SQLiteDriver2';
12
14
  export * from './SQLServerDriver';
@@ -12,5 +12,7 @@ tslib_1.__exportStar(require("./MySQLDriver"), exports);
12
12
  tslib_1.__exportStar(require("./PostgresDriver"), exports);
13
13
  tslib_1.__exportStar(require("./RDSBaseDriver"), exports);
14
14
  tslib_1.__exportStar(require("./RedisDriver"), exports);
15
+ tslib_1.__exportStar(require("./SQLiteDriver"), exports);
16
+ tslib_1.__exportStar(require("./SQLiteDriver2"), exports);
15
17
  tslib_1.__exportStar(require("./SQLServerDriver"), exports);
16
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/drivers/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,sDAA4B;AAC5B,sDAA4B;AAC5B,uDAA6B;AAC7B,6DAAmC;AACnC,oDAA0B;AAC1B,2DAAiC;AACjC,wDAA8B;AAC9B,2DAAiC;AACjC,0DAAgC;AAChC,wDAA8B;AAC9B,4DAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/drivers/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,sDAA4B;AAC5B,sDAA4B;AAC5B,uDAA6B;AAC7B,6DAAmC;AACnC,oDAA0B;AAC1B,2DAAiC;AACjC,wDAA8B;AAC9B,2DAAiC;AACjC,0DAAgC;AAChC,wDAA8B;AAC9B,yDAA+B;AAC/B,0DAAgC;AAChC,4DAAkC"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const sqlite3_1 = tslib_1.__importDefault(require("sqlite3"));
5
+ const path = tslib_1.__importStar(require("path"));
6
+ const databaseFile = path.join('__tests__', 'data', 'sqlite.db');
7
+ (() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
8
+ try {
9
+ const db = new (sqlite3_1.default.verbose().Database)(databaseFile);
10
+ db.configure('busyTimeout', 2000);
11
+ db.on('trace', (sql) => {
12
+ console.log('L437 tra', sql);
13
+ });
14
+ db.on('error', (err) => {
15
+ console.error('L436', err);
16
+ });
17
+ const st = db.prepare('select * from testtable,testtable', (st, err) => {
18
+ console.log('st=', st);
19
+ console.error('L21 got err', err);
20
+ });
21
+ st.get(function (err, row) {
22
+ if (err) {
23
+ console.error('got error', err);
24
+ }
25
+ else {
26
+ console.log('got row', row);
27
+ }
28
+ });
29
+ st.finalize();
30
+ db.close();
31
+ }
32
+ catch (e) {
33
+ console.error(e);
34
+ }
35
+ }))();
36
+ //# sourceMappingURL=sqlite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../../src/examples/sqlite.ts"],"names":[],"mappings":";;;AAAA,8DAA6B;AAE7B,mDAA6B;AAE7B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAGjE,CAAC,GAAS,EAAE;IAEV,IAAI;QACF,MAAM,EAAE,GAAG,IAAI,CAAC,iBAAM,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC;QACzD,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAClC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACrB,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACrB,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,mCAAmC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE;YACrE,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,GAAG,CAAC,UAAU,GAAG,EAAE,GAAG;YACvB,IAAI,GAAG,EAAE;gBACP,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;aACjC;iBAAM;gBACL,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;aAC7B;QACH,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,QAAQ,EAAE,CAAC;QACd,EAAE,CAAC,KAAK,EAAE,CAAC;KACZ;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAClB;AACH,CAAC,CAAA,CAAC,EAAE,CAAC"}
@@ -331,6 +331,7 @@ const toSafeQueryForPgsqlAst = (query) => {
331
331
  replacedSql = replacedSql.replace(/^\s*(SET)(\s+global)?\s+(\S+)\s+=\s+\S+$/i, '$1 $3 TO dummy');
332
332
  replacedSql = replacedSql.replace(/\s*WAITFOR\s+DELAY\s+'([\d:]+)'/i, 'SELECT pg_sleep(1)');
333
333
  replacedSql = replacedSql.replace(/\bWITHIN\s+GROUP\s*\([^)]+?\)/gi, ' ');
334
+ replacedSql = replacedSql.replace(/\.\[(notnull|from|table|to)\]/gi, '.a1');
334
335
  replacedSql = replacedSql.replace(/\b(authorization)/i, '$1_1');
335
336
  return replacedSql.replace(FUNCTION_MATCHER, '1');
336
337
  };