157 lines
3.8 KiB
Plaintext
157 lines
3.8 KiB
Plaintext
--source include/have_ndb.inc
|
|
CALL mtr.add_suppression("Incorrect information in file");
|
|
|
|
if (`select @@log_bin`)
|
|
{
|
|
die This test is designed to run with --log-bin turned off;
|
|
}
|
|
|
|
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
|
|
|
|
let $counter = 500;
|
|
--disable_query_log
|
|
--disable_result_log
|
|
while($mysql_errno != 1296)
|
|
{
|
|
sleep 1;
|
|
--error 1296,1297
|
|
select * from t1;
|
|
if (!$counter)
|
|
{
|
|
die Timeout while waiting for MySQL Server to disconnect from cluster;
|
|
}
|
|
dec $counter;
|
|
}
|
|
--enable_query_log
|
|
--enable_result_log
|
|
|
|
|
|
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;
|
|
--source include/ndb_not_readonly.inc
|
|
|
|
# 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
|
|
#
|
|
source include/ndb_not_readonly.inc;
|
|
|
|
# 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 table from NDB only
|
|
--exec $NDB_DROP_TABLE --no-defaults -d test t1 >> $NDB_TOOLS_OUTPUT
|
|
|
|
# Restart cluster nodes
|
|
--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;
|
|
--source include/ndb_not_readonly.inc
|
|
|
|
# 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 the non NDB tables still exist
|
|
--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;
|
|
--remove_file $NDB_TOOLS_OUTPUT
|