summaryrefslogtreecommitdiff
path: root/sql/sp_cache.cc
diff options
context:
space:
mode:
authorunknown <sergefp@mysql.com>2005-08-10 21:17:02 +0000
committerunknown <sergefp@mysql.com>2005-08-10 21:17:02 +0000
commit6b9ec78be00d37b91d4de8564bc0103d83ddfb26 (patch)
tree5dab1a0ca73f1e4942bf33d79a0b027bc008ab28 /sql/sp_cache.cc
parent08cadd816e7fd92f6f56c3ba621aa81d47954fca (diff)
downloadmariadb-git-6b9ec78be00d37b91d4de8564bc0103d83ddfb26.tar.gz
BUG#12228: Post review fixes: Added test case, code cleanup.
mysql-test/r/sp-threads.result: Testcase for BUG#12228 mysql-test/t/sp-threads.test: Testcase for BUG#12228 sql/sp_cache.cc: BUG#12228: Post-review fixes: small code cleanup sql/sp_cache.h: BUG#12228: Post-review fixes: fixed the comment sql/sql_parse.cc: BUG#12228: Post-review fixes: in mysql_parse, flush obsolete SPs from the caches only if the query hasn't been handled by the query cache. sql/sql_prepare.cc: BUG#12228: Post-review fixes: in mysql_stmt_prepare/execute, flush SP caches "closer to the execution"
Diffstat (limited to 'sql/sp_cache.cc')
-rw-r--r--sql/sp_cache.cc10
1 files changed, 3 insertions, 7 deletions
diff --git a/sql/sp_cache.cc b/sql/sp_cache.cc
index 1763432f2bc..68e8dbb3252 100644
--- a/sql/sp_cache.cc
+++ b/sql/sp_cache.cc
@@ -122,19 +122,15 @@ void sp_cache_insert(sp_cache **cp, sp_head *sp)
{
sp_cache *c= *cp;
- if (! c)
+ if (!c && (c= new sp_cache()))
{
- ulong v;
- c= new sp_cache();
pthread_mutex_lock(&Cversion_lock); // LOCK
- v= Cversion;
+ c->version= Cversion;
pthread_mutex_unlock(&Cversion_lock); // UNLOCK
- if (c)
- c->version= v;
}
if (c)
{
- DBUG_PRINT("info",("sp_cache: inserting: %*s", sp->m_qname.length,
+ DBUG_PRINT("info",("sp_cache: inserting: %*s", sp->m_qname.length,
sp->m_qname.str));
c->insert(sp);
if (*cp == NULL)