mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-19 15:25:59 +00:00
32 lines
1.1 KiB
JavaScript
32 lines
1.1 KiB
JavaScript
const { quoteFullName, fullNameToString } = require('dbgate-tools');
|
|
const requireEngineDriver = require('../utility/requireEngineDriver');
|
|
const { decryptConnection } = require('../utility/crypting');
|
|
|
|
async function tableReader({ connection, pureName, schemaName }) {
|
|
const driver = requireEngineDriver(connection);
|
|
const pool = await driver.connect(decryptConnection(connection));
|
|
console.log(`Connected.`);
|
|
|
|
const fullName = { pureName, schemaName };
|
|
|
|
const table = await driver.analyseSingleObject(pool, fullName, 'tables');
|
|
const query = `select * from ${quoteFullName(driver.dialect, fullName)}`;
|
|
if (table) {
|
|
// @ts-ignore
|
|
console.log(`Reading table ${fullNameToString(table)}`);
|
|
// @ts-ignore
|
|
return await driver.readQuery(pool, query, table);
|
|
}
|
|
const view = await driver.analyseSingleObject(pool, fullName, 'views');
|
|
if (view) {
|
|
// @ts-ignore
|
|
console.log(`Reading view ${fullNameToString(view)}`);
|
|
// @ts-ignore
|
|
return await driver.readQuery(pool, query, view);
|
|
}
|
|
|
|
return await driver.readQuery(pool, query);
|
|
}
|
|
|
|
module.exports = tableReader;
|