From 14e19b1edb009354d74b779861fc00336803973c Mon Sep 17 00:00:00 2001 From: "lzhou/zhl@dev3-63.(none)" <> Date: Wed, 13 Jun 2007 10:42:21 +0000 Subject: [PATCH 1/7] BUG#23354 Clear "no start" when nodes restart and add new prompting string when nodes restart --- ndb/src/common/debugger/EventLogger.cpp | 2 -- ndb/src/mgmclient/CommandInterpreter.cpp | 12 ++++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ndb/src/common/debugger/EventLogger.cpp b/ndb/src/common/debugger/EventLogger.cpp index 6280d5bb9b3..c3bdb18dc06 100644 --- a/ndb/src/common/debugger/EventLogger.cpp +++ b/ndb/src/common/debugger/EventLogger.cpp @@ -91,8 +91,6 @@ void getRestartAction(Uint32 action, BaseString &str) if (action == 0) return; str.appfmt(", restarting"); - if (action & 2) - str.appfmt(", no start"); if (action & 4) str.appfmt(", initial"); } diff --git a/ndb/src/mgmclient/CommandInterpreter.cpp b/ndb/src/mgmclient/CommandInterpreter.cpp index 2265579ad1e..eb70601057d 100644 --- a/ndb/src/mgmclient/CommandInterpreter.cpp +++ b/ndb/src/mgmclient/CommandInterpreter.cpp @@ -2026,7 +2026,7 @@ CommandInterpreter::executeRestart(Vector &command_list, return -1; } - if (!nostart) + if (nostart) ndbout_c("Shutting down nodes with \"-n, no start\" option, to subsequently start the nodes."); result= ndb_mgm_restart3(m_mgmsrv, no_of_nodes, node_ids, @@ -2046,7 +2046,15 @@ CommandInterpreter::executeRestart(Vector &command_list, ndbout << "Node"; for (int i= 0; i < no_of_nodes; i++) ndbout << " " << node_ids[i]; - ndbout_c(" is being restarted"); + ndbout_c(": Is being restarted"); + + ndbout << "Node"; + for (int i= 0; i < no_of_nodes; i++) + ndbout << " " << node_ids[i]; + if (nostart) + ndbout_c(": No start"); + else + ndbout_c(": Is rejoining the cluster"); } if(need_disconnect) disconnect(); From ad6defd4bac96a9a003d7dc45715b3abe5976d58 Mon Sep 17 00:00:00 2001 From: "gni@dev3-221.dev.cn.tlan" <> Date: Wed, 25 Jul 2007 09:32:28 +0800 Subject: [PATCH 2/7] BUG#28423 cluster to storage engine error code mapping problem --- sql/ha_ndbcluster.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc index 47815f0fbf1..4d4edccd59c 100644 --- a/sql/ha_ndbcluster.cc +++ b/sql/ha_ndbcluster.cc @@ -181,8 +181,8 @@ struct err_code_mapping static const err_code_mapping err_map[]= { { 626, HA_ERR_KEY_NOT_FOUND, 0 }, - { 630, HA_ERR_FOUND_DUPP_KEY, 0 }, - { 893, HA_ERR_FOUND_DUPP_KEY, 0 }, + { 630, HA_ERR_FOUND_DUPP_KEY, 1 }, + { 893, HA_ERR_FOUND_DUPP_KEY, 1 }, { 721, HA_ERR_TABLE_EXIST, 1 }, { 4244, HA_ERR_TABLE_EXIST, 1 }, From 326d7307e33b87741450495385228cc8e983e4c1 Mon Sep 17 00:00:00 2001 From: "gni@dev3-221.dev.cn.tlan" <> Date: Wed, 25 Jul 2007 14:53:25 +0800 Subject: [PATCH 3/7] BUG#27683 Incorrect description for ndb_restore --print --- ndb/tools/restore/restore_main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ndb/tools/restore/restore_main.cpp b/ndb/tools/restore/restore_main.cpp index 9ec59b9b4a6..9887869a0b3 100644 --- a/ndb/tools/restore/restore_main.cpp +++ b/ndb/tools/restore/restore_main.cpp @@ -112,7 +112,7 @@ static struct my_option my_long_options[] = "(parallelism can be 1 to 1024)", (gptr*) &ga_nParallelism, (gptr*) &ga_nParallelism, 0, GET_INT, REQUIRED_ARG, 128, 1, 1024, 0, 1, 0 }, - { "print", OPT_PRINT, "Print data and log to stdout", + { "print", OPT_PRINT, "Print metadata, data and log to stdout", (gptr*) &_print, (gptr*) &_print, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0 }, { "print_data", OPT_PRINT_DATA, "Print data to stdout", From cbe2a3c780baf7aa633ed7cddccca2931ee212da Mon Sep 17 00:00:00 2001 From: "lzhou/zhl@dev3-63.(none)" <> Date: Tue, 7 Aug 2007 18:07:57 +0000 Subject: [PATCH 4/7] BUG#29674 Restore/backup are endian compatible in 5.0 --- .../ndb_restore_different_endian_data.result | 200 ++++++++++++++++++ .../ndb_backup50_data_be/BACKUP-1-0.1.Data | Bin 0 -> 47900 bytes .../ndb_backup50_data_be/BACKUP-1-0.2.Data | Bin 0 -> 17608 bytes .../ndb_backup50_data_be/BACKUP-1.1.ctl | Bin 0 -> 24644 bytes .../ndb_backup50_data_be/BACKUP-1.1.log | Bin 0 -> 44 bytes .../ndb_backup50_data_be/BACKUP-1.2.ctl | Bin 0 -> 24644 bytes .../ndb_backup50_data_be/BACKUP-1.2.log | Bin 0 -> 44 bytes .../ndb_backup50_data_le/BACKUP-1-0.1.Data | Bin 0 -> 17656 bytes .../ndb_backup50_data_le/BACKUP-1-0.2.Data | Bin 0 -> 47852 bytes .../ndb_backup50_data_le/BACKUP-1.1.ctl | Bin 0 -> 24644 bytes .../ndb_backup50_data_le/BACKUP-1.1.log | Bin 0 -> 44 bytes .../ndb_backup50_data_le/BACKUP-1.2.ctl | Bin 0 -> 24644 bytes .../ndb_backup50_data_le/BACKUP-1.2.log | Bin 0 -> 44 bytes .../t/ndb_restore_different_endian_data.test | 185 ++++++++++++++++ ndb/src/ndbapi/NdbDictionaryImpl.cpp | 13 +- ndb/src/ndbapi/NdbDictionaryImpl.hpp | 3 +- ndb/tools/restore/Restore.cpp | 33 ++- 17 files changed, 429 insertions(+), 5 deletions(-) create mode 100644 mysql-test/r/ndb_restore_different_endian_data.result create mode 100644 mysql-test/std_data/ndb_backup50_data_be/BACKUP-1-0.1.Data create mode 100644 mysql-test/std_data/ndb_backup50_data_be/BACKUP-1-0.2.Data create mode 100644 mysql-test/std_data/ndb_backup50_data_be/BACKUP-1.1.ctl create mode 100644 mysql-test/std_data/ndb_backup50_data_be/BACKUP-1.1.log create mode 100644 mysql-test/std_data/ndb_backup50_data_be/BACKUP-1.2.ctl create mode 100644 mysql-test/std_data/ndb_backup50_data_be/BACKUP-1.2.log create mode 100644 mysql-test/std_data/ndb_backup50_data_le/BACKUP-1-0.1.Data create mode 100644 mysql-test/std_data/ndb_backup50_data_le/BACKUP-1-0.2.Data create mode 100644 mysql-test/std_data/ndb_backup50_data_le/BACKUP-1.1.ctl create mode 100644 mysql-test/std_data/ndb_backup50_data_le/BACKUP-1.1.log create mode 100644 mysql-test/std_data/ndb_backup50_data_le/BACKUP-1.2.ctl create mode 100644 mysql-test/std_data/ndb_backup50_data_le/BACKUP-1.2.log create mode 100644 mysql-test/t/ndb_restore_different_endian_data.test diff --git a/mysql-test/r/ndb_restore_different_endian_data.result b/mysql-test/r/ndb_restore_different_endian_data.result new file mode 100644 index 00000000000..e1efefb751a --- /dev/null +++ b/mysql-test/r/ndb_restore_different_endian_data.result @@ -0,0 +1,200 @@ +USE test; +DROP TABLE IF EXISTS t_num,t_datetime,t_string_1,t_string_2,t_gis; +SHOW TABLES; +Tables_in_test +t_gis +t_string_1 +t_num +t_string_2 +t_datetime +SHOW CREATE TABLE t_num; +Table Create Table +t_num CREATE TABLE `t_num` ( + `t_pk` int(11) NOT NULL, + `t_bit` bit(64) default NULL, + `t_tinyint` tinyint(4) default NULL, + `t_bool` tinyint(1) default NULL, + `t_smallint` smallint(6) default NULL, + `t_mediumint` mediumint(9) default NULL, + `t_int` int(11) default NULL, + `t_bigint` bigint(20) default NULL, + `t_float` float default NULL, + `t_double` double default NULL, + `t_decimal` decimal(37,16) default NULL, + PRIMARY KEY (`t_pk`) +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +SHOW CREATE TABLE t_datetime; +Table Create Table +t_datetime CREATE TABLE `t_datetime` ( + `t_pk` int(11) NOT NULL, + `t_date` date default NULL, + `t_datetime` datetime default NULL, + `t_timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, + `t_time` time default NULL, + `t_year` year(4) default NULL, + PRIMARY KEY (`t_pk`) +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +SHOW CREATE TABLE t_string_1; +Table Create Table +t_string_1 CREATE TABLE `t_string_1` ( + `t_pk` int(11) NOT NULL, + `t_char` char(255) default NULL, + `t_varchar` varchar(655) default NULL, + `t_binary` binary(255) default NULL, + `t_varbinary` varbinary(6553) default NULL, + PRIMARY KEY (`t_pk`) +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +SHOW CREATE TABLE t_string_2; +Table Create Table +t_string_2 CREATE TABLE `t_string_2` ( + `t_pk` int(11) NOT NULL, + `t_tinyblob` tinyblob, + `t_tinytext` tinytext, + `t_blob` blob, + `t_text` text, + `t_mediumblob` mediumblob, + `t_mediumtext` mediumtext, + `t_longblob` longblob, + `t_longtext` longtext, + `t_enum` enum('001001','001004','001010','001018','001019','001020','001021','001027','001028','001029','001030','001031','001100','002003','002004','002005','002007') NOT NULL default '001001', + `t_set` set('a','B') default NULL, + PRIMARY KEY (`t_pk`) +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +SHOW CREATE TABLE t_gis; +Table Create Table +t_gis CREATE TABLE `t_gis` ( + `t_pk` int(11) NOT NULL, + `t_point` point default NULL, + `t_linestring` linestring default NULL, + `t_polygon` polygon default NULL, + `t_multipoint` multipoint default NULL, + `t_multilinestring` multilinestring default NULL, + `t_multipolygon` multipolygon default NULL, + `t_geometrycollection` geometrycollection default NULL, + `t_geometry` geometry default NULL, + PRIMARY KEY (`t_pk`) +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +SELECT * FROM t_datetime; +t_pk t_date t_datetime t_timestamp t_time t_year +1 1998-01-01 2006-08-10 10:11:12 2002-10-29 16:51:06 19:38:34 2155 +SELECT t_pk,hex(t_bit),t_tinyint,t_bool,t_smallint,t_mediumint,t_int,t_bigint,t_float,t_double,t_decimal FROM t_num; +t_pk hex(t_bit) t_tinyint t_bool t_smallint t_mediumint t_int t_bigint t_float t_double t_decimal +1 AAAAAAAAAAAAAAAA 125 1 32765 8388606 2147483647 9223372036854775807 1e+20 1e+150 331.0000000000000000 +SELECT t_pk,t_char,t_varchar,hex(t_binary),hex(t_varbinary) FROM t_string_1; +t_pk t_char t_varchar hex(t_binary) hex(t_varbinary) +1 abcdefghijklmn abcdefghijklmnabcdefghijklmnabcdefghijklmnabcdefghijklmn 612020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 4100 +SELECT * FROM t_string_2; +t_pk t_tinyblob t_tinytext t_blob t_text t_mediumblob t_mediumtext t_longblob t_longtext t_enum t_set +1 abcdefghijklmnabcdefghijklmn abcdefghijklmnabcdefghijklmn a123456789b123456789c123456789d123456789e123456789f123456789g123456789 a123456789b123456789c123456789d123456789e123456789f123456789g123456789 a123456789b123456789c123456789d123456789e123456789f123456789g123456789 a123456789b123456789c123456789d123456789e123456789f123456789g123456789 a123456789b123456789c123456789d123456789e123456789f123456789g123456789 a123456789b123456789c123456789d123456789e123456789f123456789g123456789 001001 a +SELECT AsText(t_point), AsText(t_linestring),AsText(t_polygon) FROM t_gis ORDER by t_pk; +AsText(t_point) AsText(t_linestring) AsText(t_polygon) +POINT(10 10) LINESTRING(10 10,20 10,20 20,10 20,10 10) POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10)) +POINT(10 20) LINESTRING(10 10,40 10) POLYGON((0 0,30 0,30 30,0 0)) +SELECT AsText(t_multipoint), AsText(t_multilinestring),AsText(t_multipolygon) FROM t_gis ORDER by t_pk; +AsText(t_multipoint) AsText(t_multilinestring) AsText(t_multipolygon) +MULTIPOINT(1 1,11 11,11 21,21 21) MULTILINESTRING((10 48,10 21,10 0)) MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +MULTIPOINT(3 6,4 10) MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7)) MULTIPOLYGON(((0 3,3 3,3 0,0 3))) +SELECT AsText(t_geometrycollection), AsText(t_geometry) FROM t_gis ORDER by t_pk; +AsText(t_geometrycollection) AsText(t_geometry) +GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10)) MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9)) GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9)) +DROP TABLE t_num,t_datetime,t_string_1,t_string_2,t_gis; +SHOW TABLES; +Tables_in_test +t_gis +t_string_1 +t_num +t_string_2 +t_datetime +SHOW CREATE TABLE t_num; +Table Create Table +t_num CREATE TABLE `t_num` ( + `t_pk` int(11) NOT NULL, + `t_bit` bit(64) default NULL, + `t_tinyint` tinyint(4) default NULL, + `t_bool` tinyint(1) default NULL, + `t_smallint` smallint(6) default NULL, + `t_mediumint` mediumint(9) default NULL, + `t_int` int(11) default NULL, + `t_bigint` bigint(20) default NULL, + `t_float` float default NULL, + `t_double` double default NULL, + `t_decimal` decimal(37,16) default NULL, + PRIMARY KEY (`t_pk`) +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +SHOW CREATE TABLE t_datetime; +Table Create Table +t_datetime CREATE TABLE `t_datetime` ( + `t_pk` int(11) NOT NULL, + `t_date` date default NULL, + `t_datetime` datetime default NULL, + `t_timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, + `t_time` time default NULL, + `t_year` year(4) default NULL, + PRIMARY KEY (`t_pk`) +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +SHOW CREATE TABLE t_string_1; +Table Create Table +t_string_1 CREATE TABLE `t_string_1` ( + `t_pk` int(11) NOT NULL, + `t_char` char(255) default NULL, + `t_varchar` varchar(655) default NULL, + `t_binary` binary(255) default NULL, + `t_varbinary` varbinary(6553) default NULL, + PRIMARY KEY (`t_pk`) +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +SHOW CREATE TABLE t_string_2; +Table Create Table +t_string_2 CREATE TABLE `t_string_2` ( + `t_pk` int(11) NOT NULL, + `t_tinyblob` tinyblob, + `t_tinytext` tinytext, + `t_blob` blob, + `t_text` text, + `t_mediumblob` mediumblob, + `t_mediumtext` mediumtext, + `t_longblob` longblob, + `t_longtext` longtext, + `t_enum` enum('001001','001004','001010','001018','001019','001020','001021','001027','001028','001029','001030','001031','001100','002003','002004','002005','002007') NOT NULL default '001001', + `t_set` set('a','B') default NULL, + PRIMARY KEY (`t_pk`) +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +SHOW CREATE TABLE t_gis; +Table Create Table +t_gis CREATE TABLE `t_gis` ( + `t_pk` int(11) NOT NULL, + `t_point` point default NULL, + `t_linestring` linestring default NULL, + `t_polygon` polygon default NULL, + `t_multipoint` multipoint default NULL, + `t_multilinestring` multilinestring default NULL, + `t_multipolygon` multipolygon default NULL, + `t_geometrycollection` geometrycollection default NULL, + `t_geometry` geometry default NULL, + PRIMARY KEY (`t_pk`) +) ENGINE=ndbcluster DEFAULT CHARSET=latin1 +SELECT * FROM t_datetime; +t_pk t_date t_datetime t_timestamp t_time t_year +1 1998-01-01 2006-08-10 10:11:12 2002-10-29 16:51:06 19:38:34 2155 +SELECT t_pk,hex(t_bit),t_tinyint,t_bool,t_smallint,t_mediumint,t_int,t_bigint,t_float,t_double,t_decimal FROM t_num; +t_pk hex(t_bit) t_tinyint t_bool t_smallint t_mediumint t_int t_bigint t_float t_double t_decimal +1 AAAAAAAAAAAAAAAA 125 1 32765 8388606 2147483647 9223372036854775807 1e+20 1e+150 331.0000000000000000 +SELECT t_pk,t_char,t_varchar,hex(t_binary),hex(t_varbinary) FROM t_string_1; +t_pk t_char t_varchar hex(t_binary) hex(t_varbinary) +1 abcdefghijklmn abcdefghijklmnabcdefghijklmnabcdefghijklmnabcdefghijklmn 612020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 4100 +SELECT * FROM t_string_2; +t_pk t_tinyblob t_tinytext t_blob t_text t_mediumblob t_mediumtext t_longblob t_longtext t_enum t_set +1 abcdefghijklmnabcdefghijklmn abcdefghijklmnabcdefghijklmn a123456789b123456789c123456789d123456789e123456789f123456789g123456789 a123456789b123456789c123456789d123456789e123456789f123456789g123456789 a123456789b123456789c123456789d123456789e123456789f123456789g123456789 a123456789b123456789c123456789d123456789e123456789f123456789g123456789 a123456789b123456789c123456789d123456789e123456789f123456789g123456789 a123456789b123456789c123456789d123456789e123456789f123456789g123456789 001001 a +SELECT AsText(t_point), AsText(t_linestring),AsText(t_polygon) FROM t_gis ORDER by t_pk; +AsText(t_point) AsText(t_linestring) AsText(t_polygon) +POINT(10 10) LINESTRING(10 10,20 10,20 20,10 20,10 10) POLYGON((0 0,50 0,50 50,0 50,0 0),(10 10,20 10,20 20,10 20,10 10)) +POINT(10 20) LINESTRING(10 10,40 10) POLYGON((0 0,30 0,30 30,0 0)) +SELECT AsText(t_multipoint), AsText(t_multilinestring),AsText(t_multipolygon) FROM t_gis ORDER by t_pk; +AsText(t_multipoint) AsText(t_multilinestring) AsText(t_multipolygon) +MULTIPOINT(1 1,11 11,11 21,21 21) MULTILINESTRING((10 48,10 21,10 0)) MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +MULTIPOINT(3 6,4 10) MULTILINESTRING((1 2,3 5),(2 5,5 8,21 7)) MULTIPOLYGON(((0 3,3 3,3 0,0 3))) +SELECT AsText(t_geometrycollection), AsText(t_geometry) FROM t_gis ORDER by t_pk; +AsText(t_geometrycollection) AsText(t_geometry) +GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10)) MULTIPOLYGON(((28 26,28 0,84 0,84 42,28 26),(52 18,66 23,73 9,48 6,52 18)),((59 18,67 18,67 13,59 13,59 18))) +GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9)) GEOMETRYCOLLECTION(POINT(44 6),LINESTRING(3 6,7 9)) +DROP TABLE t_num,t_datetime,t_string_1,t_string_2,t_gis; diff --git a/mysql-test/std_data/ndb_backup50_data_be/BACKUP-1-0.1.Data b/mysql-test/std_data/ndb_backup50_data_be/BACKUP-1-0.1.Data new file mode 100644 index 0000000000000000000000000000000000000000..90a8443cf45125b8a89d3e8a868b44aac83d9441 GIT binary patch literal 47900 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 t_9~+?oaGJj2H+;L32;3L_b=~9uT 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 XP|wG{kf>Ouv*nWzb?^U|_0P-0CeVPS` literal 0 HcmV?d00001 diff --git a/mysql-test/std_data/ndb_backup50_data_be/BACKUP-1.2.ctl b/mysql-test/std_data/ndb_backup50_data_be/BACKUP-1.2.ctl new file mode 100644 index 0000000000000000000000000000000000000000..8849978e2938a8bf477a5729e341f071abf92efc GIT binary patch literal 24644 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 XP|wG{kf>Ouv*nWzb?^U|_0P-0CeVPS` literal 0 HcmV?d00001 diff --git a/mysql-test/std_data/ndb_backup50_data_le/BACKUP-1-0.1.Data b/mysql-test/std_data/ndb_backup50_data_le/BACKUP-1-0.1.Data new file mode 100644 index 0000000000000000000000000000000000000000..157c28b67b309a82ada8e2a0f94a344020ff72a9 GIT binary patch literal 17656 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 Aod5s; literal 0 HcmV?d00001 diff --git a/mysql-test/std_data/ndb_backup50_data_le/BACKUP-1-0.2.Data b/mysql-test/std_data/ndb_backup50_data_le/BACKUP-1-0.2.Data new file mode 100644 index 0000000000000000000000000000000000000000..e7602c89db7143a9bde0e46fccbd283fee25eca2 GIT binary patch literal 47852 zcmeI)dAv>a{>Sk%nx~?oC`09%t|A>nu_I(2(p82sMyBE_qMPB7LK$vFqlD`gMM-Fm zLJ_$xdPI?gBt$Y4@!RXQ&w6#7AHVy@@BY!S_TzERUeC4H-s|&zf7dzf+R^;lx^?R{ zxuIoJdQ$nMq@?8dSI+oXD%;6P$+0JvUpn|NSDYPpO8hH5{#BI6;@{$jt_z+J-i9}e zB{s_^?sb*S{fS4T?@j!!8a-wsb!H`pu|?8v+&|1!nJvBbXc zK0M_2d>{0Y(lJZIo$W@ojmJF8_L8Qv$J_v`!~^pV~m%WTQP-$oMr4&etUxL6Xm za3QXXo$4@T_;}{wzty{-j~o~L@;fvsIY)d?@bhw-ADpXV@%`~z%@}t{p%Y3Ca zcGu6`A0A&b7L=a2HI60jGyi&*;VmO*ZtArKIq|#6=T4diq;{EOBh;EYJL1YzBR# zw#pL4-%!Cne@}m_9XoY@=s!ccpqFK{+0EOYj}M2 z{o(QX&v1P9{o(QX&TxG8{o(O>&v1P9{o(O>&TxG8{o(Ps&v1P9{o(PsemOqn()f1b zUj>7W#J>w97f);_b?(x&TlZUg^t`QC?>>F|ovO@3e(!g6;{j8mK3wLYkJJX4?0k8Z zs#jFIGNXEpE^c*otD9Th-MZDS9&Y*Czr~H9kF=-{moDhT|JD>;AN;qK9MSc0%Jq>m z>f@9?az%aENASKaPnI`t;d{66JxlmdO8mIsyy*Ju?p#(o_>-fF!_vwh z3U>39^pn9>;ufAWeC_b{!_U8i`*2^`;3=74|Ln|L=I)fg1qUP!NzFVixJ&zanETUD zoCLxC94AkL;I(qbw}V^oVDMP3J%i_Tir)v1<$if`%Rg5eSNN9rcJP^ep5gIt!7VxK z|G1ji73K-&&K!f+37#7`+!s6}JU;vW;Q7Jv!7V&K^|ttcNlCYz%-oUs{)xcvp9sC@ z=fHb@4*kjTz@Hos-4%D$?S2X#Z}(I9ct2jhpReBzx6?OqzMDMX2F|y^^WDYk-{tG4 z;#57C^Ud{qv+yik^2cDFl0Sy?oQKcTOO6JQFF6`MJ_S$F-Enta0awsR$aBOzKa%H1 z^EAOt^ws!ky`8+<&HDlVKo7tJbWWU8FQ$*h_Hie^Q>Wk*{n@b~?`Oxtyid~CllC`?mcy z$IW$P+*r4x&vy2iic|G5`a5QSv+yik9aq<-acRAuzW3XA8hxhO=NS4LV_!LOPQ8(Q z8_k!F)AfDixz9WunZKj+x5lmYS@hk> zhST)Z%=@(SZeqSo&Nq|u&-DBqa0lHSH`m3v-imv@4Pbo+xIT4pUA>z;yUnu;@6xZ* z|EuwgNIwVdrw{I<<8kBjoiy)r_&GftPuF+gJM@M4LLDP-%)E`s+t|FL$urtK^_jQ6 z^X_N9{m!=+@706xU>#$9W3F#+*0ZyV&#cg#t`YmU_73iyieU-wc^ho*}X@C82KV28s)tBMR^alFcU|(Ix-^Kh}$-C9O zpW)B+{p7pfd{^Qt^)B-4GS3`5M_0fV^nUW~H{WN>`7Pr*}Z~?u7`BpgJbND&k2Di~ixIT|~eQv-T^c3<;F;7KYQ4b`~K=VAo zdOhKKwZUz42l90=Uk1+5X*f-fU_C~-9$z#6*UtYEeo4>7Gj$zYM}NrtA3Fak=3nLf zWjJ3M&v%^XANTp+(a(4G^B#Ur{{{a=Z{zj1`TE^)cU>3P)ida8hJB^ubp1K~d~QFT zSpQD0e*@e=SI5ij>qG56Ep0{ti$W{WIS14i?98~^mVO$eMtTf z&A*2HYs}vR_t1OkW3PSOjBnOgkfl_(}a|{AZmX=hw%{ zciep2n17q|KZ&2z595b*7xHy6-){2lHs3rvPZz~S^&#>eGH-j_URS^sbQ(_6)9GWn zeKf^Q^&;{vGH*VdPtPF#4D%mhJ&(AakCFE=^WK5)(2a3pU6Vd)+Q$>*eZsuua5-HX zm)1X#?)jD|)HmWA^=;(4&3x5yb)6IE)O*Rl*Zhm|V%-b((q(a3okBk;_OqP) z%gz5NepJ`T_4P{nSZN<8>Eon*Ou!R#AKXX3PG7Iv*NgZ?oq;oSQCw7iPk-Or-`n_Y zy_UY#+E+*1QP;+`^%nZsVn0oBQ(YVv*Kg9_oA$Ste)if=OY*if?;hsgm^X$Mo^egxk{Rne$hQ{;cj{Hw{k+Pv@M_w`Wn3^h-G++X*@{d9fiukZW^xPA|K z{cggW^kTeN{~iBbUyrZXC2>hTmV9H)w}E^c%r^uN(amvlT>)3n)5$;G{7rBZeKEdR zuOI#{=Yhz-6=yeZ7ER&|~pf{S$rsWFHgo1igg(OU(Z&epNq* zpVO^yEBzLIyk#F{a2cJ3)AR!RSzte};#c)}JYJ8+qxEn+Tz^WRpW5dnJW2P(ef2*2 z-e=#>97igua^CS29l4bLeM|{XC8z*CX*reHp$? zUy3i)AJWf<_R|PA(mTnw(|m1k8+{f&OTW$a_qNyH&G=?r8kg43)6etva~-};AE%$= z_OlQ#)X(B)bvay4KTO_-&HE4X{lk3s;Cu8A)_;fVKMIf1^>97ClKd;p{|0_T55Yrp z9-K#?q>q#K@e+PXm&fJxxAgO^{Vc=_^%OispP-Ku_E88I(i^$HHhO(+p|36Wl^^HV zbLnfYeZ^lc{`t)@`xuIc>aMt}9!LIh<{y9u=sDz_W8U55*=?SC@I873c~+R`J^Y^j zmifPR{tbA8o`GlR7Py7}n7kjGcOsssw~=p~`R0>nzIoO#?;7WAfE(zw%)8ckC$b(B zU60ndwQh!+>BhLRu7oS;FUj+zc}n0Cx)^zinWqRYqDPQ#g!!uCs`?;#4w|Pk?yL`! z@38q+;+1+np06LrkL!!bbCG%GG51UfKS#WNTHqGC5pJX(WZnmzw=6EJ zlX0^Ci1|KpzFxSOj^UUtiA(DK+f!_ zzoxjUu1Wry=I=(nZst3}yhoh(Q~as^H~zO?gV*TQc(uL<-=ouTntq-9ubcld{Fokt z$LRa;eL5Yd>&f&t+5Sf1QF*@b``yWStoxJJh-Ojw*op%PF zp&Q{wIt8cbe&p$Ao+O;4Hk^~0l%R8;=Z~buBSgC?Pzq?dM^FUwV%Owu>Owx-BO>w?q zc$lt+tLd?vf2`-Pfote$xSGC}d9HPyQmkhw*K-#0&2qlcc(l%s^Xu=K|9j`3jc4me z@uT_ze1ZO+Jl~sV2mS7_-&J^(UWga!kIDD3`JN%)Gv>R7eAk#S56+{PGS5=y`IdRU zb)I3IZ3cb*6E1Nts}m!8Oc6P@ooe4cJg|84DmD)Ucu z{_eQDZi<`gd-;8HufK0*k$0AP-y`39=9_>g=vL%wWxh(xU&;BWaK0&?uOV)z^W*%w z8S^xAo-(+ME`dwvLb#B=h52uB{@S>(PyT-OSe-x7HB=#r1jkJiV3tTh0G4ept7~ZFN2J*E9dQ*IU;y*^GK$L*sx?yX0Wf0X%~ z;3oPp`gqJfhLeA|`9C4=C+3}wr|W@upzee_>4oH7Xx`l9%Wb}%mK^J$3BYSB6=%%x0-hvo~AqF&iW~?ho`(A?!tHJM!1o#jce;y z$oqMop z30y+|!1elr*XtMf3wSzm@P({GahP4id9 zRdp#`N^hZ`E%q~ye&*RvJKRn;!A*1(Tt&Y{UvJsh06ai1p}!^eHwjPD6YvDRpFa27 zXDi%F*TS{*YWiDke=p(}bunB_zf6BG+uwTnS#Ljo#edZ?`ij|C5>C>`=;N4uJcFOn zkKjl2Xgpfi!nO1_^!JVZ{X{=M+0QP#OYgut^eXyU74{SS(hdK-eXt$>W7VlY1RMVY DX8Y3p literal 0 HcmV?d00001 diff --git a/mysql-test/std_data/ndb_backup50_data_le/BACKUP-1.1.ctl b/mysql-test/std_data/ndb_backup50_data_le/BACKUP-1.1.ctl new file mode 100644 index 0000000000000000000000000000000000000000..e2b8f4977ed13b1ae13ef7be312fd40e4aa8846d GIT binary patch literal 24644 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 literal 0 HcmV?d00001 diff --git a/mysql-test/std_data/ndb_backup50_data_le/BACKUP-1.1.log b/mysql-test/std_data/ndb_backup50_data_le/BACKUP-1.1.log new file mode 100644 index 0000000000000000000000000000000000000000..c8037dd453a93670e128e26b66dccdf41c05de08 GIT binary patch literal 44 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 literal 0 HcmV?d00001 diff --git a/mysql-test/std_data/ndb_backup50_data_le/BACKUP-1.2.log b/mysql-test/std_data/ndb_backup50_data_le/BACKUP-1.2.log new file mode 100644 index 0000000000000000000000000000000000000000..c8037dd453a93670e128e26b66dccdf41c05de08 GIT binary patch literal 44 rcmeZsadL9@4h>*nWzb?^U|> $NDB_TOOLS_OUTPUT +--exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b 1 -n 2 -r $MYSQL_TEST_DIR/std_data/ndb_backup50_data_le >> $NDB_TOOLS_OUTPUT +SHOW TABLES; +SHOW CREATE TABLE t_num; +SHOW CREATE TABLE t_datetime; +SHOW CREATE TABLE t_string_1; +SHOW CREATE TABLE t_string_2; +SHOW CREATE TABLE t_gis; +SELECT * FROM t_datetime; +SELECT t_pk,hex(t_bit),t_tinyint,t_bool,t_smallint,t_mediumint,t_int,t_bigint,t_float,t_double,t_decimal FROM t_num; +SELECT t_pk,t_char,t_varchar,hex(t_binary),hex(t_varbinary) FROM t_string_1; +SELECT * FROM t_string_2; +SELECT AsText(t_point), AsText(t_linestring),AsText(t_polygon) FROM t_gis ORDER by t_pk; +SELECT AsText(t_multipoint), AsText(t_multilinestring),AsText(t_multipolygon) FROM t_gis ORDER by t_pk; +SELECT AsText(t_geometrycollection), AsText(t_geometry) FROM t_gis ORDER by t_pk; + +# +# Restore backup files (from big endian) +# + +DROP TABLE t_num,t_datetime,t_string_1,t_string_2,t_gis; +--exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b 1 -n 1 -m -r $MYSQL_TEST_DIR/std_data/ndb_backup50_data_be >> $NDB_TOOLS_OUTPUT +--exec $NDB_TOOLS_DIR/ndb_restore --no-defaults -b 1 -n 2 -r $MYSQL_TEST_DIR/std_data/ndb_backup50_data_be >> $NDB_TOOLS_OUTPUT +SHOW TABLES; +SHOW CREATE TABLE t_num; +SHOW CREATE TABLE t_datetime; +SHOW CREATE TABLE t_string_1; +SHOW CREATE TABLE t_string_2; +SHOW CREATE TABLE t_gis; +SELECT * FROM t_datetime; +SELECT t_pk,hex(t_bit),t_tinyint,t_bool,t_smallint,t_mediumint,t_int,t_bigint,t_float,t_double,t_decimal FROM t_num; +SELECT t_pk,t_char,t_varchar,hex(t_binary),hex(t_varbinary) FROM t_string_1; +SELECT * FROM t_string_2; +SELECT AsText(t_point), AsText(t_linestring),AsText(t_polygon) FROM t_gis ORDER by t_pk; +SELECT AsText(t_multipoint), AsText(t_multilinestring),AsText(t_multipolygon) FROM t_gis ORDER by t_pk; +SELECT AsText(t_geometrycollection), AsText(t_geometry) FROM t_gis ORDER by t_pk; + +DROP TABLE t_num,t_datetime,t_string_1,t_string_2,t_gis; diff --git a/ndb/src/ndbapi/NdbDictionaryImpl.cpp b/ndb/src/ndbapi/NdbDictionaryImpl.cpp index 3fed04de26d..392abffa160 100644 --- a/ndb/src/ndbapi/NdbDictionaryImpl.cpp +++ b/ndb/src/ndbapi/NdbDictionaryImpl.cpp @@ -1220,7 +1220,8 @@ indexTypeMapping[] = { int NdbDictInterface::parseTableInfo(NdbTableImpl ** ret, const Uint32 * data, Uint32 len, - bool fullyQualifiedNames) + bool fullyQualifiedNames, + bool hostByteOrder) { DBUG_ENTER("NdbDictInterface::parseTableInfo"); @@ -1379,8 +1380,14 @@ NdbDictInterface::parseTableInfo(NdbTableImpl ** ret, if(tableDesc.FragmentDataLen > 0) { - Uint32 replicaCount = tableDesc.FragmentData[0]; - Uint32 fragCount = tableDesc.FragmentData[1]; + Uint16 replicaCount = tableDesc.FragmentData[0]; + Uint16 fragCount = tableDesc.FragmentData[1]; + + if(hostByteOrder == false) + { + replicaCount = ((replicaCount & 0xFF00) >> 8) |((replicaCount & 0x00FF) << 8); + fragCount = ((fragCount & 0xFF00) >> 8) |((fragCount & 0x00FF) << 8); + } impl->m_replicaCount = replicaCount; impl->m_fragmentCount = fragCount; diff --git a/ndb/src/ndbapi/NdbDictionaryImpl.hpp b/ndb/src/ndbapi/NdbDictionaryImpl.hpp index 819de921235..a8757b69472 100644 --- a/ndb/src/ndbapi/NdbDictionaryImpl.hpp +++ b/ndb/src/ndbapi/NdbDictionaryImpl.hpp @@ -262,7 +262,8 @@ public: static int parseTableInfo(NdbTableImpl ** dst, const Uint32 * data, Uint32 len, - bool fullyQualifiedNames); + bool fullyQualifiedNames, + bool hostByteOrder = true); static int create_index_obj_from_table(NdbIndexImpl ** dst, NdbTableImpl* index_table, diff --git a/ndb/tools/restore/Restore.cpp b/ndb/tools/restore/Restore.cpp index c07bfbc2bd4..b89d3e239c2 100644 --- a/ndb/tools/restore/Restore.cpp +++ b/ndb/tools/restore/Restore.cpp @@ -324,7 +324,11 @@ bool RestoreMetaData::parseTableDescriptor(const Uint32 * data, Uint32 len) { NdbTableImpl* tableImpl = 0; - int ret = NdbDictInterface::parseTableInfo(&tableImpl, data, len, false); + int ret = 0; + if(!m_hostByteOrder) + ret = NdbDictInterface::parseTableInfo(&tableImpl, data, len, false, false); + else + ret = NdbDictInterface::parseTableInfo(&tableImpl, data, len, false); if (ret != 0) { err << "parseTableInfo " << " failed" << endl; @@ -478,6 +482,10 @@ RestoreDataIterator::getNextTuple(int & res) attr_data->void_value = ptr; attr_data->size = 4*sz; + if(!m_hostByteOrder + && attr_desc->m_column->getType() == NdbDictionary::Column::Timestamp) + attr_data->u_int32_value[0] = Twiddle32(attr_data->u_int32_value[0]); + if(!Twiddle(attr_desc, attr_data)) { res = -1; @@ -520,6 +528,29 @@ RestoreDataIterator::getNextTuple(int & res) */ const Uint32 arraySize = (4 * sz) / (attr_desc->size / 8); assert(arraySize >= attr_desc->arraySize); + + //convert the length of blob(v1) and text(v1) + if(!m_hostByteOrder + && (attr_desc->m_column->getType() == NdbDictionary::Column::Blob + || attr_desc->m_column->getType() == NdbDictionary::Column::Text)) + { + char* p = (char*)&attr_data->u_int64_value[0]; + Uint64 x; + memcpy(&x, p, sizeof(Uint64)); + x = Twiddle64(x); + memcpy(p, &x, sizeof(Uint64)); + } + + if(!m_hostByteOrder + && attr_desc->m_column->getType() == NdbDictionary::Column::Datetime) + { + char* p = (char*)&attr_data->u_int64_value[0]; + Uint64 x; + memcpy(&x, p, sizeof(Uint64)); + x = Twiddle64(x); + memcpy(p, &x, sizeof(Uint64)); + } + if(!Twiddle(attr_desc, attr_data, attr_desc->arraySize)) { res = -1; From d48067537b55a2223fdb2c84c89f341f6f123853 Mon Sep 17 00:00:00 2001 From: "lzhou/zhl@dev3-63.(none)" <> Date: Mon, 20 Aug 2007 10:47:09 +0000 Subject: [PATCH 5/7] BUG#29674 add install data of the new test case in makefile.am --- mysql-test/Makefile.am | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/mysql-test/Makefile.am b/mysql-test/Makefile.am index 6c7207b0b2d..c9d4a5acead 100644 --- a/mysql-test/Makefile.am +++ b/mysql-test/Makefile.am @@ -48,7 +48,9 @@ INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I.. dist-hook: mkdir -p $(distdir)/t $(distdir)/r $(distdir)/include \ - $(distdir)/std_data $(distdir)/lib + $(distdir)/std_data \ + $(distdir)/std_data/ndb_backup50_data_be $(distdir)/std_data/ndb_backup50_data_le \ + $(distdir)/lib -$(INSTALL_DATA) $(srcdir)/t/*.def $(distdir)/t $(INSTALL_DATA) $(srcdir)/t/*.test $(distdir)/t -$(INSTALL_DATA) $(srcdir)/t/*.imtest $(distdir)/t @@ -66,6 +68,8 @@ dist-hook: $(INSTALL_DATA) $(srcdir)/std_data/*.frm $(distdir)/std_data $(INSTALL_DATA) $(srcdir)/std_data/*.MY* $(distdir)/std_data $(INSTALL_DATA) $(srcdir)/std_data/*.cnf $(distdir)/std_data + $(INSTALL_DATA) $(srcdir)/std_data/ndb_backup50_data_be/BACKUP* $(distdir)/std_data/ndb_backup50_data_be + $(INSTALL_DATA) $(srcdir)/std_data/ndb_backup50_data_le/BACKUP* $(distdir)/std_data/ndb_backup50_data_le $(INSTALL_DATA) $(srcdir)/lib/*.pl $(distdir)/lib -rm -rf `find $(distdir)/suite -type d -name SCCS` @@ -75,6 +79,8 @@ install-data-local: $(DESTDIR)$(testdir)/r \ $(DESTDIR)$(testdir)/include \ $(DESTDIR)$(testdir)/std_data \ + $(DESTDIR)$(testdir)/std_data/ndb_backup50_data_be \ + $(DESTDIR)$(testdir)/std_data/ndb_backup50_data_le \ $(DESTDIR)$(testdir)/lib $(INSTALL_DATA) $(srcdir)/README $(DESTDIR)$(testdir) -$(INSTALL_DATA) $(srcdir)/t/*.def $(DESTDIR)$(testdir)/t @@ -98,6 +104,8 @@ install-data-local: $(INSTALL_DATA) $(srcdir)/std_data/*.frm $(DESTDIR)$(testdir)/std_data $(INSTALL_DATA) $(srcdir)/std_data/*.MY* $(DESTDIR)$(testdir)/std_data $(INSTALL_DATA) $(srcdir)/std_data/*.cnf $(DESTDIR)$(testdir)/std_data + $(INSTALL_DATA) $(srcdir)/std_data/ndb_backup50_data_be/BACKUP* $(DESTDIR)$(testdir)/std_data/ndb_backup50_data_be + $(INSTALL_DATA) $(srcdir)/std_data/ndb_backup50_data_le/BACKUP* $(DESTDIR)$(testdir)/std_data/ndb_backup50_data_le $(INSTALL_DATA) $(srcdir)/lib/*.pl $(DESTDIR)$(testdir)/lib for f in `(cd $(srcdir); find suite -type f | grep -v SCCS)`; \ do \ From 2093858fff11fefc8a9dc5070a945e3dc5431e27 Mon Sep 17 00:00:00 2001 From: "lzhou/zhl@dev3-63.(none)" <> Date: Mon, 20 Aug 2007 14:57:04 +0000 Subject: [PATCH 6/7] BUG#29674 Remove warning in pushbuild in 5.0 --- ndb/src/ndbapi/NdbDictionaryImpl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ndb/src/ndbapi/NdbDictionaryImpl.cpp b/ndb/src/ndbapi/NdbDictionaryImpl.cpp index 3fed04de26d..e07b53a763e 100644 --- a/ndb/src/ndbapi/NdbDictionaryImpl.cpp +++ b/ndb/src/ndbapi/NdbDictionaryImpl.cpp @@ -1385,7 +1385,7 @@ NdbDictInterface::parseTableInfo(NdbTableImpl ** ret, impl->m_replicaCount = replicaCount; impl->m_fragmentCount = fragCount; - for(i = 0; i<(fragCount*replicaCount); i++) + for(i = 0; i<(Uint32) (fragCount*replicaCount); i++) { if (impl->m_fragments.push_back(tableDesc.FragmentData[i+2])) { From 461a3dccaca7e9435cf65071760b3e47bccfc63b Mon Sep 17 00:00:00 2001 From: "tomas@whalegate.ndb.mysql.com" <> Date: Wed, 12 Sep 2007 13:53:32 +0200 Subject: [PATCH 7/7] BUG#23354 revert --- ndb/src/common/debugger/EventLogger.cpp | 2 ++ ndb/src/mgmclient/CommandInterpreter.cpp | 10 +--------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/ndb/src/common/debugger/EventLogger.cpp b/ndb/src/common/debugger/EventLogger.cpp index c3bdb18dc06..6280d5bb9b3 100644 --- a/ndb/src/common/debugger/EventLogger.cpp +++ b/ndb/src/common/debugger/EventLogger.cpp @@ -91,6 +91,8 @@ void getRestartAction(Uint32 action, BaseString &str) if (action == 0) return; str.appfmt(", restarting"); + if (action & 2) + str.appfmt(", no start"); if (action & 4) str.appfmt(", initial"); } diff --git a/ndb/src/mgmclient/CommandInterpreter.cpp b/ndb/src/mgmclient/CommandInterpreter.cpp index 8d3e046c9ad..1036461d404 100644 --- a/ndb/src/mgmclient/CommandInterpreter.cpp +++ b/ndb/src/mgmclient/CommandInterpreter.cpp @@ -2168,15 +2168,7 @@ CommandInterpreter::executeRestart(Vector &command_list, ndbout << "Node"; for (int i= 0; i < no_of_nodes; i++) ndbout << " " << node_ids[i]; - ndbout_c(": Is being restarted"); - - ndbout << "Node"; - for (int i= 0; i < no_of_nodes; i++) - ndbout << " " << node_ids[i]; - if (nostart) - ndbout_c(": No start"); - else - ndbout_c(": Is rejoining the cluster"); + ndbout_c(" is being restarted"); } if(need_disconnect) disconnect();