-- source include/have_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; drop table if exists t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c,t10_c; --enable_warnings # Bug #27775 - mediumint auto inc not restored correctly # - check mediumint CREATE TABLE `t1_c` ( `capgoaledatta` mediumint(5) unsigned NOT NULL auto_increment, `goaledatta` char(2) NOT NULL default '', `maturegarbagefa` varchar(32) NOT NULL default '', PRIMARY KEY (`capgoaledatta`,`goaledatta`,`maturegarbagefa`) ) ENGINE=ndbcluster DEFAULT CHARSET=latin1; INSERT INTO `t1_c` VALUES (2,'3','q3plus.qt'),(400,'4','q3plus.qt'),(1,'3','q3.net'),(3,'4','q3.net'),(3000,'20','threetrees.qt'); # # Bug #27758 Restoring NDB backups makes table usable in SQL nodes # - space in key made table unusable after restore # # Bug #27775 - mediumint auto inc not restored correctly # - check smallint CREATE TABLE `t2_c` ( `capgotod` smallint(5) unsigned NOT NULL auto_increment, `gotod` smallint(5) unsigned NOT NULL default '0', `goaledatta` char(2) default NULL, `maturegarbagefa` varchar(32) default NULL, `descrpooppo` varchar(64) default NULL, `svcutonsa` varchar(64) NOT NULL default '', PRIMARY KEY (`capgotod`), KEY `i quadaddsvr` (`gotod`) ) ENGINE=ndbcluster DEFAULT CHARSET=latin1; INSERT INTO `t2_c` VALUES (500,4,'','q3.net','addavp:MK_CASELECTOR=1','postorod rattoaa'),(2,1,'4','','addavp:MK_BRANDTAD=345','REDS Brandtad'),(3,2,'4','q3.net','execorder','fixedRatediPO REDS'),(1,1,'3','','addavp:MK_BRANDTAD=123','TEST Brandtad'),(6,5,'','told.q3.net','addavp:MK_BRANDTAD=123','Brandtad Toldzone'),(4,3,'3','q3.net','addavp:MK_POOLHINT=2','ratedi PO TEST'),(5,0,'',NULL,NULL,''); # Added ROW_FORMAT=FIXED to use below to see that setting is preserved # by restore CREATE TABLE `t3_c` ( `CapGoaledatta` smallint(5) unsigned NOT NULL default '0', `capgotod` smallint(5) unsigned NOT NULL default '0', PRIMARY KEY (`capgotod`,`CapGoaledatta`) ) ENGINE=ndbcluster DEFAULT CHARSET=latin1 ROW_FORMAT=FIXED; INSERT INTO `t3_c` VALUES (5,3),(2,4),(5,4),(1,3); # Bug #27775 - mediumint auto inc not restored correctly # - check bigint CREATE TABLE `t4_c` ( `capfa` bigint(20) unsigned NOT NULL auto_increment, `realm` varchar(32) NOT NULL default '', `authpwchap` varchar(32) default NULL, `fa` varchar(32) NOT NULL default '', `payyingatta` tinyint(4) NOT NULL default '0', `status` char(1) default NULL, PRIMARY KEY (`fa`,`realm`), KEY `capfa` (`capfa`), KEY `i_quadentity` (`fa`,`realm`) ) ENGINE=ndbcluster DEFAULT CHARSET=latin1; INSERT INTO `t4_c` VALUES (18,'john.smith','q3.net','dessjohn.smith',0,NULL),(21,'quad_katt_with_brandtad','q3.net','acne',0,NULL),(2200,'quad_katt_carattoaa','q3.net','acne',0,NULL),(26,'436462612809','sqasdt.q3.net','N/A',0,'6'),(19,'john','smith.qt','dessjohn',0,NULL),(33,'436643196120','sqasdt.q3.net','N/A',1,'6'),(28,'436642900019','sqasdt.q3.net','N/A',0,'6'),(30,'436462900209','sqasdt.q3.net','N/A',0,'6'),(16,'436640006666','sqasdt.q3.net','',0,NULL),(19,'dette','el-redun.com','dessdette',0,NULL),(12,'quad_kattPP','q3.net','acne',2,NULL),(14,'436640008888','sqasdt.q3.net','',0,NULL),(29,'463624900028','sqasdt.q3.net','N/A',0,'6'),(15,'436640099099','sqasdt.q3.net','',0,NULL),(13,'pap','q3plus.qt','acne',1,NULL),(19,'436642612091','sqasdt.q3.net','N/A',0,'6'),(12,'quad_katt','q3.net','acne',0,NULL),(11,'quad_kattVK','q3.net','acne',1,NULL),(32000,'463641969502','sqasdt.q3.net','N/A',1,'6'),(20,'joe','q3.net','joedesswd',0,NULL),(290000000,'436642900034','sqasdt.q3.net','N/A',0,'6'),(25,'contind','armerde.qt','acne',1,NULL); CREATE TABLE `t5_c` ( `capfa` bigint(20) unsigned NOT NULL default '0', `gotod` smallint(5) unsigned NOT NULL default '0', `orderutonsa` varchar(64) NOT NULL default '', PRIMARY KEY (`capfa`,`gotod`,`orderutonsa`) ) ENGINE=ndbcluster DEFAULT CHARSET=latin1; INSERT INTO `t5_c` VALUES (21,2,''),(21,1,''),(22,4,''); CREATE TABLE `t6_c` ( `capfa_parent` bigint(20) unsigned NOT NULL default '0', `capfa_child` bigint(20) unsigned NOT NULL default '0', `relatta` smallint(5) unsigned NOT NULL default '0', PRIMARY KEY (`capfa_child`,`capfa_parent`,`relatta`) ) ENGINE=ndbcluster DEFAULT CHARSET=latin1; INSERT INTO `t6_c` VALUES (15,16,0),(19,20,0),(18326932092909551615,30,0),(26,29,0),(18326932092909551615,29,0),(19,18,0),(26,28,0),(12,14,0); # Bug #27775 - mediumint auto inc not restored correctly # - check tinyint CREATE TABLE `t7_c` ( `dardpo` char(15) NOT NULL default '', `dardtestard` tinyint(3) unsigned NOT NULL auto_increment, `FastFA` char(5) NOT NULL default '', `FastCode` char(6) NOT NULL default '', `Fastca` char(1) NOT NULL default '', `Fastmag` char(1) NOT NULL default '', `Beareratta` char(2) NOT NULL default '', PRIMARY KEY (`dardpo`,`dardtestard`) ) ENGINE=ndbcluster DEFAULT CHARSET=latin1; INSERT INTO `t7_c` VALUES ('2.6.2.4',24,'CECHP','54545','0','0','5'),('2.2.5.4',26,'CANFA','33223','1','1','4'),('4.3.2.4',28,'ITALD','54222','1','0','5'),('129..0.0.eins',28,'G','99999','1','1','5'),('1.1.1.1',24,'AUTPT','32323','0','1','3'); CREATE TABLE `t8_c` ( `kattjame` varchar(32) NOT NULL default '', `realm` varchar(32) NOT NULL default '', `realm_entered` varchar(32) NOT NULL default '', `maturegarbagefa` varchar(32) NOT NULL default '', `hunderaaarbagefa_parent` varchar(32) NOT NULL default '', `kattjame_entered` varchar(32) NOT NULL default '', `hunderaaarbagefa` varchar(32) NOT NULL default '', `gest` varchar(16) default NULL, `hassetino` varchar(16) NOT NULL default '', `aaaproxysessfa` varchar(255) default NULL, `autologonallowed` char(1) default NULL, `squardporoot` varchar(15) NOT NULL default '', `naspo` varchar(15) default NULL, `beareratta` char(2) default NULL, `fastCode` varchar(6) default NULL, `fastFA` varchar(5) default NULL, `fastca` char(1) default NULL, `fastmag` char(1) default NULL, `lastupdate` datetime default NULL, `hassetistart` datetime NOT NULL default '0000-00-00 00:00:00', `accthassetitime` int(10) unsigned default NULL, `acctoutputoctets` bigint(20) unsigned default NULL, `acctinputoctets` bigint(20) unsigned default NULL, PRIMARY KEY (`kattjame`,`hunderaaarbagefa`,`hassetistart`,`hassetino`), KEY `squardporoot` (`squardporoot`) ) ENGINE=ndbcluster DEFAULT CHARSET=latin1; INSERT INTO `t8_c` VALUES ('4tt45345235','pap','q3plus.qt','q3plus.qt','q3.net','436643196120','436643196929','8956234534568968','5524595699','uxasmt21.net.acne.qt/481889229462692422','','1.1.1.1','2.2.4.6','4','86989','34','x','x','2012-03-12 12:55:34','2012-12-05 11:20:04',3223433,3369,9565),('4545435545','john','q3.net','q3.net','acne.li','436643196120','436643196929','45345234568968','995696699','uxasmt21.net.acne.qt/481889229462692423','','1.1.1.1','2.2.9.8','2','86989','34','x','x','2012-03-12 11:35:03','2012-12-05 08:50:04',8821923,169,3565),('versteckter_q3net_katt','joe','q3.net','elredun.com','q3.net','436643196120','436643196939','91341234568968','695595699','uxasmt21.net.acne.qt/481889229462692421','','1.1.1.1','2.5.2.5','3','86989','34','x','x','2012-03-12 18:35:04','2012-12-05 12:35:04',1923123,9569,6565); CREATE TABLE `t9_c` ( `kattjame` varchar(32) NOT NULL default '', `kattjame_entered` varchar(32) NOT NULL default '', `realm` varchar(32) NOT NULL default '', `realm_entered` varchar(32) NOT NULL default '', `maturegarbagefa` varchar(32) NOT NULL default '', `hunderaaarbagefa` varchar(32) NOT NULL default '', `hunderaaarbagefa_parent` varchar(32) NOT NULL default '', `gest` varchar(16) default NULL, `hassetino` varchar(16) NOT NULL default '', `squardporoot` varchar(15) NOT NULL default '', `naspo` varchar(15) default NULL, `beareratta` char(2) default NULL, `fastCode` varchar(6) default NULL, `fastFA` varchar(5) default NULL, `fastca` char(1) default NULL, `fastmag` char(1) default NULL, `lastupdate` datetime default NULL, `hassetistart` datetime NOT NULL default '0000-00-00 00:00:00', `accthassetitime` int(10) unsigned default NULL, `actcoutpuocttets` bigint(20) unsigned default NULL, `actinputocctets` bigint(20) unsigned default NULL, `terminateraste` tinyint(3) unsigned default NULL, PRIMARY KEY (`kattjame`,`hunderaaarbagefa`,`hassetistart`,`hassetino`) ) ENGINE=ndbcluster DEFAULT CHARSET=latin1; INSERT INTO `t9_c` VALUES ('3g4jh8gar2t','joe','q3.net','elredun.com','q3.net','436643316120','436643316939','91341234568968','695595699','1.1.1.1','2.2.6.2','3','86989','34','x','x','2012-03-12 18:35:04','2012-12-05 12:35:04',3123123,9569,6565,1),('4tt45345235','pap','q3plus.qt','q3plus.qt','q3.net','436643316120','436643316939','8956234534568968','5254595969','1.1.1.1','8.6.2.2','4','86989','34','x','x','2012-03-12 12:55:34','2012-12-05 11:20:04',3223433,3369,9565,2),('4545435545','john','q3.net','q3.net','acne.li','436643316120','436643316939','45345234568968','995696699','1.1.1.1','2.9.9.2','2','86998','34','x','x','2012-03-12 11:35:03','2012-12-05 08:50:04',8823123,169,3565,3); # Bug #20820 # auto inc table not handled correctly when restored from cluster backup # - before fix ndb_restore would not set auto inc value correct, # seen by select below CREATE TABLE t10_c (a INT AUTO_INCREMENT KEY) ENGINE=ndbcluster DEFAULT CHARSET=latin1; INSERT INTO t10_c VALUES (1),(2),(3); # Bug #27775 - mediumint auto inc not restored correctly # - check int insert into t10_c values (10000),(2000),(3000); create table t1 engine=myisam as select * from t1_c; create table t2 engine=myisam as select * from t2_c; create table t3 engine=myisam as select * from t3_c; create table t4 engine=myisam as select * from t4_c; create table t5 engine=myisam as select * from t5_c; create table t6 engine=myisam as select * from t6_c; create table t7 engine=myisam as select * from t7_c; create table t8 engine=myisam as select * from t8_c; create table t9 engine=myisam as select * from t9_c; create table t10 engine=myisam as select * from t10_c; # check that force varpart is preserved by ndb_restore # t3_c has ROW_FORMAT=FIXED i.e. ForceVarPart=0 --exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t3_c | grep ForceVarPart --exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t2_c | grep ForceVarPart --source include/ndb_backup.inc drop table t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c,t10_c; --exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b $the_backup_id -n 1 -m -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT --exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b $the_backup_id -n 2 -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT # check that force varpart is preserved by ndb_restore # t3_c has ROW_FORMAT=FIXED i.e. ForceVarPart=0 --exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t3_c | grep ForceVarPart --exec $NDB_TOOLS_DIR/ndb_desc --no-defaults -d test t2_c | grep ForceVarPart # random output order?? #show tables; select count(*) from t1; select count(*) from t1_c; select count(*) from (select * from t1 union select * from t1_c) a; select count(*) from t2; select count(*) from t2_c; select count(*) from (select * from t2 union select * from t2_c) a; select count(*) from t3; select count(*) from t3_c; select count(*) from (select * from t3 union select * from t3_c) a; select count(*) from t4; select count(*) from t4_c; select count(*) from (select * from t4 union select * from t4_c) a; select count(*) from t5; select count(*) from t5_c; select count(*) from (select * from t5 union select * from t5_c) a; select count(*) from t6; select count(*) from t6_c; select count(*) from (select * from t6 union select * from t6_c) a; select count(*) from t7; select count(*) from t7_c; select count(*) from (select * from t7 union select * from t7_c) a; select count(*) from t8; select count(*) from t8_c; select count(*) from (select * from t8 union select * from t8_c) a; select count(*) from t9; select count(*) from t9_c; select count(*) from (select * from t9 union select * from t9_c) a; # Bug #20820 cont'd select * from t10_c order by a; # Bug #27775 cont'd # - auto inc info should be correct --replace_column 1 X 2 X 3 X 4 X 5 X 6 X 7 X 8 X 9 X 10 X 12 X 13 X 14 X 15 X 16 X 17 X 18 X show table status like 't1_c'; --replace_column 1 X 2 X 3 X 4 X 5 X 6 X 7 X 8 X 9 X 10 X 12 X 13 X 14 X 15 X 16 X 17 X 18 X show table status like 't2_c'; --replace_column 1 X 2 X 3 X 4 X 5 X 6 X 7 X 8 X 9 X 10 X 12 X 13 X 14 X 15 X 16 X 17 X 18 X show table status like 't4_c'; --replace_column 1 X 2 X 3 X 4 X 5 X 6 X 7 X 8 X 9 X 10 X 12 X 13 X 14 X 15 X 16 X 17 X 18 X show table status like 't7_c'; --replace_column 1 X 2 X 3 X 4 X 5 X 6 X 7 X 8 X 9 X 10 X 12 X 13 X 14 X 15 X 16 X 17 X 18 X show table status like 't10_c'; # # Try Partitioned tables as well # ALTER TABLE t7_c PARTITION BY LINEAR KEY (`dardtestard`); --source include/ndb_backup.inc drop table t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c,t10_c; --exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b $the_backup_id -n 1 -m -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT --exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b $the_backup_id -n 2 -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT select count(*) from t1; select count(*) from t1_c; select count(*) from (select * from t1 union select * from t1_c) a; select count(*) from t2; select count(*) from t2_c; select count(*) from (select * from t2 union select * from t2_c) a; select count(*) from t3; select count(*) from t3_c; select count(*) from (select * from t3 union select * from t3_c) a; select count(*) from t4; select count(*) from t4_c; select count(*) from (select * from t4 union select * from t4_c) a; select count(*) from t5; select count(*) from t5_c; select count(*) from (select * from t5 union select * from t5_c) a; select count(*) from t6; select count(*) from t6_c; select count(*) from (select * from t6 union select * from t6_c) a; select count(*) from t7; select count(*) from t7_c; select count(*) from (select * from t7 union select * from t7_c) a; select count(*) from t8; select count(*) from t8_c; select count(*) from (select * from t8 union select * from t8_c) a; select count(*) from t9; select count(*) from t9_c; select count(*) from (select * from t9 union select * from t9_c) a; drop table t1_c,t2_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c,t10_c; --exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b $the_backup_id -n 1 -m -r --ndb-nodegroup_map '(0,0)' --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT --exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b $the_backup_id -n 2 -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT select count(*) from t1; select count(*) from t1_c; select count(*) from (select * from t1 union select * from t1_c) a; select count(*) from t2; select count(*) from t2_c; select count(*) from (select * from t2 union select * from t2_c) a; select count(*) from t3; select count(*) from t3_c; select count(*) from (select * from t3 union select * from t3_c) a; select count(*) from t4; select count(*) from t4_c; select count(*) from (select * from t4 union select * from t4_c) a; select count(*) from t5; select count(*) from t5_c; select count(*) from (select * from t5 union select * from t5_c) a; select count(*) from t6; select count(*) from t6_c; select count(*) from (select * from t6 union select * from t6_c) a; select count(*) from t7; select count(*) from t7_c; select count(*) from (select * from t7 union select * from t7_c) a; select count(*) from t8; select count(*) from t8_c; select count(*) from (select * from t8 union select * from t8_c) a; select count(*) from t9; select count(*) from t9_c; select count(*) from (select * from t9 union select * from t9_c) a; # # Drop all table except t2_c # This to make sure that error returned from ndb_restore above is # guaranteed to be from t2_c, this since order of tables in backup # is none deterministic # drop table t1_c,t3_c,t4_c,t5_c,t6_c,t7_c,t8_c,t9_c,t10_c; --source include/ndb_backup.inc --exec $NDB_TOOLS_DIR/ndb_restore --no-defaults --core=0 -b $the_backup_id -n 1 -m -r --ndb-nodegroup_map '(0,1)' $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id 2>&1 | grep Translate || true # # Cleanup # --disable_warnings drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9,t10; drop table if exists t2_c; --enable_warnings # # Test BUG#10287 # --exec $NDB_TOOLS_DIR/ndb_select_all --no-defaults -d sys -D , SYSTAB_0 | grep 520093696, | sed "s/,$the_backup_id/,<the_backup_id>/" # End of 5.0 tests (4.1 test intermixed to save test time)