summaryrefslogtreecommitdiff
path: root/sql/sp.h
diff options
context:
space:
mode:
authorpem@mysql.comhem.se <>2005-02-08 20:52:50 +0100
committerpem@mysql.comhem.se <>2005-02-08 20:52:50 +0100
commit2c26ebe3594077cd90b95aaf591eaacc4eb2cdbe (patch)
treee0f8f8584de8f0be190160f0562d6a75d0039e60 /sql/sp.h
parent6e6daf818943e34d72017f64e496d6d94c90134f (diff)
downloadmariadb-git-2c26ebe3594077cd90b95aaf591eaacc4eb2cdbe.tar.gz
WL#2130: Table locking for stored FUNCTIONs
Collect all tables and SPs refered by a statement, and open all tables with an implicit LOCK TABLES. Do find things refered by triggers and views, we open them first (and then repeat this until nothing new is found), before doing the actual lock tables.
Diffstat (limited to 'sql/sp.h')
-rw-r--r--sql/sp.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/sql/sp.h b/sql/sp.h
index 152c59d0d02..6290324bb86 100644
--- a/sql/sp.h
+++ b/sql/sp.h
@@ -56,7 +56,7 @@ int
sp_show_status_procedure(THD *thd, const char *wild);
sp_head *
-sp_find_function(THD *thd, sp_name *name);
+sp_find_function(THD *thd, sp_name *name, bool cache_only = 0);
int
sp_create_function(THD *thd, sp_head *sp);
@@ -77,14 +77,15 @@ bool
sp_function_exists(THD *thd, sp_name *name);
-// This is needed since we have to read the functions before we
-// do anything else.
+/*
+ * For precaching of functions and procedures
+ */
void
-sp_add_fun_to_lex(LEX *lex, sp_name *fun);
+sp_add_to_hash(HASH *h, sp_name *fun);
void
-sp_merge_funs(LEX *dst, LEX *src);
+sp_merge_hash(HASH *dst, HASH *src);
int
-sp_cache_functions(THD *thd, LEX *lex);
+sp_cache_routines(THD *thd, LEX *lex, int type);
//