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" where t1.c3 = 10;
|
||||
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" where t1.c3 = 10;
|
||||
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();
|
||||
while ((field=(Item_field*) f++))
|
||||
{
|
||||
if (key_part->field == field->field)
|
||||
if (key_part->field->eq(field->field))
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user