Commit 909a87eb authored by unknown's avatar unknown

Fix to remove engine dependency from handler.cc file, the last one for functions.


sql/ha_innodb.cc:
  Added new function to handlerton.
sql/handler.cc:
  Removed Innodb dependency (last remaining function call).
sql/handler.h:
  Added additional function for engines who need to know about client communication.
parent 30c5d30c
...@@ -237,7 +237,8 @@ handlerton innobase_hton = { ...@@ -237,7 +237,8 @@ handlerton innobase_hton = {
NULL, /* Fill FILES table */ NULL, /* Fill FILES table */
HTON_NO_FLAGS, HTON_NO_FLAGS,
NULL, /* binlog_func */ NULL, /* binlog_func */
NULL /* binlog_log_query */ NULL, /* binlog_log_query */
innobase_release_temporary_latches
}; };
......
...@@ -1179,11 +1179,23 @@ bool mysql_xa_recover(THD *thd) ...@@ -1179,11 +1179,23 @@ bool mysql_xa_recover(THD *thd)
return value: always 0 return value: always 0
*/ */
static my_bool release_temporary_latches(THD *thd, st_plugin_int *plugin,
void *unused)
{
handlerton *hton= (handlerton *) plugin->plugin->info;
if (hton->state == SHOW_OPTION_YES && hton->release_temporary_latches)
hton->release_temporary_latches(thd);
return FALSE;
}
int ha_release_temporary_latches(THD *thd) int ha_release_temporary_latches(THD *thd)
{ {
#ifdef WITH_INNOBASE_STORAGE_ENGINE plugin_foreach(thd, release_temporary_latches, MYSQL_STORAGE_ENGINE_PLUGIN,
innobase_release_temporary_latches(thd); NULL);
#endif
return 0; return 0;
} }
...@@ -3264,6 +3276,8 @@ int handler::ha_external_lock(THD *thd, int lock_type) ...@@ -3264,6 +3276,8 @@ int handler::ha_external_lock(THD *thd, int lock_type)
case SQLCOM_TRUNCATE: case SQLCOM_TRUNCATE:
case SQLCOM_ALTER_TABLE: case SQLCOM_ALTER_TABLE:
DBUG_RETURN(0); DBUG_RETURN(0);
default:
break;
} }
/* /*
......
...@@ -580,6 +580,7 @@ typedef struct ...@@ -580,6 +580,7 @@ typedef struct
void (*binlog_log_query)(THD *thd, enum_binlog_command binlog_command, void (*binlog_log_query)(THD *thd, enum_binlog_command binlog_command,
const char *query, uint query_length, const char *query, uint query_length,
const char *db, const char *table_name); const char *db, const char *table_name);
int (*release_temporary_latches)(THD *thd);
} handlerton; } handlerton;
extern const handlerton default_hton; extern const handlerton default_hton;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment