summaryrefslogtreecommitdiff
path: root/sql/sql_update.cc
diff options
context:
space:
mode:
authorStaale Smedseng <staale.smedseng@sun.com>2010-05-12 13:19:12 +0200
committerStaale Smedseng <staale.smedseng@sun.com>2010-05-12 13:19:12 +0200
commit330864fcda68a90995194576d4ad1ebec1b955e1 (patch)
tree4ef21dd129bfee355e60f5dc81af3bbf22b119f1 /sql/sql_update.cc
parent29c8c152b26398ce7ad84a9794f229b10ad9d410 (diff)
downloadmariadb-git-330864fcda68a90995194576d4ad1ebec1b955e1.tar.gz
Bug #49756 Rows_examined is always 0 in the slow query log for
update statements Only SELECT statements report any examined rows in the slow log. Slow UPDATE, DELETE and INSERT statements report 0 rows examined, unless the statement has a condition including a SELECT substatement. This patch adds counting of examined rows for the UPDATE and DELETE statements. An INSERT ... VALUES statement will still not report any rows as examined. sql/sql_class.h: Added more docs for THD::examined_row_count. sql/sql_delete.cc: Add incrementing thd->examined_row_count. sql/sql_update.cc: Add incrementing thd->examined_row_count.
Diffstat (limited to 'sql/sql_update.cc')
-rw-r--r--sql/sql_update.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/sql/sql_update.cc b/sql/sql_update.cc
index d8141deba63..69f3a29e923 100644
--- a/sql/sql_update.cc
+++ b/sql/sql_update.cc
@@ -425,6 +425,7 @@ int mysql_update(THD *thd,
{
goto err;
}
+ thd->examined_row_count+= examined_rows;
/*
Filesort has already found and selected the rows we want to update,
so we don't need the where clause
@@ -471,6 +472,7 @@ int mysql_update(THD *thd,
while (!(error=info.read_record(&info)) && !thd->killed)
{
+ thd->examined_row_count++;
if (!(select && select->skip_record()))
{
if (table->file->was_semi_consistent_read())
@@ -577,6 +579,7 @@ int mysql_update(THD *thd,
while (!(error=info.read_record(&info)) && !thd->killed)
{
+ thd->examined_row_count++;
if (!(select && select->skip_record()))
{
if (table->file->was_semi_consistent_read())