Current Path : /usr/opt/mysql57/mysql-test/suite/ndb/t/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //usr/opt/mysql57/mysql-test/suite/ndb/t/ndb_reconnect.test |
# The include statement below is a temp one for tests that are yet to #be ported to run with InnoDB, #but needs to be kept for tests that would need MyISAM in future. --source include/force_myisam_default.inc --source include/have_ndb.inc --source include/not_windows.inc CREATE TABLE t1(a int primary key, b varchar(255), c int) engine=ndb; select * from t1; insert into t1 values (1, "row 1", 2); connect(con1, localhost, root,,); connect(con2, localhost, root,,); connect(con3, localhost, root,,); connection con1; select * from t1; connection con2; select * from t1; connection con3; select * from t1; # Restart cluster nodes "nostart" --exec $NDB_MGM --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING" -e "all restart -n" >> $NDB_TOOLS_OUTPUT # Wait for all nodes to enter "nostart" --exec $NDB_WAITER --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING" --not-started >> $NDB_TOOLS_OUTPUT connection con1; --error 1296 select * from t1; connection con2; --error 1296 select * from t1; # Don't do anything with the third connection #connection con3; # Start cluster nodes again --exec $NDB_MGM --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING" -e "all start" >> $NDB_TOOLS_OUTPUT # Wait for all nodes to enter "started" --exec $NDB_WAITER --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING" >> $NDB_TOOLS_OUTPUT # # Wait until the connection to the # cluster has been restored or timeout occurs # connection default; --disable_result_log --disable_query_log --source include/ndb_not_readonly.inc --enable_result_log --enable_query_log # Run selects to show that the cluster are back connection con1; select a,b,c from t1; connection con2; select * from t1; connection con3; select * from t1; # # Wait until mysqld has connected properly to cluster # --disable_result_log --disable_query_log source include/ndb_not_readonly.inc; --enable_query_log --enable_result_log # Do an insert to see table is writable insert into t1 values (2, "row 1", 37); # cleanup drop table t1; # #Bug #13824846 FRM FILES ARE CREATED FOR MYSQLD, BUT TABLE DOES NOT EXIST IN CLUSTER # connection default; create table t1(a int, b varchar(10), c date) engine=ndb; delimiter //; CREATE TRIGGER trg1 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SET new.c = '1901-01-01 01:01:01'; End // delimiter ;// insert into t1 values (1, "row 1", NULL),(2, "row 2", NULL); select * from t1 order by a; create table t2(a int, b varchar(10), c date) engine=myisam; delimiter //; CREATE TRIGGER trg2 BEFORE UPDATE ON t2 FOR EACH ROW BEGIN SET new.c = '1901-01-01 01:01:01'; End // delimiter ;// # drop the ndb table inside ndb --exec $NDB_DROP_TABLE --no-defaults -d test t1 >> $NDB_TOOLS_OUTPUT # Restart cluster nodes and clear all meta-data --exec $NDB_MGM --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING" -e "all restart" >> $NDB_TOOLS_OUTPUT # Wait for all nodes to enter "started" --exec $NDB_WAITER --no-defaults --ndb-connectstring="$NDB_CONNECTSTRING" >> $NDB_TOOLS_OUTPUT # # Wait until the connection to the # cluster has been restored or timeout occurs # connection default; --disable_result_log --disable_query_log --source include/ndb_not_readonly.inc --enable_result_log --enable_query_log # Create the table again to check there are no conflicts create table t1(a int, b varchar(10), c date) engine=ndb; delimiter //; CREATE TRIGGER trg1 BEFORE UPDATE ON t1 FOR EACH ROW BEGIN SET new.c = '1902-02-02 02:02:02'; End // delimiter ;// insert into t1 values (1, "row 1", NULL),(2, "row 2", NULL); select * from t1 order by a; # Check that only ndb tables have been cleaned away --error ER_TABLE_EXISTS_ERROR create table t2(a int, b varchar(10), c date) engine=myisam; drop table t2; create table t2(a int, b varchar(10), c date) engine=myisam; delimiter //; CREATE TRIGGER trg2 BEFORE UPDATE ON t2 FOR EACH ROW BEGIN SET new.c = '1901-01-01 01:01:01'; End // delimiter ;// # cleanup drop table t1, t2; # Check that NDB tables can't be created in the information_schema database --error ER_DBACCESS_DENIED_ERROR create table information_schema.t1(a int, b varchar(10), c date) engine=ndb;