Commit 3c108b2a authored by bell@sanja.is.com.ua's avatar bell@sanja.is.com.ua

init values to avoid junk returning in case of null value asking without assigning value (BUG#6806)

parent 2ca5a0f2
...@@ -2005,3 +2005,8 @@ explain select a from t1 where c=2; ...@@ -2005,3 +2005,8 @@ explain select a from t1 where c=2;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using where 1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using where
drop table t1; drop table t1;
create table t1 (s1 int,s2 int);
insert into t1 values (20,15);
select * from t1 where (('a',null) <=> (select 'a',s2 from t1 where s1 = 0));
s1 s2
drop table t1;
...@@ -1301,3 +1301,11 @@ explain select a from t1 where c=2; ...@@ -1301,3 +1301,11 @@ explain select a from t1 where c=2;
do @a:= (select sum(a) from t1 where b > @b); do @a:= (select sum(a) from t1 where b > @b);
explain select a from t1 where c=2; explain select a from t1 where c=2;
drop table t1; drop table t1;
#
# Equal operation under row and empty subquery
#
create table t1 (s1 int,s2 int);
insert into t1 values (20,15);
select * from t1 where (('a',null) <=> (select 'a',s2 from t1 where s1 = 0));
drop table t1;
...@@ -1127,7 +1127,7 @@ class Item_cache_int: public Item_cache ...@@ -1127,7 +1127,7 @@ class Item_cache_int: public Item_cache
{ {
longlong value; longlong value;
public: public:
Item_cache_int(): Item_cache() {} Item_cache_int(): Item_cache(), value(0) {}
void store(Item *item); void store(Item *item);
double val() { DBUG_ASSERT(fixed == 1); return (double) value; } double val() { DBUG_ASSERT(fixed == 1); return (double) value; }
...@@ -1145,7 +1145,7 @@ class Item_cache_real: public Item_cache ...@@ -1145,7 +1145,7 @@ class Item_cache_real: public Item_cache
{ {
double value; double value;
public: public:
Item_cache_real(): Item_cache() {} Item_cache_real(): Item_cache(), value(0) {}
void store(Item *item); void store(Item *item);
double val() { DBUG_ASSERT(fixed == 1); return value; } double val() { DBUG_ASSERT(fixed == 1); return value; }
...@@ -1167,7 +1167,7 @@ class Item_cache_str: public Item_cache ...@@ -1167,7 +1167,7 @@ class Item_cache_str: public Item_cache
char buffer[80]; char buffer[80];
String *value, value_buff; String *value, value_buff;
public: public:
Item_cache_str(): Item_cache() { } Item_cache_str(): Item_cache(), value(0) { }
void store(Item *item); void store(Item *item);
double val(); double val();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment