void mrn_clear_slot_data(THD *thd) { MRN_DBUG_ENTER_FUNCTION(); st_mrn_slot_data *slot_data = mrn_get_slot_data(thd, FALSE); if (slot_data) { if (slot_data->first_wrap_hton) { st_mrn_wrap_hton *tmp_wrap_hton; st_mrn_wrap_hton *wrap_hton = slot_data->first_wrap_hton; while (wrap_hton) { tmp_wrap_hton = wrap_hton->next; free(wrap_hton); wrap_hton = tmp_wrap_hton; } slot_data->first_wrap_hton = NULL; } slot_data->alter_create_info = NULL; slot_data->disable_keys_create_info = NULL; if (slot_data->alter_connect_string) { my_free(slot_data->alter_connect_string); slot_data->alter_connect_string = NULL; } if (slot_data->alter_comment) { my_free(slot_data->alter_comment); slot_data->alter_comment = NULL; } } DBUG_VOID_RETURN; }
void mrn_clear_alter_share(THD *thd) { MRN_DBUG_ENTER_FUNCTION(); st_mrn_slot_data *slot_data = mrn_get_slot_data(thd, FALSE); if (slot_data) { if (slot_data->first_alter_share) { st_mrn_alter_share *tmp_alter_share; st_mrn_alter_share *alter_share = slot_data->first_alter_share; while (alter_share) { tmp_alter_share = alter_share->next; mrn_free_tmp_table_share(alter_share->alter_share); free(alter_share); alter_share = tmp_alter_share; } slot_data->first_alter_share = NULL; } slot_data->alter_create_info = NULL; slot_data->disable_keys_create_info = NULL; if (slot_data->alter_connect_string) { my_free(slot_data->alter_connect_string); slot_data->alter_connect_string = NULL; } if (slot_data->alter_comment) { my_free(slot_data->alter_comment); slot_data->alter_comment = NULL; } } DBUG_VOID_RETURN; }
MRN_API longlong last_insert_grn_id(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error) { THD *thd = current_thd; st_mrn_slot_data *slot_data = mrn_get_slot_data(thd, false); if (slot_data == NULL) { return 0; } longlong last_insert_record_id = slot_data->last_insert_record_id; return last_insert_record_id; }