Commit 3ce609c7 authored by calvin's avatar calvin

branches/5.1: Fix bug#35537 - Innodb doesn't increment handler_update

and handler_delete

Add the calls to ha_statistic_increment() in ha_innobase::delete_row()
and ha_innobase::update_row().
parent ffce3a3a
...@@ -3752,6 +3752,8 @@ ha_innobase::update_row( ...@@ -3752,6 +3752,8 @@ ha_innobase::update_row(
ut_a(prebuilt->trx == trx); ut_a(prebuilt->trx == trx);
ha_statistic_increment(&SSV::ha_update_count);
if (table->timestamp_field_type & TIMESTAMP_AUTO_SET_ON_UPDATE) if (table->timestamp_field_type & TIMESTAMP_AUTO_SET_ON_UPDATE)
table->timestamp_field->set_time(); table->timestamp_field->set_time();
...@@ -3841,6 +3843,8 @@ ha_innobase::delete_row( ...@@ -3841,6 +3843,8 @@ ha_innobase::delete_row(
ut_a(prebuilt->trx == trx); ut_a(prebuilt->trx == trx);
ha_statistic_increment(&SSV::ha_delete_count);
/* Only if the table has an AUTOINC column */ /* Only if the table has an AUTOINC column */
if (table->found_next_number_field && record == table->record[0]) { if (table->found_next_number_field && record == table->record[0]) {
ulonglong dummy = 0; ulonglong dummy = 0;
......
...@@ -3275,3 +3275,11 @@ info: Records: 5 Duplicates: 0 Warnings: 0 ...@@ -3275,3 +3275,11 @@ info: Records: 5 Duplicates: 0 Warnings: 0
TRUNCATE TABLE t1; TRUNCATE TABLE t1;
affected rows: 0 affected rows: 0
DROP TABLE t1; DROP TABLE t1;
Variable_name Value
Handler_update 0
Variable_name Value
Handler_delete 0
Variable_name Value
Handler_update 1
Variable_name Value
Handler_delete 1
...@@ -2458,6 +2458,7 @@ SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE table_name = 't2'; ...@@ -2458,6 +2458,7 @@ SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE table_name = 't2';
DROP TABLE t2; DROP TABLE t2;
DROP TABLE t1; DROP TABLE t1;
# End 34920 test # End 34920 test
#
# Bug #29507 TRUNCATE shows to many rows effected # Bug #29507 TRUNCATE shows to many rows effected
# #
CONNECTION default; CONNECTION default;
...@@ -2474,6 +2475,36 @@ TRUNCATE TABLE t1; ...@@ -2474,6 +2475,36 @@ TRUNCATE TABLE t1;
--disable_info --disable_info
DROP TABLE t1; DROP TABLE t1;
# #
# Bug#35537 Innodb doesn't increment handler_update and handler_delete.
#
-- disable_query_log
-- disable_result_log
CONNECT (c1,localhost,root,,);
DROP TABLE IF EXISTS bug35537;
CREATE TABLE bug35537 (
c1 int
) ENGINE=InnoDB;
INSERT INTO bug35537 VALUES (1);
-- enable_result_log
SHOW SESSION STATUS LIKE 'Handler_update%';
SHOW SESSION STATUS LIKE 'Handler_delete%';
UPDATE bug35537 SET c1 = 2 WHERE c1 = 1;
DELETE FROM bug35537 WHERE c1 = 2;
SHOW SESSION STATUS LIKE 'Handler_update%';
SHOW SESSION STATUS LIKE 'Handler_delete%';
DROP TABLE bug35537;
DISCONNECT c1;
CONNECTION default;
####################################################################### #######################################################################
# # # #
# Please, DO NOT TOUCH this file as well as the innodb.result file. # # Please, DO NOT TOUCH this file as well as the innodb.result file. #
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment