maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #09621
Re: MDEV-10036 sql_yacc.yy: Split select_part2 to disallow syntactically bad constructs with INTO, PROCEDURE, UNION
Hi, Alexander!
On May 06, Alexander Barkov wrote:
> Hi Sergei,
>
> Please review a patch for MDEV-10036.
>
> This is the next step for:
> MDEV-8909 union parser cleanup
Looks ok, I think (it's difficult to review parser patches :).
Just one generic comment:
> diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
> index 04c1ba7..b5e4280 100644
> --- a/sql/sql_yacc.yy
> +++ b/sql/sql_yacc.yy
> @@ -1793,7 +1793,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);
> opt_default_time_precision
> case_stmt_body opt_bin_mod
> opt_if_exists_table_element opt_if_not_exists_table_element
> - opt_into opt_procedure_clause
> + procedure_clause
> opt_recursive
your new procedure_clause no longer needs to be of %type <num>.
And I suspect it's true for more than one nonterminal symbol that you've
changed (but I've only noticed procedure_clause).
So, when you're editing the parser try to keep an eye on symbol types
and update them accordingly. Alternatively (it may be easier) forget
about types when editing, but just before committing quickly check
whether types are correct for all modified symbols.
Regards,
Sergei
Chief Architect MariaDB
and security@xxxxxxxxxxx
Follow ups
References