diff options
author | unknown <sergefp@mysql.com> | 2005-08-10 21:17:02 +0000 |
---|---|---|
committer | unknown <sergefp@mysql.com> | 2005-08-10 21:17:02 +0000 |
commit | 6b9ec78be00d37b91d4de8564bc0103d83ddfb26 (patch) | |
tree | 5dab1a0ca73f1e4942bf33d79a0b027bc008ab28 /sql/sp_cache.cc | |
parent | 08cadd816e7fd92f6f56c3ba621aa81d47954fca (diff) | |
download | mariadb-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.cc | 10 |
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) |