@ -2108,12 +2108,16 @@ bool mysql_install_plugin(THD *thd, const LEX_STRING *name,
bool error ;
int argc = orig_argc ;
char * * argv = orig_argv ;
unsigned long event_class_mask [ MYSQL_AUDIT_CLASS_MASK_SIZE ] =
{ MYSQL_AUDIT_GENERAL_CLASSMASK } ;
DBUG_ENTER ( " mysql_install_plugin " ) ;
tables . init_one_table ( " mysql " , 5 , " plugin " , 6 , " plugin " , TL_WRITE ) ;
if ( ! opt_noacl & & check_table_access ( thd , INSERT_ACL , & tables , FALSE , 1 , FALSE ) )
DBUG_RETURN ( TRUE ) ;
WSREP_TO_ISOLATION_BEGIN ( WSREP_MYSQL_DB , NULL , NULL )
/* need to open before acquiring LOCK_plugin or it will deadlock */
if ( ! ( table = open_ltable ( thd , & tables , TL_WRITE ,
MYSQL_LOCK_IGNORE_TIMEOUT ) ) )
@ -2146,8 +2150,6 @@ bool mysql_install_plugin(THD *thd, const LEX_STRING *name,
See also mysql_uninstall_plugin ( ) and initialize_audit_plugin ( )
*/
unsigned long event_class_mask [ MYSQL_AUDIT_CLASS_MASK_SIZE ] =
{ MYSQL_AUDIT_GENERAL_CLASSMASK } ;
mysql_audit_acquire_plugins ( thd , event_class_mask ) ;
mysql_mutex_lock ( & LOCK_plugin ) ;
@ -2178,6 +2180,10 @@ err:
if ( argv )
free_defaults ( argv ) ;
DBUG_RETURN ( error ) ;
# ifdef WITH_WSREP
error :
DBUG_RETURN ( TRUE ) ;
# endif /* WITH_WSREP */
}
@ -2244,6 +2250,8 @@ bool mysql_uninstall_plugin(THD *thd, const LEX_STRING *name,
TABLE_LIST tables ;
LEX_STRING dl = * dl_arg ;
bool error = false ;
unsigned long event_class_mask [ MYSQL_AUDIT_CLASS_MASK_SIZE ] =
{ MYSQL_AUDIT_GENERAL_CLASSMASK } ;
DBUG_ENTER ( " mysql_uninstall_plugin " ) ;
tables . init_one_table ( " mysql " , 5 , " plugin " , 6 , " plugin " , TL_WRITE ) ;
@ -2251,6 +2259,8 @@ bool mysql_uninstall_plugin(THD *thd, const LEX_STRING *name,
if ( ! opt_noacl & & check_table_access ( thd , DELETE_ACL , & tables , FALSE , 1 , FALSE ) )
DBUG_RETURN ( TRUE ) ;
WSREP_TO_ISOLATION_BEGIN ( WSREP_MYSQL_DB , NULL , NULL )
/* need to open before acquiring LOCK_plugin or it will deadlock */
if ( ! ( table = open_ltable ( thd , & tables , TL_WRITE , MYSQL_LOCK_IGNORE_TIMEOUT ) ) )
DBUG_RETURN ( TRUE ) ;
@ -2276,8 +2286,6 @@ bool mysql_uninstall_plugin(THD *thd, const LEX_STRING *name,
See also mysql_install_plugin ( ) and initialize_audit_plugin ( )
*/
unsigned long event_class_mask [ MYSQL_AUDIT_CLASS_MASK_SIZE ] =
{ MYSQL_AUDIT_GENERAL_CLASSMASK } ;
mysql_audit_acquire_plugins ( thd , event_class_mask ) ;
mysql_mutex_lock ( & LOCK_plugin ) ;
@ -2307,6 +2315,10 @@ bool mysql_uninstall_plugin(THD *thd, const LEX_STRING *name,
mysql_mutex_unlock ( & LOCK_plugin ) ;
DBUG_RETURN ( error ) ;
# ifdef WITH_WSREP
error :
DBUG_RETURN ( TRUE ) ;
# endif /* WITH_WSREP */
}