diff options
author | unknown <monty@hundin.mysql.fi> | 2001-12-10 17:51:07 +0200 |
---|---|---|
committer | unknown <monty@hundin.mysql.fi> | 2001-12-10 17:51:07 +0200 |
commit | 2d1e16eb04a3e78830447400a55f7cd2291e566c (patch) | |
tree | 40df440fc1708f1f09301e5f4f923c08a4470ec9 /sql/sql_yacc.yy | |
parent | 6f8f45e9592aa7f2ca48168d51e1624cce158797 (diff) | |
download | mariadb-git-2d1e16eb04a3e78830447400a55f7cd2291e566c.tar.gz |
Fixed bug in GROUP BY ... DESC
Docs/manual.texi:
Changelog
libmysql/libmysql.c:
Fixed bug with mysql_use_result() when mysql_query() is called before mysql_free_result().
mysql-test/r/group_by.result:
New tests
mysql-test/t/group_by.test:
New tests
sql/stacktrace.c:
Fix for SCO
Diffstat (limited to 'sql/sql_yacc.yy')
-rw-r--r-- | sql/sql_yacc.yy | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index 5a1c6baf1e4..c1935df732f 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -470,7 +470,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize); ULONGLONG_NUM %type <item> - literal text_literal insert_ident group_ident order_ident + literal text_literal insert_ident order_ident simple_ident select_item2 expr opt_expr opt_else sum_expr in_sum_expr table_wild opt_pad no_in_expr expr_expr simple_expr no_and_expr using_list @@ -1869,10 +1869,10 @@ group_clause: | GROUP BY group_list group_list: - group_list ',' group_ident - { if (add_group_to_list($3,(bool) 1)) YYABORT; } - | group_ident - { if (add_group_to_list($1,(bool) 1)) YYABORT; } + group_list ',' order_ident order_dir + { if (add_group_to_list($3,(bool) $4)) YYABORT; } + | order_ident order_dir + { if (add_group_to_list($1,(bool) $2)) YYABORT; } /* ** Order by statement in select @@ -1883,7 +1883,7 @@ opt_order_clause: | order_clause order_clause: - ORDER_SYM BY { Lex->sort_default=1; } order_list + ORDER_SYM BY order_list order_list: order_list ',' order_ident order_dir @@ -1893,8 +1893,8 @@ order_list: order_dir: /* empty */ { $$ = 1; } - | ASC { $$ = Lex->sort_default=1; } - | DESC { $$ = Lex->sort_default=0; } + | ASC { $$ =1; } + | DESC { $$ =0; } limit_clause: @@ -2452,9 +2452,6 @@ table_wild: | ident '.' ident '.' '*' { $$ = new Item_field((current_thd->client_capabilities & CLIENT_NO_SCHEMA ? NullS : $1.str),$3.str,"*"); } -group_ident: - order_ident order_dir - order_ident: expr { $$=$1; } |