Loading mysql-test/r/select.result +8 −0 Original line number Diff line number Diff line Loading @@ -2835,4 +2835,12 @@ 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 mysql-test/t/select.test +21 −0 Original line number Diff line number Diff line Loading @@ -2353,4 +2353,25 @@ 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 sql/item.h +1 −1 Original line number Diff line number Diff line Loading @@ -690,7 +690,7 @@ class Item_uint :public Item_int double val() { DBUG_ASSERT(fixed == 1); return ulonglong2double((ulonglong)value); } String *val_str(String*); Item *new_item() { return new Item_uint(name,max_length); } Item *new_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 @@ -2835,4 +2835,12 @@ 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
mysql-test/t/select.test +21 −0 Original line number Diff line number Diff line Loading @@ -2353,4 +2353,25 @@ 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
sql/item.h +1 −1 Original line number Diff line number Diff line Loading @@ -690,7 +690,7 @@ class Item_uint :public Item_int double val() { DBUG_ASSERT(fixed == 1); return ulonglong2double((ulonglong)value); } String *val_str(String*); Item *new_item() { return new Item_uint(name,max_length); } Item *new_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