summaryrefslogtreecommitdiff
path: root/ndb/src
diff options
context:
space:
mode:
authorunknown <joreland@mysql.com>2005-07-24 08:27:16 +0200
committerunknown <joreland@mysql.com>2005-07-24 08:27:16 +0200
commitfdbf273031c5e6f4061b89cc29c0c60abe5bd8c9 (patch)
tree7637fd878ff1db69c4d122d6ff3988c65bbad933 /ndb/src
parentaed1b77db26292cd41a7d28ba36a3cecc1542dc4 (diff)
parent848341dfdf53c57dfd8a10d20dd2c7d78ce6eba7 (diff)
downloadmariadb-git-fdbf273031c5e6f4061b89cc29c0c60abe5bd8c9.tar.gz
Merge mysql.com:/home/jonas/src/mysql-4.1
into mysql.com:/home/jonas/src/mysql-5.0 ndb/include/mgmapi/mgmapi.h: Auto merged ndb/src/mgmsrv/ConfigInfo.hpp: Auto merged ndb/src/mgmapi/mgmapi.cpp: merge ndb/tools/Makefile.am: merge
Diffstat (limited to 'ndb/src')
-rw-r--r--ndb/src/mgmapi/mgmapi.cpp77
-rw-r--r--ndb/src/mgmsrv/ConfigInfo.hpp6
2 files changed, 47 insertions, 36 deletions
diff --git a/ndb/src/mgmapi/mgmapi.cpp b/ndb/src/mgmapi/mgmapi.cpp
index 5808e2ed534..bac66e8713b 100644
--- a/ndb/src/mgmapi/mgmapi.cpp
+++ b/ndb/src/mgmapi/mgmapi.cpp
@@ -101,6 +101,7 @@ struct ndb_mgm_handle {
#ifdef MGMAPI_LOG
FILE* logfile;
#endif
+ FILE *errstream;
};
#define SET_ERROR(h, e, s) setError(h, e, __LINE__, s)
@@ -154,6 +155,7 @@ ndb_mgm_create_handle()
h->read_timeout = 50000;
h->write_timeout = 100;
h->cfg_i = -1;
+ h->errstream = stdout;
strncpy(h->last_error_desc, "No error", NDB_MGM_MAX_ERR_DESC_SIZE);
@@ -219,6 +221,13 @@ ndb_mgm_destroy_handle(NdbMgmHandle * handle)
DBUG_VOID_RETURN;
}
+extern "C"
+void
+ndb_mgm_set_error_stream(NdbMgmHandle handle, FILE * file)
+{
+ handle->errstream = file;
+}
+
/*****************************************************************************
* Error handling
*****************************************************************************/
@@ -329,11 +338,8 @@ ndb_mgm_call(NdbMgmHandle handle, const ParserRow<ParserDummy> *command_reply,
/**
* Print some info about why the parser returns NULL
*/
- ndbout << "Error in mgm protocol parser. "
- << "cmd: '" << cmd
- << "' status=" << (Uint32)ctx.m_status
- << ", curr=" << ctx.m_currentToken
- << endl;
+ fprintf(h->errstream, "Error in mgm protocol parser. cmd: >%s< status: %d cyrr: %d\n",
+ cmd, (Uint32)ctx.m_status, ctx.m_currentToken);
DBUG_PRINT("info",("ctx.status: %d, ctx.m_currentToken: %s",
ctx.m_status, ctx.m_currentToken));
}
@@ -409,8 +415,8 @@ ndb_mgm_connect(NdbMgmHandle handle, int no_retries,
#endif
if (verbose > 0) {
char buf[1024];
- ndbout_c("Unable to connect with connect string: %s",
- cfg.makeConnectString(buf,sizeof(buf)));
+ fprintf(handle->errstream, "Unable to connect with connect string: %s\n",
+ cfg.makeConnectString(buf,sizeof(buf)));
verbose= -1;
}
if (no_retries == 0) {
@@ -419,32 +425,35 @@ ndb_mgm_connect(NdbMgmHandle handle, int no_retries,
"Unable to connect with connect string: %s",
cfg.makeConnectString(buf,sizeof(buf)));
if (verbose == -2)
- ndbout << ", failed." << endl;
+ fprintf(handle->errstream, ", failed.\n");
DBUG_RETURN(-1);
}
if (verbose == -1) {
- ndbout << "Retrying every " << retry_delay_in_seconds << " seconds";
+ fprintf(handle->errstream, "Retrying every %d seconds",
+ retry_delay_in_seconds);
if (no_retries > 0)
- ndbout << ". Attempts left:";
+ fprintf(handle->errstream, ". Attempts left:");
else
- ndbout << ", until connected.";;
- ndbout << flush;
+ fprintf(handle->errstream, ", until connected.");
+ fflush(handle->errstream);
verbose= -2;
}
if (no_retries > 0) {
if (verbose == -2) {
- ndbout << " " << no_retries;
- ndbout << flush;
+ fprintf(handle->errstream, " %d", no_retries);
+ fflush(handle->errstream);
}
no_retries--;
}
NdbSleep_SecSleep(retry_delay_in_seconds);
}
if (verbose == -2)
- ndbout << endl;
-
+ {
+ fprintf(handle->errstream, "\n");
+ fflush(handle->errstream);
+ }
handle->cfg_i = i;
-
+
handle->socket = sockfd;
handle->connected = 1;
@@ -496,7 +505,9 @@ ndb_mgm_match_node_type(const char * type)
for(int i = 0; i<no_of_type_values; i++)
if(strcmp(type, type_values[i].str) == 0)
return type_values[i].value;
-
+ else if(strcmp(type, type_values[i].alias) == 0)
+ return type_values[i].value;
+
return NDB_MGM_NODE_TYPE_UNKNOWN;
}
@@ -1705,28 +1716,28 @@ ndb_mgm_get_configuration(NdbMgmHandle handle, unsigned int version) {
do {
const char * buf;
if(!prop->get("result", &buf) || strcmp(buf, "Ok") != 0){
- ndbout_c("ERROR Message: %s\n", buf);
+ fprintf(handle->errstream, "ERROR Message: %s\n\n", buf);
break;
}
buf = "<Unspecified>";
if(!prop->get("Content-Type", &buf) ||
strcmp(buf, "ndbconfig/octet-stream") != 0){
- ndbout_c("Unhandled response type: %s", buf);
+ fprintf(handle->errstream, "Unhandled response type: %s\n", buf);
break;
}
buf = "<Unspecified>";
if(!prop->get("Content-Transfer-Encoding", &buf)
|| strcmp(buf, "base64") != 0){
- ndbout_c("Unhandled encoding: %s", buf);
+ fprintf(handle->errstream, "Unhandled encoding: %s\n", buf);
break;
}
buf = "<Content-Length Unspecified>";
Uint32 len = 0;
if(!prop->get("Content-Length", &len)){
- ndbout_c("Invalid response: %s\n", buf);
+ fprintf(handle->errstream, "Invalid response: %s\n\n", buf);
break;
}
@@ -1751,14 +1762,14 @@ ndb_mgm_get_configuration(NdbMgmHandle handle, unsigned int version) {
const int res = base64_decode(buf64, len-1, tmp);
delete[] buf64;
if(res != 0){
- ndbout_c("Failed to decode buffer");
+ fprintf(handle->errstream, "Failed to decode buffer\n");
break;
}
ConfigValuesFactory cvf;
const int res2 = cvf.unpack(tmp);
if(!res2){
- ndbout_c("Failed to unpack buffer");
+ fprintf(handle->errstream, "Failed to unpack buffer\n");
break;
}
@@ -1868,7 +1879,7 @@ ndb_mgm_alloc_nodeid(NdbMgmHandle handle, unsigned int version, int nodetype)
}
Uint32 _nodeid;
if(!prop->get("nodeid", &_nodeid) != 0){
- ndbout_c("ERROR Message: <nodeid Unspecified>\n");
+ fprintf(handle->errstream, "ERROR Message: <nodeid Unspecified>\n");
break;
}
nodeid= _nodeid;
@@ -1944,7 +1955,7 @@ ndb_mgm_set_int_parameter(NdbMgmHandle handle,
do {
const char * buf;
if(!prop->get("result", &buf) || strcmp(buf, "Ok") != 0){
- ndbout_c("ERROR Message: %s\n", buf);
+ fprintf(handle->errstream, "ERROR Message: %s\n", buf);
break;
}
res= 0;
@@ -1987,7 +1998,7 @@ ndb_mgm_set_int64_parameter(NdbMgmHandle handle,
do {
const char * buf;
if(!prop->get("result", &buf) || strcmp(buf, "Ok") != 0){
- ndbout_c("ERROR Message: %s\n", buf);
+ fprintf(handle->errstream, "ERROR Message: %s\n", buf);
break;
}
res= 0;
@@ -2030,7 +2041,7 @@ ndb_mgm_set_string_parameter(NdbMgmHandle handle,
do {
const char * buf;
if(!prop->get("result", &buf) || strcmp(buf, "Ok") != 0){
- ndbout_c("ERROR Message: %s\n", buf);
+ fprintf(handle->errstream, "ERROR Message: %s\n", buf);
break;
}
res= 0;
@@ -2067,7 +2078,7 @@ ndb_mgm_purge_stale_sessions(NdbMgmHandle handle, char **purged){
do {
const char * buf;
if(!prop->get("result", &buf) || strcmp(buf, "Ok") != 0){
- ndbout_c("ERROR Message: %s\n", buf);
+ fprintf(handle->errstream, "ERROR Message: %s\n", buf);
break;
}
if (purged) {
@@ -2149,7 +2160,7 @@ ndb_mgm_set_connection_int_parameter(NdbMgmHandle handle,
do {
const char * buf;
if(!prop->get("result", &buf) || strcmp(buf, "Ok") != 0){
- ndbout_c("ERROR Message: %s\n", buf);
+ fprintf(handle->errstream, "ERROR Message: %s\n", buf);
break;
}
res= 0;
@@ -2191,14 +2202,14 @@ ndb_mgm_get_connection_int_parameter(NdbMgmHandle handle,
do {
const char * buf;
if(!prop->get("result", &buf) || strcmp(buf, "Ok") != 0){
- ndbout_c("ERROR Message: %s\n", buf);
+ fprintf(handle->errstream, "ERROR Message: %s\n", buf);
break;
}
res= 0;
} while(0);
if(!prop->get("value",(Uint32*)value)){
- ndbout_c("Unable to get value");
+ fprintf(handle->errstream, "Unable to get value\n");
res = -4;
}
@@ -2250,7 +2261,7 @@ ndb_mgm_get_mgmd_nodeid(NdbMgmHandle handle)
CHECK_REPLY(prop, 0);
if(!prop->get("nodeid",&nodeid)){
- ndbout_c("Unable to get value");
+ fprintf(handle->errstream, "Unable to get value\n");
return 0;
}
diff --git a/ndb/src/mgmsrv/ConfigInfo.hpp b/ndb/src/mgmsrv/ConfigInfo.hpp
index 871ee62040e..788619db7fe 100644
--- a/ndb/src/mgmsrv/ConfigInfo.hpp
+++ b/ndb/src/mgmsrv/ConfigInfo.hpp
@@ -127,14 +127,14 @@ private:
Properties m_info;
Properties m_systemDefaults;
- static const ParamInfo m_ParamInfo[];
- static const int m_NoOfParams;
-
static const AliasPair m_sectionNameAliases[];
static const char* m_sectionNames[];
static const int m_noOfSectionNames;
public:
+ static const ParamInfo m_ParamInfo[];
+ static const int m_NoOfParams;
+
static const SectionRule m_SectionRules[];
static const ConfigRule m_ConfigRules[];
static const int m_NoOfRules;