diff options
author | unknown <hf@deer.(none)> | 2003-12-06 23:37:24 +0400 |
---|---|---|
committer | unknown <hf@deer.(none)> | 2003-12-06 23:37:24 +0400 |
commit | 859f599e1ed8a85b6c8909b32fdfa5dc223e929b (patch) | |
tree | c197ea3c314656fc5c4d9c91c3bfca2b8f7deeba /mysql-test | |
parent | 07de836b44434cbab033d02cc47879275080f65c (diff) | |
download | mariadb-git-859f599e1ed8a85b6c8909b32fdfa5dc223e929b.tar.gz |
Fix for #1992
This bug happens when a query, having subselects in the fields list,
needs temporary table.
Item_subselect::get_tmp_table_item isn't implemented and just returns
*this. So the tmp_table_item takes value not from temporary but
from original table.
mysql-test/r/subselect.result:
appropriate test result added
mysql-test/t/subselect.test:
test case added
sql/item_subselect.cc:
Item_subselect::get_tmp_table_item implementation
sql/item_subselect.h:
Item_subselect::get_tmp_table_item declaration
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/subselect.result | 10 | ||||
-rw-r--r-- | mysql-test/t/subselect.test | 5 |
2 files changed, 15 insertions, 0 deletions
diff --git a/mysql-test/r/subselect.result b/mysql-test/r/subselect.result index 71755aac52d..9f64281185f 100644 --- a/mysql-test/r/subselect.result +++ b/mysql-test/r/subselect.result @@ -1569,3 +1569,13 @@ INSERT INTO t2 VALUES (100, 200, 'C'); SELECT DISTINCT COLC FROM t1 WHERE COLA = (SELECT COLA FROM t2 WHERE COLB = 200 AND COLC ='C' LIMIT 1); COLC DROP TABLE t1, t2; +CREATE TABLE t1 (a int(1)); +INSERT INTO t1 VALUES (1),(1),(1),(1),(1),(2),(3),(4),(5); +SELECT DISTINCT (SELECT a) FROM t1 LIMIT 100; +(SELECT a) +1 +2 +3 +4 +5 +DROP TABLE t1; diff --git a/mysql-test/t/subselect.test b/mysql-test/t/subselect.test index e53679b444e..2879a4d7177 100644 --- a/mysql-test/t/subselect.test +++ b/mysql-test/t/subselect.test @@ -1009,3 +1009,8 @@ INSERT INTO t1 VALUES (1,1,'1A3240'), (1,2,'4W2365'); INSERT INTO t2 VALUES (100, 200, 'C'); SELECT DISTINCT COLC FROM t1 WHERE COLA = (SELECT COLA FROM t2 WHERE COLB = 200 AND COLC ='C' LIMIT 1); DROP TABLE t1, t2; + +CREATE TABLE t1 (a int(1)); +INSERT INTO t1 VALUES (1),(1),(1),(1),(1),(2),(3),(4),(5); +SELECT DISTINCT (SELECT a) FROM t1 LIMIT 100; +DROP TABLE t1; |