Loading mysql-test/r/group_by.result +9 −0 Original line number Diff line number Diff line Loading @@ -702,3 +702,12 @@ c val-74 val-98 drop table t1,t2; create table t1 (b int4 unsigned not null); insert into t1 values(3000000000); select * from t1; b 3000000000 select min(b) from t1; min(b) 3000000000 drop table t1; mysql-test/t/group_by.test +7 −0 Original line number Diff line number Diff line Loading @@ -515,3 +515,10 @@ explain select c from t2 where a = 2 and b = 'val-2' group by c; select c from t2 where a = 2 and b = 'val-2' group by c; drop table t1,t2; # Test for BUG#9298 "Wrong handling of int4 unsigned columns in GROUP functions" # (the actual problem was with protocol code, not GROUP BY) create table t1 (b int4 unsigned not null); insert into t1 values(3000000000); select * from t1; select min(b) from t1; drop table t1; sql/protocol.cc +1 −1 Original line number Diff line number Diff line Loading @@ -810,7 +810,7 @@ bool Protocol_simple::store_long(longlong from) #endif char buff[20]; return net_store_data((char*) buff, (uint) (int10_to_str((int) from,buff, -10)-buff)); (uint) (int10_to_str((int)from,buff, (from <0)?-10:10)-buff)); } Loading Loading
mysql-test/r/group_by.result +9 −0 Original line number Diff line number Diff line Loading @@ -702,3 +702,12 @@ c val-74 val-98 drop table t1,t2; create table t1 (b int4 unsigned not null); insert into t1 values(3000000000); select * from t1; b 3000000000 select min(b) from t1; min(b) 3000000000 drop table t1;
mysql-test/t/group_by.test +7 −0 Original line number Diff line number Diff line Loading @@ -515,3 +515,10 @@ explain select c from t2 where a = 2 and b = 'val-2' group by c; select c from t2 where a = 2 and b = 'val-2' group by c; drop table t1,t2; # Test for BUG#9298 "Wrong handling of int4 unsigned columns in GROUP functions" # (the actual problem was with protocol code, not GROUP BY) create table t1 (b int4 unsigned not null); insert into t1 values(3000000000); select * from t1; select min(b) from t1; drop table t1;
sql/protocol.cc +1 −1 Original line number Diff line number Diff line Loading @@ -810,7 +810,7 @@ bool Protocol_simple::store_long(longlong from) #endif char buff[20]; return net_store_data((char*) buff, (uint) (int10_to_str((int) from,buff, -10)-buff)); (uint) (int10_to_str((int)from,buff, (from <0)?-10:10)-buff)); } Loading