On 10.03.2008, at 11:23, mhansson@stripped wrote:
> ChangeSet@stripped, 2008-03-10 10:22:24+01:00, mhansson@riffraff.
> (none) +8 -0
> Bug#35020: illegal sql_cache select syntax
<snip>
> mysql-test/t/subselect.test@stripped, 2008-03-10 10:22:21+01:00,
> mhansson@riffraff.(none) +25 -0
> Bug#35020: Test case.
Since there is a special query_cache test I'd move the testcase for
this bug there.
> diff -Nrup a/mysql-test/r/query_cache.result b/mysql-test/r/
> query_cache.result
> --- a/mysql-test/r/query_cache.result 2008-01-07 21:11:41 +01:00
> +++ b/mysql-test/r/query_cache.result 2008-03-10 10:22:21 +01:00
> @@ -182,15 +182,9 @@ a
> 2
> 3
> select * from t1 where a IN (select sql_cache a from t1);
> -a
> -1
> -2
> -3
Can you please check with the author of the test what was the intent
of adding these tests ?
> diff -Nrup a/sql/sql_yacc.yy b/sql/sql_yacc.yy
> --- a/sql/sql_yacc.yy 2008-03-06 09:20:50 +01:00
> +++ b/sql/sql_yacc.yy 2008-03-10 10:22:21 +01:00
<snip>
>
> + ;
> +
> +opt_query_expression_options:
> + /* empty */
> + | query_expression_option_list
Since the QUERY_CACHE and QUERY_NO_CACHE are the only contradicting
options that are not checked wouldn't it be easier to add the same
type of check that is performed for DISTINCT and ALL :
6675 {
6676 if (Select->options & SELECT_DISTINCT && Select-
>options & SELECT_AL L)
6677 {
6678 my_error(ER_WRONG_USAGE, MYF(0), "ALL",
"DISTINCT");
6679 MYSQL_YYABORT;
6680 }
6681 }
Best Regards,
Joro
--
Georgi Kodinov, Team Lead, Server General Team
MySQL AB, Plovdiv, Bulgaria, www.mysql.com
Office: +359 32 634 397 Mobile: +359 887 700 566 Skype: georgekodinov
Are you MySQL certified? www.mysql.com/certification