Loading mysql-test/r/ndb_cache.result +0 −43 Original line number Diff line number Diff line set GLOBAL query_cache_size=1355776; reset query cache; flush status; drop table if exists t1,t2; CREATE TABLE t1 (a int) ENGINE=ndbcluster; CREATE TABLE t2 (a int); select * from t1; a show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 0 show status like "Qcache_inserts"; Variable_name Value Qcache_inserts 0 show status like "Qcache_hits"; Variable_name Value Qcache_hits 0 select * from t2; a show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 1 show status like "Qcache_inserts"; Variable_name Value Qcache_inserts 1 show status like "Qcache_hits"; Variable_name Value Qcache_hits 0 select * from t1; a select * from t2; a show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 1 show status like "Qcache_inserts"; Variable_name Value Qcache_inserts 1 show status like "Qcache_hits"; Variable_name Value Qcache_hits 1 drop table t1, t2; SET GLOBAL query_cache_size=0; mysql-test/t/ndb_cache.test +25 −7 Original line number Diff line number Diff line -- source include/have_query_cache.inc -- source include/have_ndb.inc set GLOBAL ndb_query_cache_type=on; # following line have to be removed when ndb_query_cache_type will made # global only set ndb_query_cache_type=on; set GLOBAL query_cache_size=1355776; reset query cache; flush status; --disable_warnings drop table if exists t1,t2; drop table if exists t1; --enable_warnings CREATE TABLE t1 (a int) ENGINE=ndbcluster; CREATE TABLE t2 (a int); insert into t1 value (2); select * from t1; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; connect (con1,localhost,root,,); connection con1; use test; set autocommit=0; update t1 set a=3; connect (con2,localhost,root,,); connection con2; select * from t1; select * from t1; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; select * from t2; connection con1; select * from t1; select * from t1; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; commit; connection con2; select * from t1; select * from t1; select * from t2; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; drop table t1; drop table t1, t2; SET GLOBAL query_cache_size=0; sql/sql_cache.cc +2 −1 Original line number Diff line number Diff line Loading @@ -1087,7 +1087,6 @@ Query_cache::send_result_to_client(THD *thd, char *sql, uint query_length) DBUG_PRINT("qcache", ("Handler does not allow caching for %s.%s", table_list.db, table_list.alias)); BLOCK_UNLOCK_RD(query_block); thd->lex->safe_to_cache_query= 0; // Don't try to cache this if (engine_data != table->engine_data()) { DBUG_PRINT("qcache", Loading @@ -1096,6 +1095,8 @@ Query_cache::send_result_to_client(THD *thd, char *sql, uint query_length) engine_data, table->engine_data())); invalidate_table(table->db(), table->key_length()); } else thd->lex->safe_to_cache_query= 0; // Don't try to cache this goto err_unlock; // Parse query } else Loading Loading
mysql-test/r/ndb_cache.result +0 −43 Original line number Diff line number Diff line set GLOBAL query_cache_size=1355776; reset query cache; flush status; drop table if exists t1,t2; CREATE TABLE t1 (a int) ENGINE=ndbcluster; CREATE TABLE t2 (a int); select * from t1; a show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 0 show status like "Qcache_inserts"; Variable_name Value Qcache_inserts 0 show status like "Qcache_hits"; Variable_name Value Qcache_hits 0 select * from t2; a show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 1 show status like "Qcache_inserts"; Variable_name Value Qcache_inserts 1 show status like "Qcache_hits"; Variable_name Value Qcache_hits 0 select * from t1; a select * from t2; a show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 1 show status like "Qcache_inserts"; Variable_name Value Qcache_inserts 1 show status like "Qcache_hits"; Variable_name Value Qcache_hits 1 drop table t1, t2; SET GLOBAL query_cache_size=0;
mysql-test/t/ndb_cache.test +25 −7 Original line number Diff line number Diff line -- source include/have_query_cache.inc -- source include/have_ndb.inc set GLOBAL ndb_query_cache_type=on; # following line have to be removed when ndb_query_cache_type will made # global only set ndb_query_cache_type=on; set GLOBAL query_cache_size=1355776; reset query cache; flush status; --disable_warnings drop table if exists t1,t2; drop table if exists t1; --enable_warnings CREATE TABLE t1 (a int) ENGINE=ndbcluster; CREATE TABLE t2 (a int); insert into t1 value (2); select * from t1; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; connect (con1,localhost,root,,); connection con1; use test; set autocommit=0; update t1 set a=3; connect (con2,localhost,root,,); connection con2; select * from t1; select * from t1; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; select * from t2; connection con1; select * from t1; select * from t1; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; commit; connection con2; select * from t1; select * from t1; select * from t2; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; drop table t1; drop table t1, t2; SET GLOBAL query_cache_size=0;
sql/sql_cache.cc +2 −1 Original line number Diff line number Diff line Loading @@ -1087,7 +1087,6 @@ Query_cache::send_result_to_client(THD *thd, char *sql, uint query_length) DBUG_PRINT("qcache", ("Handler does not allow caching for %s.%s", table_list.db, table_list.alias)); BLOCK_UNLOCK_RD(query_block); thd->lex->safe_to_cache_query= 0; // Don't try to cache this if (engine_data != table->engine_data()) { DBUG_PRINT("qcache", Loading @@ -1096,6 +1095,8 @@ Query_cache::send_result_to_client(THD *thd, char *sql, uint query_length) engine_data, table->engine_data())); invalidate_table(table->db(), table->key_length()); } else thd->lex->safe_to_cache_query= 0; // Don't try to cache this goto err_unlock; // Parse query } else Loading