summaryrefslogtreecommitdiff
path: root/sql/sp_head.cc
diff options
context:
space:
mode:
authormonty@mysql.com <>2004-09-09 06:59:26 +0300
committermonty@mysql.com <>2004-09-09 06:59:26 +0300
commitf2829d03867f9294f902c0a1d1689881b3c70300 (patch)
tree705389bcc2173e115a186211d2a5890721c9f5c7 /sql/sp_head.cc
parent31122efde725e9b472e467a7cb1807100b7e6b1e (diff)
downloadmariadb-git-f2829d03867f9294f902c0a1d1689881b3c70300.tar.gz
After merge fixes of merge with 4.1 that included the new arena code.
Fixed (together with Guilhem) bugs in mysqlbinlog regarding --offset Prefix addresses with 0x for easier comparisons of debug logs Fixed problem where MySQL choosed index-read even if there would be a much better range on the same index This fix changed some 'index' queries to 'range' queries in the test suite Don't create 'dummy' WHERE clause for trivial WHERE clauses where we can remove the WHERE clause. This fix removed of a lot of 'Using where' notes in the test suite. Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS Give NOTE instead of WARNING for safe field-type conversions
Diffstat (limited to 'sql/sp_head.cc')
-rw-r--r--sql/sp_head.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/sql/sp_head.cc b/sql/sp_head.cc
index 16d13154263..d0ffe3fa051 100644
--- a/sql/sp_head.cc
+++ b/sql/sp_head.cc
@@ -262,6 +262,7 @@ sp_head::sp_head()
{
DBUG_ENTER("sp_head::sp_head");
+ state= INITIALIZED;
m_backpatch.empty();
m_lex.empty();
DBUG_VOID_RETURN;
@@ -498,8 +499,7 @@ sp_head::execute(THD *thd)
}
} while (ret == 0 && !thd->killed && !thd->query_error);
- if (thd->current_arena)
- cleanup_items(thd->current_arena->free_list);
+ cleanup_items(thd->current_arena->free_list);
thd->current_arena= old_arena;
done:
@@ -945,7 +945,9 @@ sp_head::restore_thd_mem_root(THD *thd)
{
DBUG_ENTER("sp_head::restore_thd_mem_root");
Item *flist= free_list; // The old list
- set_item_arena(thd); // Get new fre_list and mem_root
+ set_item_arena(thd); // Get new free_list and mem_root
+ state= INITIALIZED;
+
DBUG_PRINT("info", ("mem_root 0x%lx returned from thd mem root 0x%lx",
(ulong) &mem_root, (ulong) &thd->mem_root));
thd->free_list= flist; // Restore the old one