diff options
author | unknown <gshchepa/uchum@gleb.loc> | 2007-07-28 23:36:27 +0500 |
---|---|---|
committer | unknown <gshchepa/uchum@gleb.loc> | 2007-07-28 23:36:27 +0500 |
commit | 953248898d4abeb1c19fee8176b243399a9f3610 (patch) | |
tree | c2cbc05cdb29e88d1b87119c8bb5ab38c35c5290 /sql | |
parent | 439f5d0f683bacbbd8aa8fdef9f0a34e2c40c578 (diff) | |
parent | 6ed4e3ddab991013a49dda47353e5291469493ff (diff) | |
download | mariadb-git-953248898d4abeb1c19fee8176b243399a9f3610.tar.gz |
Merge gleb.loc:/home/uchum/work/bk/5.0-opt-29834
into gleb.loc:/home/uchum/work/bk/5.0-opt
sql/sql_base.cc:
Auto merged
mysql-test/r/sp.result:
Merge with local tree.
mysql-test/t/sp.test:
Merge with local tree.
Diffstat (limited to 'sql')
-rw-r--r-- | sql/sql_base.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sql/sql_base.cc b/sql/sql_base.cc index 911e8d4d1f5..7098f8ece55 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -3428,7 +3428,7 @@ find_field_in_view(THD *thd, TABLE_LIST *table_list, table_list->alias, name, item_name, (ulong) ref)); Field_iterator_view field_it; field_it.set(table_list); - Query_arena *arena, backup; + Query_arena *arena= 0, backup; DBUG_ASSERT(table_list->schema_table_reformed || (ref != 0 && table_list->view != 0)); @@ -3437,14 +3437,14 @@ find_field_in_view(THD *thd, TABLE_LIST *table_list, if (!my_strcasecmp(system_charset_info, field_it.name(), name)) { // in PS use own arena or data will be freed after prepare - if (register_tree_change) + if (register_tree_change && thd->stmt_arena->is_stmt_prepare_or_first_sp_execute()) arena= thd->activate_stmt_arena_if_needed(&backup); /* create_item() may, or may not create a new Item, depending on the column reference. See create_view_field() for details. */ Item *item= field_it.create_item(thd); - if (register_tree_change && arena) + if (arena) thd->restore_active_arena(arena, &backup); if (!item) |