From a8c3325e841dc576a97144c4c5791666feefb79d Mon Sep 17 00:00:00 2001 From: Serge Rider Date: Wed, 28 Oct 2020 19:03:28 +0300 Subject: [PATCH] SQL execute statistics fix (calculate statements with no results) --- .../jkiss/dbeaver/ui/editors/sql/execute/SQLQueryJob.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/plugins/org.jkiss.dbeaver.ui.editors.sql/src/org/jkiss/dbeaver/ui/editors/sql/execute/SQLQueryJob.java b/plugins/org.jkiss.dbeaver.ui.editors.sql/src/org/jkiss/dbeaver/ui/editors/sql/execute/SQLQueryJob.java index b89eac3863..37cba7cc1c 100644 --- a/plugins/org.jkiss.dbeaver.ui.editors.sql/src/org/jkiss/dbeaver/ui/editors/sql/execute/SQLQueryJob.java +++ b/plugins/org.jkiss.dbeaver.ui.editors.sql/src/org/jkiss/dbeaver/ui/editors/sql/execute/SQLQueryJob.java @@ -545,8 +545,9 @@ public class SQLQueryJob extends DataSourceJob if (!hasResultSet) { try { updateCount = dbcStatement.getUpdateRowCount(); + SQLQueryResult.ExecuteResult executeResult = curResult.addExecuteResult(false); if (updateCount >= 0) { - curResult.addExecuteResult(false).setUpdateCount(updateCount); + executeResult.setUpdateCount(updateCount); statistics.addRowsUpdated(updateCount); } } catch (DBCException e) { @@ -598,7 +599,10 @@ public class SQLQueryJob extends DataSourceJob } private void showExecutionResult(DBCSession session) { - if (statistics.getStatementsCount() > 1 || (resultSetNumber == 0 && (statistics.getRowsUpdated() >= 0 || statistics.getRowsFetched() >= 0))) { + int statementsCount = statistics.getStatementsCount(); + if (statementsCount > 1 || // Many statements + (statementsCount == 1 && resultSetNumber == 0) || // Single non-select statement + (resultSetNumber == 0 && (statistics.getRowsUpdated() >= 0 || statistics.getRowsFetched() >= 0))) { // Single statement with some stats SQLQuery query = new SQLQuery(session.getDataSource(), "", -1, -1); if (queries.size() == 1) { query.setText(queries.get(0).getText()); -- GitLab