diff options
-rw-r--r-- | mysql-test/r/ndb_cache_multi2.result | 24 | ||||
-rw-r--r-- | mysql-test/t/ndb_cache_multi2.test | 14 | ||||
-rw-r--r-- | sql/ha_ndbcluster.cc | 2 |
3 files changed, 19 insertions, 21 deletions
diff --git a/mysql-test/r/ndb_cache_multi2.result b/mysql-test/r/ndb_cache_multi2.result index 63cc4d4ceed..53767bb6d3c 100644 --- a/mysql-test/r/ndb_cache_multi2.result +++ b/mysql-test/r/ndb_cache_multi2.result @@ -1,14 +1,17 @@ drop table if exists t1, t2; +== Connected to server1 == set GLOBAL query_cache_type=on; set GLOBAL query_cache_size=1355776; set GLOBAL ndb_cache_check_time=1; reset query cache; flush status; +== Connected to server2 == set GLOBAL query_cache_type=on; set GLOBAL query_cache_size=1355776; set GLOBAL ndb_cache_check_time=1; reset query cache; flush status; +== Connected to server1 == create table t1 (a int) engine=ndbcluster; create table t2 (a int) engine=ndbcluster; insert into t1 value (2); @@ -16,18 +19,22 @@ insert into t2 value (3); select * from t1; a 2 +select a != 3 from t1; +a != 3 +1 select * from t2; a 3 show status like "Qcache_queries_in_cache"; Variable_name Value -Qcache_queries_in_cache 2 +Qcache_queries_in_cache 3 show status like "Qcache_inserts"; Variable_name Value -Qcache_inserts 2 +Qcache_inserts 3 show status like "Qcache_hits"; Variable_name Value Qcache_hits 0 +== Connected to server2 == show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 0 @@ -50,24 +57,13 @@ show status like "Qcache_hits"; Variable_name Value Qcache_hits 0 update t1 set a=3 where a=2; -show status like "Qcache_queries_in_cache"; -Variable_name Value -Qcache_queries_in_cache 2 -show status like "Qcache_inserts"; -Variable_name Value -Qcache_inserts 2 -show status like "Qcache_hits"; -Variable_name Value -Qcache_hits 0 +== Connected to server1 == select * from t1; a 3 show status like "Qcache_queries_in_cache"; Variable_name Value Qcache_queries_in_cache 3 -show status like "Qcache_inserts"; -Variable_name Value -Qcache_inserts 4 drop table t1, t2; set GLOBAL query_cache_size=0; set GLOBAL ndb_cache_check_time=0; diff --git a/mysql-test/t/ndb_cache_multi2.test b/mysql-test/t/ndb_cache_multi2.test index 5a78380097e..4abb537624a 100644 --- a/mysql-test/t/ndb_cache_multi2.test +++ b/mysql-test/t/ndb_cache_multi2.test @@ -10,6 +10,7 @@ drop table if exists t1, t2; # Turn on and reset query cache on server1 connection server1; +echo == Connected to server1 ==; set GLOBAL query_cache_type=on; set GLOBAL query_cache_size=1355776; set GLOBAL ndb_cache_check_time=1; @@ -18,6 +19,7 @@ flush status; # Turn on and reset query cache on server2 connection server2; +echo == Connected to server2 ==; set GLOBAL query_cache_type=on; set GLOBAL query_cache_size=1355776; set GLOBAL ndb_cache_check_time=1; @@ -27,11 +29,14 @@ flush status; # Create test tables in NDB and load them into cache # on server1 connection server1; +echo == Connected to server1 ==; create table t1 (a int) engine=ndbcluster; create table t2 (a int) engine=ndbcluster; insert into t1 value (2); insert into t2 value (3); select * from t1; +# Run the check query once to load it into qc on server1 +select a != 3 from t1; select * from t2; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; @@ -40,6 +45,7 @@ show status like "Qcache_hits"; # Connect server2, load table in to cache, then update the table connection server2; +echo == Connected to server2 ==; show status like "Qcache_queries_in_cache"; show status like "Qcache_inserts"; show status like "Qcache_hits"; @@ -49,12 +55,10 @@ show status like "Qcache_inserts"; show status like "Qcache_hits"; update t1 set a=3 where a=2; -# Connect to server1 and check that cache is invalidated +# Connect to server1 and check that cache is invalidated # and correct data is returned connection server1; -show status like "Qcache_queries_in_cache"; -show status like "Qcache_inserts"; -show status like "Qcache_hits"; +echo == Connected to server1 ==; # Loop and wait for max 10 seconds until query cache thread # has invalidated the cache and the column a in t1 is equal to 3 @@ -75,8 +79,6 @@ select * from t1; # There should now be three queries in the cache show status like "Qcache_queries_in_cache"; -# And inserts should be four -show status like "Qcache_inserts"; drop table t1, t2; diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index 61a6ce75712..bc790ae0138 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -6014,7 +6014,7 @@ pthread_handler_t ndb_util_thread_func(void *arg __attribute__((unused))) ndb_util_thread= pthread_self(); thd->thread_stack= (char*)&thd; /* remember where our stack is */ - if (thd->store_globals() && (ndb->init() != -1)) + if (thd->store_globals() || (ndb->init() != 0)) { thd->cleanup(); delete thd; |