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;
|
cs->process= name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* FUNCTION
|
* FUNCTION
|
||||||
*
|
*
|
||||||
* _db_set_ set current debugger settings
|
* DbugParse parse control string and set current debugger setting
|
||||||
*
|
|
||||||
* SYNOPSIS
|
|
||||||
*
|
|
||||||
* VOID _db_set_(control)
|
|
||||||
* char *control;
|
|
||||||
*
|
*
|
||||||
* DESCRIPTION
|
* 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;
|
const char *end;
|
||||||
int rel=0;
|
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
|
* FUNCTION
|
||||||
*
|
*
|
||||||
@ -685,7 +710,7 @@ void _db_set_(CODE_STATE *cs, const char *control)
|
|||||||
*
|
*
|
||||||
* Given pointer to a debug control string in "control", pushes
|
* Given pointer to a debug control string in "control", pushes
|
||||||
* the current debug settings, parses the control string, and sets
|
* 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;
|
CODE_STATE *cs=0;
|
||||||
get_code_state_or_return;
|
get_code_state_or_return;
|
||||||
PushState(cs);
|
PushState(cs);
|
||||||
_db_set_(cs, control);
|
DbugParse(cs, control);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -717,7 +742,7 @@ void _db_set_init_(const char *control)
|
|||||||
CODE_STATE tmp_cs;
|
CODE_STATE tmp_cs;
|
||||||
bzero((uchar*) &tmp_cs, sizeof(tmp_cs));
|
bzero((uchar*) &tmp_cs, sizeof(tmp_cs));
|
||||||
tmp_cs.stack= &init_settings;
|
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
|
EX:\ \fCDBUG_POP\ ();\fR
|
||||||
.SP 1
|
.SP 1
|
||||||
.LI DBUG_SET\
|
.LI DBUG_SET\
|
||||||
Modifies the current debugger state on top of the stack using the
|
Modifies the current debugger state on top of the stack or pushes
|
||||||
debug control string passed as the macro argument. Unless
|
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
|
.I incremental
|
||||||
control string is used (see below), it's equivalent to a combination of
|
control string is used (see below), it's equivalent to a combination of
|
||||||
DBUG_POP and DBUG_PUSH.
|
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
|
ctype_create : Bug#32965 main.ctype_create fails
|
||||||
status : Bug#32966 main.status fails
|
status : Bug#32966 main.status fails
|
||||||
ps_ddl : Bug#12093 2007-12-14 pending WL#4165 / WL#4166
|
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 */
|
/* tmp->dbug is allocated inside DBUG library */
|
||||||
if (tmp->dbug)
|
if (tmp->dbug)
|
||||||
{
|
{
|
||||||
|
DBUG_POP();
|
||||||
free(tmp->dbug);
|
free(tmp->dbug);
|
||||||
tmp->dbug=0;
|
tmp->dbug=0;
|
||||||
}
|
}
|
||||||
|
@ -3926,10 +3926,8 @@ bool sys_var_thd_dbug::update(THD *thd, set_var *var)
|
|||||||
if (var->type == OPT_GLOBAL)
|
if (var->type == OPT_GLOBAL)
|
||||||
DBUG_SET_INITIAL(var ? var->value->str_value.c_ptr() : "");
|
DBUG_SET_INITIAL(var ? var->value->str_value.c_ptr() : "");
|
||||||
else
|
else
|
||||||
{
|
DBUG_SET(var ? var->value->str_value.c_ptr() : "");
|
||||||
DBUG_POP();
|
|
||||||
DBUG_PUSH(var ? var->value->str_value.c_ptr() : "");
|
|
||||||
}
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user