Browse Source
Merge perch.ndb.mysql.com:/home/jonas/src/tmp/mysql-5.0-telco-gca
Merge perch.ndb.mysql.com:/home/jonas/src/tmp/mysql-5.0-telco-gca
into perch.ndb.mysql.com:/home/jonas/src/tmp/mysql-5.1-telco-gca storage/ndb/tools/waiter.cpp: Auto merged storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp: merge storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp: mergepull/374/head
5 changed files with 163 additions and 16 deletions
-
46mysql-test/r/ndb_single_user.result
-
84mysql-test/t/ndb_single_user.test
-
35storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp
-
2storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp
-
12storage/ndb/tools/waiter.cpp
@ -0,0 +1,46 @@ |
|||
use test; |
|||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10; |
|||
create table t1 (a int key, b int unique, c int) engine ndb; |
|||
ERROR HY000: Can't create table './test/t1.frm' (errno: 155) |
|||
create table t1 (a int key, b int unique, c int) engine ndb; |
|||
insert into t1 values (1,1,0),(2,2,0),(3,3,0),(4,4,0),(5,5,0),(6,6,0),(7,7,0),(8,8,0),(9,9,0),(10,10,0); |
|||
create table t2 as select * from t1; |
|||
select * from t1 where a = 1; |
|||
a b c |
|||
1 1 0 |
|||
select * from t1 where b = 4; |
|||
a b c |
|||
4 4 0 |
|||
select * from t1 where a > 4 order by a; |
|||
a b c |
|||
5 5 0 |
|||
6 6 0 |
|||
7 7 0 |
|||
8 8 0 |
|||
9 9 0 |
|||
10 10 0 |
|||
update t1 set b=102 where a = 2; |
|||
update t1 set b=103 where b = 3; |
|||
update t1 set b=b+100; |
|||
update t1 set b=b+100 where a > 7; |
|||
delete from t1; |
|||
insert into t1 select * from t2; |
|||
drop table t1; |
|||
ERROR 42S02: Unknown table 't1' |
|||
create index new_index on t1 (c); |
|||
ERROR 42S02: Table 'test.t1' doesn't exist |
|||
insert into t1 values (1,1,0),(2,2,0),(3,3,0),(4,4,0),(5,5,0),(6,6,0),(7,7,0),(8,8,0),(9,9,0),(10,10,0); |
|||
ERROR 42S02: Table 'test.t1' doesn't exist |
|||
select * from t1 where a = 1; |
|||
ERROR 42S02: Table 'test.t1' doesn't exist |
|||
select * from t1 where b = 4; |
|||
ERROR 42S02: Table 'test.t1' doesn't exist |
|||
update t1 set b=102 where a = 2; |
|||
ERROR 42S02: Table 'test.t1' doesn't exist |
|||
update t1 set b=103 where b = 3; |
|||
ERROR 42S02: Table 'test.t1' doesn't exist |
|||
update t1 set b=b+100; |
|||
ERROR 42S02: Table 'test.t1' doesn't exist |
|||
update t1 set b=b+100 where a > 7; |
|||
ERROR 42S02: Table 'test.t1' doesn't exist |
|||
drop table t1; |
@ -0,0 +1,84 @@ |
|||
-- source include/have_ndb.inc |
|||
-- source include/have_multi_ndb.inc |
|||
-- source include/ndb_default_cluster.inc |
|||
-- source include/not_embedded.inc |
|||
|
|||
--disable_warnings |
|||
use test; |
|||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10; |
|||
--enable_warnings |
|||
|
|||
# operations allowed while cluster is in single user mode |
|||
|
|||
--connection server1 |
|||
--let $node_id= `SHOW STATUS LIKE 'Ndb_cluster_node_id'` |
|||
--disable_query_log |
|||
--eval set @node_id= SUBSTRING('$node_id', 20)+0 |
|||
--enable_query_log |
|||
--let $node_id= `SELECT @node_id` |
|||
--exec $NDB_MGM --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -e "enter single user mode $node_id" >> $NDB_TOOLS_OUTPUT |
|||
--exec $NDB_TOOLS_DIR/ndb_waiter --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT" --single-user >> $NDB_TOOLS_OUTPUT |
|||
|
|||
# verify that we are indeed in single user mode |
|||
--connection server2 |
|||
--error 1005 |
|||
create table t1 (a int key, b int unique, c int) engine ndb; |
|||
|
|||
# test some sql on first mysqld |
|||
--connection server1 |
|||
create table t1 (a int key, b int unique, c int) engine ndb; |
|||
insert into t1 values (1,1,0),(2,2,0),(3,3,0),(4,4,0),(5,5,0),(6,6,0),(7,7,0),(8,8,0),(9,9,0),(10,10,0); |
|||
create table t2 as select * from t1; |
|||
# read with pk |
|||
select * from t1 where a = 1; |
|||
# read with unique index |
|||
select * from t1 where b = 4; |
|||
# read with ordered index |
|||
select * from t1 where a > 4 order by a; |
|||
# update with pk |
|||
update t1 set b=102 where a = 2; |
|||
# update with unique index |
|||
update t1 set b=103 where b = 3; |
|||
# update with full table scan |
|||
update t1 set b=b+100; |
|||
# update with ordered insex scan |
|||
update t1 set b=b+100 where a > 7; |
|||
# delete with full table scan |
|||
delete from t1; |
|||
insert into t1 select * from t2; |
|||
|
|||
# test some sql on other mysqld |
|||
--connection server2 |
|||
--error 1051 |
|||
drop table t1; |
|||
--error 1146 |
|||
#--error 1296 |
|||
create index new_index on t1 (c); |
|||
--error 1146 |
|||
#--error 1296 |
|||
insert into t1 values (1,1,0),(2,2,0),(3,3,0),(4,4,0),(5,5,0),(6,6,0),(7,7,0),(8,8,0),(9,9,0),(10,10,0); |
|||
--error 1146 |
|||
#--error 1296 |
|||
select * from t1 where a = 1; |
|||
--error 1146 |
|||
#--error 1296 |
|||
select * from t1 where b = 4; |
|||
--error 1146 |
|||
#--error 1296 |
|||
update t1 set b=102 where a = 2; |
|||
--error 1146 |
|||
#--error 1296 |
|||
update t1 set b=103 where b = 3; |
|||
--error 1146 |
|||
#--error 1296 |
|||
update t1 set b=b+100; |
|||
--error 1146 |
|||
#--error 1296 |
|||
update t1 set b=b+100 where a > 7; |
|||
|
|||
--exec $NDB_MGM --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -e "exit single user mode" >> $NDB_TOOLS_OUTPUT |
|||
--exec $NDB_TOOLS_DIR/ndb_waiter --no-defaults >> $NDB_TOOLS_OUTPUT |
|||
|
|||
# cleanup |
|||
--connection server1 |
|||
drop table t1; |
Write
Preview
Loading…
Cancel
Save
Reference in new issue