different fix for internal Oracle MySQL bug#16324629 that doesn't crash

(simply, copied from FederatedX)
This commit is contained in:
Sergei Golubchik 2014-02-17 11:09:33 +01:00
parent 4881c65007
commit 84c96a263e
3 changed files with 41 additions and 1 deletions

View File

@ -0,0 +1,16 @@
CREATE DATABASE federated;
CREATE DATABASE federated;
create table federated.t1 (a int, b int, unique key (a), key (b));
create table t1 (a int, b int, unique key (a), key (b))
engine=federated CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/federated/t1';
insert into t1 values (3, 3), (7, 7);
delete t1 from t1 where a = 3;
select * from t1;
a b
3 3
7 7
drop table t1;
DROP TABLE IF EXISTS federated.t1;
DROP DATABASE IF EXISTS federated;
DROP TABLE IF EXISTS federated.t1;
DROP DATABASE IF EXISTS federated;

View File

@ -0,0 +1,23 @@
#
# Inspired by a bug fix for internal Oracle MySQL bug#16324629
#
source include/federated.inc;
connection slave;
create table federated.t1 (a int, b int, unique key (a), key (b));
connection master;
--replace_result $SLAVE_MYPORT SLAVE_PORT
eval create table t1 (a int, b int, unique key (a), key (b))
engine=federated CONNECTION='mysql://root@127.0.0.1:$SLAVE_MYPORT/federated/t1';
insert into t1 values (3, 3), (7, 7);
delete t1 from t1 where a = 3;
select * from t1;
drop table t1;
connection slave;
connection default;
source include/federated_cleanup.inc;

View File

@ -2744,7 +2744,8 @@ void ha_federated::position(const uchar *record __attribute__ ((unused)))
{
DBUG_ENTER("ha_federated::position");
DBUG_ASSERT(stored_result);
if (!stored_result)
DBUG_VOID_RETURN;
position_called= TRUE;
/* Store result set address. */