diff --git a/plugins/dbgate-plugin-mssql/src/backend/tediousDriver.js b/plugins/dbgate-plugin-mssql/src/backend/tediousDriver.js index 88c18f15e..a71a15e1e 100644 --- a/plugins/dbgate-plugin-mssql/src/backend/tediousDriver.js +++ b/plugins/dbgate-plugin-mssql/src/backend/tediousDriver.js @@ -165,6 +165,7 @@ async function tediousReadQuery(dbhan, sql, structure) { async function tediousStream(dbhan, sql, options) { let currentColumns = []; + let skipAffectedMessage = false; const handleInfo = info => { const { message, lineNumber, procName } = info; @@ -200,11 +201,14 @@ async function tediousStream(dbhan, sql, options) { dbhan.client.off('infoMessage', handleInfo); dbhan.client.off('errorMessage', handleError); - options.info({ - message: `${rowCount} rows affected`, - time: new Date(), - severity: 'info', - }); + if (!skipAffectedMessage) { + options.info({ + message: `${rowCount} rows affected`, + time: new Date(), + severity: 'info', + rowsAffected: rowCount, + }); + } }); request.on('columnMetadata', function (columns) { currentColumns = extractTediousColumns(columns); @@ -216,6 +220,7 @@ async function tediousStream(dbhan, sql, options) { columns.map(x => x.value) ); options.row(row); + skipAffectedMessage = true; }); dbhan.client.execSqlBatch(request); } diff --git a/plugins/dbgate-plugin-mysql/src/backend/drivers.js b/plugins/dbgate-plugin-mysql/src/backend/drivers.js index 6167b719d..3536f4055 100644 --- a/plugins/dbgate-plugin-mysql/src/backend/drivers.js +++ b/plugins/dbgate-plugin-mysql/src/backend/drivers.js @@ -129,6 +129,7 @@ const drivers = driverBases.map(driverBase => ({ message: `${row.affectedRows} rows affected`, time: new Date(), severity: 'info', + rowsAffected: row.affectedRows, }); if (row.stateChanges?.schema) { options.changedCurrentDatabase(row.stateChanges.schema); diff --git a/plugins/dbgate-plugin-oracle/src/backend/driver.js b/plugins/dbgate-plugin-oracle/src/backend/driver.js index 0fb226a0d..d3fe79cc4 100644 --- a/plugins/dbgate-plugin-oracle/src/backend/driver.js +++ b/plugins/dbgate-plugin-oracle/src/backend/driver.js @@ -223,6 +223,7 @@ const driver = { message: `${rowsAffected} rows affected`, time: new Date(), severity: 'info', + rowsAffected, }); } } diff --git a/plugins/dbgate-plugin-postgres/src/backend/drivers.js b/plugins/dbgate-plugin-postgres/src/backend/drivers.js index 4e079f3ea..c56340a42 100644 --- a/plugins/dbgate-plugin-postgres/src/backend/drivers.js +++ b/plugins/dbgate-plugin-postgres/src/backend/drivers.js @@ -232,6 +232,7 @@ const drivers = driverBases.map(driverBase => ({ message: `${rowCount} rows affected`, time: new Date(), severity: 'info', + rowsAffected: rowCount, }); } diff --git a/plugins/dbgate-plugin-sqlite/src/backend/driver.libsql.js b/plugins/dbgate-plugin-sqlite/src/backend/driver.libsql.js index 8b8720093..052bdbbc4 100644 --- a/plugins/dbgate-plugin-sqlite/src/backend/driver.libsql.js +++ b/plugins/dbgate-plugin-sqlite/src/backend/driver.libsql.js @@ -74,6 +74,7 @@ const libsqlDriver = { message: `${rowCounter.count} rows affected`, time: new Date(), severity: 'info', + rowsAffected: rowCounter.count, }); } }); diff --git a/plugins/dbgate-plugin-sqlite/src/backend/driver.sqlite.js b/plugins/dbgate-plugin-sqlite/src/backend/driver.sqlite.js index 440c1df61..fdf473996 100644 --- a/plugins/dbgate-plugin-sqlite/src/backend/driver.sqlite.js +++ b/plugins/dbgate-plugin-sqlite/src/backend/driver.sqlite.js @@ -69,6 +69,7 @@ const driver = { message: `${rowCounter.count} rows affected`, time: new Date(), severity: 'info', + rowsAffected: rowCounter.count, }); } }); diff --git a/plugins/dbgate-plugin-sqlite/src/backend/helpers.js b/plugins/dbgate-plugin-sqlite/src/backend/helpers.js index 67cc3164f..4c51f89a3 100644 --- a/plugins/dbgate-plugin-sqlite/src/backend/helpers.js +++ b/plugins/dbgate-plugin-sqlite/src/backend/helpers.js @@ -27,6 +27,7 @@ function runStreamItem(dbhan, sql, options, rowCounter) { message: `${rowCounter.count} rows affected`, time: new Date(), severity: 'info', + rowsAffected: rowCounter.count, }); rowCounter.count = 0; rowCounter.date = null;