Hi!
On Feb 05, Tatjana A Nuernberg wrote:
> ChangeSet@stripped, 2008-02-05 12:39:26+01:00, tnurnberg@stripped
> +6 -0
> Bug#32757: hang with sql_mode set when setting some global variables
>
> If setting a system-variable provided by a plug-in failed, no OK or
> error was sent in some cases, hanging the client. We now send an error
> in the case from the ticket (integer-argument out of range in STRICT
> mode). We also provide a semi-generic fallback message for possible
> future cases like this where an error is signalled, but no message is
> sent to the client. The error/warning handling is unified so it's the
> same again for variables provided by plugins and those in the server
> proper.
Ok to push
although, I'd still add DBUG_ASSERT() to that else{} branch in
sql_parse.cc
> diff -Nrup a/sql/sql_parse.cc b/sql/sql_parse.cc
> --- a/sql/sql_parse.cc 2007-12-13 15:26:24 +01:00
> +++ b/sql/sql_parse.cc 2008-02-05 12:39:16 +01:00
> @@ -3127,6 +3127,18 @@ end_with_restore_list:
> thd->one_shot_set|= lex->one_shot_set;
> send_ok(thd);
> }
> + else
> + {
> + /*
> + We encountered some sort of error, but no message was sent.
> + Send something semi-generic here since we don't know which
> + assignment in the list caused the error.
> + */
> + if (!thd->is_error())
> + my_error(ER_WRONG_ARGUMENTS,MYF(0),"SET");
> + goto error;
> + }
> +
> break;
> }
Regards / Mit vielen Grüssen,
Sergei
--
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ \/ / Sergei Golubchik <serg@stripped>
/ /|_/ / // /\ \/ /_/ / /__ Principal Software Developer
/_/ /_/\_, /___/\___\_\___/ MySQL GmbH, Dachauer Str. 37, D-80335 München
<___/ Geschäftsführer: Kaj Arnö - HRB
München 162140