Commit 79d08e68 authored by Sergei Golubchik's avatar Sergei Golubchik

small cleanup: udf_init()/udf_free() calls

parent 859a7369
...@@ -1813,12 +1813,7 @@ void clean_up(bool print_message) ...@@ -1813,12 +1813,7 @@ void clean_up(bool print_message)
item_user_lock_free(); item_user_lock_free();
lex_free(); /* Free some memory */ lex_free(); /* Free some memory */
item_create_cleanup(); item_create_cleanup();
if (!opt_noacl) udf_free();
{
#ifdef HAVE_DLOPEN
udf_free();
#endif
}
table_def_start_shutdown(); table_def_start_shutdown();
plugin_shutdown(); plugin_shutdown();
ha_end(); ha_end();
...@@ -5005,12 +5000,7 @@ int mysqld_main(int argc, char **argv) ...@@ -5005,12 +5000,7 @@ int mysqld_main(int argc, char **argv)
if (!opt_bootstrap) if (!opt_bootstrap)
servers_init(0); servers_init(0);
if (!opt_noacl) udf_init();
{
#ifdef HAVE_DLOPEN
udf_init();
#endif
}
init_status_vars(); init_status_vars();
if (opt_bootstrap) /* If running with bootstrap, do not start replication. */ if (opt_bootstrap) /* If running with bootstrap, do not start replication. */
......
...@@ -142,7 +142,7 @@ void udf_init() ...@@ -142,7 +142,7 @@ void udf_init()
DBUG_ENTER("ufd_init"); DBUG_ENTER("ufd_init");
char db[]= "mysql"; /* A subject to casednstr, can't be constant */ char db[]= "mysql"; /* A subject to casednstr, can't be constant */
if (initialized) if (initialized || opt_noacl)
DBUG_VOID_RETURN; DBUG_VOID_RETURN;
#ifdef HAVE_PSI_INTERFACE #ifdef HAVE_PSI_INTERFACE
...@@ -267,6 +267,8 @@ void udf_free() ...@@ -267,6 +267,8 @@ void udf_free()
{ {
/* close all shared libraries */ /* close all shared libraries */
DBUG_ENTER("udf_free"); DBUG_ENTER("udf_free");
if (opt_noacl)
DBUG_VOID_RETURN;
for (uint idx=0 ; idx < udf_hash.records ; idx++) for (uint idx=0 ; idx < udf_hash.records ; idx++)
{ {
udf_func *udf=(udf_func*) my_hash_element(&udf_hash,idx); udf_func *udf=(udf_func*) my_hash_element(&udf_hash,idx);
......
...@@ -143,5 +143,8 @@ udf_func *find_udf(const char *name, uint len=0,bool mark_used=0); ...@@ -143,5 +143,8 @@ udf_func *find_udf(const char *name, uint len=0,bool mark_used=0);
void free_udf(udf_func *udf); void free_udf(udf_func *udf);
int mysql_create_function(THD *thd,udf_func *udf); int mysql_create_function(THD *thd,udf_func *udf);
int mysql_drop_function(THD *thd,const LEX_STRING *name); int mysql_drop_function(THD *thd,const LEX_STRING *name);
#else
static inline void udf_init(void) { }
static inline void udf_free(void) { }
#endif #endif
#endif /* SQL_UDF_INCLUDED */ #endif /* SQL_UDF_INCLUDED */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment