diff options
author | unknown <Sinisa@sinisa.nasamreza.org> | 2003-04-08 15:55:28 +0300 |
---|---|---|
committer | unknown <Sinisa@sinisa.nasamreza.org> | 2003-04-08 15:55:28 +0300 |
commit | f4216c526bcd7b3e68249f4349f856a8dfcc7f73 (patch) | |
tree | 61cdb9d344cfba9a8aed03452467feade323e11e | |
parent | eaa27ad448168ea262d925b828ecc7425dbfe724 (diff) | |
download | mariadb-git-f4216c526bcd7b3e68249f4349f856a8dfcc7f73.tar.gz |
Fix for a bug with empty item list in UNION's
-rw-r--r-- | mysql-test/r/union.result | 2 | ||||
-rw-r--r-- | mysql-test/t/union.test | 2 | ||||
-rw-r--r-- | sql/item.cc | 7 |
3 files changed, 8 insertions, 3 deletions
diff --git a/mysql-test/r/union.result b/mysql-test/r/union.result index 0edf5df7ae1..7b29a8fbcde 100644 --- a/mysql-test/r/union.result +++ b/mysql-test/r/union.result @@ -273,3 +273,5 @@ SELECT @a:=1 UNION SELECT @a:=@a+1; @a:=1 1 2 +(SELECT 1) UNION (SELECT 2) ORDER BY (SELECT a); +Unknown column 'a' in 'field list' diff --git a/mysql-test/t/union.test b/mysql-test/t/union.test index d2f35b59f54..70e770cd2d3 100644 --- a/mysql-test/t/union.test +++ b/mysql-test/t/union.test @@ -146,3 +146,5 @@ drop table t1,t2; (select 1) union (select 2) order by 0; SELECT @a:=1 UNION SELECT @a:=@a+1; +--error 1054 +(SELECT 1) UNION (SELECT 2) ORDER BY (SELECT a); diff --git a/sql/item.cc b/sql/item.cc index 30f610ea92a..a029219c366 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -701,9 +701,10 @@ bool Item_field::fix_fields(THD *thd, TABLE_LIST *tables, Item **ref) (last= sl)->get_table_list(), &where, 0)) != not_found_field) break; - if ((refer= find_item_in_list(this, sl->item_list, &counter, - REPORT_EXCEPT_NOT_FOUND)) != - (Item **)not_found_item) + if (sl->item_list.elements && + ((refer= find_item_in_list(this, sl->item_list, &counter, + REPORT_EXCEPT_NOT_FOUND)) != + (Item **)not_found_item)) break; if (sl->master_unit()->first_select()->linkage == DERIVED_TABLE_TYPE) |