MCPcopy Create free account
hub / github.com/MariaDB/server / plugin_insert_or_reuse

Function plugin_insert_or_reuse

sql/sql_plugin.cc:1093–1114  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1091
1092
1093static st_plugin_int *plugin_insert_or_reuse(struct st_plugin_int *plugin)
1094{
1095 size_t i;
1096 struct st_plugin_int *tmp;
1097 DBUG_ENTER("plugin_insert_or_reuse");
1098 for (i= 0; i < plugin_array.elements; i++)
1099 {
1100 tmp= *dynamic_element(&plugin_array, i, struct st_plugin_int **);
1101 if (tmp->state == PLUGIN_IS_FREED)
1102 {
1103 memcpy(tmp, plugin, sizeof(struct st_plugin_int));
1104 DBUG_RETURN(tmp);
1105 }
1106 }
1107 if (insert_dynamic(&plugin_array, (uchar*)&plugin))
1108 DBUG_RETURN(0);
1109 tmp= *dynamic_element(&plugin_array, plugin_array.elements - 1,
1110 struct st_plugin_int **)=
1111 (struct st_plugin_int *) memdup_root(&plugin_mem_root, (uchar*)plugin,
1112 sizeof(struct st_plugin_int));
1113 DBUG_RETURN(tmp);
1114}
1115
1116
1117/*

Callers 1

plugin_addFunction · 0.85

Calls 2

insert_dynamicFunction · 0.85
memdup_rootFunction · 0.85

Tested by

no test coverage detected