diff options
-rw-r--r-- | mysql-test/r/ndb_config.result | 3 | ||||
-rw-r--r-- | mysql-test/std_data/ndb_config_mycnf1.cnf | 15 | ||||
-rw-r--r-- | mysql-test/t/ndb_config.test | 2 | ||||
-rw-r--r-- | ndb/src/mgmsrv/InitConfigFileParser.cpp | 2 | ||||
-rw-r--r-- | ndb/tools/ndb_config.cpp | 25 |
5 files changed, 42 insertions, 5 deletions
diff --git a/mysql-test/r/ndb_config.result b/mysql-test/r/ndb_config.result index d8e1dc2aad2..629d37f1e5e 100644 --- a/mysql-test/r/ndb_config.result +++ b/mysql-test/r/ndb_config.result @@ -3,4 +3,5 @@ ndbd,1,localhost ndbd,2,localhost ndb_mgmd,3,localhost mysqld,4, mysqld,5, mysql 1 localhost 41943040 12582912 2 localhost 41943040 12582912 1 2 -ndbd,1,localhost ndbd,2,localhost ndb_mgmd,3, mysqld,4, mysqld,5, mysqld,6, mysqld,7, +ndbd,1,localhost ndbd,2,localhost ndb_mgmd,3,localhost mysqld,4, mysqld,5, mysqld,6, mysqld,7, +ndbd,1,localhost,52428800,26214400 ndbd,2,localhost,52428800,36700160 ndbd,3,localhost,52428800,52428800 ndbd,4,localhost,52428800,52428800 ndb_mgmd,5,localhost,, mysqld,6,localhost,, diff --git a/mysql-test/std_data/ndb_config_mycnf1.cnf b/mysql-test/std_data/ndb_config_mycnf1.cnf new file mode 100644 index 00000000000..c680bfd8fa3 --- /dev/null +++ b/mysql-test/std_data/ndb_config_mycnf1.cnf @@ -0,0 +1,15 @@ +[cluster_config] +NoOfReplicas=1 +DataMemory=50M + +[cluster_config.jonas] +IndexMemory=50M +ndbd = localhost,localhost,localhost,localhost +ndb_mgmd = localhost +mysqld = localhost + +[cluster_config.ndbd.1] +DataMemory=25M + +[cluster_config.ndbd.2.jonas] +DataMemory=35M diff --git a/mysql-test/t/ndb_config.test b/mysql-test/t/ndb_config.test index 2c919fbd70c..9d1c107472f 100644 --- a/mysql-test/t/ndb_config.test +++ b/mysql-test/t/ndb_config.test @@ -9,3 +9,5 @@ --exec $NDB_TOOLS_DIR/ndb_config --no-defaults --query=type,nodeid,host --config-file=$NDB_BACKUP_DIR/config.ini 2> /dev/null # End of 4.1 tests + +--exec $NDB_TOOLS_DIR/ndb_config --defaults-group-suffix=.jonas --defaults-file=$MYSQL_TEST_DIR/std_data/ndb_config_mycnf1.cnf --query=type,nodeid,host,IndexMemory,DataMemory --mycnf 2> /dev/null diff --git a/ndb/src/mgmsrv/InitConfigFileParser.cpp b/ndb/src/mgmsrv/InitConfigFileParser.cpp index 00c094f83ad..233458ddf83 100644 --- a/ndb/src/mgmsrv/InitConfigFileParser.cpp +++ b/ndb/src/mgmsrv/InitConfigFileParser.cpp @@ -843,7 +843,7 @@ InitConfigFileParser::parse_mycnf() } - Context ctx(m_info); + Context ctx(m_info, m_errstream); const char *groups[]= { "cluster_config", 0 }; if (load_defaults(options, groups)) goto end; diff --git a/ndb/tools/ndb_config.cpp b/ndb/tools/ndb_config.cpp index 457021a4ec4..c7c87f8cc37 100644 --- a/ndb/tools/ndb_config.cpp +++ b/ndb/tools/ndb_config.cpp @@ -41,6 +41,7 @@ static const char * g_host = 0; static const char * g_field_delimiter=","; static const char * g_row_delimiter=" "; static const char * g_config_file = 0; +static int g_mycnf = 0; int g_print_full_config, opt_ndb_shm; my_bool opt_core; @@ -94,6 +95,9 @@ static struct my_option my_long_options[] = { "config-file", 256, "Path to config.ini", (gptr*) &g_config_file, (gptr*) &g_config_file, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, + { "mycnf", 256, "Read config from my.cnf", + (gptr*) &g_mycnf, (gptr*) &g_mycnf, + 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0} }; @@ -163,11 +167,16 @@ main(int argc, char** argv){ ndb_mgm_configuration * conf = 0; - if (g_config_file) + if (g_config_file || g_mycnf) conf = load_configuration(); else conf = fetch_configuration(); + if (conf == 0) + { + return -1; + } + Vector<Apply*> select_list; Vector<Match*> where_clause; @@ -437,10 +446,20 @@ ndb_mgm_configuration* load_configuration() { InitConfigFileParser parser(stderr); + if (g_config_file) + { + if (g_verbose) + fprintf(stderr, "Using config.ini : %s", g_config_file); + + Config* conf = parser.parseConfig(g_config_file); + if (conf) + return conf->m_configValues; + } + if (g_verbose) - fprintf(stderr, "Using config.ini : %s", g_config_file); + fprintf(stderr, "Using my.cnf"); - Config* conf = parser.parseConfig(g_config_file); + Config* conf = parser.parse_mycnf(); if (conf) return conf->m_configValues; |