Commit 123bcb9d authored by konstantin@mysql.com's avatar konstantin@mysql.com

Give Item_arena::is_stmt_prepare a more descriptive name (it marks

the code that is active for SP as well in 5.0)
parent 9dc980b1
...@@ -1027,7 +1027,7 @@ Item_field::Item_field(THD *thd, Field *f) ...@@ -1027,7 +1027,7 @@ Item_field::Item_field(THD *thd, Field *f)
structure can go away and pop up again between subsequent executions structure can go away and pop up again between subsequent executions
of a prepared statement). of a prepared statement).
*/ */
if (thd->current_arena->is_stmt_prepare()) if (thd->current_arena->is_stmt_prepare_or_first_sp_execute())
{ {
if (db_name) if (db_name)
orig_db_name= thd->strdup(db_name); orig_db_name= thd->strdup(db_name);
......
...@@ -362,7 +362,7 @@ Item_singlerow_subselect::select_transformer(JOIN *join) ...@@ -362,7 +362,7 @@ Item_singlerow_subselect::select_transformer(JOIN *join)
because we do not rollback this changes because we do not rollback this changes
TODO: make rollback for it, or special name resolving mode in 5.0. TODO: make rollback for it, or special name resolving mode in 5.0.
*/ */
!arena->is_stmt_prepare() !arena->is_stmt_prepare_or_first_sp_execute()
) )
{ {
......
...@@ -695,7 +695,8 @@ public: ...@@ -695,7 +695,8 @@ public:
virtual Type type() const; virtual Type type() const;
virtual ~Item_arena() {}; virtual ~Item_arena() {};
inline bool is_stmt_prepare() const { return (int)state < (int)PREPARED; } inline bool is_stmt_prepare_or_first_sp_execute() const
{ return (int)state < (int)PREPARED; }
inline bool is_first_stmt_execute() const { return state == PREPARED; } inline bool is_first_stmt_execute() const { return state == PREPARED; }
inline bool is_stmt_execute() const inline bool is_stmt_execute() const
{ return state == PREPARED || state == EXECUTED; } { return state == PREPARED || state == EXECUTED; }
......
...@@ -5894,7 +5894,7 @@ TABLE_LIST *st_select_lex::add_table_to_list(THD *thd, ...@@ -5894,7 +5894,7 @@ TABLE_LIST *st_select_lex::add_table_to_list(THD *thd,
ptr->db= empty_c_string; ptr->db= empty_c_string;
ptr->db_length= 0; ptr->db_length= 0;
} }
if (thd->current_arena->is_stmt_prepare()) if (thd->current_arena->is_stmt_prepare_or_first_sp_execute())
ptr->db= thd->strdup(ptr->db); ptr->db= thd->strdup(ptr->db);
ptr->alias= alias_str; ptr->alias= alias_str;
...@@ -6972,7 +6972,7 @@ bool create_table_precheck(THD *thd, TABLE_LIST *tables, ...@@ -6972,7 +6972,7 @@ bool create_table_precheck(THD *thd, TABLE_LIST *tables,
against the opened tables to ensure we don't use a table that is part against the opened tables to ensure we don't use a table that is part
of the view (which can only be done after the table has been opened). of the view (which can only be done after the table has been opened).
*/ */
if (thd->current_arena->is_stmt_prepare()) if (thd->current_arena->is_stmt_prepare_or_first_sp_execute())
{ {
/* /*
For temporary tables we don't have to check if the created table exists For temporary tables we don't have to check if the created table exists
......
...@@ -323,7 +323,7 @@ bool st_select_lex_unit::prepare(THD *thd_arg, select_result *sel_result, ...@@ -323,7 +323,7 @@ bool st_select_lex_unit::prepare(THD *thd_arg, select_result *sel_result,
} }
if (tmp_arena) if (tmp_arena)
thd->restore_backup_item_arena(tmp_arena, &backup); thd->restore_backup_item_arena(tmp_arena, &backup);
if (arena->is_stmt_prepare()) if (arena->is_stmt_prepare_or_first_sp_execute())
{ {
/* prepare fake select to initialize it correctly */ /* prepare fake select to initialize it correctly */
init_prepare_fake_select_lex(thd); init_prepare_fake_select_lex(thd);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment