Loading sql/ha_innodb.cc +2 −1 Original line number Diff line number Diff line Loading @@ -237,7 +237,8 @@ handlerton innobase_hton = { NULL, /* Fill FILES table */ HTON_NO_FLAGS, NULL, /* binlog_func */ NULL /* binlog_log_query */ NULL, /* binlog_log_query */ innobase_release_temporary_latches }; Loading sql/handler.cc +17 −3 Original line number Diff line number Diff line Loading @@ -1179,11 +1179,23 @@ bool mysql_xa_recover(THD *thd) 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) { #ifdef WITH_INNOBASE_STORAGE_ENGINE innobase_release_temporary_latches(thd); #endif plugin_foreach(thd, release_temporary_latches, MYSQL_STORAGE_ENGINE_PLUGIN, NULL); return 0; } Loading Loading @@ -3264,6 +3276,8 @@ int handler::ha_external_lock(THD *thd, int lock_type) case SQLCOM_TRUNCATE: case SQLCOM_ALTER_TABLE: DBUG_RETURN(0); default: break; } /* Loading sql/handler.h +1 −0 Original line number Diff line number Diff line Loading @@ -580,6 +580,7 @@ typedef struct void (*binlog_log_query)(THD *thd, enum_binlog_command binlog_command, const char *query, uint query_length, const char *db, const char *table_name); int (*release_temporary_latches)(THD *thd); } handlerton; extern const handlerton default_hton; Loading Loading
sql/ha_innodb.cc +2 −1 Original line number Diff line number Diff line Loading @@ -237,7 +237,8 @@ handlerton innobase_hton = { NULL, /* Fill FILES table */ HTON_NO_FLAGS, NULL, /* binlog_func */ NULL /* binlog_log_query */ NULL, /* binlog_log_query */ innobase_release_temporary_latches }; Loading
sql/handler.cc +17 −3 Original line number Diff line number Diff line Loading @@ -1179,11 +1179,23 @@ bool mysql_xa_recover(THD *thd) 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) { #ifdef WITH_INNOBASE_STORAGE_ENGINE innobase_release_temporary_latches(thd); #endif plugin_foreach(thd, release_temporary_latches, MYSQL_STORAGE_ENGINE_PLUGIN, NULL); return 0; } Loading Loading @@ -3264,6 +3276,8 @@ int handler::ha_external_lock(THD *thd, int lock_type) case SQLCOM_TRUNCATE: case SQLCOM_ALTER_TABLE: DBUG_RETURN(0); default: break; } /* Loading
sql/handler.h +1 −0 Original line number Diff line number Diff line Loading @@ -580,6 +580,7 @@ typedef struct void (*binlog_log_query)(THD *thd, enum_binlog_command binlog_command, const char *query, uint query_length, const char *db, const char *table_name); int (*release_temporary_latches)(THD *thd); } handlerton; extern const handlerton default_hton; Loading