1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-27 18:02:13 +03:00

MDEV-4520: Assertion `0' fails in Query_cache::end_of_result on concurrent drop event and event execution

If there is no net.vio then query cache cant't get data via net_real_write() so it is better just do not try to cache such query.
This commit is contained in:
unknown
2013-05-23 17:05:31 +03:00
parent 7ba2ff93ac
commit b9ce8572d9
5 changed files with 52 additions and 4 deletions

View File

@ -4000,7 +4000,8 @@ Query_cache::is_cacheable(THD *thd, LEX *lex,
if (thd->lex->safe_to_cache_query &&
(thd->variables.query_cache_type == 1 ||
(thd->variables.query_cache_type == 2 && (lex->select_lex.options &
OPTION_TO_QUERY_CACHE))))
OPTION_TO_QUERY_CACHE))) &&
thd->net.vio)
{
DBUG_PRINT("qcache", ("options: %lx %lx type: %u",
(long) OPTION_TO_QUERY_CACHE,
@ -4022,11 +4023,12 @@ Query_cache::is_cacheable(THD *thd, LEX *lex,
}
DBUG_PRINT("qcache",
("not interesting query: %d or not cacheable, options %lx %lx type: %u",
("not interesting query: %d or not cacheable, options %lx %lx type: %u net->vio present: %u",
(int) lex->sql_command,
(long) OPTION_TO_QUERY_CACHE,
(long) lex->select_lex.options,
(int) thd->variables.query_cache_type));
(int) thd->variables.query_cache_type,
(uint) test(thd->net.vio)));
DBUG_RETURN(0);
}