A fix (bug #8942: SUBSTRING_INDEX in UPDATE causes internal loop).
This commit is contained in:
parent
c5478c4f25
commit
a773916238
@ -209,3 +209,10 @@ insert into t1 values (1, "t1c2-1", 10), (2, "t1c2-2", 20);
|
|||||||
update t1 left join t2 on t1.c1 = t2.c1 set t2.c2 = "t2c2-1";
|
update t1 left join t2 on t1.c1 = t2.c1 set t2.c2 = "t2c2-1";
|
||||||
update t1 left join t2 on t1.c1 = t2.c1 set t2.c2 = "t2c2-1" where t1.c3 = 10;
|
update t1 left join t2 on t1.c1 = t2.c1 set t2.c2 = "t2c2-1" where t1.c3 = 10;
|
||||||
drop table t1, t2;
|
drop table t1, t2;
|
||||||
|
create table t1 (a int, b char(255), key(a, b(20)));
|
||||||
|
insert into t1 values (0, '1');
|
||||||
|
update t1 set b = b + 1 where a = 0;
|
||||||
|
select * from t1;
|
||||||
|
a b
|
||||||
|
0 2
|
||||||
|
drop table t1;
|
||||||
|
@ -164,3 +164,13 @@ insert into t1 values (1, "t1c2-1", 10), (2, "t1c2-2", 20);
|
|||||||
update t1 left join t2 on t1.c1 = t2.c1 set t2.c2 = "t2c2-1";
|
update t1 left join t2 on t1.c1 = t2.c1 set t2.c2 = "t2c2-1";
|
||||||
update t1 left join t2 on t1.c1 = t2.c1 set t2.c2 = "t2c2-1" where t1.c3 = 10;
|
update t1 left join t2 on t1.c1 = t2.c1 set t2.c2 = "t2c2-1" where t1.c3 = 10;
|
||||||
drop table t1, t2;
|
drop table t1, t2;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #8942: a problem with update and partial key part
|
||||||
|
#
|
||||||
|
|
||||||
|
create table t1 (a int, b char(255), key(a, b(20)));
|
||||||
|
insert into t1 values (0, '1');
|
||||||
|
update t1 set b = b + 1 where a = 0;
|
||||||
|
select * from t1;
|
||||||
|
drop table t1;
|
||||||
|
@ -265,7 +265,7 @@ bool check_if_key_used(TABLE *table, uint idx, List<Item> &fields)
|
|||||||
f.rewind();
|
f.rewind();
|
||||||
while ((field=(Item_field*) f++))
|
while ((field=(Item_field*) f++))
|
||||||
{
|
{
|
||||||
if (key_part->field == field->field)
|
if (key_part->field->eq(field->field))
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user