mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
cleanup: get rid of (Item_splocal*)item downcast
This commit is contained in:
@ -570,6 +570,7 @@ class COND_EQUAL;
|
||||
class st_select_lex_unit;
|
||||
|
||||
class Item_func_not;
|
||||
class Item_splocal;
|
||||
|
||||
class Item {
|
||||
Item(const Item &); /* Prevent use of these */
|
||||
@ -1431,7 +1432,7 @@ public:
|
||||
delete this;
|
||||
}
|
||||
|
||||
virtual bool is_splocal() { return 0; } /* Needed for error checking */
|
||||
virtual Item_splocal *get_item_splocal() { return 0; }
|
||||
|
||||
/*
|
||||
Return Settable_routine_parameter interface of the Item. Return 0
|
||||
@ -1729,8 +1730,6 @@ public:
|
||||
enum_field_types sp_var_type,
|
||||
uint pos_in_q= 0, uint len_in_q= 0);
|
||||
|
||||
bool is_splocal() { return 1; } /* Needed for error checking */
|
||||
|
||||
Item *this_item();
|
||||
const Item *this_item() const;
|
||||
Item **this_item_addr(THD *thd, Item **);
|
||||
@ -1750,6 +1749,8 @@ private:
|
||||
bool set_value(THD *thd, sp_rcontext *ctx, Item **it);
|
||||
|
||||
public:
|
||||
Item_splocal *get_item_splocal() { return this; }
|
||||
|
||||
Settable_routine_parameter *get_settable_routine_parameter()
|
||||
{
|
||||
return this;
|
||||
|
@ -985,9 +985,9 @@ subst_spvars(THD *thd, sp_instr *instr, LEX_STRING *query_str)
|
||||
/* Find all instances of Item_splocal used in this statement */
|
||||
for (Item *item= instr->free_list; item; item= item->next)
|
||||
{
|
||||
if (item->is_splocal())
|
||||
Item_splocal *item_spl= item->get_item_splocal();
|
||||
if (item_spl)
|
||||
{
|
||||
Item_splocal *item_spl= (Item_splocal*)item;
|
||||
if (item_spl->pos_in_query)
|
||||
sp_vars_uses.append(item_spl);
|
||||
}
|
||||
|
@ -3189,7 +3189,7 @@ mysql_execute_command(THD *thd)
|
||||
/* Count SP local vars in the top-level SELECT list */
|
||||
while ((item= it++))
|
||||
{
|
||||
if (item->is_splocal())
|
||||
if (item->get_item_splocal())
|
||||
splocal_refs++;
|
||||
}
|
||||
/*
|
||||
|
@ -9230,9 +9230,9 @@ simple_expr:
|
||||
}
|
||||
| DEFAULT '(' simple_ident ')'
|
||||
{
|
||||
if ($3->is_splocal())
|
||||
Item_splocal *il= $3->get_item_splocal();
|
||||
if (il)
|
||||
{
|
||||
Item_splocal *il= static_cast<Item_splocal *>($3);
|
||||
|
||||
my_error(ER_WRONG_COLUMN_NAME, MYF(0), il->my_name()->str);
|
||||
MYSQL_YYABORT;
|
||||
|
Reference in New Issue
Block a user