Binary compatibility report for the mongoDB library between 2.0.9 and 2.1.0 versions on x86
Test Info
Library Name | mongoDB |
Version #1 | 2.0.9 |
Version #2 | 2.1.0 |
CPU Type | x86 |
GCC Version | 4.6.1 |
Test Results
Total Header Files | 1 |
Total Shared Libraries | 2 |
Total Symbols / Types | 526 / 406 |
Verdict | Incompatible (19.7%) |
Problem Summary
| Severity | Count |
---|
Added Symbols | - | 83 |
Removed Symbols | High | 15 |
Problems with Data Types | High | 7 |
Medium | 7 |
Low | 14 |
Problems with Symbols | High | 7 |
Medium | 0 |
Low | 0 |
Problems with Constants | Low | 0 |
Added Symbols (83)
assert_util.h,
libmongocommon.so
namespace mongo
DBException::traceExceptions [data]
[symbol: _ZN5mongo11DBException15traceExceptionsE]
ExceptionInfo::toString ( ) const
[symbol: _ZNK5mongo13ExceptionInfo8toStringEv]
fassertFailed ( int msgid )
[symbol: _ZN5mongo13fassertFailedEi]
msgasserted ( int msgid, std::string const& msg )
[symbol: _ZN5mongo11msgassertedEiRKSs]
uasserted ( int msgid, std::string const& msg )
[symbol: _ZN5mongo9uassertedEiRKSs]
bson-inl.h,
libmongocommon.so
namespace mongo
dotted2nested ( BSONObjBuilder& b, BSONObj const& obj )
[symbol: _ZN5mongo13dotted2nestedERNS_14BSONObjBuilderERKNS_7BSONObjE]
nested2dotted ( BSONObjBuilder& b, BSONObj const& obj, std::string const& base )
[symbol: _ZN5mongo13nested2dottedERNS_14BSONObjBuilderERKNS_7BSONObjERKSs]
bsonelement.h,
libmongocommon.so
namespace mongo
BSONElement::getGtLtOp ( int def ) const
[symbol: _ZNK5mongo11BSONElement9getGtLtOpEi]
BSONElement::jsonString ( enum JsonStringFormat format, bool includeFieldNames, int pretty ) const
[symbol: _ZNK5mongo11BSONElement10jsonStringENS_16JsonStringFormatEbi]
bsonmisc.h,
libmongocommon.so
namespace mongo
BSONNULL [data]
[symbol: _ZN5mongo8BSONNULLE]
compareDottedFieldNames ( std::string const& l, std::string const& r )
[symbol: _ZN5mongo23compareDottedFieldNamesERKSsS1_]
DATENOW [data]
[symbol: _ZN5mongo7DATENOWE]
fieldsMatch ( BSONObj const& lhs, BSONObj const& rhs )
[symbol: _ZN5mongo11fieldsMatchERKNS_7BSONObjES2_]
GENOID [data]
[symbol: _ZN5mongo6GENOIDE]
getGtLtOp ( BSONElement const& e )
[symbol: _ZN5mongo9getGtLtOpERKNS_11BSONElementE]
GT [data]
[symbol: _ZN5mongo2GTE]
GTE [data]
[symbol: _ZN5mongo3GTEE]
LT [data]
[symbol: _ZN5mongo2LTE]
LTE [data]
[symbol: _ZN5mongo3LTEE]
MAXKEY [data]
[symbol: _ZN5mongo6MAXKEYE]
MINKEY [data]
[symbol: _ZN5mongo6MINKEYE]
NE [data]
[symbol: _ZN5mongo2NEE]
SIZE [data]
[symbol: _ZN5mongo4SIZEE]
bsonobj.h,
libmongocommon.so
namespace mongo
BSONObj::addFields ( BSONObj& from, std::set<std::string>& fields )
[symbol: _ZN5mongo7BSONObj9addFieldsERS0_RSt3setISsSt4lessISsESaISsEE]
BSONObj::clientReadable ( ) const
[symbol: _ZNK5mongo7BSONObj14clientReadableEv]
BSONObj::couldBeArray ( ) const
[symbol: _ZNK5mongo7BSONObj12couldBeArrayEv]
BSONObj::dump ( ) const
[symbol: _ZNK5mongo7BSONObj4dumpEv]
BSONObj::extractFields ( BSONObj const& pattern, bool fillWithNull ) const
[symbol: _ZNK5mongo7BSONObj13extractFieldsERKS0_b]
BSONObj::extractFieldsUnDotted ( BSONObj pattern ) const
[symbol: _ZNK5mongo7BSONObj21extractFieldsUnDottedES0_]
BSONObj::filterFieldsUndotted ( BSONObj const& filter, bool inFilter ) const
[symbol: _ZNK5mongo7BSONObj20filterFieldsUndottedERKS0_b]
BSONObj::getFieldDottedOrArray ( char const*& name ) const
[symbol: _ZNK5mongo7BSONObj21getFieldDottedOrArrayERPKc]
BSONObj::getFieldNames ( std::set<std::string>& fields ) const
[symbol: _ZNK5mongo7BSONObj13getFieldNamesERSt3setISsSt4lessISsESaISsEE]
BSONObj::getFieldsDotted ( StringData const& name, BSONElementMSet& ret, bool expandLastArray ) const
[symbol: _ZNK5mongo7BSONObj15getFieldsDottedERKNS_10StringDataERSt8multisetINS_11BSONElementENS_26BSONElementCmpWithoutFieldESaIS5_EEb]
BSONObj::getFieldsDotted ( StringData const& name, BSONElementSet& ret, bool expandLastArray ) const
[symbol: _ZNK5mongo7BSONObj15getFieldsDottedERKNS_10StringDataERSt3setINS_11BSONElementENS_26BSONElementCmpWithoutFieldESaIS5_EEb]
BSONObj::getFieldUsingIndexNames ( char const* fieldName, BSONObj const& indexKey ) const
[symbol: _ZNK5mongo7BSONObj23getFieldUsingIndexNamesEPKcRKS0_]
BSONObj::jsonString ( enum JsonStringFormat format, int pretty ) const
[symbol: _ZNK5mongo7BSONObj10jsonStringENS_16JsonStringFormatEi]
BSONObj::md5 ( ) const
[symbol: _ZNK5mongo7BSONObj3md5Ev]
BSONObj::okForStorage ( ) const
[symbol: _ZNK5mongo7BSONObj12okForStorageEv]
BSONObj::replaceFieldNames ( BSONObj const& obj ) const
[symbol: _ZNK5mongo7BSONObj17replaceFieldNamesERKS0_]
BSONObj::valid ( ) const
[symbol: _ZNK5mongo7BSONObj5validEv]
BSONObj::woCompare ( BSONObj const& r, BSONObj const& ordering, bool considerFieldName ) const
[symbol: _ZNK5mongo7BSONObj9woCompareERKS0_S2_b]
BSONObj::woCompare ( BSONObj const& r, Ordering const& o, bool considerFieldName ) const
[symbol: _ZNK5mongo7BSONObj9woCompareERKS0_RKNS_8OrderingEb]
BSONObj::woSortOrder ( BSONObj const& r, BSONObj const& sortKey, bool useDotted ) const
[symbol: _ZNK5mongo7BSONObj11woSortOrderERKS0_S2_b]
bsonobjbuilder.h,
libmongocommon.so
namespace mongo
BSONObjBuilder::appendAsNumber ( StringData const& fieldName, std::string const& data )
[symbol: _ZN5mongo14BSONObjBuilder14appendAsNumberERKNS_10StringDataERKSs]
BSONObjBuilder::appendMaxForType ( StringData const& fieldName, int type )
[symbol: _ZN5mongo14BSONObjBuilder16appendMaxForTypeERKNS_10StringDataEi]
BSONObjBuilder::appendMinForType ( StringData const& fieldName, int type )
[symbol: _ZN5mongo14BSONObjBuilder16appendMinForTypeERKNS_10StringDataEi]
bsonobjiterator.h,
libmongocommon.so
namespace mongo
BSONObjIteratorSorted::BSONObjIteratorSorted [in-charge] ( BSONObj const& o )
[symbol: _ZN5mongo21BSONObjIteratorSortedC1ERKNS_7BSONObjE]
BSONObjIteratorSorted::BSONObjIteratorSorted [not-in-charge] ( BSONObj const& o )
[symbol: _ZN5mongo21BSONObjIteratorSortedC2ERKNS_7BSONObjE]
bsontypes.h,
libmongocommon.so
namespace mongo
maxKey [data]
[symbol: _ZN5mongo6maxKeyE]
minKey [data]
[symbol: _ZN5mongo6minKeyE]
cmdline.h,
libdbcmdline.so
namespace mongo
CmdLine::launchOk ( ) [static]
[symbol: _ZN5mongo7CmdLine8launchOkEv]
setupLaunchSignals ( )
[symbol: _ZN5mongo18setupLaunchSignalsEv]
commands.h,
libcoredb.so
namespace mongo
Command::parseNs ( std::string const& dbname, BSONObj const& cmdObj ) const
[symbol: _ZNK5mongo7Command7parseNsERKSsRKNS_7BSONObjE]
Command::parseNsFullyQualified ( std::string const& dbname, BSONObj const& cmdObj ) const
[symbol: _ZNK5mongo7Command21parseNsFullyQualifiedERKSsRKNS_7BSONObjE]
commands.h,
libserveronly.so
namespace mongo
Command::maintenanceOk ( ) const
[symbol: _ZNK5mongo7Command13maintenanceOkEv]
Command::slaveOverrideOk ( ) const
[symbol: _ZNK5mongo7Command15slaveOverrideOkEv]
d_globals.h,
libserveronly.so
namespace mongo
d [data]
[symbol: _ZN5mongo1dE]
DGlobals::DGlobals [in-charge] ( )
[symbol: _ZN5mongo8DGlobalsC1Ev]
DGlobals::DGlobals [not-in-charge] ( )
[symbol: _ZN5mongo8DGlobalsC2Ev]
dbclient.h,
libmongocommon.so
namespace mongo
DBClientConnection::auth ( std::string const& dbname, std::string const& username, std::string const& pwd, std::string& errmsg, bool digestPassword, enum Auth::Level* level )
[symbol: _ZN5mongo18DBClientConnection4authERKSsS2_S2_RSsbPNS_4Auth5LevelE]
DBClientConnection::say ( Message& toSend, bool isRetry, std::string* actualServer )
[symbol: _ZN5mongo18DBClientConnection3sayERNS_7MessageEbPSs]
DBClientWithCommands::auth ( std::string const& dbname, std::string const& username, std::string const& pwd, std::string& errmsg, bool digestPassword, enum Auth::Level* level )
[symbol: _ZN5mongo20DBClientWithCommands4authERKSsS2_S2_RSsbPNS_4Auth5LevelE]
DBClientWithCommands::getLastError ( bool fsync, bool j, int w, int wtimeout )
[symbol: _ZN5mongo20DBClientWithCommands12getLastErrorEbbii]
DBClientWithCommands::getLastErrorDetailed ( bool fsync, bool j, int w, int wtimeout )
[symbol: _ZN5mongo20DBClientWithCommands20getLastErrorDetailedEbbii]
nsGetCollection ( std::string const& ns )
[symbol: _ZN5mongo15nsGetCollectionERKSs]
nsGetDB ( std::string const& ns )
[symbol: _ZN5mongo7nsGetDBERKSs]
dbclient_rs.h,
libmongocommon.so
namespace mongo
DBClientReplicaSet::auth ( std::string const& dbname, std::string const& username, std::string const& pwd, std::string& errmsg, bool digestPassword, enum Auth::Level* level )
[symbol: _ZN5mongo18DBClientReplicaSet4authERKSsS2_S2_RSsbPNS_4Auth5LevelE]
DBClientReplicaSet::say ( Message& toSend, bool isRetry, std::string* actualServer )
[symbol: _ZN5mongo18DBClientReplicaSet3sayERNS_7MessageEbPSs]
dbclientcursor.h,
libmongocommon.so
namespace mongo
DBClientCursor::peekFirst ( )
[symbol: _ZN5mongo14DBClientCursor9peekFirstEv]
hostandport.h,
libcoreserver.so
namespace mongo
dynHostMyName ( )
[symbol: _ZN5mongo13dynHostMyNameEv]
dynHostResolve ( std::string& name, int& port )
[symbol: _ZN5mongo14dynHostResolveERSsRi]
log.h,
libmongocommon.so
namespace mongo
Logstream::logLockless ( StringData const& s ) [static]
[symbol: _ZN5mongo9Logstream11logLocklessERKNS_10StringDataE]
Logstream::setLogFile ( FILE* f ) [static]
[symbol: _ZN5mongo9Logstream10setLogFileEP8_IO_FILE]
message_port.h,
libmongocommon.so
namespace mongo
MessagingPort::assertStillConnected ( )
[symbol: _ZN5mongo13MessagingPort20assertStillConnectedEv]
oid.h,
libmongocommon.so
namespace mongo
OID::hash_combine ( size_t& seed ) const
[symbol: _ZNK5mongo3OID12hash_combineERj]
operator<< ( std::ostream& s, OID const& o )
[symbol: _ZN5mongolsERSoRKNS_3OIDE]
optime.h,
libserveronly.so
namespace mongo
OpTime::last_inlock ( ) [static]
[symbol: _ZN5mongo6OpTime11last_inlockEv]
OpTime::now ( ) [static]
[symbol: _ZN5mongo6OpTime3nowEv]
OpTime::waitForDifferent ( unsigned int millis )
[symbol: _ZN5mongo6OpTime16waitForDifferentEj]
pch.h,
libcoreserver.so
namespace mongo
doPreServerStartupInits ( )
[symbol: _ZN5mongo23doPreServerStartupInitsEv]
security.h,
libcoreserver.so
namespace mongo
AuthenticationInfo::_isAuthorized ( std::string const& dbname, enum Auth::Level level ) const
[symbol: _ZNK5mongo18AuthenticationInfo13_isAuthorizedERKSsNS_4Auth5LevelE]
AuthenticationInfo::_isAuthorizedSingle_inlock ( std::string const& dbname, enum Auth::Level level ) const
[symbol: _ZNK5mongo18AuthenticationInfo26_isAuthorizedSingle_inlockERKSsNS_4Auth5LevelE]
sock.h,
libmongocommon.so
namespace mongo
Socket::stillConnected ( )
[symbol: _ZN5mongo6Socket14stillConnectedEv]
to the top
Removed Symbols (15)
concurrency.h,
libmongotestfiles.so
namespace mongo
mongolock::releaseAndWriteLock ( )
[symbol: _ZN5mongo9mongolock19releaseAndWriteLockEv]
dbclient.h,
libmongotestfiles.so
namespace mongo
DBClientConnection::auth ( std::string const& dbname, std::string const& username, std::string const& pwd, std::string& errmsg, bool digestPassword )
[symbol: _ZN5mongo18DBClientConnection4authERKSsS2_S2_RSsb]
DBClientConnection::say ( Message& toSend, bool isRetry )
[symbol: _ZN5mongo18DBClientConnection3sayERNS_7MessageEb]
DBClientWithCommands::auth ( std::string const& dbname, std::string const& username, std::string const& pwd, std::string& errmsg, bool digestPassword )
[symbol: _ZN5mongo20DBClientWithCommands4authERKSsS2_S2_RSsb]
DBClientWithCommands::getLastError ( )
[symbol: _ZN5mongo20DBClientWithCommands12getLastErrorEv]
DBClientWithCommands::getLastErrorDetailed ( )
[symbol: _ZN5mongo20DBClientWithCommands20getLastErrorDetailedEv]
dbclient_rs.h,
libmongotestfiles.so
namespace mongo
DBClientReplicaSet::auth ( std::string const& dbname, std::string const& username, std::string const& pwd, std::string& errmsg, bool digestPassword )
[symbol: _ZN5mongo18DBClientReplicaSet4authERKSsS2_S2_RSsb]
DBClientReplicaSet::say ( Message& toSend, bool isRetry )
[symbol: _ZN5mongo18DBClientReplicaSet3sayERNS_7MessageEb]
mmap.h,
libmongotestfiles.so
namespace mongo
MongoFile::mmmutex [data]
[symbol: _ZN5mongo9MongoFile7mmmutexE]
mongomutex.h,
libmongotestfiles.so
namespace mongo
dbMutex [data]
[symbol: _ZN5mongo7dbMutexE]
mutex.h,
libmongotestfiles.so
namespace mongo
mutexDebugger [data]
[symbol: _ZN5mongo13mutexDebuggerE]
MutexDebugger::MutexDebugger [in-charge] ( )
[symbol: _ZN5mongo13MutexDebuggerC1Ev]
MutexDebugger::MutexDebugger [not-in-charge] ( )
[symbol: _ZN5mongo13MutexDebuggerC2Ev]
MutexDebugger::programEnding ( )
[symbol: _ZN5mongo13MutexDebugger13programEndingEv]
pch.h,
libmongotestfiles.so
namespace mongo
doPreServerStatupInits ( )
[symbol: _ZN5mongo22doPreServerStatupInitsEv]
to the top
Problems with Data Types, High Severity (7)
assert_util.h
namespace mongo
[+] class DBException (1)
| Change |
Effect |
1 | Virtual method DBException::addContext ( std::string const& ) has been added to this class. | The layout of v-table has been changed. Call of any virtual method at higher position in this class or its subclasses may result in crash or incorrect behavior of applications. |
[+] show v-table (old and new)
Offset | Virtual Table (Old) - 8 entries | Virtual Table (New) - 9 entries |
---|
0 |
(int (*)(...))0 |
(int (*)(...))0 |
4 |
(int (*)(...))(& typeinfo) |
(int (*)(...))(& typeinfo) |
8 |
~DBException |
~DBException |
12 |
~DBException |
~DBException |
16 |
DBException::what |
DBException::what |
20 |
DBException::getCode |
DBException::getCode |
24 |
DBException::appendPrefix |
DBException::appendPrefix |
28 |
DBException::toString |
DBException::addContext |
32 |
|
DBException::toString |
[+] affected symbols (1)
SocketException::toString ( ) constThis method is from derived class 'SocketException'.
cmdline.h
namespace mongo
[+] class CmdLine (1)
| Change |
Effect |
1 | Size of this class has been changed from 104 bytes to 116 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (1)
cmdLine [data]Return value has type 'CmdLine'.
dbclient.h
namespace mongo
[+] class DBClientConnection (1)
| Change |
Effect |
1 | Size of this class has been changed from 112 bytes to 116 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (23)
DBClientConnection::_checkConnection ( )This method is from 'DBClientConnection' class.
DBClientConnection::_connect ( std::string& errmsg )This method is from 'DBClientConnection' class.
DBClientConnection::_lazyKillCursor [data]This method is from 'DBClientConnection' class.
DBClientConnection::_numConnections [data]This method is from 'DBClientConnection' class.
DBClientConnection::call ( Message& toSend, Message& response, bool assertOk, std::string* actualServer )This method is from 'DBClientConnection' class.
DBClientConnection::callRead ( Message& toSend, Message& response )This method is from 'DBClientConnection' class.
DBClientConnection::checkResponse ( char const* data, int nReturned, bool* retry, std::string* host )This method is from 'DBClientConnection' class.
DBClientConnection::connect ( char const* hostname, std::string& errmsg )This method is from 'DBClientConnection' class.
DBClientConnection::connect ( HostAndPort const& server, std::string& errmsg )This method is from 'DBClientConnection' class.
DBClientConnection::getServerAddress ( ) constThis method is from 'DBClientConnection' class.
DBClientConnection::getSoTimeout ( ) constThis method is from 'DBClientConnection' class.
DBClientConnection::isFailed ( ) constThis method is from 'DBClientConnection' class.
DBClientConnection::killCursor ( long long cursorID )This method is from 'DBClientConnection' class.
DBClientConnection::lazySupported ( ) constThis method is from 'DBClientConnection' class.
DBClientConnection::query ( std::string const& ns, Query&restrict query, int nToReturn, int nToSkip, BSONObj const* fieldsToReturn, int queryOptions, int batchSize )This method is from 'DBClientConnection' class.
DBClientConnection::recv ( Message& m )This method is from 'DBClientConnection' class.
DBClientConnection::runCommand ( std::string const& dbname, BSONObj const& cmd, BSONObj& info, int options )This method is from 'DBClientConnection' class.
DBClientConnection::sayPiggyBack ( Message& toSend )This method is from 'DBClientConnection' class.
DBClientConnection::toString ( )This method is from 'DBClientConnection' class.
DBClientConnection::type ( ) constThis method is from 'DBClientConnection' class.
DBClientConnection::~DBClientConnection [in-charge] ( )This method is from 'DBClientConnection' class.
DBClientReplicaSet::masterConn ( )Return value (reference) has base type 'DBClientConnection'.
DBClientReplicaSet::slaveConn ( )Return value (reference) has base type 'DBClientConnection'.
dbclient_rs.h
namespace mongo
[+] class DBClientReplicaSet (1)
| Change |
Effect |
1 | Size of this class has been increased from 112 bytes to 120 bytes. | 1) An object of this class can be allocated by the applications and old size will be hardcoded at the compile time. Call of any exported constructor will break the memory of neighboring objects on the stack or heap. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (46)
DBClientConnection::_checkConnection ( )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::_connect ( std::string& errmsg )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::_lazyKillCursor [data]Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::_numConnections [data]Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::call ( Message& toSend, Message& response, bool assertOk, std::string* actualServer )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::callRead ( Message& toSend, Message& response )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::checkResponse ( char const* data, int nReturned, bool* retry, std::string* host )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::connect ( char const* hostname, std::string& errmsg )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::connect ( HostAndPort const& server, std::string& errmsg )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::getServerAddress ( ) constField 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::getSoTimeout ( ) constField 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::isFailed ( ) constField 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::killCursor ( long long cursorID )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::lazySupported ( ) constField 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::query ( std::string const& ns, Query&restrict query, int nToReturn, int nToSkip, BSONObj const* fieldsToReturn, int queryOptions, int batchSize )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::recv ( Message& m )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::runCommand ( std::string const& dbname, BSONObj const& cmd, BSONObj& info, int options )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::sayPiggyBack ( Message& toSend )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::toString ( )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::type ( ) constField 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::~DBClientConnection [in-charge] ( )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientReplicaSet::call ( Message& toSend, Message& response, bool assertOk, std::string* actualServer )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::callRead ( Message& toSend, Message& response )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::checkResponse ( char const* data, int nReturned, bool* retry, std::string* targetHost )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::connect ( )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::DBClientReplicaSet [in-charge] ( std::string const& name, std::vector<HostAndPort>const& servers, double so_timeout )This constructor is from 'DBClientReplicaSet' class.
DBClientReplicaSet::findOne ( std::string const& ns, Query const& query, BSONObj const* fieldsToReturn, int queryOptions )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::getServerAddress ( ) constThis method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::getSoTimeout ( ) constThis method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::insert ( std::string const& ns, BSONObj obj, int flags )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::insert ( std::string const& ns, std::vector<BSONObj>const& v, int flags )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::isFailed ( ) constThis method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::isntMaster ( )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::isntSecondary ( )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::killCursor ( long long cursorID )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::lazySupported ( ) constThis method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::masterConn ( )Field 'retval->clientSet' in return value (reference) has base type 'DBClientReplicaSet'.
DBClientReplicaSet::query ( std::string const& ns, Query query, int nToReturn, int nToSkip, BSONObj const* fieldsToReturn, int queryOptions, int batchSize )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::recv ( Message& toRecv )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::remove ( std::string const& ns, Query obj, bool justOne )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::sayPiggyBack ( Message& toSend )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::slaveConn ( )Field 'retval->clientSet' in return value (reference) has base type 'DBClientReplicaSet'.
DBClientReplicaSet::toString ( )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::type ( ) constThis method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::update ( std::string const& ns, Query query, BSONObj obj, bool upsert, bool multi )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::~DBClientReplicaSet [in-charge] ( )This method is from 'DBClientReplicaSet' class.
hostandport.h
namespace mongo
[+] class HostAndPort (1)
| Change |
Effect |
1 | Size of this class has been changed from 8 bytes to 12 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (30)
DBClientConnection::_checkConnection ( )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::_connect ( std::string& errmsg )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::_lazyKillCursor [data]Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::_numConnections [data]Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::call ( Message& toSend, Message& response, bool assertOk, std::string* actualServer )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::callRead ( Message& toSend, Message& response )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::checkResponse ( char const* data, int nReturned, bool* retry, std::string* host )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::connect ( char const* hostname, std::string& errmsg )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::connect ( HostAndPort const& server, std::string& errmsg )1st parameter 'server' (reference) has base type 'HostAndPort'.
DBClientConnection::getServerAddress ( ) constField 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::getSoTimeout ( ) constField 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::isFailed ( ) constField 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::killCursor ( long long cursorID )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::lazySupported ( ) constField 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::query ( std::string const& ns, Query&restrict query, int nToReturn, int nToSkip, BSONObj const* fieldsToReturn, int queryOptions, int batchSize )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::recv ( Message& m )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::runCommand ( std::string const& dbname, BSONObj const& cmd, BSONObj& info, int options )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::sayPiggyBack ( Message& toSend )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::toString ( )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::type ( ) constField 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::~DBClientConnection [in-charge] ( )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientReplicaSet::masterConn ( )Field 'retval->_server' in return value (reference) has type 'HostAndPort'.
DBClientReplicaSet::slaveConn ( )Field 'retval->_server' in return value (reference) has type 'HostAndPort'.
HostAndPort::isSelf ( ) constThis method is from 'HostAndPort' class.
MessagingPort::remote ( ) constReturn value has type 'HostAndPort'.
ReplicaSetMonitor::getMaster ( )Return value has type 'HostAndPort'.
ReplicaSetMonitor::getSlave ( )Return value has type 'HostAndPort'.
ReplicaSetMonitor::getSlave ( HostAndPort const& prev )1st parameter 'prev' (reference) has base type 'HostAndPort'.
ReplicaSetMonitor::notifyFailure ( HostAndPort const& server )1st parameter 'server' (reference) has base type 'HostAndPort'.
ReplicaSetMonitor::notifySlaveFailure ( HostAndPort const& server )1st parameter 'server' (reference) has base type 'HostAndPort'.
message_port.h
namespace mongo
[+] class AbstractMessagingPort (1)
| Change |
Effect |
1 | Pure virtual method AbstractMessagingPort::assertStillConnected ( ) has been added to this class. | 1) Applications will not provide the implementation for this pure virtual method and therefore cause a crash in the library trying to call this method. 2) The layout of v-table has been changed. Call of any virtual method at higher position in this class or its subclasses may result in crash or incorrect behavior of applications. |
[+] show v-table (old and new)
Offset | Virtual Table (Old) - 8 entries | Virtual Table (New) - 9 entries |
---|
0 |
(int (*)(...))0 |
(int (*)(...))0 |
4 |
(int (*)(...))(& typeinfo) |
(int (*)(...))(& typeinfo) |
8 |
~AbstractMessagingPort |
~AbstractMessagingPort |
12 |
~AbstractMessagingPort |
~AbstractMessagingPort |
16 |
__cxa_pure_virtual |
__cxa_pure_virtual |
20 |
__cxa_pure_virtual |
__cxa_pure_virtual |
24 |
__cxa_pure_virtual |
__cxa_pure_virtual |
28 |
__cxa_pure_virtual |
__cxa_pure_virtual |
32 |
|
__cxa_pure_virtual |
[+] affected symbols (5)
AbstractMessagingPort::remote ( ) constThis method is from 'AbstractMessagingPort' class.
AbstractMessagingPort::remotePort ( ) constThis method is from 'AbstractMessagingPort' class.
AbstractMessagingPort::reply ( Message& received, Message& response )This method is from 'AbstractMessagingPort' class.
AbstractMessagingPort::reply ( Message& received, Message& response, MSGID responseTo )This method is from 'AbstractMessagingPort' class.
AbstractMessagingPort::~AbstractMessagingPort [in-charge] ( )This method is from 'AbstractMessagingPort' class.
[+] class MessagingPort (1)
| Change |
Effect |
1 | Size of this class has been increased from 184 bytes to 188 bytes. | 1) An object of this class can be allocated by the applications and old size will be hardcoded at the compile time. Call of any exported constructor will break the memory of neighboring objects on the stack or heap. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (15)
Message::send ( MessagingPort& p, char const* context )1st parameter 'p' (reference) has base type 'MessagingPort'.
MessagingPort::call ( Message& toSend, Message& response )This method is from 'MessagingPort' class.
MessagingPort::MessagingPort [in-charge] ( double so_timeout, int logLevel )This constructor is from 'MessagingPort' class.
MessagingPort::MessagingPort [in-charge] ( int fd, SockAddr const& remote )This constructor is from 'MessagingPort' class.
MessagingPort::MessagingPort [in-charge] ( Socket& socket )This constructor is from 'MessagingPort' class.
MessagingPort::piggyBack ( Message& toSend, int responseTo )This method is from 'MessagingPort' class.
MessagingPort::recv ( Message const& sent, Message& response )This method is from 'MessagingPort' class.
MessagingPort::recv ( Message& m )This method is from 'MessagingPort' class.
MessagingPort::remote ( ) constThis method is from 'MessagingPort' class.
MessagingPort::remotePort ( ) constThis method is from 'MessagingPort' class.
MessagingPort::reply ( Message& received, Message& response )This method is from 'MessagingPort' class.
MessagingPort::reply ( Message& received, Message& response, MSGID responseTo )This method is from 'MessagingPort' class.
MessagingPort::say ( Message& toSend, int responseTo )This method is from 'MessagingPort' class.
MessagingPort::shutdown ( )This method is from 'MessagingPort' class.
MessagingPort::~MessagingPort [in-charge] ( )This method is from 'MessagingPort' class.
to the top
Problems with Symbols, High Severity (7)
dbclient.h,
libmongotestfiles.so
namespace mongo
[+] DBClientConnection::auth ( std::string const& dbname, std::string const& username, std::string const& pwd, std::string& errmsg, bool digestPassword ) (1)
changed to:DBClientConnection::auth ( std::string const& dbname, std::string const& username, std::string const& pwd, std::string& errmsg, bool digestPassword, enum Auth::Level* level )
[symbol: _ZN5mongo18DBClientConnection4authERKSsS2_S2_RSsb]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo18DBClientConnection4authERKSsS2_S2_RSsb to _ZN5mongo18DBClientConnection4authERKSsS2_S2_RSsbPNS_4Auth5LevelE. This may cause "undefined reference" linker error in old client applications. |
[+] DBClientConnection::say ( Message& toSend, bool isRetry ) (1)
changed to:DBClientConnection::say ( Message& toSend, bool isRetry, std::string* actualServer )
[symbol: _ZN5mongo18DBClientConnection3sayERNS_7MessageEb]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo18DBClientConnection3sayERNS_7MessageEb to _ZN5mongo18DBClientConnection3sayERNS_7MessageEbPSs. This may cause "undefined reference" linker error in old client applications. |
[+] DBClientWithCommands::auth ( std::string const& dbname, std::string const& username, std::string const& pwd, std::string& errmsg, bool digestPassword ) (1)
changed to:DBClientWithCommands::auth ( std::string const& dbname, std::string const& username, std::string const& pwd, std::string& errmsg, bool digestPassword, enum Auth::Level* level )
[symbol: _ZN5mongo20DBClientWithCommands4authERKSsS2_S2_RSsb]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo20DBClientWithCommands4authERKSsS2_S2_RSsb to _ZN5mongo20DBClientWithCommands4authERKSsS2_S2_RSsbPNS_4Auth5LevelE. This may cause "undefined reference" linker error in old client applications. |
[+] DBClientWithCommands::getLastError ( ) (1)
changed to:DBClientWithCommands::getLastError ( bool fsync, bool j, int w, int wtimeout )
[symbol: _ZN5mongo20DBClientWithCommands12getLastErrorEv]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo20DBClientWithCommands12getLastErrorEv to _ZN5mongo20DBClientWithCommands12getLastErrorEbbii. This may cause "undefined reference" linker error in old client applications. |
[+] DBClientWithCommands::getLastErrorDetailed ( ) (1)
changed to:DBClientWithCommands::getLastErrorDetailed ( bool fsync, bool j, int w, int wtimeout )
[symbol: _ZN5mongo20DBClientWithCommands20getLastErrorDetailedEv]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo20DBClientWithCommands20getLastErrorDetailedEv to _ZN5mongo20DBClientWithCommands20getLastErrorDetailedEbbii. This may cause "undefined reference" linker error in old client applications. |
dbclient_rs.h,
libmongotestfiles.so
namespace mongo
[+] DBClientReplicaSet::auth ( std::string const& dbname, std::string const& username, std::string const& pwd, std::string& errmsg, bool digestPassword ) (1)
changed to:DBClientReplicaSet::auth ( std::string const& dbname, std::string const& username, std::string const& pwd, std::string& errmsg, bool digestPassword, enum Auth::Level* level )
[symbol: _ZN5mongo18DBClientReplicaSet4authERKSsS2_S2_RSsb]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo18DBClientReplicaSet4authERKSsS2_S2_RSsb to _ZN5mongo18DBClientReplicaSet4authERKSsS2_S2_RSsbPNS_4Auth5LevelE. This may cause "undefined reference" linker error in old client applications. |
[+] DBClientReplicaSet::say ( Message& toSend, bool isRetry ) (1)
changed to:DBClientReplicaSet::say ( Message& toSend, bool isRetry, std::string* actualServer )
[symbol: _ZN5mongo18DBClientReplicaSet3sayERNS_7MessageEb]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo18DBClientReplicaSet3sayERNS_7MessageEb to _ZN5mongo18DBClientReplicaSet3sayERNS_7MessageEbPSs. This may cause "undefined reference" linker error in old client applications. |
to the top
Problems with Data Types, Medium Severity (7)
cmdline.h
namespace mongo
[+] class ParameterValidator (1)
| Change |
Effect |
1 | Pure virtual method ParameterValidator::isValid ( BSONElement, std::string& ) const has been added to this class instead of ParameterValidator::isValid ( BSONElement, std::string& ). | Applications will provide an older method to the library instead of expected newely added virtual method. This may result in crash or incorrect behavior of applications. |
[+] show v-table (old and new)
Offset | Virtual Table (Old) - 5 entries | Virtual Table (New) - 5 entries |
---|
0 |
(int (*)(...))0 |
(int (*)(...))0 |
4 |
(int (*)(...))(& typeinfo) |
(int (*)(...))(& typeinfo) |
8 |
~ParameterValidator |
~ParameterValidator |
12 |
~ParameterValidator |
~ParameterValidator |
16 |
__cxa_pure_virtual |
__cxa_pure_virtual |
[+] affected symbols (3)
ParameterValidator::get ( std::string const& name ) [static]This method is from 'ParameterValidator' class.
ParameterValidator::ParameterValidator [in-charge] ( std::string const& name )This constructor is from 'ParameterValidator' class.
ParameterValidator::~ParameterValidator [in-charge] ( )This method is from 'ParameterValidator' class.
dbclient.h
namespace mongo
[+] class DBClientConnection (1)
| Change |
Effect |
1 | Size of field _server has been changed from 8 bytes to 12 bytes. | 1) Size of the inclusive type has been changed. 2) Previous accesses of applications and library functions to this field and fields at higher positions of the structure definition may be broken. |
[+] affected symbols (23)
DBClientConnection::_checkConnection ( )This method is from 'DBClientConnection' class.
DBClientConnection::_connect ( std::string& errmsg )This method is from 'DBClientConnection' class.
DBClientConnection::_lazyKillCursor [data]This method is from 'DBClientConnection' class.
DBClientConnection::_numConnections [data]This method is from 'DBClientConnection' class.
DBClientConnection::call ( Message& toSend, Message& response, bool assertOk, std::string* actualServer )This method is from 'DBClientConnection' class.
DBClientConnection::callRead ( Message& toSend, Message& response )This method is from 'DBClientConnection' class.
DBClientConnection::checkResponse ( char const* data, int nReturned, bool* retry, std::string* host )This method is from 'DBClientConnection' class.
DBClientConnection::connect ( char const* hostname, std::string& errmsg )This method is from 'DBClientConnection' class.
DBClientConnection::connect ( HostAndPort const& server, std::string& errmsg )This method is from 'DBClientConnection' class.
DBClientConnection::getServerAddress ( ) constThis method is from 'DBClientConnection' class.
DBClientConnection::getSoTimeout ( ) constThis method is from 'DBClientConnection' class.
DBClientConnection::isFailed ( ) constThis method is from 'DBClientConnection' class.
DBClientConnection::killCursor ( long long cursorID )This method is from 'DBClientConnection' class.
DBClientConnection::lazySupported ( ) constThis method is from 'DBClientConnection' class.
DBClientConnection::query ( std::string const& ns, Query&restrict query, int nToReturn, int nToSkip, BSONObj const* fieldsToReturn, int queryOptions, int batchSize )This method is from 'DBClientConnection' class.
DBClientConnection::recv ( Message& m )This method is from 'DBClientConnection' class.
DBClientConnection::runCommand ( std::string const& dbname, BSONObj const& cmd, BSONObj& info, int options )This method is from 'DBClientConnection' class.
DBClientConnection::sayPiggyBack ( Message& toSend )This method is from 'DBClientConnection' class.
DBClientConnection::toString ( )This method is from 'DBClientConnection' class.
DBClientConnection::type ( ) constThis method is from 'DBClientConnection' class.
DBClientConnection::~DBClientConnection [in-charge] ( )This method is from 'DBClientConnection' class.
DBClientReplicaSet::masterConn ( )Return value (reference) has base type 'DBClientConnection'.
DBClientReplicaSet::slaveConn ( )Return value (reference) has base type 'DBClientConnection'.
[+] class DBClientWithCommands (2)
| Change |
Effect |
1 | Virtual method DBClientWithCommands::auth ( std::string const&, std::string const&, std::string const&, std::string&, bool, enum Auth::Level* ) has been added to this class instead of DBClientWithCommands::auth ( std::string const&, std::string const&, std::string const&, std::string&, bool ). | Applications will pass parameters of older replaced method to newly added virtual method. This may result in crash or incorrect behavior of applications. |
2 | Virtual method DBClientWithCommands::getLastErrorDetailed ( bool, bool, int, int ) has been added to this class instead of DBClientWithCommands::getLastErrorDetailed ( ). | Applications will pass parameters of older replaced method to newly added virtual method. This may result in crash or incorrect behavior of applications. |
[+] show v-table (old and new)
Offset | Virtual Table (Old) - 27 entries | Virtual Table (New) - 27 entries |
---|
0 |
(int (*)(...))0 |
(int (*)(...))0 |
4 |
(int (*)(...))(& typeinfo) |
(int (*)(...))(& typeinfo) |
8 |
__cxa_pure_virtual |
__cxa_pure_virtual |
12 |
__cxa_pure_virtual |
__cxa_pure_virtual |
16 |
__cxa_pure_virtual |
__cxa_pure_virtual |
20 |
__cxa_pure_virtual |
__cxa_pure_virtual |
24 |
__cxa_pure_virtual |
__cxa_pure_virtual |
28 |
~DBClientWithCommands |
~DBClientWithCommands |
32 |
~DBClientWithCommands |
~DBClientWithCommands |
36 |
DBClientInterface::findOne |
DBClientInterface::findOne |
40 |
__cxa_pure_virtual |
__cxa_pure_virtual |
44 |
__cxa_pure_virtual |
__cxa_pure_virtual |
48 |
DBClientWithCommands::runCommand |
DBClientWithCommands::runCommand |
52 |
DBClientWithCommands::auth |
DBClientWithCommands::auth |
56 |
DBClientWithCommands::count |
DBClientWithCommands::count |
60 |
DBClientWithCommands::isMaster |
DBClientWithCommands::isMaster |
64 |
DBClientWithCommands::getLastErrorDetailed |
DBClientWithCommands::getLastErrorDetailed |
68 |
DBClientWithCommands::dropCollection |
DBClientWithCommands::dropCollection |
72 |
DBClientWithCommands::ensureIndex |
DBClientWithCommands::ensureIndex |
76 |
DBClientWithCommands::resetIndexCache |
DBClientWithCommands::resetIndexCache |
80 |
DBClientWithCommands::getIndexes |
DBClientWithCommands::getIndexes |
84 |
DBClientWithCommands::dropIndex |
DBClientWithCommands::dropIndex |
88 |
DBClientWithCommands::dropIndex |
DBClientWithCommands::dropIndex |
92 |
DBClientWithCommands::dropIndexes |
DBClientWithCommands::dropIndexes |
96 |
DBClientWithCommands::reIndex |
DBClientWithCommands::reIndex |
100 |
DBClientWithCommands::dropDatabase |
DBClientWithCommands::dropDatabase |
104 |
__cxa_pure_virtual |
__cxa_pure_virtual |
[+] affected symbols (2)
DBClientWithCommands::auth ( std::string const& dbname, std::string const& username, std::string const& pwd, std::string& errmsg, bool digestPassword )This method is from 'DBClientWithCommands' class.
DBClientWithCommands::getLastErrorDetailed ( )This method is from 'DBClientWithCommands' class.
[+] class DBConnector (1)
| Change |
Effect |
1 | Pure virtual method DBConnector::say ( Message&, bool, std::string* ) has been added to this class instead of DBConnector::say ( Message&, bool ). | Applications will provide an older method to the library instead of expected newely added virtual method. This may result in crash or incorrect behavior of applications. |
[+] show v-table (old and new)
Offset | Virtual Table (Old) - 10 entries | Virtual Table (New) - 10 entries |
---|
0 |
(int (*)(...))0 |
(int (*)(...))0 |
4 |
(int (*)(...))(& typeinfo) |
(int (*)(...))(& typeinfo) |
8 |
~DBConnector |
~DBConnector |
12 |
~DBConnector |
~DBConnector |
16 |
__cxa_pure_virtual |
__cxa_pure_virtual |
20 |
__cxa_pure_virtual |
__cxa_pure_virtual |
24 |
__cxa_pure_virtual |
__cxa_pure_virtual |
28 |
DBConnector::recv |
DBConnector::recv |
32 |
DBConnector::checkResponse |
DBConnector::checkResponse |
36 |
__cxa_pure_virtual |
__cxa_pure_virtual |
[+] affected symbols (5)
DBClientConnection::say ( Message& toSend, bool isRetry )This method is from derived class 'DBClientConnection'.
DBClientReplicaSet::say ( Message& toSend, bool isRetry )This method is from derived class 'DBClientReplicaSet'.
DBConnector::checkResponse ( char const* data, int nReturned, bool* retry, std::string* targetHost )This method is from 'DBConnector' class.
DBConnector::recv ( Message& m )This method is from 'DBConnector' class.
DBConnector::~DBConnector [in-charge] ( )This method is from 'DBConnector' class.
dbclient_rs.h
namespace mongo
[+] class DBClientReplicaSet (2)
| Change |
Effect |
1 | Size of field _masterHost has been changed from 8 bytes to 12 bytes. | 1) Size of the inclusive type has been changed. 2) Previous accesses of applications and library functions to the fields at higher positions of the structure definition may be broken. |
2 | Size of field _slaveHost has been changed from 8 bytes to 12 bytes. | 1) Size of the inclusive type has been changed. 2) Previous accesses of applications and library functions to the fields at higher positions of the structure definition may be broken. |
[+] affected symbols (46)
DBClientConnection::_checkConnection ( )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::_connect ( std::string& errmsg )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::_lazyKillCursor [data]Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::_numConnections [data]Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::call ( Message& toSend, Message& response, bool assertOk, std::string* actualServer )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::callRead ( Message& toSend, Message& response )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::checkResponse ( char const* data, int nReturned, bool* retry, std::string* host )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::connect ( char const* hostname, std::string& errmsg )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::connect ( HostAndPort const& server, std::string& errmsg )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::getServerAddress ( ) constField 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::getSoTimeout ( ) constField 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::isFailed ( ) constField 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::killCursor ( long long cursorID )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::lazySupported ( ) constField 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::query ( std::string const& ns, Query&restrict query, int nToReturn, int nToSkip, BSONObj const* fieldsToReturn, int queryOptions, int batchSize )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::recv ( Message& m )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::runCommand ( std::string const& dbname, BSONObj const& cmd, BSONObj& info, int options )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::sayPiggyBack ( Message& toSend )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::toString ( )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::type ( ) constField 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientConnection::~DBClientConnection [in-charge] ( )Field 'this->clientSet' in the object of this method has base type 'DBClientReplicaSet'.
DBClientReplicaSet::call ( Message& toSend, Message& response, bool assertOk, std::string* actualServer )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::callRead ( Message& toSend, Message& response )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::checkResponse ( char const* data, int nReturned, bool* retry, std::string* targetHost )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::connect ( )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::DBClientReplicaSet [in-charge] ( std::string const& name, std::vector<HostAndPort>const& servers, double so_timeout )This constructor is from 'DBClientReplicaSet' class.
DBClientReplicaSet::findOne ( std::string const& ns, Query const& query, BSONObj const* fieldsToReturn, int queryOptions )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::getServerAddress ( ) constThis method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::getSoTimeout ( ) constThis method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::insert ( std::string const& ns, BSONObj obj, int flags )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::insert ( std::string const& ns, std::vector<BSONObj>const& v, int flags )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::isFailed ( ) constThis method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::isntMaster ( )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::isntSecondary ( )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::killCursor ( long long cursorID )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::lazySupported ( ) constThis method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::masterConn ( )Field 'retval->clientSet' in return value (reference) has base type 'DBClientReplicaSet'.
DBClientReplicaSet::query ( std::string const& ns, Query query, int nToReturn, int nToSkip, BSONObj const* fieldsToReturn, int queryOptions, int batchSize )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::recv ( Message& toRecv )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::remove ( std::string const& ns, Query obj, bool justOne )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::sayPiggyBack ( Message& toSend )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::slaveConn ( )Field 'retval->clientSet' in return value (reference) has base type 'DBClientReplicaSet'.
DBClientReplicaSet::toString ( )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::type ( ) constThis method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::update ( std::string const& ns, Query query, BSONObj obj, bool upsert, bool multi )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::~DBClientReplicaSet [in-charge] ( )This method is from 'DBClientReplicaSet' class.
to the top
Problems with Data Types, Low Severity (14)
builder.h
namespace mongo
[+] class StringBuilder (2)
| Change |
Effect |
1 | Size of this type has been changed from 16 bytes to 524 bytes. | The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications. |
2 | Type of field _buf has been changed from BufBuilder (16 bytes) to StackBufBuilder (524 bytes). | Size of the inclusive type has been changed. |
[+] affected symbols (6)
StringBuilder::MONGO_DBL_SIZE [data]This method is from 'StringBuilder' class.
StringBuilder::MONGO_S16_SIZE [data]This method is from 'StringBuilder' class.
StringBuilder::MONGO_S32_SIZE [data]This method is from 'StringBuilder' class.
StringBuilder::MONGO_S64_SIZE [data]This method is from 'StringBuilder' class.
StringBuilder::MONGO_U32_SIZE [data]This method is from 'StringBuilder' class.
StringBuilder::MONGO_U64_SIZE [data]This method is from 'StringBuilder' class.
cmdline.h
namespace mongo
[+] class CmdLine (4)
| Change |
Effect |
1 | Field leaderProc has been added to this type. | 1) This field will not be initialized by old clients. 2) Size of the inclusive type has been changed. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
2 | Field parentProc has been added to this type. | 1) This field will not be initialized by old clients. 2) Size of the inclusive type has been changed. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
3 | Field started has been added to this type. | 1) This field will not be initialized by old clients. 2) Size of the inclusive type has been changed. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
4 | Field doFork has been added to this type. | This field will not be initialized by old clients. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
[+] affected symbols (1)
cmdLine [data]Return value has type 'CmdLine'.
dbclient_rs.h
namespace mongo
[+] class ReplicaSetMonitor (3)
| Change |
Effect |
1 | Size of this type has been changed from 32 bytes to 40 bytes. | The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications. |
2 | Size of field _checkConnectionLock has been changed from 4 bytes to 8 bytes. | Size of the inclusive type has been changed. |
3 | Size of field _lock has been changed from 4 bytes to 8 bytes. | Size of the inclusive type has been changed. |
[+] affected symbols (10)
ReplicaSetMonitor::appendInfo ( BSONObjBuilder& b ) constThis method is from 'ReplicaSetMonitor' class.
ReplicaSetMonitor::check ( bool checkAllSecondaries )This method is from 'ReplicaSetMonitor' class.
ReplicaSetMonitor::contains ( std::string const& server ) constThis method is from 'ReplicaSetMonitor' class.
ReplicaSetMonitor::getMaster ( )This method is from 'ReplicaSetMonitor' class.
ReplicaSetMonitor::getServerAddress ( ) constThis method is from 'ReplicaSetMonitor' class.
ReplicaSetMonitor::getSlave ( )This method is from 'ReplicaSetMonitor' class.
ReplicaSetMonitor::getSlave ( HostAndPort const& prev )This method is from 'ReplicaSetMonitor' class.
ReplicaSetMonitor::notifyFailure ( HostAndPort const& server )This method is from 'ReplicaSetMonitor' class.
ReplicaSetMonitor::notifySlaveFailure ( HostAndPort const& server )This method is from 'ReplicaSetMonitor' class.
ReplicaSetMonitor::~ReplicaSetMonitor [in-charge] ( )This method is from 'ReplicaSetMonitor' class.
dbclientcursor.h
namespace mongo
[+] class DBClientCursor (2)
| Change |
Effect |
1 | Field _originalHost has been added to this type. | Size of the inclusive type has been changed. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
2 | Size of this type has been changed from 128 bytes to 132 bytes. | The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications. |
[+] affected symbols (9)
DBClientCursor::attach ( struct AScopedConnection* conn )This method is from 'DBClientCursor' class.
DBClientCursor::init ( )This method is from 'DBClientCursor' class.
DBClientCursor::initLazy ( bool isRetry )This method is from 'DBClientCursor' class.
DBClientCursor::initLazyFinish ( bool& retry )This method is from 'DBClientCursor' class.
DBClientCursor::more ( )This method is from 'DBClientCursor' class.
DBClientCursor::next ( )This method is from 'DBClientCursor' class.
DBClientCursor::peek ( std::vector<BSONObj>& p1, int atMost )This method is from 'DBClientCursor' class.
DBClientCursor::peekError ( BSONObj* error )This method is from 'DBClientCursor' class.
DBClientCursor::~DBClientCursor [in-charge] ( )This method is from 'DBClientCursor' class.
[+] class DBClientCursorInterface (1)
| Change |
Effect |
1 | Base class boost::noncopyable_::noncopyable has been added. | Possible incorrect access of applications to the memory occupied by the base classes. |
[+] show v-table (old and new)
Offset | Virtual Table (Old) - 6 entries | Virtual Table (New) - 6 entries |
---|
0 |
(int (*)(...))0 |
(int (*)(...))0 |
4 |
(int (*)(...))(& typeinfo) |
(int (*)(...))(& typeinfo) |
8 |
~DBClientCursorInterface |
~DBClientCursorInterface |
12 |
~DBClientCursorInterface |
~DBClientCursorInterface |
16 |
__cxa_pure_virtual |
__cxa_pure_virtual |
20 |
__cxa_pure_virtual |
__cxa_pure_virtual |
[+] affected symbols (12)
DBClientCursor::attach ( struct AScopedConnection* conn )This method is from derived class 'DBClientCursor'.
DBClientCursor::init ( )This method is from derived class 'DBClientCursor'.
DBClientCursor::initLazy ( bool isRetry )This method is from derived class 'DBClientCursor'.
DBClientCursor::initLazyFinish ( bool& retry )This method is from derived class 'DBClientCursor'.
DBClientCursor::more ( )This method is from derived class 'DBClientCursor'.
DBClientCursor::next ( )This method is from derived class 'DBClientCursor'.
DBClientCursor::peek ( std::vector<BSONObj>& p1, int atMost )This method is from derived class 'DBClientCursor'.
DBClientCursor::peekError ( BSONObj* error )This method is from derived class 'DBClientCursor'.
DBClientCursor::~DBClientCursor [in-charge] ( )This method is from derived class 'DBClientCursor'.
DBClientCursorInterface::more ( )This method is from 'DBClientCursorInterface' class.
DBClientCursorInterface::next ( )This method is from 'DBClientCursorInterface' class.
DBClientCursorInterface::~DBClientCursorInterface [in-charge] ( )This method is from 'DBClientCursorInterface' class.
hostandport.h
namespace mongo
[+] class HostAndPort (1)
| Change |
Effect |
1 | Field _dynName has been added to this type. | Size of the inclusive type has been changed. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
[+] affected symbols (30)
DBClientConnection::_checkConnection ( )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::_connect ( std::string& errmsg )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::_lazyKillCursor [data]Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::_numConnections [data]Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::call ( Message& toSend, Message& response, bool assertOk, std::string* actualServer )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::callRead ( Message& toSend, Message& response )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::checkResponse ( char const* data, int nReturned, bool* retry, std::string* host )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::connect ( char const* hostname, std::string& errmsg )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::connect ( HostAndPort const& server, std::string& errmsg )1st parameter 'server' (reference) has base type 'HostAndPort'.
DBClientConnection::getServerAddress ( ) constField 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::getSoTimeout ( ) constField 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::isFailed ( ) constField 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::killCursor ( long long cursorID )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::lazySupported ( ) constField 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::query ( std::string const& ns, Query&restrict query, int nToReturn, int nToSkip, BSONObj const* fieldsToReturn, int queryOptions, int batchSize )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::recv ( Message& m )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::runCommand ( std::string const& dbname, BSONObj const& cmd, BSONObj& info, int options )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::sayPiggyBack ( Message& toSend )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::toString ( )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::type ( ) constField 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientConnection::~DBClientConnection [in-charge] ( )Field 'this->_server' in the object of this method has type 'HostAndPort'.
DBClientReplicaSet::masterConn ( )Field 'retval->_server' in return value (reference) has type 'HostAndPort'.
DBClientReplicaSet::slaveConn ( )Field 'retval->_server' in return value (reference) has type 'HostAndPort'.
HostAndPort::isSelf ( ) constThis method is from 'HostAndPort' class.
MessagingPort::remote ( ) constReturn value has type 'HostAndPort'.
ReplicaSetMonitor::getMaster ( )Return value has type 'HostAndPort'.
ReplicaSetMonitor::getSlave ( )Return value has type 'HostAndPort'.
ReplicaSetMonitor::getSlave ( HostAndPort const& prev )1st parameter 'prev' (reference) has base type 'HostAndPort'.
ReplicaSetMonitor::notifyFailure ( HostAndPort const& server )1st parameter 'server' (reference) has base type 'HostAndPort'.
ReplicaSetMonitor::notifySlaveFailure ( HostAndPort const& server )1st parameter 'server' (reference) has base type 'HostAndPort'.
message_port.h
namespace mongo
[+] class MessagingPort (1)
| Change |
Effect |
1 | Size of field _remoteParsed has been changed from 8 bytes to 12 bytes. | Size of the inclusive type has been changed. |
[+] affected symbols (15)
Message::send ( MessagingPort& p, char const* context )1st parameter 'p' (reference) has base type 'MessagingPort'.
MessagingPort::call ( Message& toSend, Message& response )This method is from 'MessagingPort' class.
MessagingPort::MessagingPort [in-charge] ( double so_timeout, int logLevel )This constructor is from 'MessagingPort' class.
MessagingPort::MessagingPort [in-charge] ( int fd, SockAddr const& remote )This constructor is from 'MessagingPort' class.
MessagingPort::MessagingPort [in-charge] ( Socket& socket )This constructor is from 'MessagingPort' class.
MessagingPort::piggyBack ( Message& toSend, int responseTo )This method is from 'MessagingPort' class.
MessagingPort::recv ( Message const& sent, Message& response )This method is from 'MessagingPort' class.
MessagingPort::recv ( Message& m )This method is from 'MessagingPort' class.
MessagingPort::remote ( ) constThis method is from 'MessagingPort' class.
MessagingPort::remotePort ( ) constThis method is from 'MessagingPort' class.
MessagingPort::reply ( Message& received, Message& response )This method is from 'MessagingPort' class.
MessagingPort::reply ( Message& received, Message& response, MSGID responseTo )This method is from 'MessagingPort' class.
MessagingPort::say ( Message& toSend, int responseTo )This method is from 'MessagingPort' class.
MessagingPort::shutdown ( )This method is from 'MessagingPort' class.
MessagingPort::~MessagingPort [in-charge] ( )This method is from 'MessagingPort' class.
to the top
Header Files (1)
dbclient.h
to the top
Shared Libraries (2)
libmongoshellfiles.so
libmongotestfiles.so
to the top