Browse Source
Bug #27530:
Bug #27530:
The function CRC32() returns unsigned integer. But the metadata (the unsigned flag) for the function was set incorrectly. As a result type arithmetics based on the function's metadata (like finding the concise type of an temporary table column to hold the result) returned incorrect results. Fixed by returning correct type information. This fix is based on code contributed by Martin Friebe (martin@hybyte.com) on 2007-03-30.pull/73/head
5 changed files with 161 additions and 1 deletions
-
35mysql-test/r/bdb_notembedded.result
-
69mysql-test/r/func_str.result
-
38mysql-test/t/bdb_notembedded.test
-
18mysql-test/t/func_str.test
-
2sql/item_strfunc.h
@ -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