From a316631af42bce6b2b6a202cfa97691ab3ea980f Mon Sep 17 00:00:00 2001 From: Mattias Jonsson Date: Fri, 20 Feb 2009 16:56:32 +0100 Subject: [PATCH] Backport of patch for bug#40003 from 6.0 to 5.1, related to the backport of the patch for bug#38719 --- mysql-test/t/innodb_bug42419.test | 1 + sql/ha_partition.cc | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/mysql-test/t/innodb_bug42419.test b/mysql-test/t/innodb_bug42419.test index 389093a8465..93c4764252a 100644 --- a/mysql-test/t/innodb_bug42419.test +++ b/mysql-test/t/innodb_bug42419.test @@ -3,6 +3,7 @@ # Bug#42419 Server crash with "Pure virtual method called" on two concurrent connections # +--source include/not_embedded.inc --source include/have_innodb.inc let $innodb_lock_wait_timeout= query_get_value(SHOW VARIABLES LIKE 'innodb_lock_wait_timeout%', Value, 1); diff --git a/sql/ha_partition.cc b/sql/ha_partition.cc index 0e36a868b3e..67bc3156260 100644 --- a/sql/ha_partition.cc +++ b/sql/ha_partition.cc @@ -4928,10 +4928,11 @@ int ha_partition::info(uint flag) This flag is used to get index number of the unique index that reported duplicate key We will report the errkey on the last handler used and ignore the rest + Note: all engines does not support HA_STATUS_ERRKEY, so set errkey. */ + file->errkey= errkey; file->info(HA_STATUS_ERRKEY); - if (file->errkey != (uint) -1) - errkey= file->errkey; + errkey= file->errkey; } if (flag & HA_STATUS_TIME) {