summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2015-12-07 15:15:43 +0100
committerSergei Golubchik <serg@mariadb.org>2015-12-08 09:46:52 +0100
commit79d08e682ff70469abe7146f06b3b4103679e072 (patch)
tree7de6b4a6a08219e3f2d649495b4c00c023959d92 /sql
parent859a7369c1977baf6e204f4ed8f54b774790a179 (diff)
downloadmariadb-git-79d08e682ff70469abe7146f06b3b4103679e072.tar.gz
small cleanup: udf_init()/udf_free() calls
Diffstat (limited to 'sql')
-rw-r--r--sql/mysqld.cc14
-rw-r--r--sql/sql_udf.cc4
-rw-r--r--sql/sql_udf.h3
3 files changed, 8 insertions, 13 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 3ad7b84829d..6c72954e9c2 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -1813,12 +1813,7 @@ void clean_up(bool print_message)
item_user_lock_free();
lex_free(); /* Free some memory */
item_create_cleanup();
- if (!opt_noacl)
- {
-#ifdef HAVE_DLOPEN
- udf_free();
-#endif
- }
+ udf_free();
table_def_start_shutdown();
plugin_shutdown();
ha_end();
@@ -5005,12 +5000,7 @@ int mysqld_main(int argc, char **argv)
if (!opt_bootstrap)
servers_init(0);
- if (!opt_noacl)
- {
-#ifdef HAVE_DLOPEN
- udf_init();
-#endif
- }
+ udf_init();
init_status_vars();
if (opt_bootstrap) /* If running with bootstrap, do not start replication. */
diff --git a/sql/sql_udf.cc b/sql/sql_udf.cc
index e5fac48a750..626e5569ccc 100644
--- a/sql/sql_udf.cc
+++ b/sql/sql_udf.cc
@@ -142,7 +142,7 @@ void udf_init()
DBUG_ENTER("ufd_init");
char db[]= "mysql"; /* A subject to casednstr, can't be constant */
- if (initialized)
+ if (initialized || opt_noacl)
DBUG_VOID_RETURN;
#ifdef HAVE_PSI_INTERFACE
@@ -267,6 +267,8 @@ void udf_free()
{
/* close all shared libraries */
DBUG_ENTER("udf_free");
+ if (opt_noacl)
+ DBUG_VOID_RETURN;
for (uint idx=0 ; idx < udf_hash.records ; idx++)
{
udf_func *udf=(udf_func*) my_hash_element(&udf_hash,idx);
diff --git a/sql/sql_udf.h b/sql/sql_udf.h
index cdb15b9e0f5..68c01964687 100644
--- a/sql/sql_udf.h
+++ b/sql/sql_udf.h
@@ -143,5 +143,8 @@ udf_func *find_udf(const char *name, uint len=0,bool mark_used=0);
void free_udf(udf_func *udf);
int mysql_create_function(THD *thd,udf_func *udf);
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 /* SQL_UDF_INCLUDED */