MDEV-25228 JSON_TABLE: Server crashes in Query_cache::unlink_table.
JSON_TABLE shojldn't be counted in the query_cache.
This commit is contained in:
parent
7075955f4e
commit
707d8653c4
@ -2227,6 +2227,13 @@ SHOW STATUS LIKE 'Qcache_inserts';
|
||||
Variable_name Value
|
||||
Qcache_inserts 0
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-25228 JSON_TABLE: Server crashes in Query_cache::unlink_table.
|
||||
#
|
||||
CREATE TABLE t (a INT);
|
||||
SELECT * FROM t JOIN JSON_TABLE('{}' , '$' COLUMNS(b FOR ORDINALITY)) AS jt;
|
||||
a b
|
||||
DROP TABLE t;
|
||||
restore defaults
|
||||
SET GLOBAL query_cache_type= default;
|
||||
SET GLOBAL query_cache_size=@save_query_cache_size;
|
||||
|
@ -1818,6 +1818,13 @@ select * from t1, json_table(t1.a, '$' columns (f varchar(20) path '$.a')) as jt
|
||||
SHOW STATUS LIKE 'Qcache_inserts';
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-25228 JSON_TABLE: Server crashes in Query_cache::unlink_table.
|
||||
--echo #
|
||||
CREATE TABLE t (a INT);
|
||||
SELECT * FROM t JOIN JSON_TABLE('{}' , '$' COLUMNS(b FOR ORDINALITY)) AS jt;
|
||||
DROP TABLE t;
|
||||
|
||||
--echo restore defaults
|
||||
SET GLOBAL query_cache_type= default;
|
||||
SET GLOBAL query_cache_size=@save_query_cache_size;
|
||||
|
@ -4094,11 +4094,13 @@ Query_cache::process_and_count_tables(THD *thd, TABLE_LIST *tables_used,
|
||||
*tables_type|= HA_CACHE_TBL_NONTRANSACT;
|
||||
continue;
|
||||
}
|
||||
if (tables_used->derived)
|
||||
if (tables_used->derived || tables_used->table_function)
|
||||
{
|
||||
DBUG_PRINT("qcache", ("table: %s", tables_used->alias.str));
|
||||
table_count--;
|
||||
DBUG_PRINT("qcache", ("derived table skipped"));
|
||||
DBUG_PRINT("qcache", (tables_used->table_function ?
|
||||
"table function skipped" :
|
||||
"derived table skipped"));
|
||||
continue;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user