Loading storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp +6 −1 Original line number Diff line number Diff line Loading @@ -1789,9 +1789,14 @@ NdbDictInterface::getTable(const BaseString& name, bool fullyQualifiedNames) // Copy name to m_buffer to get a word sized buffer m_buffer.clear(); m_buffer.grow(namelen_words*4); m_buffer.grow(namelen_words*4+4); m_buffer.append(name.c_str(), namelen); #ifndef IGNORE_VALGRIND_WARNINGS Uint32 pad = 0; m_buffer.append(&pad, 4); #endif LinearSectionPtr ptr[1]; ptr[0].p= (Uint32*)m_buffer.get_data(); ptr[0].sz= namelen_words; Loading storage/ndb/src/ndbapi/NdbLinHash.hpp +10 −3 Original line number Diff line number Diff line Loading @@ -427,19 +427,26 @@ NdbLinHash<C>::getNext(NdbElement_t<C> * curr){ return curr->next; int dir = 0, seg = 0; if(curr != 0){ int counts; if(curr != 0) { getBucket(curr->hash, &dir, &seg); counts = seg + 1; } else { counts = 0; } for(int countd = dir; countd < DIRECTORYSIZE;countd++ ){ if (directory[countd] != 0) { for(int counts = seg + 1; counts < SEGMENTSIZE; counts++ ){ for(; counts < SEGMENTSIZE; counts++ ){ if (directory[countd]->elements[counts] != 0) { return directory[countd]->elements[counts]; } } } counts = 0; } return 0; Loading Loading
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp +6 −1 Original line number Diff line number Diff line Loading @@ -1789,9 +1789,14 @@ NdbDictInterface::getTable(const BaseString& name, bool fullyQualifiedNames) // Copy name to m_buffer to get a word sized buffer m_buffer.clear(); m_buffer.grow(namelen_words*4); m_buffer.grow(namelen_words*4+4); m_buffer.append(name.c_str(), namelen); #ifndef IGNORE_VALGRIND_WARNINGS Uint32 pad = 0; m_buffer.append(&pad, 4); #endif LinearSectionPtr ptr[1]; ptr[0].p= (Uint32*)m_buffer.get_data(); ptr[0].sz= namelen_words; Loading
storage/ndb/src/ndbapi/NdbLinHash.hpp +10 −3 Original line number Diff line number Diff line Loading @@ -427,19 +427,26 @@ NdbLinHash<C>::getNext(NdbElement_t<C> * curr){ return curr->next; int dir = 0, seg = 0; if(curr != 0){ int counts; if(curr != 0) { getBucket(curr->hash, &dir, &seg); counts = seg + 1; } else { counts = 0; } for(int countd = dir; countd < DIRECTORYSIZE;countd++ ){ if (directory[countd] != 0) { for(int counts = seg + 1; counts < SEGMENTSIZE; counts++ ){ for(; counts < SEGMENTSIZE; counts++ ){ if (directory[countd]->elements[counts] != 0) { return directory[countd]->elements[counts]; } } } counts = 0; } return 0; Loading