Commit 209802eb authored by unknown's avatar unknown

Merge mysql.com:/home/hf/work/mrg/mysql-5.0-opt

into  mysql.com:/home/hf/work/mrg/mysql-5.1-opt


mysql-test/r/union.result:
  Auto merged
mysql-test/t/union.test:
  Auto merged
sql/item.cc:
  Auto merged
parents d5f3bc14 e68df7a1
...@@ -1426,4 +1426,15 @@ select _utf8'12' union select _latin1'12345'; ...@@ -1426,4 +1426,15 @@ select _utf8'12' union select _latin1'12345';
12 12
12 12
12345 12345
CREATE TABLE t1 (a int);
INSERT INTO t1 VALUES (3),(1),(2),(4),(1);
SELECT a FROM (SELECT a FROM t1 UNION SELECT a FROM t1 ORDER BY a) AS test;
a
1
2
3
4
SELECT a FROM (SELECT a FROM t1 UNION SELECT a FROM t1 ORDER BY c) AS test;
ERROR 42S22: Unknown column 'c' in 'order clause'
DROP TABLE t1;
End of 5.0 tests End of 5.0 tests
...@@ -900,4 +900,17 @@ drop table t1, t2; ...@@ -900,4 +900,17 @@ drop table t1, t2;
# #
select _utf8'12' union select _latin1'12345'; select _utf8'12' union select _latin1'12345';
#
# Bug #26661: UNION with ORDER BY undefined column in FROM list
#
CREATE TABLE t1 (a int);
INSERT INTO t1 VALUES (3),(1),(2),(4),(1);
SELECT a FROM (SELECT a FROM t1 UNION SELECT a FROM t1 ORDER BY a) AS test;
--error 1054
SELECT a FROM (SELECT a FROM t1 UNION SELECT a FROM t1 ORDER BY c) AS test;
DROP TABLE t1;
--echo End of 5.0 tests --echo End of 5.0 tests
...@@ -3475,7 +3475,12 @@ Item_field::fix_outer_field(THD *thd, Field **from_field, Item **reference) ...@@ -3475,7 +3475,12 @@ Item_field::fix_outer_field(THD *thd, Field **from_field, Item **reference)
*/ */
Name_resolution_context *last_checked_context= context; Name_resolution_context *last_checked_context= context;
Item **ref= (Item **) not_found_item; Item **ref= (Item **) not_found_item;
Name_resolution_context *outer_context= context->outer_context; SELECT_LEX *current_sel= (SELECT_LEX *) thd->lex->current_select;
Name_resolution_context *outer_context= 0;
/* Currently derived tables cannot be correlated */
if (current_sel->master_unit()->first_select()->linkage !=
DERIVED_TABLE_TYPE)
outer_context= context->outer_context;
for (; for (;
outer_context; outer_context;
outer_context= outer_context->outer_context) outer_context= outer_context->outer_context)
......
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