Merge mysql.com:/Users/davi/mysql/bugs/34424-5.1
into mysql.com:/Users/davi/mysql/mysql-5.1-runtime
This commit is contained in:
commit
aeebdfcfaa
45
dbug/dbug.c
45
dbug/dbug.c
@ -412,15 +412,11 @@ void _db_process_(const char *name)
|
||||
cs->process= name;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* FUNCTION
|
||||
*
|
||||
* _db_set_ set current debugger settings
|
||||
*
|
||||
* SYNOPSIS
|
||||
*
|
||||
* VOID _db_set_(control)
|
||||
* char *control;
|
||||
* DbugParse parse control string and set current debugger setting
|
||||
*
|
||||
* DESCRIPTION
|
||||
*
|
||||
@ -444,7 +440,7 @@ void _db_process_(const char *name)
|
||||
*
|
||||
*/
|
||||
|
||||
void _db_set_(CODE_STATE *cs, const char *control)
|
||||
static void DbugParse(CODE_STATE *cs, const char *control)
|
||||
{
|
||||
const char *end;
|
||||
int rel=0;
|
||||
@ -671,6 +667,35 @@ void _db_set_(CODE_STATE *cs, const char *control)
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* FUNCTION
|
||||
*
|
||||
* _db_set_ set current debugger settings
|
||||
*
|
||||
* SYNOPSIS
|
||||
*
|
||||
* VOID _db_set_(control)
|
||||
* char *control;
|
||||
*
|
||||
* DESCRIPTION
|
||||
*
|
||||
* Given pointer to a debug control string in "control",
|
||||
* parses the control string, and sets up a current debug
|
||||
* settings. Pushes a new debug settings if the current is
|
||||
* set to the initial debugger settings.
|
||||
*/
|
||||
|
||||
void _db_set_(CODE_STATE *cs, const char *control)
|
||||
{
|
||||
get_code_state_or_return;
|
||||
|
||||
if (cs->stack == &init_settings)
|
||||
PushState(cs);
|
||||
|
||||
DbugParse(cs, control);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* FUNCTION
|
||||
*
|
||||
@ -685,7 +710,7 @@ void _db_set_(CODE_STATE *cs, const char *control)
|
||||
*
|
||||
* Given pointer to a debug control string in "control", pushes
|
||||
* the current debug settings, parses the control string, and sets
|
||||
* up a new debug settings with _db_set_()
|
||||
* up a new debug settings with DbugParse()
|
||||
*
|
||||
*/
|
||||
|
||||
@ -694,7 +719,7 @@ void _db_push_(const char *control)
|
||||
CODE_STATE *cs=0;
|
||||
get_code_state_or_return;
|
||||
PushState(cs);
|
||||
_db_set_(cs, control);
|
||||
DbugParse(cs, control);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -717,7 +742,7 @@ void _db_set_init_(const char *control)
|
||||
CODE_STATE tmp_cs;
|
||||
bzero((uchar*) &tmp_cs, sizeof(tmp_cs));
|
||||
tmp_cs.stack= &init_settings;
|
||||
_db_set_(&tmp_cs, control);
|
||||
DbugParse(&tmp_cs, control);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -730,8 +730,9 @@ warning will be given. The DBUG_POP macro has no arguments.
|
||||
EX:\ \fCDBUG_POP\ ();\fR
|
||||
.SP 1
|
||||
.LI DBUG_SET\
|
||||
Modifies the current debugger state on top of the stack using the
|
||||
debug control string passed as the macro argument. Unless
|
||||
Modifies the current debugger state on top of the stack or pushes
|
||||
a new state if the current is set to the initial settings, using
|
||||
the debug control string passed as the macro argument. Unless
|
||||
.I incremental
|
||||
control string is used (see below), it's equivalent to a combination of
|
||||
DBUG_POP and DBUG_PUSH.
|
||||
|
12
mysql-test/r/variables_debug.result
Normal file
12
mysql-test/r/variables_debug.result
Normal file
@ -0,0 +1,12 @@
|
||||
set debug= 'T';
|
||||
select @@debug;
|
||||
@@debug
|
||||
T
|
||||
set debug= '+P';
|
||||
select @@debug;
|
||||
@@debug
|
||||
P:T
|
||||
set debug= '-P';
|
||||
select @@debug;
|
||||
@@debug
|
||||
T
|
@ -22,4 +22,3 @@ wait_timeout : Bug#32801 wait_timeout.test fails randomly
|
||||
ctype_create : Bug#32965 main.ctype_create fails
|
||||
status : Bug#32966 main.status fails
|
||||
ps_ddl : Bug#12093 2007-12-14 pending WL#4165 / WL#4166
|
||||
query_cache_debug : Bug#34424: query_cache_debug.test leads to valgrind warnings
|
||||
|
12
mysql-test/t/variables_debug.test
Normal file
12
mysql-test/t/variables_debug.test
Normal file
@ -0,0 +1,12 @@
|
||||
--source include/have_debug.inc
|
||||
|
||||
#
|
||||
# Bug#34678 @@debug variable's incremental mode
|
||||
#
|
||||
|
||||
set debug= 'T';
|
||||
select @@debug;
|
||||
set debug= '+P';
|
||||
select @@debug;
|
||||
set debug= '-P';
|
||||
select @@debug;
|
@ -332,6 +332,7 @@ void my_thread_end(void)
|
||||
/* tmp->dbug is allocated inside DBUG library */
|
||||
if (tmp->dbug)
|
||||
{
|
||||
DBUG_POP();
|
||||
free(tmp->dbug);
|
||||
tmp->dbug=0;
|
||||
}
|
||||
|
@ -3926,10 +3926,8 @@ bool sys_var_thd_dbug::update(THD *thd, set_var *var)
|
||||
if (var->type == OPT_GLOBAL)
|
||||
DBUG_SET_INITIAL(var ? var->value->str_value.c_ptr() : "");
|
||||
else
|
||||
{
|
||||
DBUG_POP();
|
||||
DBUG_PUSH(var ? var->value->str_value.c_ptr() : "");
|
||||
}
|
||||
DBUG_SET(var ? var->value->str_value.c_ptr() : "");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user