summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorunknown <evgen@moonbone.local>2005-10-09 23:05:44 +0400
committerunknown <evgen@moonbone.local>2005-10-09 23:05:44 +0400
commitf3f84ed8a08a7c19442cdbacc9c23fbc5d38323b (patch)
tree11e5404006a3237d9df5e8670a681adb0687bfd6 /mysql-test
parenta89807336f8fa8b39bd519198f26db6c2b1fb247 (diff)
downloadmariadb-git-f3f84ed8a08a7c19442cdbacc9c23fbc5d38323b.tar.gz
Fix bug#7672 Unknown column error in order clause
When fixing Item_func_plus in ORDER BY clause field c is searched in all opened tables, but because c is an alias it wasn't found there. This patch adds a flag to select_lex which allows Item_field::fix_fields() to look up in select's item_list to find aliased fields. sql/item.cc: Fix bug#7672 Unknown column error in order clause When fixing fields in ORDER BY clause allow Item_field::fix_fields() to look up items in select's item list to find aliased fields. sql/sql_lex.cc: Fix bug#7672 Unknown column error in order clause sql/sql_lex.h: Fix bug#7672 Unknown column error in order clause Added flag to select_lex allowing Item_field::fix_fields to look up items in select's item list. sql/sql_select.cc: Fix bug#7672 Unknown column error in order clause mysql-test/t/select.test: Test case for bug#7672 Unknown column error in order clause mysql-test/r/select.result: Test case for bug#7672 Unknown column error in order clause
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/r/select.result10
-rw-r--r--mysql-test/t/select.test9
2 files changed, 19 insertions, 0 deletions
diff --git a/mysql-test/r/select.result b/mysql-test/r/select.result
index 3c7a74c0c57..299e0b6bf33 100644
--- a/mysql-test/r/select.result
+++ b/mysql-test/r/select.result
@@ -2431,3 +2431,13 @@ AND FK_firma_id = 2;
COUNT(*)
0
drop table t1;
+CREATE TABLE t1 (a INT, b INT);
+(SELECT a, b AS c FROM t1) ORDER BY c+1;
+a c
+(SELECT a, b AS c FROM t1) ORDER BY b+1;
+a c
+SELECT a, b AS c FROM t1 ORDER BY c+1;
+a c
+SELECT a, b AS c FROM t1 ORDER BY b+1;
+a c
+drop table t1;
diff --git a/mysql-test/t/select.test b/mysql-test/t/select.test
index 6626397e9e5..2adf4f1749c 100644
--- a/mysql-test/t/select.test
+++ b/mysql-test/t/select.test
@@ -1983,3 +1983,12 @@ AND FK_firma_id = 2;
drop table t1;
+#
+# Bug 7672 Unknown column error in order clause
+#
+CREATE TABLE t1 (a INT, b INT);
+(SELECT a, b AS c FROM t1) ORDER BY c+1;
+(SELECT a, b AS c FROM t1) ORDER BY b+1;
+SELECT a, b AS c FROM t1 ORDER BY c+1;
+SELECT a, b AS c FROM t1 ORDER BY b+1;
+drop table t1;