-- source include/not_embedded.inc
-- source include/ndb_have_online_alter.inc
-- source include/have_multi_ndb.inc

--echo *******************************
--echo * basic concurent online alter test
--echo *******************************
--echo * With Commit
--echo *******************************

connection server1;

CREATE TABLE t1 (a INT UNSIGNED KEY, b INT UNSIGNED) ENGINE NDB;
let $v=4;
disable_query_log;
while ($v)
{
  --eval INSERT INTO t1 VALUES($v,$v); 
  dec $v;
}
enable_query_log;


connection server2;
begin;
update t1 set b = 0 where a = 1;
update t1 set b = 1 where a = 2;
delete from t1      where a = 3;

insert into t1 values (5,5),(6,6);
update t1 set b = 0 where a = 6;

connection server1;
ALTER TABLE t1 ADD c CHAR(19), ADD d VARCHAR(255), ADD e char(255);

connection server2;
update t1 set b = 0 where a = 2;
update t1 set b = 0 where a = 4;
update t1 set b = 0 where a = 5;
insert into t1 values (7,0,null,null,null),(8,0,'8','8','8');
commit;

connection server1;
SELECT * FROM t1 ORDER BY a;

DROP TABLE t1;

--echo *******************************
--echo * basic concurent online alter test
--echo *******************************
--echo * With Rollback
--echo *******************************

connection server1;

CREATE TABLE t1 (a INT UNSIGNED KEY, b INT UNSIGNED) ENGINE NDB;
let $v=4;
disable_query_log;
while ($v)
{
  --eval INSERT INTO t1 VALUES($v,$v); 
  dec $v;
}
enable_query_log;

connection server2;
begin;
update t1 set b = 0 where a = 1;
update t1 set b = 1 where a = 2;
delete from t1      where a = 3;

insert into t1 values (5,5),(6,6);
update t1 set b = 0 where a = 6;

connection server1;
ALTER TABLE t1 ADD c CHAR(19), ADD d VARCHAR(255), ADD e char(255);

connection server2;
update t1 set b = 0 where a = 2;
update t1 set b = 0 where a = 4;
update t1 set b = 0 where a = 5;
insert into t1 values (7,0,null,null,null),(8,0,'8','8','8');
rollback;

connection server1;
SELECT * FROM t1 ORDER BY a;

DROP TABLE t1;

