Loading mysql-test/r/update.result +7 −0 Original line number Diff line number Diff line Loading @@ -219,3 +219,10 @@ select * from t1; id id_str 1 test1 drop table t1; 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; mysql-test/t/update.test +10 −0 Original line number Diff line number Diff line Loading @@ -179,3 +179,13 @@ insert into t1 (id_str) values ("test"); update t1 set id_str = concat(id_str, id) where id = last_insert_id(); select * from t1; drop table t1; # # 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; sql/key.cc +1 −1 Original line number Diff line number Diff line Loading @@ -293,7 +293,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 Loading
mysql-test/r/update.result +7 −0 Original line number Diff line number Diff line Loading @@ -219,3 +219,10 @@ select * from t1; id id_str 1 test1 drop table t1; 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;
mysql-test/t/update.test +10 −0 Original line number Diff line number Diff line Loading @@ -179,3 +179,13 @@ insert into t1 (id_str) values ("test"); update t1 set id_str = concat(id_str, id) where id = last_insert_id(); select * from t1; drop table t1; # # 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;
sql/key.cc +1 −1 Original line number Diff line number Diff line Loading @@ -293,7 +293,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