Commit b014bd22 authored by unknown's avatar unknown
Browse files

Adding in an ha_end() call. This is the first part of the patch I and Monty...

Adding in an ha_end() call. This is the first part of the patch I and Monty have agreed on. In the future engines will have the option of shutting down more quickly via the panic call, or just shutting down during the unloading of a plugin. 


sql/handler.cc:
  Adding ha_end
sql/handler.h:
  Function declaration for ha_end()
sql/mysqld.cc:
  Adding ha_end call.
parent 78fd640b
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -510,6 +510,23 @@ int ha_init()
  DBUG_RETURN(error);
}

int ha_end()
{
  int error= 0;
  DBUG_ENTER("ha_end");


  /* 
    This should be eventualy based  on the graceful shutdown flag.
    So if flag is equal to HA_PANIC_CLOSE, the deallocate
    the errors.
  */
  if (ha_finish_errors())
    error= 1;

  DBUG_RETURN(error);
}

static my_bool dropdb_handlerton(THD *unused1, st_plugin_int *plugin,
                                 void *path)
{
+1 −0
Original line number Diff line number Diff line
@@ -1654,6 +1654,7 @@ static inline bool ha_storage_engine_is_enabled(const handlerton *db_type)

/* basic stuff */
int ha_init(void);
int ha_end(void);
int ha_initialize_handlerton(st_plugin_int *plugin);
int ha_finalize_handlerton(st_plugin_int *plugin);

+1 −0
Original line number Diff line number Diff line
@@ -1193,6 +1193,7 @@ void clean_up(bool print_message)
#endif
  }
  plugin_shutdown();
  ha_end();
  if (tc_log)
    tc_log->close();
  xid_cache_free();