summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorholyfoot/hf@mysql.com/hfmain.(none) <>2007-08-23 23:34:48 +0500
committerholyfoot/hf@mysql.com/hfmain.(none) <>2007-08-23 23:34:48 +0500
commitafe7de8234063752b5fbad4cd42e2f6571341508 (patch)
tree6da59a685857cfe6fb8a911fadf83d4e2b2869b4 /mysql-test
parent3608dbdc666947c8cd3b35f109bc93575f5d1f28 (diff)
downloadmariadb-git-afe7de8234063752b5fbad4cd42e2f6571341508.tar.gz
Bug #28430 Failure in replication of innodb partitioned tables on row/mixed format.
In the ha_partition::position() we didn't calculate the number of the partition of the record. We used m_last_part value instead, relying on that it is set in other place like previous call of a method like ::write_row(). In replication we don't call any of these befor position(). Delete_rows_log_event::do_exec_row calls find_and_fetch_row. In case of InnoDB-based PARTITION table, we have HA_PRIMARY_KEY_REQUIRED_FOR_POSITION enabled, so use position() / rnd_pos() calls to fetch the record. Fixed by adding partition_id calculation to the ha_partition::position()
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/r/partition_pruning.result4
1 files changed, 2 insertions, 2 deletions
diff --git a/mysql-test/r/partition_pruning.result b/mysql-test/r/partition_pruning.result
index 9595676016c..776e6f3a15a 100644
--- a/mysql-test/r/partition_pruning.result
+++ b/mysql-test/r/partition_pruning.result
@@ -631,7 +631,7 @@ flush status;
delete from t2 where b > 5;
show status like 'Handler_read_rnd_next';
Variable_name Value
-Handler_read_rnd_next 1215
+Handler_read_rnd_next 1115
show status like 'Handler_read_key';
Variable_name Value
Handler_read_key 0
@@ -645,7 +645,7 @@ flush status;
delete from t2 where b < 5 or b > 3;
show status like 'Handler_read_rnd_next';
Variable_name Value
-Handler_read_rnd_next 1215
+Handler_read_rnd_next 1115
show status like 'Handler_read_key';
Variable_name Value
Handler_read_key 0