Loading sql/sql_cache.cc +5 −0 Original line number Diff line number Diff line Loading @@ -830,6 +830,11 @@ sql mode: 0x%lx, sort len: %lu, conncat len: %lu", flags.sql_mode, flags.max_sort_length, flags.group_concat_max_len)); /* Make InnoDB to release the adaptive hash index latch before acquiring the query cache mutex. */ ha_release_temporary_latches(thd); STRUCT_LOCK(&structure_guard_mutex); if (query_cache_size == 0) Loading sql/sql_class.cc +0 −4 Original line number Diff line number Diff line Loading @@ -919,14 +919,12 @@ bool select_send::send_data(List<Item> &items) return 0; } #ifdef HAVE_INNOBASE_DB /* We may be passing the control from mysqld to the client: release the InnoDB adaptive hash S-latch to avoid thread deadlocks if it was reserved by thd */ ha_release_temporary_latches(thd); #endif List_iterator_fast<Item> li(items); Protocol *protocol= thd->protocol; Loading Loading @@ -956,12 +954,10 @@ bool select_send::send_data(List<Item> &items) bool select_send::send_eof() { #ifdef HAVE_INNOBASE_DB /* We may be passing the control from mysqld to the client: release the InnoDB adaptive hash S-latch to avoid thread deadlocks if it was reserved by thd */ ha_release_temporary_latches(thd); #endif /* Unlock tables before sending packet to gain some speed */ if (thd->lock) Loading sql/sql_cursor.cc +1 −2 Original line number Diff line number Diff line Loading @@ -445,9 +445,8 @@ Sensitive_cursor::fetch(ulong num_rows) if (error == NESTED_LOOP_CURSOR_LIMIT) join->resume_nested_loop= TRUE; #ifdef USING_TRANSACTIONS ha_release_temporary_latches(thd); #endif /* Grab free_list here to correctly free it in close */ thd->restore_active_arena(this, &backup_arena); Loading Loading
sql/sql_cache.cc +5 −0 Original line number Diff line number Diff line Loading @@ -830,6 +830,11 @@ sql mode: 0x%lx, sort len: %lu, conncat len: %lu", flags.sql_mode, flags.max_sort_length, flags.group_concat_max_len)); /* Make InnoDB to release the adaptive hash index latch before acquiring the query cache mutex. */ ha_release_temporary_latches(thd); STRUCT_LOCK(&structure_guard_mutex); if (query_cache_size == 0) Loading
sql/sql_class.cc +0 −4 Original line number Diff line number Diff line Loading @@ -919,14 +919,12 @@ bool select_send::send_data(List<Item> &items) return 0; } #ifdef HAVE_INNOBASE_DB /* We may be passing the control from mysqld to the client: release the InnoDB adaptive hash S-latch to avoid thread deadlocks if it was reserved by thd */ ha_release_temporary_latches(thd); #endif List_iterator_fast<Item> li(items); Protocol *protocol= thd->protocol; Loading Loading @@ -956,12 +954,10 @@ bool select_send::send_data(List<Item> &items) bool select_send::send_eof() { #ifdef HAVE_INNOBASE_DB /* We may be passing the control from mysqld to the client: release the InnoDB adaptive hash S-latch to avoid thread deadlocks if it was reserved by thd */ ha_release_temporary_latches(thd); #endif /* Unlock tables before sending packet to gain some speed */ if (thd->lock) Loading
sql/sql_cursor.cc +1 −2 Original line number Diff line number Diff line Loading @@ -445,9 +445,8 @@ Sensitive_cursor::fetch(ulong num_rows) if (error == NESTED_LOOP_CURSOR_LIMIT) join->resume_nested_loop= TRUE; #ifdef USING_TRANSACTIONS ha_release_temporary_latches(thd); #endif /* Grab free_list here to correctly free it in close */ thd->restore_active_arena(this, &backup_arena); Loading