diff options
author | unknown <jonas@eel.(none)> | 2005-09-13 14:03:00 +0200 |
---|---|---|
committer | unknown <jonas@eel.(none)> | 2005-09-13 14:03:00 +0200 |
commit | dca83978334cb2afac9a4911e7da9ba137539f72 (patch) | |
tree | acec75e33babcc47a222e3c6e746bfbd11189d66 /storage | |
parent | 1d4723c380e8cb6c771009eb733bac960324544a (diff) | |
parent | 0260e3dcc16544d73ae2a3e8996fa97ad5d288dd (diff) | |
download | mariadb-git-dca83978334cb2afac9a4911e7da9ba137539f72.tar.gz |
Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.1
into eel.(none):/home/jonas/src/mysql-5.1-push
sql/ha_ndbcluster.cc:
Auto merged
storage/ndb/src/common/portlib/NdbThread.c:
Auto merged
storage/ndb/src/mgmapi/mgmapi.cpp:
Auto merged
storage/ndb/test/include/NDBT_Test.hpp:
Auto merged
storage/ndb/test/ndbapi/Makefile.am:
Auto merged
storage/ndb/test/ndbapi/bank/Bank.cpp:
Auto merged
storage/ndb/test/ndbapi/bank/Bank.hpp:
Auto merged
storage/ndb/test/src/NDBT_Test.cpp:
Auto merged
storage/ndb/test/src/UtilTransactions.cpp:
Auto merged
Diffstat (limited to 'storage')
-rw-r--r-- | storage/heap/hp_hash.c | 10 | ||||
-rw-r--r-- | storage/ndb/include/util/Parser.hpp | 2 | ||||
-rw-r--r-- | storage/ndb/src/mgmapi/mgmapi.cpp | 3 | ||||
-rw-r--r-- | storage/ndb/src/mgmsrv/MgmtSrvr.cpp | 5 | ||||
-rw-r--r-- | storage/ndb/src/ndbapi/SignalSender.cpp | 10 |
5 files changed, 17 insertions, 13 deletions
diff --git a/storage/heap/hp_hash.c b/storage/heap/hp_hash.c index d643f776731..77f3cf6d80b 100644 --- a/storage/heap/hp_hash.c +++ b/storage/heap/hp_hash.c @@ -551,11 +551,13 @@ int hp_rec_key_cmp(HP_KEYDEF *keydef, const byte *rec1, const byte *rec2, } if (cs->mbmaxlen > 1) { + uint safe_length1= char_length1; + uint safe_length2= char_length2; uint char_length= seg->length / cs->mbmaxlen; - char_length1= my_charpos(cs, pos1, pos1 + char_length1, char_length1); - set_if_smaller(char_length1, seg->length); - char_length2= my_charpos(cs, pos2, pos2 + char_length2, char_length2); - set_if_smaller(char_length2, seg->length); + char_length1= my_charpos(cs, pos1, pos1 + char_length1, char_length); + set_if_smaller(char_length1, safe_length1); + char_length2= my_charpos(cs, pos2, pos2 + char_length2, char_length); + set_if_smaller(char_length2, safe_length2); } if (cs->coll->strnncollsp(seg->charset, diff --git a/storage/ndb/include/util/Parser.hpp b/storage/ndb/include/util/Parser.hpp index c117498e1ba..3baf7601a6c 100644 --- a/storage/ndb/include/util/Parser.hpp +++ b/storage/ndb/include/util/Parser.hpp @@ -285,7 +285,7 @@ template<class T> inline void Parser<T>::setBreakOnInvalidArg(bool v){ - impl->m_breakOnInvalidArg; + impl->m_breakOnInvalidArg = v; } #endif diff --git a/storage/ndb/src/mgmapi/mgmapi.cpp b/storage/ndb/src/mgmapi/mgmapi.cpp index c10eb073855..8263e8cbc93 100644 --- a/storage/ndb/src/mgmapi/mgmapi.cpp +++ b/storage/ndb/src/mgmapi/mgmapi.cpp @@ -678,12 +678,10 @@ ndb_mgm_get_status(NdbMgmHandle handle) Vector<BaseString> split; tmp.split(split, ":"); if(split.size() != 2){ - abort(); return NULL; } if(!(split[0].trim() == "nodes")){ - abort(); return NULL; } @@ -731,7 +729,6 @@ ndb_mgm_get_status(NdbMgmHandle handle) if(i+1 != noOfNodes){ free(state); - abort(); return NULL; } diff --git a/storage/ndb/src/mgmsrv/MgmtSrvr.cpp b/storage/ndb/src/mgmsrv/MgmtSrvr.cpp index fae0941beb8..d946b4af4a7 100644 --- a/storage/ndb/src/mgmsrv/MgmtSrvr.cpp +++ b/storage/ndb/src/mgmsrv/MgmtSrvr.cpp @@ -2521,10 +2521,7 @@ MgmtSrvr::startBackup(Uint32& backupId, int waitCompleted) case GSN_NODE_FAILREP:{ const NodeFailRep * const rep = CAST_CONSTPTR(NodeFailRep, signal->getDataPtr()); -#ifdef VM_TRACE - ndbout_c("Node %d failed", rep->failNo); -#endif - if (rep->failNo == nodeId || + if (NodeBitmask::get(rep->theNodes,nodeId) || waitCompleted == 1) return 1326; // wait for next signal diff --git a/storage/ndb/src/ndbapi/SignalSender.cpp b/storage/ndb/src/ndbapi/SignalSender.cpp index 6314361e55c..96feeb973a0 100644 --- a/storage/ndb/src/ndbapi/SignalSender.cpp +++ b/storage/ndb/src/ndbapi/SignalSender.cpp @@ -250,14 +250,22 @@ SignalSender::execNodeStatus(void* signalSender, // node shutdown complete s->header.theVerId_signalNumber = GSN_NF_COMPLETEREP; NFCompleteRep *rep = (NFCompleteRep *)s->getDataPtrSend(); + rep->blockNo = 0; + rep->nodeId = 0; rep->failedNodeId = nodeId; + rep->unused = 0; + rep->from = 0; } else { // node failure s->header.theVerId_signalNumber = GSN_NODE_FAILREP; NodeFailRep *rep = (NodeFailRep *)s->getDataPtrSend(); - rep->failNo = nodeId; + rep->failNo = 0; + rep->masterNodeId = 0; + rep->noOfNodes = 1; + NodeBitmask::clear(rep->theNodes); + NodeBitmask::set(rep->theNodes,nodeId); } ss->m_jobBuffer.push_back(s); |