diff options
Diffstat (limited to 'sql/sp.h')
-rw-r--r-- | sql/sp.h | 65 |
1 files changed, 20 insertions, 45 deletions
@@ -1,5 +1,7 @@ /* -*- C++ -*- */ -/* Copyright (C) 2002 MySQL AB +/* + Copyright (c) 2002-2008 MySQL AB, 2009 Sun Microsystems, Inc. + Use is subject to license terms. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,11 +14,15 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ #ifndef _SP_H_ #define _SP_H_ +/* Tells what SP_DEFAULT_ACCESS should be mapped to */ +#define SP_DEFAULT_ACCESS_MAPPING SP_CONTAINS_SQL + // Return codes from sp_create_*, sp_drop_*, and sp_show_*: #define SP_OK 0 #define SP_KEY_NOT_FOUND -1 @@ -29,6 +35,7 @@ #define SP_NO_DB_ERROR -8 #define SP_BAD_IDENTIFIER -9 #define SP_BODY_TOO_LONG -10 +#define SP_FLD_STORE_FAILED -11 /* Drop all routines in database 'db' */ int @@ -38,43 +45,23 @@ sp_head * sp_find_routine(THD *thd, int type, sp_name *name, sp_cache **cp, bool cache_only); -int -sp_exist_routines(THD *thd, TABLE_LIST *procs, bool any, bool no_error); +bool +sp_exist_routines(THD *thd, TABLE_LIST *procs, bool any); int sp_routine_exists_in_table(THD *thd, int type, sp_name *name); -int -sp_create_procedure(THD *thd, sp_head *sp); +bool +sp_show_create_routine(THD *thd, int type, sp_name *name); int -sp_drop_procedure(THD *thd, sp_name *name); - +sp_create_routine(THD *thd, int type, sp_head *sp); int -sp_update_procedure(THD *thd, sp_name *name, st_sp_chistics *chistics); +sp_update_routine(THD *thd, int type, sp_name *name, st_sp_chistics *chistics); int -sp_show_create_procedure(THD *thd, sp_name *name); - -int -sp_show_status_procedure(THD *thd, const char *wild); - -int -sp_create_function(THD *thd, sp_head *sp); - -int -sp_drop_function(THD *thd, sp_name *name); - -int -sp_update_function(THD *thd, sp_name *name, st_sp_chistics *chistics); - -int -sp_show_create_function(THD *thd, sp_name *name); - -int -sp_show_status_function(THD *thd, const char *wild); - +sp_drop_routine(THD *thd, int type, sp_name *name); /* Procedures for pre-caching of stored routines and building table list @@ -85,33 +72,21 @@ void sp_get_prelocking_info(THD *thd, bool *need_prelocking, void sp_add_used_routine(LEX *lex, Query_arena *arena, sp_name *rt, char rt_type); void sp_remove_not_own_routines(LEX *lex); -void sp_update_sp_used_routines(HASH *dst, HASH *src); +bool sp_update_sp_used_routines(HASH *dst, HASH *src); int sp_cache_routines_and_add_tables(THD *thd, LEX *lex, - bool first_no_prelock, - bool *tabs_changed); + bool first_no_prelock); int sp_cache_routines_and_add_tables_for_view(THD *thd, LEX *lex, TABLE_LIST *view); int sp_cache_routines_and_add_tables_for_triggers(THD *thd, LEX *lex, TABLE_LIST *table); -extern "C" byte* sp_sroutine_key(const byte *ptr, uint *plen, my_bool first); +extern "C" uchar* sp_sroutine_key(const uchar *ptr, size_t *plen, + my_bool first); /* Routines which allow open/lock and close mysql.proc table even when we already have some tables open and locked. */ TABLE *open_proc_table_for_read(THD *thd, Open_tables_state *backup); -void close_proc_table(THD *thd, Open_tables_state *backup); - - -/* - Do a "use new_db". The current db is stored at old_db. If new_db is the - same as the current one, nothing is changed. dbchangedp is set to true if - the db was actually changed. -*/ - -int -sp_use_new_db(THD *thd, LEX_STRING new_db, LEX_STRING *old_db, - bool no_access_check, bool *dbchangedp); #endif /* _SP_H_ */ |