Browse Source
Bug#22855:
Bug#22855:
Conversion errors when constructing the condition for an IN predicates were treated as if the affected column contains NULL. If such a IN predicate is inside NOT we get wrong results. Corrected the handling of conversion errors in an IN predicate that is resolved by unique_subquery (through subselect_uniquesubquery_engine). mysql-test/r/subselect3.result: Bug#22855: test case mysql-test/t/subselect3.test: Bug#22855: test case sql/item_subselect.cc: Bug#22855: corrected the handling of conversion errors and NULL key values in IN predicate that is resolved by index lookup.pull/374/head
5 changed files with 183 additions and 7 deletions
-
35mysql-test/r/bdb_notembedded.result
-
18mysql-test/r/subselect3.result
-
38mysql-test/t/bdb_notembedded.test
-
18mysql-test/t/subselect3.test
-
81sql/item_subselect.cc
@ -0,0 +1,35 @@ |
|||
set autocommit=1; |
|||
reset master; |
|||
create table bug16206 (a int); |
|||
insert into bug16206 values(1); |
|||
start transaction; |
|||
insert into bug16206 values(2); |
|||
commit; |
|||
show binlog events; |
|||
Log_name Pos Event_type Server_id End_log_pos Info |
|||
f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 |
|||
f n Query 1 n use `test`; create table bug16206 (a int) |
|||
f n Query 1 n use `test`; insert into bug16206 values(1) |
|||
f n Query 1 n use `test`; insert into bug16206 values(2) |
|||
drop table bug16206; |
|||
reset master; |
|||
create table bug16206 (a int) engine= bdb; |
|||
insert into bug16206 values(0); |
|||
insert into bug16206 values(1); |
|||
start transaction; |
|||
insert into bug16206 values(2); |
|||
commit; |
|||
insert into bug16206 values(3); |
|||
show binlog events; |
|||
Log_name Pos Event_type Server_id End_log_pos Info |
|||
f n Format_desc 1 n Server ver: VERSION, Binlog ver: 4 |
|||
f n Query 1 n use `test`; create table bug16206 (a int) engine= bdb |
|||
f n Query 1 n use `test`; insert into bug16206 values(0) |
|||
f n Query 1 n use `test`; insert into bug16206 values(1) |
|||
f n Query 1 n use `test`; BEGIN |
|||
f n Query 1 n use `test`; insert into bug16206 values(2) |
|||
f n Query 1 n use `test`; COMMIT |
|||
f n Query 1 n use `test`; insert into bug16206 values(3) |
|||
drop table bug16206; |
|||
set autocommit=0; |
|||
End of 5.0 tests |
|||
@ -0,0 +1,38 @@ |
|||
-- source include/not_embedded.inc |
|||
-- source include/have_bdb.inc |
|||
|
|||
# |
|||
# Bug #16206: Superfluous COMMIT event in binlog when updating BDB in autocommit mode |
|||
# |
|||
set autocommit=1; |
|||
|
|||
let $VERSION=`select version()`; |
|||
|
|||
reset master; |
|||
create table bug16206 (a int); |
|||
insert into bug16206 values(1); |
|||
start transaction; |
|||
insert into bug16206 values(2); |
|||
commit; |
|||
--replace_result $VERSION VERSION |
|||
--replace_column 1 f 2 n 5 n |
|||
show binlog events; |
|||
drop table bug16206; |
|||
|
|||
reset master; |
|||
create table bug16206 (a int) engine= bdb; |
|||
insert into bug16206 values(0); |
|||
insert into bug16206 values(1); |
|||
start transaction; |
|||
insert into bug16206 values(2); |
|||
commit; |
|||
insert into bug16206 values(3); |
|||
--replace_result $VERSION VERSION |
|||
--replace_column 1 f 2 n 5 n |
|||
show binlog events; |
|||
drop table bug16206; |
|||
|
|||
set autocommit=0; |
|||
|
|||
|
|||
--echo End of 5.0 tests |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue