Loading mysql-test/r/select.result +8 −0 Original line number Diff line number Diff line Loading @@ -2827,6 +2827,14 @@ FFFFFFFFFFFFFFFF 7FFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF 7FFFFFFFFFFFFFFF 8FFFFFFFFFFFFFFF 7FFFFFFFFFFFFFFF drop table t1; CREATE TABLE t1 (c0 int); CREATE TABLE t2 (c0 int); INSERT INTO t1 VALUES(@@connect_timeout); INSERT INTO t2 VALUES(@@connect_timeout); SELECT * FROM t1 JOIN t2 ON t1.c0 = t2.c0 WHERE (t1.c0 <=> @@connect_timeout); c0 c0 X X DROP TABLE t1, t2; End of 4.1 tests CREATE TABLE t1 ( K2C4 varchar(4) character set latin1 collate latin1_bin NOT NULL default '', Loading mysql-test/t/select.test +21 −0 Original line number Diff line number Diff line Loading @@ -2360,6 +2360,27 @@ insert into t1 values (0xfffffffffffffffff, 0xfffffffffffffffff), select hex(a), hex(b) from t1; drop table t1; # # Bug #32103: optimizer crash when join on int and mediumint with variable in # where clause # CREATE TABLE t1 (c0 int); CREATE TABLE t2 (c0 int); # We need any variable that: # 1. has integer type, # 2. can be used with the "@@name" syntax # 3. available in every server build INSERT INTO t1 VALUES(@@connect_timeout); INSERT INTO t2 VALUES(@@connect_timeout); # We only need to ensure 1 row is returned to validate the results --replace_column 1 X 2 X SELECT * FROM t1 JOIN t2 ON t1.c0 = t2.c0 WHERE (t1.c0 <=> @@connect_timeout); DROP TABLE t1, t2; --echo End of 4.1 tests # Loading sql/item.h +1 −1 Original line number Diff line number Diff line Loading @@ -1584,7 +1584,7 @@ class Item_uint :public Item_int double val_real() { DBUG_ASSERT(fixed == 1); return ulonglong2double((ulonglong)value); } String *val_str(String*); Item *clone_item() { return new Item_uint(name,max_length); } Item *clone_item() { return new Item_uint(name, value, max_length); } int save_in_field(Field *field, bool no_conversions); void print(String *str); Item_num *neg (); Loading Loading
mysql-test/r/select.result +8 −0 Original line number Diff line number Diff line Loading @@ -2827,6 +2827,14 @@ FFFFFFFFFFFFFFFF 7FFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF 7FFFFFFFFFFFFFFF 8FFFFFFFFFFFFFFF 7FFFFFFFFFFFFFFF drop table t1; CREATE TABLE t1 (c0 int); CREATE TABLE t2 (c0 int); INSERT INTO t1 VALUES(@@connect_timeout); INSERT INTO t2 VALUES(@@connect_timeout); SELECT * FROM t1 JOIN t2 ON t1.c0 = t2.c0 WHERE (t1.c0 <=> @@connect_timeout); c0 c0 X X DROP TABLE t1, t2; End of 4.1 tests CREATE TABLE t1 ( K2C4 varchar(4) character set latin1 collate latin1_bin NOT NULL default '', Loading
mysql-test/t/select.test +21 −0 Original line number Diff line number Diff line Loading @@ -2360,6 +2360,27 @@ insert into t1 values (0xfffffffffffffffff, 0xfffffffffffffffff), select hex(a), hex(b) from t1; drop table t1; # # Bug #32103: optimizer crash when join on int and mediumint with variable in # where clause # CREATE TABLE t1 (c0 int); CREATE TABLE t2 (c0 int); # We need any variable that: # 1. has integer type, # 2. can be used with the "@@name" syntax # 3. available in every server build INSERT INTO t1 VALUES(@@connect_timeout); INSERT INTO t2 VALUES(@@connect_timeout); # We only need to ensure 1 row is returned to validate the results --replace_column 1 X 2 X SELECT * FROM t1 JOIN t2 ON t1.c0 = t2.c0 WHERE (t1.c0 <=> @@connect_timeout); DROP TABLE t1, t2; --echo End of 4.1 tests # Loading
sql/item.h +1 −1 Original line number Diff line number Diff line Loading @@ -1584,7 +1584,7 @@ class Item_uint :public Item_int double val_real() { DBUG_ASSERT(fixed == 1); return ulonglong2double((ulonglong)value); } String *val_str(String*); Item *clone_item() { return new Item_uint(name,max_length); } Item *clone_item() { return new Item_uint(name, value, max_length); } int save_in_field(Field *field, bool no_conversions); void print(String *str); Item_num *neg (); Loading