mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
Fixed bug detected by sp-tests
Cleanup during reviews of new pushed code
This commit is contained in:
parent
c9d7cd043b
commit
80b3e02462
8 changed files with 31 additions and 26 deletions
|
@ -1,7 +1,7 @@
|
|||
#! /bin/sh
|
||||
|
||||
path=`dirname $0`
|
||||
. "$path/SETUP.sh"
|
||||
. "$path/SETUP.sh" $@ --with-debug=full
|
||||
|
||||
extra_flags="$pentium_cflags $debug_cflags"
|
||||
c_warnings="$c_warnings $debug_extra_warnings"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#! /bin/sh
|
||||
|
||||
path=`dirname $0`
|
||||
. "$path/SETUP.sh"
|
||||
. "$path/SETUP.sh" $@ --with-debug=full
|
||||
|
||||
extra_flags="$pentium_cflags $debug_cflags $max_cflags"
|
||||
c_warnings="$c_warnings $debug_extra_warnings"
|
||||
|
|
|
@ -166,7 +166,8 @@ gptr alloc_root(MEM_ROOT *mem_root,unsigned int Size)
|
|||
gptr point;
|
||||
reg1 USED_MEM *next= 0;
|
||||
reg2 USED_MEM **prev;
|
||||
|
||||
DBUG_ENTER("alloc_root");
|
||||
DBUG_PRINT("enter",("root: 0x%lx", mem_root));
|
||||
DBUG_ASSERT(alloc_root_inited(mem_root));
|
||||
|
||||
Size= ALIGN_SIZE(Size);
|
||||
|
@ -213,7 +214,8 @@ gptr alloc_root(MEM_ROOT *mem_root,unsigned int Size)
|
|||
mem_root->used= next;
|
||||
mem_root->first_block_usage= 0;
|
||||
}
|
||||
return(point);
|
||||
DBUG_PRINT("exit",("ptr: 0x%lx", (ulong) point));
|
||||
DBUG_RETURN(point);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -2377,16 +2377,17 @@ longlong Item_func_release_lock::val_int()
|
|||
|
||||
longlong Item_func_last_insert_id::val_int()
|
||||
{
|
||||
THD *thd= current_thd;
|
||||
DBUG_ASSERT(fixed == 1);
|
||||
if (arg_count)
|
||||
{
|
||||
longlong value=args[0]->val_int();
|
||||
current_thd->insert_id(value);
|
||||
null_value=args[0]->null_value;
|
||||
longlong value= args[0]->val_int();
|
||||
thd->insert_id(value);
|
||||
null_value= args[0]->null_value;
|
||||
return value; // Avoid side effect of insert_id()
|
||||
}
|
||||
else
|
||||
current_thd->lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
|
||||
return current_thd->insert_id();
|
||||
thd->lex->uncacheable(UNCACHEABLE_SIDEEFFECT);
|
||||
return thd->insert_id();
|
||||
}
|
||||
|
||||
/* This function is just used to test speed of different functions */
|
||||
|
|
|
@ -53,7 +53,7 @@ void Item_subselect::init(st_select_lex *select_lex,
|
|||
{
|
||||
|
||||
DBUG_ENTER("Item_subselect::init");
|
||||
DBUG_PRINT("subs", ("select_lex 0x%xl", (ulong) select_lex));
|
||||
DBUG_PRINT("enter", ("select_lex: 0x%x", (ulong) select_lex));
|
||||
unit= select_lex->master_unit();
|
||||
|
||||
if (unit->item)
|
||||
|
|
|
@ -424,10 +424,10 @@ sp_head::~sp_head()
|
|||
void
|
||||
sp_head::destroy()
|
||||
{
|
||||
DBUG_ENTER("sp_head::destroy");
|
||||
DBUG_PRINT("info", ("name: %s", m_name.str));
|
||||
sp_instr *i;
|
||||
LEX *lex;
|
||||
DBUG_ENTER("sp_head::destroy");
|
||||
DBUG_PRINT("info", ("name: %s", m_name.str));
|
||||
|
||||
for (uint ip = 0 ; (i = get_instr(ip)) ; ip++)
|
||||
delete i;
|
||||
|
|
|
@ -115,9 +115,14 @@ void lex_free(void)
|
|||
void lex_start(THD *thd, uchar *buf,uint length)
|
||||
{
|
||||
LEX *lex= thd->lex;
|
||||
DBUG_ENTER("lex_start");
|
||||
|
||||
lex->thd= lex->unit.thd= thd;
|
||||
lex->buf= lex->ptr= buf;
|
||||
lex->end_of_query= buf+length;
|
||||
|
||||
lex->unit.init_query();
|
||||
lex->unit.init_select();
|
||||
lex->thd= lex->unit.thd= thd;
|
||||
lex->select_lex.init_query();
|
||||
lex->value_list.empty();
|
||||
lex->update_list.empty();
|
||||
|
@ -150,8 +155,6 @@ void lex_start(THD *thd, uchar *buf,uint length)
|
|||
lex->empty_field_list_on_rset= 0;
|
||||
lex->select_lex.select_number= 1;
|
||||
lex->next_state=MY_LEX_START;
|
||||
lex->buf= lex->ptr= buf;
|
||||
lex->end_of_query=buf+length;
|
||||
lex->yylineno = 1;
|
||||
lex->in_comment=0;
|
||||
lex->length=0;
|
||||
|
@ -173,14 +176,11 @@ void lex_start(THD *thd, uchar *buf,uint length)
|
|||
|
||||
if (lex->spfuns.records)
|
||||
my_hash_reset(&lex->spfuns);
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
void lex_end(LEX *lex)
|
||||
{
|
||||
for (SELECT_LEX *sl= lex->all_selects_list;
|
||||
sl;
|
||||
sl= sl->next_select_in_list())
|
||||
sl->expr_list.delete_elements(); // If error when parsing sql-varargs
|
||||
x_free(lex->yacc_yyss);
|
||||
x_free(lex->yacc_yyvs);
|
||||
}
|
||||
|
|
|
@ -4719,19 +4719,21 @@ bool
|
|||
mysql_new_select(LEX *lex, bool move_down)
|
||||
{
|
||||
SELECT_LEX *select_lex;
|
||||
DBUG_ENTER("mysql_new_select");
|
||||
|
||||
if (!(select_lex= new(lex->thd->mem_root) SELECT_LEX()))
|
||||
return 1;
|
||||
DBUG_RETURN(1);
|
||||
select_lex->select_number= ++lex->thd->select_number;
|
||||
select_lex->init_query();
|
||||
select_lex->init_select();
|
||||
select_lex->parent_lex= lex;
|
||||
if (move_down)
|
||||
{
|
||||
SELECT_LEX_UNIT *unit;
|
||||
lex->subqueries= TRUE;
|
||||
/* first select_lex of subselect or derived table */
|
||||
SELECT_LEX_UNIT *unit;
|
||||
if (!(unit= new(lex->thd->mem_root) SELECT_LEX_UNIT()))
|
||||
return 1;
|
||||
DBUG_RETURN(1);
|
||||
|
||||
unit->init_query();
|
||||
unit->init_select();
|
||||
|
@ -4748,7 +4750,7 @@ mysql_new_select(LEX *lex, bool move_down)
|
|||
if (lex->current_select->order_list.first && !lex->current_select->braces)
|
||||
{
|
||||
my_error(ER_WRONG_USAGE, MYF(0), "UNION", "ORDER BY");
|
||||
return 1;
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
select_lex->include_neighbour(lex->current_select);
|
||||
SELECT_LEX_UNIT *unit= select_lex->master_unit();
|
||||
|
@ -4760,7 +4762,7 @@ mysql_new_select(LEX *lex, bool move_down)
|
|||
fake SELECT_LEX for UNION processing
|
||||
*/
|
||||
if (!(fake= unit->fake_select_lex= new(lex->thd->mem_root) SELECT_LEX()))
|
||||
return 1;
|
||||
DBUG_RETURN(1);
|
||||
fake->include_standalone(unit,
|
||||
(SELECT_LEX_NODE**)&unit->fake_select_lex);
|
||||
fake->select_number= INT_MAX;
|
||||
|
@ -4774,7 +4776,7 @@ mysql_new_select(LEX *lex, bool move_down)
|
|||
select_lex->include_global((st_select_lex_node**)&lex->all_selects_list);
|
||||
lex->current_select= select_lex;
|
||||
select_lex->resolve_mode= SELECT_LEX::SELECT_MODE;
|
||||
return 0;
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue