mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
Merge 10.11 into 11.4
This commit is contained in:
@@ -103,16 +103,16 @@ const LEX_CSTRING plugin_type_names[MYSQL_MAX_PLUGIN_TYPE_NUM]=
|
||||
{ STRING_WITH_LEN("FUNCTION") }
|
||||
};
|
||||
|
||||
extern int initialize_schema_table(st_plugin_int *plugin);
|
||||
extern int finalize_schema_table(st_plugin_int *plugin);
|
||||
extern int initialize_schema_table(void *plugin);
|
||||
extern int finalize_schema_table(void *plugin);
|
||||
|
||||
extern int initialize_audit_plugin(st_plugin_int *plugin);
|
||||
extern int finalize_audit_plugin(st_plugin_int *plugin);
|
||||
extern int initialize_audit_plugin(void *plugin);
|
||||
extern int finalize_audit_plugin(void *plugin);
|
||||
|
||||
extern int initialize_encryption_plugin(st_plugin_int *plugin);
|
||||
extern int finalize_encryption_plugin(st_plugin_int *plugin);
|
||||
extern int initialize_encryption_plugin(void *plugin);
|
||||
extern int finalize_encryption_plugin(void *plugin);
|
||||
|
||||
extern int initialize_data_type_plugin(st_plugin_int *plugin);
|
||||
extern int initialize_data_type_plugin(void *plugin);
|
||||
|
||||
/*
|
||||
The number of elements in both plugin_type_initialize and
|
||||
@@ -1449,8 +1449,9 @@ static int plugin_do_initialize(struct st_plugin_int *plugin, uint &state)
|
||||
mysql_mutex_assert_not_owner(&LOCK_plugin);
|
||||
plugin_type_init init= plugin_type_initialize[plugin->plugin->type];
|
||||
if (!init)
|
||||
init= (plugin_type_init) plugin->plugin->init;
|
||||
init= plugin->plugin->init;
|
||||
if (init)
|
||||
{
|
||||
if (int ret= init(plugin))
|
||||
{
|
||||
/* Plugin init failed and did not requested a retry */
|
||||
@@ -1458,6 +1459,7 @@ static int plugin_do_initialize(struct st_plugin_int *plugin, uint &state)
|
||||
print_init_failed_error(plugin);
|
||||
DBUG_RETURN(ret);
|
||||
}
|
||||
}
|
||||
state= PLUGIN_IS_READY; // plugin->init() succeeded
|
||||
|
||||
if (plugin->plugin->status_vars)
|
||||
@@ -1516,25 +1518,23 @@ static int plugin_initialize(MEM_ROOT *tmp_root, struct st_plugin_int *plugin,
|
||||
}
|
||||
|
||||
|
||||
extern "C" uchar *get_plugin_hash_key(const uchar *, size_t *, my_bool);
|
||||
extern "C" uchar *get_bookmark_hash_key(const uchar *, size_t *, my_bool);
|
||||
extern "C" const uchar *get_plugin_hash_key(const void *, size_t *, my_bool);
|
||||
extern "C" const uchar *get_bookmark_hash_key(const void *, size_t *, my_bool);
|
||||
|
||||
|
||||
uchar *get_plugin_hash_key(const uchar *buff, size_t *length,
|
||||
my_bool not_used __attribute__((unused)))
|
||||
const uchar *get_plugin_hash_key(const void *buff, size_t *length, my_bool)
|
||||
{
|
||||
struct st_plugin_int *plugin= (st_plugin_int *)buff;
|
||||
*length= (uint)plugin->name.length;
|
||||
return((uchar *)plugin->name.str);
|
||||
auto plugin= static_cast<const st_plugin_int *>(buff);
|
||||
*length= plugin->name.length;
|
||||
return reinterpret_cast<const uchar *>(plugin->name.str);
|
||||
}
|
||||
|
||||
|
||||
uchar *get_bookmark_hash_key(const uchar *buff, size_t *length,
|
||||
my_bool not_used __attribute__((unused)))
|
||||
const uchar *get_bookmark_hash_key(const void *buff, size_t *length, my_bool)
|
||||
{
|
||||
struct st_bookmark *var= (st_bookmark *)buff;
|
||||
auto var= static_cast<const st_bookmark *>(buff);
|
||||
*length= var->name_len + 1;
|
||||
return (uchar*) var->key;
|
||||
return reinterpret_cast<const uchar *>(var->key);
|
||||
}
|
||||
|
||||
static inline void convert_dash_to_underscore(char *str, size_t len)
|
||||
@@ -3402,7 +3402,7 @@ void plugin_thdvar_cleanup(THD *thd)
|
||||
if ((idx= thd->lex->plugins.elements))
|
||||
{
|
||||
list= ((plugin_ref*) thd->lex->plugins.buffer) + idx - 1;
|
||||
DBUG_PRINT("info",("unlocking %d plugins", idx));
|
||||
DBUG_PRINT("info",("unlocking %zu plugins", idx));
|
||||
while ((uchar*) list >= thd->lex->plugins.buffer)
|
||||
intern_plugin_unlock(NULL, *list--);
|
||||
}
|
||||
|
Reference in New Issue
Block a user