Commit 34fa69a1 authored by igor@rurik.mysql.com's avatar igor@rurik.mysql.com

order_by.result, order_by.test:

  Added a test case for bug #7672.
sql_yacc.yy:
  Fixed bug #7672.
  Made queries of the form (SELECT ...) ORDER BY ... to
  be equivalent to SELECT ... ORDER BY ...
parent ea1bd1d5
......@@ -554,3 +554,20 @@ explain select id,t from t1 force index (primary) order by id;
table type possible_keys key key_len ref rows Extra
t1 index NULL PRIMARY 4 NULL 1000
drop table t1;
CREATE TABLE t1 (a int);
INSERT INTO t1 VALUES (2), (1), (1), (2), (1);
SELECT a FROM t1 ORDER BY a;
a
1
1
1
2
2
(SELECT a FROM t1) ORDER BY a;
a
1
1
1
2
2
DROP TABLE t1;
......@@ -363,4 +363,15 @@ while ($1)
enable_query_log;
explain select id,t from t1 order by id;
explain select id,t from t1 force index (primary) order by id;
drop table t1;
\ No newline at end of file
drop table t1;
#
# Bug #7672 - a wrong result for a select query in braces followed by order by
#
CREATE TABLE t1 (a int);
INSERT INTO t1 VALUES (2), (1), (1), (2), (1);
SELECT a FROM t1 ORDER BY a;
(SELECT a FROM t1) ORDER BY a;
DROP TABLE t1;
......@@ -4033,11 +4033,14 @@ optional_order_or_limit:
send_error(&lex->thd->net, ER_SYNTAX_ERROR);
YYABORT;
}
if (mysql_new_select(lex))
YYABORT;
mysql_init_select(lex);
lex->select->linkage=NOT_A_SELECT;
lex->select->select_limit=lex->thd->variables.select_limit;
if (lex->select != &lex->select_lex)
{
if (mysql_new_select(lex))
YYABORT;
mysql_init_select(lex);
lex->select->linkage=NOT_A_SELECT;
lex->select->select_limit=lex->thd->variables.select_limit;
}
}
opt_order_clause limit_clause
;
......
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