mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-22 00:36:01 +00:00
oracle: handle statements in stream
This commit is contained in:
@@ -98,6 +98,8 @@ const drivers = driverBases.map(driverBase => ({
|
|||||||
});
|
});
|
||||||
*/
|
*/
|
||||||
// console.log('queryStream', sql);
|
// console.log('queryStream', sql);
|
||||||
|
|
||||||
|
if (sql.trim().toLowerCase().startsWith('select')) {
|
||||||
const query = client.queryStream(sql);
|
const query = client.queryStream(sql);
|
||||||
// const consumeStream = new Promise((resolve, reject) => {
|
// const consumeStream = new Promise((resolve, reject) => {
|
||||||
let rowcount = 0;
|
let rowcount = 0;
|
||||||
@@ -169,7 +171,35 @@ const drivers = driverBases.map(driverBase => ({
|
|||||||
//resolve(rowcount);
|
//resolve(rowcount);
|
||||||
});
|
});
|
||||||
//});
|
//});
|
||||||
|
} else {
|
||||||
|
client.execute(sql, (err, res) => {
|
||||||
|
if (err) {
|
||||||
|
console.log('Error query', err, sql);
|
||||||
|
options.info({
|
||||||
|
message: err.message,
|
||||||
|
time: new Date(),
|
||||||
|
severity: 'error',
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
const { rowsAffected, metaData, rows } = res || {};
|
||||||
|
|
||||||
|
if (rows && metaData) {
|
||||||
|
const columns = extractOracleColumns(metaData);
|
||||||
|
options.recordset(columns);
|
||||||
|
for (const row of rows) {
|
||||||
|
options.row(zipDataRow(row, columns));
|
||||||
|
}
|
||||||
|
} else if (rowsAffected) {
|
||||||
|
options.info({
|
||||||
|
message: `${rowsAffected} rows affected`,
|
||||||
|
time: new Date(),
|
||||||
|
severity: 'info',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
options.done();
|
||||||
|
});
|
||||||
|
}
|
||||||
//const numrows = await consumeStream;
|
//const numrows = await consumeStream;
|
||||||
//console.log('Rows selected: ' + numrows);
|
//console.log('Rows selected: ' + numrows);
|
||||||
//client.query(query);
|
//client.query(query);
|
||||||
|
|||||||
Reference in New Issue
Block a user