diff options
author | serg@serg.mylan <> | 2003-10-21 11:58:43 +0200 |
---|---|---|
committer | serg@serg.mylan <> | 2003-10-21 11:58:43 +0200 |
commit | f944fd4a65014651e130bc208563f00d668a1928 (patch) | |
tree | 8d1d6d06c790efe700899d57a87e63e8d91764f4 /sql/sql_yacc.yy | |
parent | 282b402813d104f7363542a2e5bb36fa5380ed38 (diff) | |
parent | 58e9369511972c7de916382d807a2632aa3c2f69 (diff) | |
download | mariadb-git-f944fd4a65014651e130bc208563f00d668a1928.tar.gz |
merged
Diffstat (limited to 'sql/sql_yacc.yy')
-rw-r--r-- | sql/sql_yacc.yy | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index 8491ba7675d..04f5043839f 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -2449,11 +2449,13 @@ simple_expr: | singlerow_subselect { $$= $1; } | '{' ident expr '}' { $$= $3; } | MATCH ident_list_arg AGAINST '(' expr ')' - { Select->add_ftfunc_to_list((Item_func_match *) - ($$=new Item_func_match_nl(*$2,$5))); } + { $2->push_front($5); + Select->add_ftfunc_to_list((Item_func_match *) + ($$=new Item_func_match_nl(*$2))); } | MATCH ident_list_arg AGAINST '(' expr IN_SYM BOOLEAN_SYM MODE_SYM ')' - { Select->add_ftfunc_to_list((Item_func_match *) - ($$=new Item_func_match_bool(*$2,$5))); } + { $2->push_front($5); + Select->add_ftfunc_to_list((Item_func_match *) + ($$=new Item_func_match_bool(*$2))); } | ASCII_SYM '(' expr ')' { $$= new Item_func_ascii($3); } | BINARY expr %prec NEG { @@ -2461,10 +2463,10 @@ simple_expr: 6, &my_charset_latin1)); } | CAST_SYM '(' expr AS cast_type ')' - { - $$= create_func_cast($3, $5, + { + $$= create_func_cast($3, $5, Lex->length ? atoi(Lex->length) : -1, - Lex->charset); + Lex->charset); } | CASE_SYM opt_expr WHEN_SYM when_list opt_else END { $$= new Item_func_case(* $4, $2, $5 ); } @@ -2967,7 +2969,7 @@ ident_list2: opt_expr: /* empty */ { $$= NULL; } - | expr { $$= $1; }; + | expr { $$= $1; }; opt_else: /* empty */ { $$= NULL; } |