summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2004-12-03 22:40:11 +0200
committerunknown <bell@sanja.is.com.ua>2004-12-03 22:40:11 +0200
commitc2780e1258f335d4886d69b2ca03e0f6068b17ec (patch)
tree8974b31b36cdaed725ab25ce63f4dc1c58a16e94
parent67aec82f792d65ebc2fe49574c5cb02ce2d1c727 (diff)
parent8127cea5124e44444370df61f0483c18f8c2dcab (diff)
downloadmariadb-git-c2780e1258f335d4886d69b2ca03e0f6068b17ec.tar.gz
Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-qc-4.1
-rw-r--r--mysql-test/r/subselect.result5
-rw-r--r--mysql-test/t/subselect.test8
-rw-r--r--sql/item.h6
3 files changed, 16 insertions, 3 deletions
diff --git a/mysql-test/r/subselect.result b/mysql-test/r/subselect.result
index 53b92fe50f1..4ad234244bf 100644
--- a/mysql-test/r/subselect.result
+++ b/mysql-test/r/subselect.result
@@ -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
1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using where
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;
diff --git a/mysql-test/t/subselect.test b/mysql-test/t/subselect.test
index 19bfaa6194a..c3a10a835e2 100644
--- a/mysql-test/t/subselect.test
+++ b/mysql-test/t/subselect.test
@@ -1301,3 +1301,11 @@ explain select a from t1 where c=2;
do @a:= (select sum(a) from t1 where b > @b);
explain select a from t1 where c=2;
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;
diff --git a/sql/item.h b/sql/item.h
index ccb0fda1c49..3c4f80e3857 100644
--- a/sql/item.h
+++ b/sql/item.h
@@ -1127,7 +1127,7 @@ class Item_cache_int: public Item_cache
{
longlong value;
public:
- Item_cache_int(): Item_cache() {}
+ Item_cache_int(): Item_cache(), value(0) {}
void store(Item *item);
double val() { DBUG_ASSERT(fixed == 1); return (double) value; }
@@ -1145,7 +1145,7 @@ class Item_cache_real: public Item_cache
{
double value;
public:
- Item_cache_real(): Item_cache() {}
+ Item_cache_real(): Item_cache(), value(0) {}
void store(Item *item);
double val() { DBUG_ASSERT(fixed == 1); return value; }
@@ -1167,7 +1167,7 @@ class Item_cache_str: public Item_cache
char buffer[80];
String *value, value_buff;
public:
- Item_cache_str(): Item_cache() { }
+ Item_cache_str(): Item_cache(), value(0) { }
void store(Item *item);
double val();