mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
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.
This commit is contained in:
parent
60fc91570b
commit
79491f93c8
@@ -849,6 +849,7 @@ struct st_mysql_storage_engine example_storage_engine=
|
||||
{ MYSQL_HANDLERTON_INTERFACE_VERSION };
|
||||
|
||||
static ulong srv_enum_var= 0;
|
||||
static ulong srv_ulong_var= 0;
|
||||
|
||||
const char *enum_var_names[]=
|
||||
{
|
||||
@@ -871,8 +872,21 @@ static MYSQL_SYSVAR_ENUM(
|
||||
0, // def
|
||||
&enum_var_typelib); // typelib
|
||||
|
||||
static MYSQL_SYSVAR_ULONG(
|
||||
ulong_var,
|
||||
srv_ulong_var,
|
||||
PLUGIN_VAR_RQCMDARG,
|
||||
"0..1000",
|
||||
NULL,
|
||||
NULL,
|
||||
8,
|
||||
0,
|
||||
1000,
|
||||
0);
|
||||
|
||||
static struct st_mysql_sys_var* example_system_variables[]= {
|
||||
MYSQL_SYSVAR(enum_var),
|
||||
MYSQL_SYSVAR(ulong_var),
|
||||
NULL
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user