mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-28 03:46:00 +00:00
wip
This commit is contained in:
@@ -21,27 +21,54 @@ const driver = {
|
|||||||
return client;
|
return client;
|
||||||
},
|
},
|
||||||
// called for retrieve data (eg. browse in data grid) and for update database
|
// called for retrieve data (eg. browse in data grid) and for update database
|
||||||
async query(client, query) {
|
async query(client, query, options) {
|
||||||
const resultSet = await client.query({
|
if (options?.discardResult) {
|
||||||
query,
|
await client.command({
|
||||||
format: 'JSONCompactEachRowWithNamesAndTypes',
|
query,
|
||||||
});
|
});
|
||||||
|
return {
|
||||||
|
rows: [],
|
||||||
|
columns: [],
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
const resultSet = await client.query({
|
||||||
|
query,
|
||||||
|
format: 'JSONCompactEachRowWithNamesAndTypes',
|
||||||
|
});
|
||||||
|
|
||||||
const dataSet = await resultSet.json();
|
const dataSet = await resultSet.json();
|
||||||
|
|
||||||
const columns = dataSet[0].map((columnName, i) => ({
|
const columns = dataSet[0].map((columnName, i) => ({
|
||||||
columnName,
|
columnName,
|
||||||
dataType: dataSet[1][i],
|
dataType: dataSet[1][i],
|
||||||
}));
|
}));
|
||||||
|
|
||||||
return {
|
return {
|
||||||
rows: dataSet.slice(2).map((row) => _.zipObject(dataSet[0], row)),
|
rows: dataSet.slice(2).map((row) => _.zipObject(dataSet[0], row)),
|
||||||
columns,
|
columns,
|
||||||
};
|
};
|
||||||
|
}
|
||||||
},
|
},
|
||||||
// called in query console
|
// called in query console
|
||||||
async stream(client, query, options) {
|
async stream(client, query, options) {
|
||||||
try {
|
try {
|
||||||
|
if (!query.match(/^\s*SELECT/i)) {
|
||||||
|
const resp = await client.command({
|
||||||
|
query,
|
||||||
|
});
|
||||||
|
// console.log('RESP', resp);
|
||||||
|
// const { rowsAffected } = resp || {};
|
||||||
|
// if (rowsAffected) {
|
||||||
|
// options.info({
|
||||||
|
// message: `${rowsAffected} rows affected`,
|
||||||
|
// time: new Date(),
|
||||||
|
// severity: 'info',
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
options.done();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const resultSet = await client.query({
|
const resultSet = await client.query({
|
||||||
query,
|
query,
|
||||||
format: 'JSONCompactEachRowWithNamesAndTypes',
|
format: 'JSONCompactEachRowWithNamesAndTypes',
|
||||||
|
|||||||
Reference in New Issue
Block a user