diff options
author | unknown <tomas@poseidon.(none)> | 2004-08-23 16:29:04 +0000 |
---|---|---|
committer | unknown <tomas@poseidon.(none)> | 2004-08-23 16:29:04 +0000 |
commit | 1091fe23f63cbc7e2431edcab99ba98726b4c4a9 (patch) | |
tree | 127fc36efc8bcbc74d47a4b71649045dedbd609d | |
parent | b6d9222da3c2b0f6ec33efa6e16359b1630bad4a (diff) | |
download | mariadb-git-1091fe23f63cbc7e2431edcab99ba98726b4c4a9.tar.gz |
further simplifications of ndb config and aligned usage of mysql datadir in ndb
acinclude.m4:
added configure switch for ndb base port
configure.in:
ndb gcc compile now works with -fno-implicit-templates
mysql-test/ndb/ndb_config_2_node.ini:
further simplifications of config, removed need for [COMPUTER] section
ndb/include/ndb_global.h:
moved this to configure option
ndb/src/common/mgmcommon/ConfigInfo.cpp:
changed config to take to take strings instead of ints
ndb/src/common/mgmcommon/ConfigInfo.hpp:
changed config to take to take strings instead of ints
ndb/src/common/mgmcommon/InitConfigFileParser.cpp:
string to number convert to accept "0x" prefix on numbers
ndb/src/common/mgmcommon/InitConfigFileParser.hpp:
movet convert function to public and static
ndb/src/common/mgmcommon/LocalConfig.cpp:
define NDB_BASE_PORT now string instead of number
ndb/src/common/mgmcommon/Makefile.am:
added mysqld defines in mgmcommon to be able to configure default data dir to be the same as for mysqld
-rw-r--r-- | acinclude.m4 | 5 | ||||
-rw-r--r-- | configure.in | 9 | ||||
-rw-r--r-- | mysql-test/ndb/ndb_config_2_node.ini | 12 | ||||
-rw-r--r-- | ndb/include/ndb_global.h | 1 | ||||
-rw-r--r-- | ndb/src/common/mgmcommon/ConfigInfo.cpp | 767 | ||||
-rw-r--r-- | ndb/src/common/mgmcommon/ConfigInfo.hpp | 10 | ||||
-rw-r--r-- | ndb/src/common/mgmcommon/InitConfigFileParser.cpp | 16 | ||||
-rw-r--r-- | ndb/src/common/mgmcommon/InitConfigFileParser.hpp | 5 | ||||
-rw-r--r-- | ndb/src/common/mgmcommon/LocalConfig.cpp | 2 | ||||
-rw-r--r-- | ndb/src/common/mgmcommon/Makefile.am | 9 |
10 files changed, 435 insertions, 401 deletions
diff --git a/acinclude.m4 b/acinclude.m4 index 11f5d07200a..d19942ce4e4 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1515,6 +1515,11 @@ AC_DEFUN([MYSQL_CHECK_NDB_OPTIONS], [ --with-ndb-docs Include the NDB Cluster ndbapi and mgmapi documentation], [ndb_docs="$withval"], [ndb_docs=no]) + AC_ARG_WITH([ndb-port-base], + [ + --with-ndb-port-base Base port for NDB Cluster], + [ndb_port_base="$withval"], + [ndb_port_base="default"]) AC_MSG_CHECKING([for NDB Cluster options]) AC_MSG_RESULT([]) diff --git a/configure.in b/configure.in index 664ffd2a4a1..f58ba482c59 100644 --- a/configure.in +++ b/configure.in @@ -389,8 +389,6 @@ then # Disable exceptions as they seams to create problems with gcc and threads. # mysqld doesn't use run-time-type-checking, so we disable it. CXXFLAGS="$CXXFLAGS -fno-implicit-templates -fno-exceptions -fno-rtti" - # ndb cannot be compiled with -fno-implicit-templaces - ndb_cxxflags_fix="$ndb_cxxflags_fix -fimplicit-templates" # If you are using 'gcc' 3.0 (not g++) to compile C++ programs on Linux, # we will gets some problems when linking static programs. @@ -2985,6 +2983,13 @@ then AC_SUBST([NDB_DEFS]) AC_SUBST([ndb_cxxflags_fix]) + +if test X"$ndb_port_base" = Xdefault +then + ndb_port_base="2200" +fi +AC_SUBST([ndb_port_base]) + ndb_transporter_opt_objs="" if test X"$have_ndb_shm" = Xyes then diff --git a/mysql-test/ndb/ndb_config_2_node.ini b/mysql-test/ndb/ndb_config_2_node.ini index 259a1741710..03a94bf5a94 100644 --- a/mysql-test/ndb/ndb_config_2_node.ini +++ b/mysql-test/ndb/ndb_config_2_node.ini @@ -7,19 +7,11 @@ Diskless: CHOOSE_Diskless TimeBetweenWatchDogCheck: 30000 FileSystemPath: CHOOSE_FILESYSTEM -[COMPUTER] -Id: 1 -HostName: CHOOSE_HOSTNAME_1 - -[COMPUTER] -Id: 2 -HostName: CHOOSE_HOSTNAME_2 - [DB] -ExecuteOnComputer: 1 +HostName: CHOOSE_HOSTNAME_1 [DB] -ExecuteOnComputer: 2 +HostName: CHOOSE_HOSTNAME_2 [MGM] PortNumber: CHOOSE_PORT_MGM diff --git a/ndb/include/ndb_global.h b/ndb/include/ndb_global.h index 038950a7a32..68ea0943935 100644 --- a/ndb/include/ndb_global.h +++ b/ndb/include/ndb_global.h @@ -3,7 +3,6 @@ #define NDBGLOBAL_H #include <my_global.h> -#define NDB_BASE_PORT 2200 /** signal & SIG_PIPE */ #include <my_alarm.h> diff --git a/ndb/src/common/mgmcommon/ConfigInfo.cpp b/ndb/src/common/mgmcommon/ConfigInfo.cpp index 997c26a95d6..1ff43d1485c 100644 --- a/ndb/src/common/mgmcommon/ConfigInfo.cpp +++ b/ndb/src/common/mgmcommon/ConfigInfo.cpp @@ -18,10 +18,15 @@ #include "ConfigInfo.hpp" #include <mgmapi_config_parameters.h> #include <ndb_limits.h> +#include "InitConfigFileParser.hpp" #define MAX_LINE_LENGTH 255 #define KEY_INTERNAL 0 -#define MAX_INT_RNIL (RNIL - 1) + +#define RNIL_STRING "0xffffff00" +#define MAX_INT_RNIL_STRING "0xfffffeff" +#define MAX_NODES_STRING "63" + /**************************************************************************** * Section names ****************************************************************************/ @@ -207,6 +212,7 @@ const DepricationTransform f_deprication[] = { * Parameters used under development should be marked "NOTIMPLEMENTED" * ******************************************************************* */ + const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { /**************************************************************************** @@ -232,8 +238,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, MANDATORY, - 0, - 0 }, + 0, 0 }, { KEY_INTERNAL, @@ -244,8 +249,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, MANDATORY, - 0, - MAX_INT_RNIL }, + 0, 0 }, /**************************************************************************** * SYSTEM @@ -258,9 +262,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::SECTION, - CFG_SECTION_SYSTEM, - 0, - 0 }, + (const char *)CFG_SECTION_SYSTEM, + 0, 0 }, { CFG_SYS_NAME, @@ -271,8 +274,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, MANDATORY, - 0, - 0 }, + 0, 0 }, { CFG_SYS_REPLICATION_ROLE, @@ -283,8 +285,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, UNDEFINED, - 0, - 0 }, + 0, 0 }, { CFG_SYS_PRIMARY_MGM_NODE, @@ -294,9 +295,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 0, - 0, - MAX_INT_RNIL }, + "0", + "0", + MAX_INT_RNIL_STRING }, { CFG_SYS_CONFIG_GENERATION, @@ -306,9 +307,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 0, - 0, - MAX_INT_RNIL }, + "0", + "0", + MAX_INT_RNIL_STRING }, /*************************************************************************** * DB @@ -321,8 +322,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::SECTION, - NODE_TYPE_DB, - 0, 0 + (const char *)NODE_TYPE_DB, + 0, 0 }, { @@ -334,8 +335,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, UNDEFINED, - 0, - MAX_INT_RNIL }, + 0, 0 }, { CFG_NODE_SYSTEM, @@ -346,8 +346,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, UNDEFINED, - 0, - MAX_INT_RNIL }, + 0, 0 }, { CFG_NODE_ID, @@ -358,8 +357,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::INT, MANDATORY, - 1, - (MAX_NODES - 1) }, + "1", + MAX_NODES_STRING }, { KEY_INTERNAL, @@ -370,8 +369,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::INT, UNDEFINED, - 1, - 65535 }, + "1", + MAX_INT_RNIL_STRING }, { CFG_DB_NO_REPLICAS, @@ -382,8 +381,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::INT, MANDATORY, - 1, - 4 }, + "1", + "4" }, { CFG_DB_NO_ATTRIBUTES, @@ -393,9 +392,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 1000, - 32, - MAX_INT_RNIL/16 }, + "1000", + "32", + MAX_INT_RNIL_STRING }, { CFG_DB_NO_TABLES, @@ -405,9 +404,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 128, - 8, - MAX_INT_RNIL }, + "128", + "8", + MAX_INT_RNIL_STRING }, { CFG_DB_NO_INDEXES, @@ -417,9 +416,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 128, - 0, - MAX_INT_RNIL }, + "128", + "0", + MAX_INT_RNIL_STRING }, { CFG_DB_NO_INDEX_OPS, @@ -429,9 +428,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 8192, - 0, - MAX_INT_RNIL + "8K", + "0", + MAX_INT_RNIL_STRING }, { @@ -442,9 +441,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 768, - 0, - MAX_INT_RNIL }, + "768", + "0", + MAX_INT_RNIL_STRING }, { CFG_DB_NO_TRIGGER_OPS, @@ -454,9 +453,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 4000, - 0, - MAX_INT_RNIL }, + "4000", + "0", + MAX_INT_RNIL_STRING }, { KEY_INTERNAL, @@ -466,9 +465,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::STRING, - MANDATORY, - 0, - MAX_INT_RNIL }, + UNDEFINED, + 0, 0 }, { CFG_DB_NO_SAVE_MSGS, @@ -478,9 +476,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, true, ConfigInfo::INT, - 25, - 0, - MAX_INT_RNIL }, + "25", + "0", + MAX_INT_RNIL_STRING }, { CFG_DB_MEMLOCK, @@ -490,9 +488,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, true, ConfigInfo::BOOL, - false, - 0, - MAX_INT_RNIL }, + "false", + "false", + "true" }, { CFG_DB_WATCHDOG_INTERVAL, @@ -502,9 +500,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, true, ConfigInfo::INT, - 6000, - 70, - MAX_INT_RNIL }, + "6000", + "70", + MAX_INT_RNIL_STRING }, { CFG_DB_STOP_ON_ERROR, @@ -514,9 +512,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, true, ConfigInfo::BOOL, - true, - 0, - MAX_INT_RNIL }, + "true", + "false", + "true" }, { CFG_DB_STOP_ON_ERROR_INSERT, @@ -526,9 +524,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::INTERNAL, true, ConfigInfo::INT, - 2, - 0, - 4 }, + "2", + "0", + "4" }, { CFG_DB_NO_OPS, @@ -538,9 +536,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 32768, - 32, - MAX_INT_RNIL }, + "32K", + "32", + MAX_INT_RNIL_STRING }, { CFG_DB_NO_TRANSACTIONS, @@ -550,9 +548,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 4096, - 32, - MAX_INT_RNIL }, + "4096", + "32", + MAX_INT_RNIL_STRING }, { CFG_DB_NO_SCANS, @@ -562,9 +560,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 256, - 2, - 500 }, + "256", + "2", + "500" }, { CFG_DB_TRANS_BUFFER_MEM, @@ -574,9 +572,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - (1024 * 1024), - 1024, - MAX_INT_RNIL }, + "1M", + "1K", + MAX_INT_RNIL_STRING }, { CFG_DB_INDEX_MEM, @@ -586,9 +584,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT64, - 3 * 1024 * 8192, - 128 * 8192, - ((Uint64)MAX_INT_RNIL) * ((Uint64)8192) }, + "18M", + "1M", + "1024G" }, { CFG_DB_DATA_MEM, @@ -598,9 +596,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT64, - 10 * 1024 * 8192, - 128 * 8192, - ((Uint64)MAX_INT_RNIL) * ((Uint64)8192) }, + "80M", + "1M", + "1024G" }, { CFG_DB_START_PARTIAL_TIMEOUT, @@ -610,9 +608,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, true, ConfigInfo::INT, - 30000, - 0, - ~0 }, + "30000", + "0", + MAX_INT_RNIL_STRING }, { CFG_DB_START_PARTITION_TIMEOUT, @@ -622,9 +620,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, true, ConfigInfo::INT, - 60000, - 0, - ~0 }, + "60000", + "0", + MAX_INT_RNIL_STRING }, { CFG_DB_START_FAILURE_TIMEOUT, @@ -634,9 +632,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, true, ConfigInfo::INT, - 0, - 0, - ~0 }, + "0", + "0", + MAX_INT_RNIL_STRING }, { CFG_DB_HEARTBEAT_INTERVAL, @@ -646,9 +644,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, true, ConfigInfo::INT, - 1500, - 10, - MAX_INT_RNIL }, + "1500", + "10", + MAX_INT_RNIL_STRING }, { CFG_DB_API_HEARTBEAT_INTERVAL, @@ -658,9 +656,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, true, ConfigInfo::INT, - 1500, - 100, - MAX_INT_RNIL }, + "1500", + "100", + MAX_INT_RNIL_STRING }, { CFG_DB_LCP_INTERVAL, @@ -670,9 +668,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, true, ConfigInfo::INT, - 20, - 0, - 31 }, + "20", + "0", + "31" }, { CFG_DB_GCP_INTERVAL, @@ -682,9 +680,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, true, ConfigInfo::INT, - 2000, - 10, - 32000 }, + "2000", + "10", + "32000" }, { CFG_DB_NO_REDOLOG_FILES, @@ -694,9 +692,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 8, - 1, - MAX_INT_RNIL }, + "8", + "1", + MAX_INT_RNIL_STRING }, { KEY_INTERNAL, @@ -706,9 +704,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 40, - 20, - 256 }, + "40", + "20", + "256" }, { @@ -719,9 +717,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, true, ConfigInfo::INT, - 1000, - 1000, - MAX_INT_RNIL }, + "1000", + "1000", + MAX_INT_RNIL_STRING }, { CFG_DB_TRANSACTION_INACTIVE_TIMEOUT, @@ -735,9 +733,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, true, ConfigInfo::INT, - MAX_INT_RNIL, - 0, - MAX_INT_RNIL }, + MAX_INT_RNIL_STRING, + "0", + MAX_INT_RNIL_STRING }, { CFG_DB_TRANSACTION_DEADLOCK_TIMEOUT, @@ -750,9 +748,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, true, ConfigInfo::INT, - 1200, - 50, - MAX_INT_RNIL }, + "1200", + "50", + MAX_INT_RNIL_STRING }, { KEY_INTERNAL, @@ -762,9 +760,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, true, ConfigInfo::INT, - 40, - 1, - MAX_INT_RNIL }, + "40", + "1", + MAX_INT_RNIL_STRING }, { KEY_INTERNAL, @@ -774,9 +772,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, true, ConfigInfo::INT, - 40, - 1, - MAX_INT_RNIL }, + "40", + "1", + MAX_INT_RNIL_STRING }, { KEY_INTERNAL, @@ -786,9 +784,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, true, ConfigInfo::INT, - 20, - 1, - MAX_INT_RNIL }, + "20", + "1", + MAX_INT_RNIL_STRING }, { KEY_INTERNAL, @@ -798,9 +796,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, true, ConfigInfo::INT, - 20, - 1, - MAX_INT_RNIL }, + "20", + "1", + MAX_INT_RNIL_STRING }, { @@ -811,9 +809,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, true, ConfigInfo::BOOL, - 0, - 0, - 1}, + "false", + "false", + "true"}, { KEY_INTERNAL, @@ -823,9 +821,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::DEPRICATED, true, ConfigInfo::BOOL, - 0, - 0, - 1}, + "false", + "false", + "true"}, @@ -837,9 +835,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 3000, - 10, - MAX_INT_RNIL }, + "3000", + "10", + MAX_INT_RNIL_STRING }, { CFG_DB_FILESYSTEM_PATH, @@ -850,8 +848,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, UNDEFINED, - 0, - MAX_INT_RNIL }, + 0, 0 }, { CFG_LOGLEVEL_STARTUP, @@ -861,9 +858,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 1, - 0, - 15 }, + "1", + "0", + "15" }, { CFG_LOGLEVEL_SHUTDOWN, @@ -873,9 +870,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 0, - 0, - 15 }, + "0", + "0", + "15" }, { CFG_LOGLEVEL_STATISTICS, @@ -885,9 +882,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 0, - 0, - 15 }, + "0", + "0", + "15" }, { CFG_LOGLEVEL_CHECKPOINT, @@ -897,9 +894,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 0, - 0, - 15 }, + "0", + "0", + "15" }, { CFG_LOGLEVEL_NODERESTART, @@ -909,9 +906,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 0, - 0, - 15 }, + "0", + "0", + "15" }, { CFG_LOGLEVEL_CONNECTION, @@ -921,9 +918,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 0, - 0, - 15 }, + "0", + "0", + "15" }, { CFG_LOGLEVEL_ERROR, @@ -933,9 +930,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 0, - 0, - 15 }, + "0", + "0", + "15" }, { CFG_LOGLEVEL_INFO, @@ -945,9 +942,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 0, - 0, - 15 }, + "0", + "0", + "15" }, /** * Backup @@ -960,9 +957,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::NOTIMPLEMENTED, false, ConfigInfo::INT, - 1, - 1, - 1 }, + "1", + "1", + "1" }, { CFG_DB_BACKUP_MEM, @@ -972,9 +969,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - (2 * 1024 * 1024) + (2 * 1024 * 1024), // sum of BackupDataBufferSize and BackupLogBufferSize - 0, - MAX_INT_RNIL }, + "4M", // sum of BackupDataBufferSize and BackupLogBufferSize + "0", + MAX_INT_RNIL_STRING }, { CFG_DB_BACKUP_DATA_BUFFER_MEM, @@ -984,9 +981,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - (2 * 1024 * 1024), // remember to change BackupMemory - 0, - MAX_INT_RNIL }, + "2M", // remember to change BackupMemory + "0", + MAX_INT_RNIL_STRING }, { CFG_DB_BACKUP_LOG_BUFFER_MEM, @@ -996,9 +993,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - (2 * 1024 * 1024), // remember to change BackupMemory - 0, - MAX_INT_RNIL }, + "2M", // remember to change BackupMemory + "0", + MAX_INT_RNIL_STRING }, { CFG_DB_BACKUP_WRITE_SIZE, @@ -1008,9 +1005,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 32768, - 0, - MAX_INT_RNIL }, + "32K", + "0", + MAX_INT_RNIL_STRING }, /*************************************************************************** * REP @@ -1023,8 +1020,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::SECTION, - NODE_TYPE_REP, - 0, 0 + (const char *)NODE_TYPE_REP, + 0, 0 }, { @@ -1036,8 +1033,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, UNDEFINED, - 0, - MAX_INT_RNIL }, + 0, 0 }, { CFG_NODE_SYSTEM, @@ -1048,8 +1044,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, UNDEFINED, - 0, - MAX_INT_RNIL }, + 0, 0 }, { CFG_NODE_ID, @@ -1060,8 +1055,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::INT, MANDATORY, - 1, - (MAX_NODES - 1) }, + "1", + MAX_NODES_STRING }, { KEY_INTERNAL, @@ -1072,8 +1067,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, MANDATORY, - 0, - MAX_INT_RNIL }, + 0, 0 }, { CFG_REP_HEARTBEAT_INTERVAL, @@ -1083,9 +1077,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, true, ConfigInfo::INT, - 3000, - 100, - MAX_INT_RNIL }, + "3000", + "100", + MAX_INT_RNIL_STRING }, /*************************************************************************** * API @@ -1098,8 +1092,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::SECTION, - NODE_TYPE_API, - 0, 0 + (const char *)NODE_TYPE_API, + 0, 0 }, { @@ -1111,8 +1105,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, UNDEFINED, - 0, - MAX_INT_RNIL }, + 0, 0 }, { CFG_NODE_SYSTEM, @@ -1123,8 +1116,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, UNDEFINED, - 0, - MAX_INT_RNIL }, + 0, 0 }, { CFG_NODE_ID, @@ -1135,8 +1127,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::INT, MANDATORY, - 1, - (MAX_NODES - 1) }, + "1", + MAX_NODES_STRING }, { KEY_INTERNAL, @@ -1146,9 +1138,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::STRING, - 0, - 0, - MAX_INT_RNIL }, + UNDEFINED, + 0, 0 }, { CFG_NODE_ARBIT_RANK, @@ -1158,9 +1149,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 0, - 0, - 2 }, + "0", + "0", + "2" }, { CFG_NODE_ARBIT_DELAY, @@ -1170,9 +1161,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 0, - 0, - MAX_INT_RNIL }, + "0", + "0", + MAX_INT_RNIL_STRING }, /**************************************************************************** * MGM @@ -1185,8 +1176,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::SECTION, - NODE_TYPE_MGM, - 0, 0 + (const char *)NODE_TYPE_MGM, + 0, 0 }, { @@ -1198,8 +1189,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, UNDEFINED, - 0, - MAX_INT_RNIL }, + 0, 0 }, { CFG_NODE_SYSTEM, @@ -1210,8 +1200,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, UNDEFINED, - 0, - MAX_INT_RNIL }, + 0, 0 }, { CFG_NODE_ID, @@ -1222,8 +1211,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::INT, MANDATORY, - 1, - (MAX_NODES - 1) }, + "1", + MAX_NODES_STRING }, { CFG_LOG_DESTINATION, @@ -1234,8 +1223,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, 0, - 0, - MAX_INT_RNIL }, + 0, 0 }, { KEY_INTERNAL, @@ -1246,9 +1234,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, 0, - 0, - MAX_INT_RNIL }, - + 0, 0 }, + { KEY_INTERNAL, "MaxNoOfSavedEvents", @@ -1257,9 +1244,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 100, - 0, - MAX_INT_RNIL }, + "100", + "0", + MAX_INT_RNIL_STRING }, { CFG_MGM_PORT, @@ -1270,8 +1257,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::INT, NDB_BASE_PORT, - 0, - MAX_INT_RNIL }, + "0", + MAX_INT_RNIL_STRING }, { KEY_INTERNAL, @@ -1281,9 +1268,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 2199, - 0, - MAX_INT_RNIL }, + "2199", + "0", + MAX_INT_RNIL_STRING }, { CFG_NODE_ARBIT_RANK, @@ -1293,9 +1280,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 1, - 0, - 2 }, + "1", + "0", + "2" }, { CFG_NODE_ARBIT_DELAY, @@ -1305,9 +1292,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 0, - 0, - MAX_INT_RNIL }, + "0", + "0", + MAX_INT_RNIL_STRING }, /**************************************************************************** * TCP @@ -1320,8 +1307,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::SECTION, - CONNECTION_TYPE_TCP, - 0, 0 + (const char *)CONNECTION_TYPE_TCP, + 0, 0 }, { @@ -1333,8 +1320,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, UNDEFINED, - 0, - MAX_INT_RNIL }, + 0, 0 }, { CFG_TCP_HOSTNAME_2, @@ -1345,8 +1331,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, UNDEFINED, - 0, - MAX_INT_RNIL }, + 0, 0 }, { CFG_CONNECTION_NODE_1, @@ -1357,8 +1342,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, MANDATORY, - 0, - MAX_INT_RNIL }, + 0, 0 }, { CFG_CONNECTION_NODE_2, @@ -1369,8 +1353,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, MANDATORY, - 0, - MAX_INT_RNIL }, + 0, 0 }, { CFG_CONNECTION_SEND_SIGNAL_ID, @@ -1380,9 +1363,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::BOOL, - true, - 0, - MAX_INT_RNIL }, + "true", + "false", + "true" }, { @@ -1393,9 +1376,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::BOOL, - false, - 0, - MAX_INT_RNIL }, + "false", + "false", + "true" }, { CFG_CONNECTION_SERVER_PORT, @@ -1406,8 +1389,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::INT, MANDATORY, - 0, - MAX_INT_RNIL }, + "0", + MAX_INT_RNIL_STRING }, { CFG_TCP_SEND_BUFFER_SIZE, @@ -1417,9 +1400,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 16 * 16384, - 1 * 16384, - MAX_INT_RNIL }, + "256K", + "16K", + MAX_INT_RNIL_STRING }, { CFG_TCP_RECEIVE_BUFFER_SIZE, @@ -1429,9 +1412,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 4 * 16384, - 1 * 16384, - MAX_INT_RNIL }, + "64K", + "16K", + MAX_INT_RNIL_STRING }, { CFG_TCP_PROXY, @@ -1442,8 +1425,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, UNDEFINED, - 0, - 0 }, + 0, 0 }, { CFG_CONNECTION_NODE_1_SYSTEM, @@ -1454,8 +1436,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, UNDEFINED, - 0, - MAX_INT_RNIL }, + 0, 0 }, { CFG_CONNECTION_NODE_2_SYSTEM, @@ -1466,8 +1447,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, UNDEFINED, - 0, - MAX_INT_RNIL }, + 0, 0 }, /**************************************************************************** @@ -1481,9 +1461,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::SECTION, - CONNECTION_TYPE_SHM, - 0, 0 - }, + (const char *)CONNECTION_TYPE_SHM, + 0, 0 }, { CFG_CONNECTION_NODE_1, @@ -1494,8 +1473,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, MANDATORY, - 0, - MAX_INT_RNIL }, + 0, 0 }, { CFG_CONNECTION_SERVER_PORT, @@ -1506,8 +1484,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::INT, MANDATORY, - 0, - MAX_INT_RNIL }, + "0", + MAX_INT_RNIL_STRING }, { CFG_CONNECTION_NODE_2, @@ -1518,8 +1496,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, MANDATORY, - 0, - MAX_INT_RNIL }, + 0, 0 }, { CFG_CONNECTION_SEND_SIGNAL_ID, @@ -1529,9 +1506,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::BOOL, - false, - 0, - MAX_INT_RNIL }, + "false", + "false", + "true" }, { @@ -1542,9 +1519,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::BOOL, - true, - 0, - MAX_INT_RNIL }, + "true", + "false", + "true" }, { CFG_SHM_KEY, @@ -1555,8 +1532,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::INT, MANDATORY, - 0, - MAX_INT_RNIL }, + "0", + MAX_INT_RNIL_STRING }, { CFG_SHM_BUFFER_MEM, @@ -1566,10 +1543,10 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 1048576, - 4096, - MAX_INT_RNIL }, - + "1M", + "4K", + MAX_INT_RNIL_STRING }, + { CFG_CONNECTION_NODE_1_SYSTEM, "NodeId1_System", @@ -1579,8 +1556,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, UNDEFINED, - 0, - MAX_INT_RNIL }, + 0, 0 }, { CFG_CONNECTION_NODE_2_SYSTEM, @@ -1591,8 +1567,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, UNDEFINED, - 0, - MAX_INT_RNIL }, + 0, 0 }, /**************************************************************************** * SCI @@ -1605,7 +1580,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::SECTION, - CONNECTION_TYPE_SCI, + (const char *)CONNECTION_TYPE_SCI, 0, 0 }, @@ -1618,8 +1593,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::INT, MANDATORY, - 0, - MAX_INT_RNIL }, + "0", + MAX_INT_RNIL_STRING }, { CFG_CONNECTION_NODE_2, @@ -1630,8 +1605,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::INT, MANDATORY, - 0, - MAX_INT_RNIL }, + "0", + MAX_INT_RNIL_STRING }, { CFG_SCI_ID_0, @@ -1642,8 +1617,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::INT, MANDATORY, - 0, - MAX_INT_RNIL }, + "0", + MAX_INT_RNIL_STRING }, { CFG_SCI_ID_1, @@ -1654,8 +1629,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::INT, MANDATORY, - 0, - MAX_INT_RNIL }, + "0", + MAX_INT_RNIL_STRING }, { CFG_CONNECTION_SEND_SIGNAL_ID, @@ -1665,9 +1640,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::BOOL, - true, - 0, - MAX_INT_RNIL }, + "true", + "false", + "true" }, { CFG_CONNECTION_CHECKSUM, @@ -1677,9 +1652,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::BOOL, - false, - 0, - MAX_INT_RNIL }, + "false", + "false", + "true" }, { CFG_SCI_SEND_LIMIT, @@ -1689,9 +1664,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 2048, - 512, - MAX_INT_RNIL }, + "2K", + "512", + MAX_INT_RNIL_STRING }, { CFG_SCI_BUFFER_MEM, @@ -1701,9 +1676,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 1048576, - 262144, - MAX_INT_RNIL }, + "1M", + "256K", + MAX_INT_RNIL_STRING }, { CFG_CONNECTION_NODE_1_SYSTEM, @@ -1714,8 +1689,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, UNDEFINED, - 0, - MAX_INT_RNIL }, + 0, 0 }, { CFG_CONNECTION_NODE_2_SYSTEM, @@ -1726,8 +1700,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, UNDEFINED, - 0, - MAX_INT_RNIL }, + 0, 0 }, /**************************************************************************** * OSE @@ -1740,7 +1713,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::SECTION, - CONNECTION_TYPE_OSE, + (const char *)CONNECTION_TYPE_OSE, 0, 0 }, @@ -1753,8 +1726,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, UNDEFINED, - 0, - MAX_INT_RNIL }, + 0, 0 }, { CFG_OSE_HOSTNAME_2, @@ -1765,8 +1737,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, UNDEFINED, - 0, - MAX_INT_RNIL }, + 0, 0 }, { CFG_CONNECTION_NODE_1, @@ -1777,8 +1748,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::INT, MANDATORY, - 0, - MAX_INT_RNIL }, + "0", + MAX_INT_RNIL_STRING }, { CFG_CONNECTION_NODE_2, @@ -1789,8 +1760,8 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::INT, UNDEFINED, - 0, - MAX_INT_RNIL }, + "0", + MAX_INT_RNIL_STRING }, { CFG_CONNECTION_SEND_SIGNAL_ID, @@ -1800,9 +1771,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::BOOL, - true, - 0, - MAX_INT_RNIL }, + "true", + "false", + "true" }, { CFG_CONNECTION_CHECKSUM, @@ -1812,9 +1783,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::BOOL, - false, - 0, - MAX_INT_RNIL }, + "false", + "false", + "true" }, { CFG_OSE_PRIO_A_SIZE, @@ -1824,9 +1795,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 1000, - 0, - MAX_INT_RNIL }, + "1000", + "0", + MAX_INT_RNIL_STRING }, { CFG_OSE_PRIO_B_SIZE, @@ -1836,9 +1807,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 1000, - 0, - MAX_INT_RNIL }, + "1000", + "0", + MAX_INT_RNIL_STRING }, { CFG_OSE_RECEIVE_ARRAY_SIZE, @@ -1848,9 +1819,9 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ConfigInfo::USED, false, ConfigInfo::INT, - 10, - 0, - MAX_INT_RNIL }, + "10", + "0", + MAX_INT_RNIL_STRING }, { CFG_CONNECTION_NODE_1_SYSTEM, @@ -1861,8 +1832,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, UNDEFINED, - 0, - MAX_INT_RNIL}, + 0, 0 }, { CFG_CONNECTION_NODE_2_SYSTEM, @@ -1873,8 +1843,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { false, ConfigInfo::STRING, UNDEFINED, - 0, - MAX_INT_RNIL }, + 0, 0 }, }; const int ConfigInfo::m_NoOfParams = sizeof(m_ParamInfo) / sizeof(ParamInfo); @@ -1893,8 +1862,20 @@ ConfigInfo::ConfigInfo() { m_info.setCaseInsensitiveNames(true); m_systemDefaults.setCaseInsensitiveNames(true); + { + Uint64 tmp_uint64; + require(InitConfigFileParser::convertStringToUint64(RNIL_STRING, tmp_uint64)); + require(tmp_uint64 == RNIL); + require(InitConfigFileParser::convertStringToUint64(MAX_INT_RNIL_STRING, tmp_uint64)); + require(tmp_uint64 == ((Uint64)RNIL-1)); + require(InitConfigFileParser::convertStringToUint64(MAX_NODES_STRING, tmp_uint64)); + require(tmp_uint64 == (MAX_NODES-1)); + } + for (i=0; i<m_NoOfParams; i++) { const ParamInfo & param = m_ParamInfo[i]; + Uint64 default_uint64; + bool default_bool; // Create new section if it did not exist if (!m_info.getCopy(param._section, §ion)) { @@ -1914,9 +1895,37 @@ ConfigInfo::ConfigInfo() { pinfo.put("Updateable", param._updateable); pinfo.put("Type", param._type); pinfo.put("Status", param._status); - pinfo.put64("Default", param._default); - pinfo.put64("Min", param._min); - pinfo.put64("Max", param._max); + + if(param._default == MANDATORY){ + pinfo.put("Mandatory", (Uint32)1); + } + + switch (param._type) { + case BOOL: + { + bool tmp_bool; + require(InitConfigFileParser::convertStringToBool(param._min, tmp_bool)); + pinfo.put64("Min", tmp_bool); + require(InitConfigFileParser::convertStringToBool(param._max, tmp_bool)); + pinfo.put64("Max", tmp_bool); + break; + } + case INT: + case INT64: + { + Uint64 tmp_uint64; + require(InitConfigFileParser::convertStringToUint64(param._min, tmp_uint64)); + pinfo.put64("Min", tmp_uint64); + require(InitConfigFileParser::convertStringToUint64(param._max, tmp_uint64)); + pinfo.put64("Max", tmp_uint64); + break; + } + case SECTION: + pinfo.put("SectionType", (Uint32)param._default); + break; + case STRING: + break; + } // Check that pinfo is really new if (section->get(param._fname, &oldpinfo)) { @@ -1938,10 +1947,31 @@ ConfigInfo::ConfigInfo() { p = new Properties(); p->setCaseInsensitiveNames(true); } - if(param._type != STRING && - param._default != UNDEFINED && + if(param._default != UNDEFINED && param._default != MANDATORY){ - require(p->put(param._fname, param._default)); + switch (param._type) + { + case SECTION: + break; + case STRING: + require(p->put(param._fname, param._default)); + break; + case BOOL: + { + bool tmp_bool; + require(InitConfigFileParser::convertStringToBool(param._default, default_bool)); + require(p->put(param._fname, default_bool)); + break; + } + case INT: + case INT64: + { + Uint64 tmp_uint64; + require(InitConfigFileParser::convertStringToUint64(param._default, default_uint64)); + require(p->put(param._fname, default_uint64)); + break; + } + } } require(m_systemDefaults.put(param._section, p, true)); delete p; @@ -2125,7 +2155,7 @@ void ConfigInfo::print(const Properties * section, ndbout << "Default: N (Legal values: Y, N)" << endl; } else if (getDefault(section, parameter) == true) { ndbout << "Default: Y (Legal values: Y, N)" << endl; - } else if (getDefault(section, parameter) == MANDATORY) { + } else if (getDefault(section, parameter) == (UintPtr)MANDATORY) { ndbout << "MANDATORY (Legal values: Y, N)" << endl; } else { ndbout << "UNKNOWN" << endl; @@ -2137,9 +2167,9 @@ void ConfigInfo::print(const Properties * section, case ConfigInfo::INT64: ndbout << " (Non-negative Integer)" << endl; ndbout << getDescription(section, parameter) << endl; - if (getDefault(section, parameter) == MANDATORY) { + if (getDefault(section, parameter) == (UintPtr)MANDATORY) { ndbout << "MANDATORY ("; - } else if (getDefault(section, parameter) == UNDEFINED) { + } else if (getDefault(section, parameter) == (UintPtr)UNDEFINED) { ndbout << "UNDEFINED ("; } else { ndbout << "Default: " << getDefault(section, parameter) << " ("; @@ -2152,7 +2182,7 @@ void ConfigInfo::print(const Properties * section, case ConfigInfo::STRING: ndbout << " (String)" << endl; ndbout << getDescription(section, parameter) << endl; - if (getDefault(section, parameter) == MANDATORY) { + if (getDefault(section, parameter) == (UintPtr)MANDATORY) { ndbout << "MANDATORY" << endl; } else { ndbout << "No default value" << endl; @@ -2218,17 +2248,17 @@ transformNode(InitConfigFileParser::Context & ctx, const char * data){ bool fixNodeHostname(InitConfigFileParser::Context & ctx, const char * data){ + const char * hostname; + if (ctx.m_currentSection->get("HostName", &hostname)) + return true; + const char * compId; if(!ctx.m_currentSection->get("ExecuteOnComputer", &compId)){ - require(ctx.m_currentSection->put("HostName", "")); - const char * type; - if(ctx.m_currentSection->get("Type", &type) && strcmp(type,"DB") == 0) { - ctx.reportError("Parameter \"ExecuteOnComputer\" missing from DB section" - " [%s] starting at line: %d", - ctx.fname, ctx.m_sectionLineno); - return false; - } + if(ctx.m_currentSection->get("Type", &type) && strcmp(type,"DB") == 0) + require(ctx.m_currentSection->put("HostName", "localhost")); + else + require(ctx.m_currentSection->put("HostName", "")); return true; } @@ -2242,7 +2272,6 @@ fixNodeHostname(InitConfigFileParser::Context & ctx, const char * data){ return false; } - const char * hostname; if(!computer->get("HostName", &hostname)){ ctx.reportError("HostName missing in [COMPUTER] (Id: %d) " " - [%s] starting at line: %d", @@ -2440,7 +2469,7 @@ checkMandatory(InitConfigFileParser::Context & ctx, const char * data){ const Properties * info = NULL; ::require(ctx.m_currentInfo->get(name, &info)); Uint32 val; - if(info->get("Default", &val) && val == MANDATORY){ + if(info->get("Mandatory", &val)){ const char * fname; ::require(info->get("Fname", &fname)); if(!ctx.m_currentSection->contains(fname)){ @@ -2634,7 +2663,7 @@ fixPortNumber(InitConfigFileParser::Context & ctx, const char * data){ if (!ctx.m_userProperties.get("ServerPortBase", &base)){ if(!(ctx.m_userDefaults && ctx.m_userDefaults->get("PortNumber", &base)) && !ctx.m_systemDefaults->get("PortNumber", &base)) { - base= NDB_BASE_PORT+2; + base= strtoll(NDB_BASE_PORT,0,0)+2; // ctx.reportError("Cannot retrieve base port number"); // return false; } @@ -2886,7 +2915,7 @@ saveInConfigValues(InitConfigFileParser::Context & ctx, const char * data){ require(sec->get("Fname", &secName)); require(sec->get("Id", &id)); require(sec->get("Status", &status)); - require(sec->get("Default", &typeVal)); + require(sec->get("SectionType", &typeVal)); if(id == KEY_INTERNAL || status == ConfigInfo::INTERNAL){ ndbout_c("skipping section %s", ctx.fname); diff --git a/ndb/src/common/mgmcommon/ConfigInfo.hpp b/ndb/src/common/mgmcommon/ConfigInfo.hpp index 79c17b436fe..250426e0cec 100644 --- a/ndb/src/common/mgmcommon/ConfigInfo.hpp +++ b/ndb/src/common/mgmcommon/ConfigInfo.hpp @@ -27,8 +27,8 @@ * A MANDATORY parameters must be specified in the config file * An UNDEFINED parameter may or may not be specified in the config file */ -static const Uint64 MANDATORY = ~0; // Default value for mandatory params. -static const Uint64 UNDEFINED = (~0)-1; // Default value for undefined params. +static const char* MANDATORY = (char*)~(UintPtr)0; // Default value for mandatory params. +static const char* UNDEFINED = 0; // Default value for undefined params. /** * @class ConfigInfo @@ -56,9 +56,9 @@ public: Status _status; bool _updateable; Type _type; - Uint64 _default; - Uint64 _min; - Uint64 _max; + const char* _default; + const char* _min; + const char* _max; }; /** diff --git a/ndb/src/common/mgmcommon/InitConfigFileParser.cpp b/ndb/src/common/mgmcommon/InitConfigFileParser.cpp index d52bc54db52..3dfb910b4a3 100644 --- a/ndb/src/common/mgmcommon/InitConfigFileParser.cpp +++ b/ndb/src/common/mgmcommon/InitConfigFileParser.cpp @@ -31,7 +31,6 @@ static void require(bool v) { if(!v) abort();} // Ctor / Dtor //**************************************************************************** InitConfigFileParser::InitConfigFileParser(){ - m_info = new ConfigInfo(); } @@ -111,7 +110,6 @@ InitConfigFileParser::parseConfig(FILE * file) { "of configuration file."); return 0; } - snprintf(ctx.fname, sizeof(ctx.fname), section); free(section); ctx.type = InitConfigFileParser::DefaultSection; ctx.m_sectionLineno = ctx.m_lineno; @@ -132,7 +130,6 @@ InitConfigFileParser::parseConfig(FILE * file) { "of configuration file."); return 0; } - snprintf(ctx.fname, sizeof(ctx.fname), section); free(section); ctx.type = InitConfigFileParser::Section; @@ -162,7 +159,6 @@ InitConfigFileParser::parseConfig(FILE * file) { ctx.reportError("Could not store section of configuration file."); return 0; } - for(size_t i = 0; ConfigInfo::m_ConfigRules[i].m_configRule != 0; i++){ ctx.type = InitConfigFileParser::Undefined; ctx.m_currentSection = 0; @@ -378,7 +374,7 @@ bool InitConfigFileParser::convertStringToUint64(const char* s, errno = 0; char* p; - long long v = strtoll(s, &p, 10); + long long v = strtoll(s, &p, log10base); if (errno != 0) return false; @@ -536,20 +532,18 @@ InitConfigFileParser::storeSection(Context& ctx){ if(ctx.type == InitConfigFileParser::Section){ for(int i = 0; i<m_info->m_NoOfRules; i++){ const ConfigInfo::SectionRule & rule = m_info->m_SectionRules[i]; - if(!strcmp(rule.m_section, "*") || !strcmp(rule.m_section, ctx.fname)) - if(!(* rule.m_sectionRule)(ctx, rule.m_ruleData)) + if(!strcmp(rule.m_section, "*") || !strcmp(rule.m_section, ctx.fname)){ + if(!(* rule.m_sectionRule)(ctx, rule.m_ruleData)){ return false; + } + } } } - if(ctx.type == InitConfigFileParser::DefaultSection) require(ctx.m_defaults->put(ctx.pname, ctx.m_currentSection)); - if(ctx.type == InitConfigFileParser::Section) require(ctx.m_config->put(ctx.pname, ctx.m_currentSection)); - delete ctx.m_currentSection; ctx.m_currentSection = NULL; - return true; } diff --git a/ndb/src/common/mgmcommon/InitConfigFileParser.hpp b/ndb/src/common/mgmcommon/InitConfigFileParser.hpp index 6b7482c12ae..1ea0a094ccd 100644 --- a/ndb/src/common/mgmcommon/InitConfigFileParser.hpp +++ b/ndb/src/common/mgmcommon/InitConfigFileParser.hpp @@ -86,6 +86,9 @@ public: void reportWarning(const char * msg, ...); }; + static bool convertStringToUint64(const char* s, Uint64& val, Uint32 log10base = 0); + static bool convertStringToBool(const char* s, bool& val); + private: /** * Check if line only contains space/comments @@ -111,8 +114,6 @@ private: bool parseNameValuePair(Context&, const char* line); bool storeNameValuePair(Context&, const char* fname, const char* value); - bool convertStringToUint64(const char* s, Uint64& val, Uint32 log10base = 0); - bool convertStringToBool(const char* s, bool& val); bool storeSection(Context&); const Properties* getSection(const char * name, const Properties* src); diff --git a/ndb/src/common/mgmcommon/LocalConfig.cpp b/ndb/src/common/mgmcommon/LocalConfig.cpp index 0440ce84dba..1ad87e5f7ac 100644 --- a/ndb/src/common/mgmcommon/LocalConfig.cpp +++ b/ndb/src/common/mgmcommon/LocalConfig.cpp @@ -89,7 +89,7 @@ LocalConfig::init(const char *connectString, //7. Check { char buf[256]; - snprintf(buf, sizeof(buf), "host=localhost:%u", NDB_BASE_PORT); + snprintf(buf, sizeof(buf), "host=localhost:%s", NDB_BASE_PORT); if(readConnectString(buf)) return true; } diff --git a/ndb/src/common/mgmcommon/Makefile.am b/ndb/src/common/mgmcommon/Makefile.am index 8a34fa16ed1..174999579d4 100644 --- a/ndb/src/common/mgmcommon/Makefile.am +++ b/ndb/src/common/mgmcommon/Makefile.am @@ -1,3 +1,7 @@ +MYSQLDATAdir = $(localstatedir) +MYSQLSHAREdir = $(pkgdatadir) +MYSQLBASEdir= $(prefix) + noinst_LTLIBRARIES = libmgmsrvcommon.la libmgmsrvcommon_la_SOURCES = \ @@ -10,6 +14,11 @@ libmgmsrvcommon_la_SOURCES = \ INCLUDES_LOC = -I$(top_srcdir)/ndb/src/mgmapi +DEFS_LOC = -DDEFAULT_MYSQL_HOME="\"$(MYSQLBASEdir)\"" \ + -DDATADIR="\"$(MYSQLDATAdir)\"" \ + -DSHAREDIR="\"$(MYSQLSHAREdir)\"" \ + -DNDB_BASE_PORT="\"@ndb_port_base@\"" + include $(top_srcdir)/ndb/config/common.mk.am include $(top_srcdir)/ndb/config/type_ndbapi.mk.am include $(top_srcdir)/ndb/config/type_mgmapiclient.mk.am |