introduced sqltree typescript library

This commit is contained in:
Jan Prochazka
2020-03-05 07:35:23 +01:00
parent 17e2c18c49
commit bbc969fa71
12 changed files with 88 additions and 53 deletions

View File

@@ -1,13 +0,0 @@
class Command {
/** @param driver {import('@dbgate/types').EngineDriver} */
toSql(driver) {
const dumper = driver.createDumper();
this.dumpSql(dumper);
return dumper.s;
}
/** @param dumper {import('@dbgate/types').SqlDumper} */
dumpSql(dumper) {}
}
module.exports = Command;

View File

@@ -1,37 +0,0 @@
const Command = require('./command');
class Select extends Command {
constructor() {
super();
/** @type {number} */
this.topRecords = undefined;
/** @type {import('@dbgate/types').NamedObjectInfo} */
this.from = undefined;
/** @type {import('@dbgate/types').RangeDefinition} */
this.range = undefined;
this.distinct = false;
this.selectAll = false;
}
/** @param dumper {import('@dbgate/types').SqlDumper} */
dumpSql(dumper) {
dumper.put('^select ');
if (this.topRecords) {
dumper.put('^top %s ', this.topRecords);
}
if (this.distinct) {
dumper.put('^distinct ');
}
if (this.selectAll) {
dumper.put('* ');
} else {
// TODO
}
dumper.put('^from %f ', this.from);
if (this.range) {
dumper.put('^limit %s ^offset %s ', this.range.limit, this.range.offset);
}
}
}
module.exports = Select;

View File

@@ -1,6 +1,6 @@
const engines = require('@dbgate/engines');
const Select = require('../dmlf/select');
const driverConnect = require('../utility/driverConnect')
const { Select } = require('@dbgate/sqltree');
const driverConnect = require('../utility/driverConnect');
let systemConnection;
let storedConnection;