mirror of
https://github.com/MariaDB/server.git
synced 2026-05-07 15:45:33 +02:00
Bug#16795 ndb_cache_multi2
- Change && to || - Check for return value != 0 in "ndb->init()"
This commit is contained in:
parent
b11c033f49
commit
4bbf5eb01c
3 changed files with 19 additions and 21 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue