Binary compatibility report for the mongoDB library between 1.7.0 and 1.9.2 versions on x86
Test Info
Library Name | mongoDB |
Version #1 | 1.7.0 |
Version #2 | 1.9.2 |
CPU Architecture | x86 |
GCC Version | 4.5 |
Test Results
Total Header Files | 1 |
Total Shared Libraries | 2 |
Total Symbols / Types | 436 / 310 |
Verdict | Incompatible (60.89%) |
---|
Problem Summary
| Severity | Count |
---|
Added Symbols | - | 151 |
Removed Symbols | High | 63 |
Problems with Data Types | High | 45 |
Medium | 20 |
Low | 56 |
Problems with Symbols | High | 28 |
Medium | 6 |
Low | 4 |
Problems with Constants | Low | 0 |
Other Changes | - | 7 |
Added Symbols (151)
assert_util.h,
libmongoshellfiles.so
namespace mongo
ErrorMsg::ErrorMsg [in-charge] ( char const* msg, char ch )
[ symbol: _ZN5mongo8ErrorMsgC1EPKcc ]
ErrorMsg::ErrorMsg [in-charge] ( char const* msg, unsigned int val )
[ symbol: _ZN5mongo8ErrorMsgC1EPKcj ]
ErrorMsg::ErrorMsg [not-in-charge] ( char const* msg, char ch )
[ symbol: _ZN5mongo8ErrorMsgC2EPKcc ]
ErrorMsg::ErrorMsg [not-in-charge] ( char const* msg, unsigned int val )
[ symbol: _ZN5mongo8ErrorMsgC2EPKcj ]
verifyFailed ( int msgid )
[ symbol: _ZN5mongo12verifyFailedEi ]
bsonmisc.h,
libmongoshellfiles.so
namespace mongo
fieldsMatch ( BSONObj const& lhs, BSONObj const& rhs )
[ symbol: _ZN5mongo11fieldsMatchERKNS_7BSONObjES2_ ]
MAXKEY [data]
[ symbol: _ZN5mongo6MAXKEYE ]
MINKEY [data]
[ symbol: _ZN5mongo6MINKEYE ]
bsonobj.h,
libmongoshellfiles.so
namespace mongo
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 ]
cmdline.h,
libmongotestfiles.so
namespace mongo
CmdLine::addGlobalOptions ( boost::program_options::options_description& general, boost::program_options::options_description& hidden ) [static]
[ symbol: _ZN5mongo7CmdLine16addGlobalOptionsERN5boost15program_options19options_descriptionES4_ ]
CmdLine::parseConfigFile ( std::istream& f, std::stringstream& ss ) [static]
[ symbol: _ZN5mongo7CmdLine15parseConfigFileERSiRSt18basic_stringstreamIcSt11char_traitsIcESaIcEE ]
CmdLine::store ( int argc, char** argv, boost::program_options::options_description& visible, boost::program_options::options_description& hidden, boost::program_options::positional_options_description& positional, boost::program_options::variables_map& output ) [static]
[ symbol: _ZN5mongo7CmdLine5storeEiPPcRN5boost15program_options19options_descriptionES6_RNS4_30positional_options_descriptionERNS4_13variables_mapE ]
ParameterValidator::get ( std::string const& name ) [static]
[ symbol: _ZN5mongo18ParameterValidator3getERKSs ]
ParameterValidator::ParameterValidator [in-charge] ( std::string const& name )
[ symbol: _ZN5mongo18ParameterValidatorC1ERKSs ]
ParameterValidator::ParameterValidator [not-in-charge] ( std::string const& name )
[ symbol: _ZN5mongo18ParameterValidatorC2ERKSs ]
ParameterValidator::~ParameterValidator [in-charge-deleting] ( )
[ symbol: _ZN5mongo18ParameterValidatorD0Ev ]
ParameterValidator::~ParameterValidator [in-charge] ( )
[ symbol: _ZN5mongo18ParameterValidatorD1Ev ]
printCommandLineOpts ( )
[ symbol: _ZN5mongo20printCommandLineOptsEv ]
setupCoreSignals ( )
[ symbol: _ZN5mongo16setupCoreSignalsEv ]
concurrency.h,
libmongotestfiles.so
namespace mongo
curopGotLock ( Client* p1 )
[ symbol: _ZN5mongo12curopGotLockEPNS_6ClientE ]
curopWaitingForLock ( int type )
[ symbol: _ZN5mongo19curopWaitingForLockEi ]
mongolock::releaseAndWriteLock ( )
[ symbol: _ZN5mongo9mongolock19releaseAndWriteLockEv ]
sayClientState ( )
[ symbol: _ZN5mongo14sayClientStateEv ]
dbclient.h,
libmongoshellfiles.so
namespace mongo
ConnectionString::connect ( std::string& errmsg, double socketTimeout ) const
[ symbol: _ZNK5mongo16ConnectionString7connectERSsd ]
ConnectionString::typeToString ( ConnectionString::ConnectionType type ) [static]
[ symbol: _ZN5mongo16ConnectionString12typeToStringENS0_14ConnectionTypeE ]
DBClientBase::insert ( std::string const& ns, BSONObj obj, int flags )
[ symbol: _ZN5mongo12DBClientBase6insertERKSsNS_7BSONObjEi ]
DBClientBase::insert ( std::string const& ns, std::vector<BSONObj>const& v, int flags )
[ symbol: _ZN5mongo12DBClientBase6insertERKSsRKSt6vectorINS_7BSONObjESaIS4_EEi ]
DBClientConnection::_lazyKillCursor [data]
[ symbol: _ZN5mongo18DBClientConnection15_lazyKillCursorE ]
DBClientConnection::_numConnections [data]
[ symbol: _ZN5mongo18DBClientConnection15_numConnectionsE ]
DBClientConnection::call ( Message& toSend, Message& response, bool assertOk, std::string* actualServer )
[ symbol: _ZN5mongo18DBClientConnection4callERNS_7MessageES2_bPSs ]
DBClientConnection::checkResponse ( char const* data, int nReturned, bool* retry, std::string* host )
[ symbol: _ZN5mongo18DBClientConnection13checkResponseEPKciPbPSs ]
DBClientConnection::say ( Message& toSend, bool isRetry )
[ symbol: _ZN5mongo18DBClientConnection3sayERNS_7MessageEb ]
DBClientInterface::findN ( std::vector<BSONObj>& out, std::string const& ns, Query query, int nToReturn, int nToSkip, BSONObj const* fieldsToReturn, int queryOptions )
[ symbol: _ZN5mongo17DBClientInterface5findNERSt6vectorINS_7BSONObjESaIS2_EERKSsNS_5QueryEiiPKS2_i ]
DBClientWithCommands::_countCmd ( std::string const& ns, BSONObj const& query, int options, int limit, int skip )
[ symbol: _ZN5mongo20DBClientWithCommands9_countCmdERKSsRKNS_7BSONObjEiii ]
DBClientWithCommands::count ( std::string const& ns, BSONObj const& query, int options, int limit, int skip )
[ symbol: _ZN5mongo20DBClientWithCommands5countERKSsRKNS_7BSONObjEiii ]
DBClientWithCommands::ensureIndex ( std::string const& ns, BSONObj keys, bool unique, std::string const& name, bool cache, bool background, int v )
[ symbol: _ZN5mongo20DBClientWithCommands11ensureIndexERKSsNS_7BSONObjEbS2_bbi ]
DBClientWithCommands::mapreduce ( std::string const& ns, std::string const& jsmapf, std::string const& jsreducef, BSONObj query, DBClientWithCommands::MROutput output )
[ symbol: _ZN5mongo20DBClientWithCommands9mapreduceERKSsS2_S2_NS_7BSONObjENS0_8MROutputE ]
DBClientWithCommands::MRInline [data]
[ symbol: _ZN5mongo20DBClientWithCommands8MRInlineE ]
DBConnector::checkResponse ( char const* data, int nReturned, bool* retry, std::string* targetHost )
[ symbol: _ZN5mongo11DBConnector13checkResponseEPKciPbPSs ]
getErrField ( BSONObj const& result )
[ symbol: _ZN5mongo11getErrFieldERKNS_7BSONObjE ]
hasErrField ( BSONObj const& result )
[ symbol: _ZN5mongo11hasErrFieldERKNS_7BSONObjE ]
dbclient_rs.h,
libmongoshellfiles.so
namespace mongo
DBClientReplicaSet::call ( Message& toSend, Message& response, bool assertOk, std::string* actualServer )
[ symbol: _ZN5mongo18DBClientReplicaSet4callERNS_7MessageES2_bPSs ]
DBClientReplicaSet::checkResponse ( char const* data, int nReturned, bool* retry, std::string* targetHost )
[ symbol: _ZN5mongo18DBClientReplicaSet13checkResponseEPKciPbPSs ]
DBClientReplicaSet::DBClientReplicaSet [in-charge] ( std::string const& name, std::vector<HostAndPort>const& servers, double so_timeout )
[ symbol: _ZN5mongo18DBClientReplicaSetC1ERKSsRKSt6vectorINS_11HostAndPortESaIS4_EEd ]
DBClientReplicaSet::DBClientReplicaSet [not-in-charge] ( std::string const& name, std::vector<HostAndPort>const& servers, double so_timeout )
[ symbol: _ZN5mongo18DBClientReplicaSetC2ERKSsRKSt6vectorINS_11HostAndPortESaIS4_EEd ]
DBClientReplicaSet::getSoTimeout ( ) const
[ symbol: _ZNK5mongo18DBClientReplicaSet12getSoTimeoutEv ]
DBClientReplicaSet::insert ( std::string const& ns, BSONObj obj, int flags )
[ symbol: _ZN5mongo18DBClientReplicaSet6insertERKSsNS_7BSONObjEi ]
DBClientReplicaSet::insert ( std::string const& ns, std::vector<BSONObj>const& v, int flags )
[ symbol: _ZN5mongo18DBClientReplicaSet6insertERKSsRKSt6vectorINS_7BSONObjESaIS4_EEi ]
DBClientReplicaSet::isntMaster ( )
[ symbol: _ZN5mongo18DBClientReplicaSet10isntMasterEv ]
DBClientReplicaSet::isntSecondary ( )
[ symbol: _ZN5mongo18DBClientReplicaSet13isntSecondaryEv ]
DBClientReplicaSet::lazySupported ( ) const
[ symbol: _ZNK5mongo18DBClientReplicaSet13lazySupportedEv ]
DBClientReplicaSet::recv ( Message& toRecv )
[ symbol: _ZN5mongo18DBClientReplicaSet4recvERNS_7MessageE ]
DBClientReplicaSet::say ( Message& toSend, bool isRetry )
[ symbol: _ZN5mongo18DBClientReplicaSet3sayERNS_7MessageEb ]
ReplicaSetMonitor::appendInfo ( BSONObjBuilder& b ) const
[ symbol: _ZNK5mongo17ReplicaSetMonitor10appendInfoERNS_14BSONObjBuilderE ]
ReplicaSetMonitor::check ( bool checkAllSecondaries )
[ symbol: _ZN5mongo17ReplicaSetMonitor5checkEb ]
ReplicaSetMonitor::checkAll ( bool checkAllSecondaries ) [static]
[ symbol: _ZN5mongo17ReplicaSetMonitor8checkAllEb ]
ReplicaSetMonitor::contains ( std::string const& server ) const
[ symbol: _ZNK5mongo17ReplicaSetMonitor8containsERKSs ]
ReplicaSetMonitor::get ( std::string const& name ) [static]
[ symbol: _ZN5mongo17ReplicaSetMonitor3getERKSs ]
ReplicaSetMonitor::get ( std::string const& name, std::vector<HostAndPort>const& servers ) [static]
[ symbol: _ZN5mongo17ReplicaSetMonitor3getERKSsRKSt6vectorINS_11HostAndPortESaIS4_EE ]
ReplicaSetMonitor::getMaster ( )
[ symbol: _ZN5mongo17ReplicaSetMonitor9getMasterEv ]
ReplicaSetMonitor::getServerAddress ( ) const
[ symbol: _ZNK5mongo17ReplicaSetMonitor16getServerAddressEv ]
ReplicaSetMonitor::getSlave ( )
[ symbol: _ZN5mongo17ReplicaSetMonitor8getSlaveEv ]
ReplicaSetMonitor::getSlave ( HostAndPort const& prev )
[ symbol: _ZN5mongo17ReplicaSetMonitor8getSlaveERKNS_11HostAndPortE ]
ReplicaSetMonitor::notifyFailure ( HostAndPort const& server )
[ symbol: _ZN5mongo17ReplicaSetMonitor13notifyFailureERKNS_11HostAndPortE ]
ReplicaSetMonitor::notifySlaveFailure ( HostAndPort const& server )
[ symbol: _ZN5mongo17ReplicaSetMonitor18notifySlaveFailureERKNS_11HostAndPortE ]
ReplicaSetMonitor::setConfigChangeHook ( ReplicaSetMonitor::ConfigChangeHook hook ) [static]
[ symbol: _ZN5mongo17ReplicaSetMonitor19setConfigChangeHookEN5boost9function1IvPKS0_EE ]
ReplicaSetMonitor::~ReplicaSetMonitor [in-charge] ( )
[ symbol: _ZN5mongo17ReplicaSetMonitorD1Ev ]
ReplicaSetMonitor::~ReplicaSetMonitor [not-in-charge] ( )
[ symbol: _ZN5mongo17ReplicaSetMonitorD2Ev ]
dbclientcursor.h,
libmongoshellfiles.so
namespace mongo
DBClientCursor::initLazy ( bool isRetry )
[ symbol: _ZN5mongo14DBClientCursor8initLazyEb ]
DBClientCursor::initLazyFinish ( bool& retry )
[ symbol: _ZN5mongo14DBClientCursor14initLazyFinishERb ]
DBClientCursor::peekError ( BSONObj* error )
[ symbol: _ZN5mongo14DBClientCursor9peekErrorEPNS_7BSONObjE ]
DBClientCursorInterface::~DBClientCursorInterface [in-charge-deleting] ( )
[ symbol: _ZN5mongo23DBClientCursorInterfaceD0Ev ]
DBClientCursorInterface::~DBClientCursorInterface [in-charge] ( )
[ symbol: _ZN5mongo23DBClientCursorInterfaceD1Ev ]
errors.hpp,
libmongotestfiles.so
namespace boost::program_options
error::~error [in-charge-deleting] ( )
[ symbol: _ZN5boost15program_options5errorD0Ev ]
error::~error [in-charge] ( )
[ symbol: _ZN5boost15program_options5errorD1Ev ]
invalid_option_value::~invalid_option_value [in-charge-deleting] ( )
[ symbol: _ZN5boost15program_options20invalid_option_valueD0Ev ]
invalid_option_value::~invalid_option_value [in-charge] ( )
[ symbol: _ZN5boost15program_options20invalid_option_valueD1Ev ]
validation_error::~validation_error [in-charge-deleting] ( )
[ symbol: _ZN5boost15program_options16validation_errorD0Ev ]
validation_error::~validation_error [in-charge] ( )
[ symbol: _ZN5boost15program_options16validation_errorD1Ev ]
goodies.h,
libmongoshellfiles.so
namespace mongo
hexdump ( char const* data, unsigned int len )
[ symbol: _ZN5mongo7hexdumpEPKcj ]
lasterror.h,
libmongoshellfiles.so
namespace mongo
LastError::appendSelf ( BSONObjBuilder& b, bool blankErr )
[ symbol: _ZN5mongo9LastError10appendSelfERNS_14BSONObjBuilderEb ]
log.h,
libmongoshellfiles.so
namespace mongo
warnings [data]
[ symbol: _ZN5mongo8warningsE ]
message.h,
libmongoshellfiles.so
namespace mongo
Message::send ( MessagingPort& p, char const* context )
[ symbol: _ZN5mongo7Message4sendERNS_13MessagingPortEPKc ]
Message::toString ( ) const
[ symbol: _ZNK5mongo7Message8toStringEv ]
message_port.h,
libmongoshellfiles.so
namespace mongo
MessagingPort::MessagingPort [in-charge] ( double so_timeout, int logLevel )
[ symbol: _ZN5mongo13MessagingPortC1Edi ]
MessagingPort::MessagingPort [in-charge] ( Socket& socket )
[ symbol: _ZN5mongo13MessagingPortC1ERNS_6SocketE ]
MessagingPort::MessagingPort [not-in-charge] ( double so_timeout, int logLevel )
[ symbol: _ZN5mongo13MessagingPortC2Edi ]
MessagingPort::MessagingPort [not-in-charge] ( Socket& socket )
[ symbol: _ZN5mongo13MessagingPortC2ERNS_6SocketE ]
MessagingPort::recv ( Message const& sent, Message& response )
[ symbol: _ZN5mongo13MessagingPort4recvERKNS_7MessageERS1_ ]
mmap.h,
libmongoshellfiles.so
namespace mongo
MAdvise::MAdvise [in-charge] ( void* p, unsigned int len, MAdvise::Advice a )
[ symbol: _ZN5mongo7MAdviseC1EPvjNS0_6AdviceE ]
MAdvise::MAdvise [not-in-charge] ( void* p, unsigned int len, MAdvise::Advice a )
[ symbol: _ZN5mongo7MAdviseC2EPvjNS0_6AdviceE ]
MAdvise::~MAdvise [in-charge] ( )
[ symbol: _ZN5mongo7MAdviseD1Ev ]
MAdvise::~MAdvise [not-in-charge] ( )
[ symbol: _ZN5mongo7MAdviseD2Ev ]
MemoryMappedFile::create ( std::string filename, unsigned long long len, bool zero )
[ symbol: _ZN5mongo16MemoryMappedFile6createESsyb ]
MemoryMappedFile::createPrivateMap ( )
[ symbol: _ZN5mongo16MemoryMappedFile16createPrivateMapEv ]
MemoryMappedFile::createReadOnlyMap ( )
[ symbol: _ZN5mongo16MemoryMappedFile17createReadOnlyMapEv ]
MemoryMappedFile::length ( ) const
[ symbol: _ZNK5mongo16MemoryMappedFile6lengthEv ]
MemoryMappedFile::map ( char const* filename, unsigned long long& length, int options )
[ symbol: _ZN5mongo16MemoryMappedFile3mapEPKcRyi ]
MemoryMappedFile::mapWithOptions ( char const* filename, int options )
[ symbol: _ZN5mongo16MemoryMappedFile14mapWithOptionsEPKci ]
MemoryMappedFile::remapPrivateView ( void* oldPrivateAddr )
[ symbol: _ZN5mongo16MemoryMappedFile16remapPrivateViewEPv ]
MemoryMappedFile::viewForFlushing ( )
[ symbol: _ZN5mongo16MemoryMappedFile15viewForFlushingEv ]
MongoFile::isMongoMMF ( )
[ symbol: _ZN5mongo9MongoFile10isMongoMMFEv ]
MongoFile::mmfiles [data]
[ symbol: _ZN5mongo9MongoFile7mmfilesE ]
MongoFile::mmmutex [data]
[ symbol: _ZN5mongo9MongoFile7mmmutexE ]
MongoFile::notifyPostFlush [data]
[ symbol: _ZN5mongo9MongoFile15notifyPostFlushE ]
MongoFile::notifyPreFlush [data]
[ symbol: _ZN5mongo9MongoFile14notifyPreFlushE ]
MongoFile::pathToFile [data]
[ symbol: _ZN5mongo9MongoFile10pathToFileE ]
MongoFile::setFilename ( std::string fn )
[ symbol: _ZN5mongo9MongoFile11setFilenameESs ]
mongomutex.h,
libmongoshellfiles.so
namespace mongo
MongoMutex::MongoMutex [in-charge] ( char const* name )
[ symbol: _ZN5mongo10MongoMutexC1EPKc ]
MongoMutex::MongoMutex [not-in-charge] ( char const* name )
[ symbol: _ZN5mongo10MongoMutexC2EPKc ]
mutex.h,
libmongoshellfiles.so
namespace mongo
StaticObserver::_destroyingStatics [data]
[ symbol: _ZN5mongo14StaticObserver18_destroyingStaticsE ]
oid.h,
libmongoshellfiles.so
namespace mongo
OID::getMachineId ( ) [static]
[ symbol: _ZN5mongo3OID12getMachineIdEv ]
OID::justForked ( ) [static]
[ symbol: _ZN5mongo3OID10justForkedEv ]
OID::regenMachineId ( ) [static]
[ symbol: _ZN5mongo3OID14regenMachineIdEv ]
optime.h,
libmongoshellfiles.so
namespace mongo
exitCleanly ( ExitCode code )
[ symbol: _ZN5mongo11exitCleanlyENS_8ExitCodeE ]
pch.h,
libmongoshellfiles.so
namespace mongo
doPreServerStatupInits ( )
[ symbol: _ZN5mongo22doPreServerStatupInitsEv ]
sock.h,
libmongoshellfiles.so
namespace mongo
setSockTimeouts ( int sock, double secs )
[ symbol: _ZN5mongo15setSockTimeoutsEid ]
SockAddr::getPort ( ) const
[ symbol: _ZNK5mongo8SockAddr7getPortEv ]
SockAddr::getType ( ) const
[ symbol: _ZNK5mongo8SockAddr7getTypeEv ]
SockAddr::operator!= ( SockAddr const& r ) const
[ symbol: _ZNK5mongo8SockAddrneERKS0_ ]
SockAddr::operator< ( SockAddr const& r ) const
[ symbol: _ZNK5mongo8SockAddrltERKS0_ ]
SockAddr::operator== ( SockAddr const& r ) const
[ symbol: _ZNK5mongo8SockAddreqERKS0_ ]
SockAddr::toString ( bool includePort ) const
[ symbol: _ZNK5mongo8SockAddr8toStringEb ]
Socket::close ( )
[ symbol: _ZN5mongo6Socket5closeEv ]
Socket::connect ( SockAddr& farEnd )
[ symbol: _ZN5mongo6Socket7connectERNS_8SockAddrE ]
Socket::postFork ( )
[ symbol: _ZN5mongo6Socket8postForkEv ]
Socket::recv ( char* data, int len )
[ symbol: _ZN5mongo6Socket4recvEPci ]
Socket::send ( char const* data, int len, char const* context )
[ symbol: _ZN5mongo6Socket4sendEPKciS2_ ]
Socket::send ( std::vector<std::pair<char*, int> >const& data, char const* context )
[ symbol: _ZN5mongo6Socket4sendERKSt6vectorISt4pairIPciESaIS4_EEPKc ]
Socket::setTimeout ( double secs )
[ symbol: _ZN5mongo6Socket10setTimeoutEd ]
Socket::Socket [in-charge] ( double so_timeout, int logLevel )
[ symbol: _ZN5mongo6SocketC1Edi ]
Socket::Socket [in-charge] ( int sock, SockAddr const& farEnd )
[ symbol: _ZN5mongo6SocketC1EiRKNS_8SockAddrE ]
Socket::Socket [not-in-charge] ( double so_timeout, int logLevel )
[ symbol: _ZN5mongo6SocketC2Edi ]
Socket::Socket [not-in-charge] ( int sock, SockAddr const& farEnd )
[ symbol: _ZN5mongo6SocketC2EiRKNS_8SockAddrE ]
Socket::unsafe_recv ( char* buf, int max )
[ symbol: _ZN5mongo6Socket11unsafe_recvEPci ]
SocketException::toString ( ) const
[ symbol: _ZNK5mongo15SocketException8toStringEv ]
sp_counted_impl.hpp,
libmongoshellfiles.so
namespace boost::detail
sp_counted_impl_p<boost::filesystem2::detail::dir_itr_imp<boost::filesystem2::path> >::dispose ( )
[ symbol: _ZN5boost6detail17sp_counted_impl_pINS_11filesystem26detail11dir_itr_impINS2_10basic_pathISsNS2_11path_traitsEEEEEE7disposeEv ]
sp_counted_impl_p<boost::filesystem2::detail::dir_itr_imp<boost::filesystem2::path> >::get_deleter ( sp_typeinfo const& p1 )
[ symbol: _ZN5boost6detail17sp_counted_impl_pINS_11filesystem26detail11dir_itr_impINS2_10basic_pathISsNS2_11path_traitsEEEEEE11get_deleterERKSt9type_info ]
sp_counted_impl_p<boost::filesystem2::detail::dir_itr_imp<boost::filesystem2::path> >::~sp_counted_impl_p [in-charge-deleting] ( )
[ symbol: _ZN5boost6detail17sp_counted_impl_pINS_11filesystem26detail11dir_itr_impINS2_10basic_pathISsNS2_11path_traitsEEEEEED0Ev ]
sp_counted_impl_p<boost::filesystem2::detail::dir_itr_imp<boost::filesystem2::path> >::~sp_counted_impl_p [in-charge] ( )
[ symbol: _ZN5boost6detail17sp_counted_impl_pINS_11filesystem26detail11dir_itr_impINS2_10basic_pathISsNS2_11path_traitsEEEEEED1Ev ]
sp_counted_impl_p<boost::filesystem2::filesystem_error::m_imp>::dispose ( )
[ symbol: _ZN5boost6detail17sp_counted_impl_pINS_11filesystem222basic_filesystem_errorINS2_10basic_pathISsNS2_11path_traitsEEEE5m_impEE7disposeEv ]
sp_counted_impl_p<boost::filesystem2::filesystem_error::m_imp>::get_deleter ( sp_typeinfo const& p1 )
[ symbol: _ZN5boost6detail17sp_counted_impl_pINS_11filesystem222basic_filesystem_errorINS2_10basic_pathISsNS2_11path_traitsEEEE5m_impEE11get_deleterERKSt9type_info ]
sp_counted_impl_p<boost::filesystem2::filesystem_error::m_imp>::~sp_counted_impl_p [in-charge-deleting] ( )
[ symbol: _ZN5boost6detail17sp_counted_impl_pINS_11filesystem222basic_filesystem_errorINS2_10basic_pathISsNS2_11path_traitsEEEE5m_impEED0Ev ]
sp_counted_impl_p<boost::filesystem2::filesystem_error::m_imp>::~sp_counted_impl_p [in-charge] ( )
[ symbol: _ZN5boost6detail17sp_counted_impl_pINS_11filesystem222basic_filesystem_errorINS2_10basic_pathISsNS2_11path_traitsEEEE5m_impEED1Ev ]
sp_counted_impl_p<mongo::DBClientConnection>::dispose ( )
[ symbol: _ZN5boost6detail17sp_counted_impl_pIN5mongo18DBClientConnectionEE7disposeEv ]
sp_counted_impl_p<mongo::DBClientConnection>::get_deleter ( sp_typeinfo const& p1 )
[ symbol: _ZN5boost6detail17sp_counted_impl_pIN5mongo18DBClientConnectionEE11get_deleterERKSt9type_info ]
sp_counted_impl_p<mongo::DBClientConnection>::~sp_counted_impl_p [in-charge-deleting] ( )
[ symbol: _ZN5boost6detail17sp_counted_impl_pIN5mongo18DBClientConnectionEED0Ev ]
sp_counted_impl_p<mongo::DBClientConnection>::~sp_counted_impl_p [in-charge] ( )
[ symbol: _ZN5boost6detail17sp_counted_impl_pIN5mongo18DBClientConnectionEED1Ev ]
time_support.h,
libmongoshellfiles.so
namespace mongo
jsTime_virtual_skew [data]
[ symbol: _ZN5mongo19jsTime_virtual_skewE ]
jsTime_virtual_thread_skew [data]
[ symbol: _ZN5mongo26jsTime_virtual_thread_skewE ]
to the top
Removed Symbols (63)
assert_util.h,
libmongoshellfiles.so
namespace mongo
Assertion::toString ( )
[ symbol: _ZN5mongo9Assertion8toStringEv ]
lastAssert [data]
[ symbol: _ZN5mongo10lastAssertE ]
bsoninlines.h,
libmongoshellfiles.so
namespace mongo
getRandomNumber ( )
[ symbol: _ZN5mongo15getRandomNumberEv ]
bsonobj.h,
libmongoshellfiles.so
namespace mongo
BSONObj::getBoolField ( char const* name ) const
[ symbol: _ZNK5mongo7BSONObj12getBoolFieldEPKc ]
BSONObj::getFieldsDotted ( StringData const& name, BSONElementSet& ret ) const
[ symbol: _ZNK5mongo7BSONObj15getFieldsDottedERKNS_10StringDataERSt3setINS_11BSONElementENS_26BSONElementCmpWithoutFieldESaIS5_EE ]
BSONObj::getIntField ( char const* name ) const
[ symbol: _ZNK5mongo7BSONObj11getIntFieldEPKc ]
BSONObj::getStringField ( char const* name ) const
[ symbol: _ZNK5mongo7BSONObj14getStringFieldEPKc ]
BSONObj::hexDump ( ) const
[ symbol: _ZNK5mongo7BSONObj7hexDumpEv ]
dbclient.h,
libmongoshellfiles.so
namespace mongo
ConnectionString::connect ( std::string& errmsg ) const
[ symbol: _ZNK5mongo16ConnectionString7connectERSs ]
DBClientBase::insert ( std::string const& ns, BSONObj obj )
[ symbol: _ZN5mongo12DBClientBase6insertERKSsNS_7BSONObjE ]
DBClientBase::insert ( std::string const& ns, std::vector<BSONObj>const& v )
[ symbol: _ZN5mongo12DBClientBase6insertERKSsRKSt6vectorINS_7BSONObjESaIS4_EE ]
DBClientConnection::call ( Message& toSend, Message& response, bool assertOk )
[ symbol: _ZN5mongo18DBClientConnection4callERNS_7MessageES2_b ]
DBClientConnection::checkResponse ( char const* data, int nReturned )
[ symbol: _ZN5mongo18DBClientConnection13checkResponseEPKci ]
DBClientConnection::say ( Message& toSend )
[ symbol: _ZN5mongo18DBClientConnection3sayERNS_7MessageE ]
DBClientReplicaSet::call ( Message& toSend, Message& response, bool assertOk )
[ symbol: _ZN5mongo18DBClientReplicaSet4callERNS_7MessageES2_b ]
DBClientReplicaSet::checkResponse ( char const* data, int nReturned )
[ symbol: _ZN5mongo18DBClientReplicaSet13checkResponseEPKci ]
DBClientReplicaSet::DBClientReplicaSet [in-charge] ( std::string const& name, std::vector<HostAndPort>const& servers )
[ symbol: _ZN5mongo18DBClientReplicaSetC1ERKSsRKSt6vectorINS_11HostAndPortESaIS4_EE ]
DBClientReplicaSet::DBClientReplicaSet [not-in-charge] ( std::string const& name, std::vector<HostAndPort>const& servers )
[ symbol: _ZN5mongo18DBClientReplicaSetC2ERKSsRKSt6vectorINS_11HostAndPortESaIS4_EE ]
DBClientReplicaSet::insert ( std::string const& ns, BSONObj&restrict obj )
[ symbol: _ZN5mongo18DBClientReplicaSet6insertERKSsNS_7BSONObjE ]
DBClientReplicaSet::insert ( std::string const& ns, std::vector<BSONObj>const& v )
[ symbol: _ZN5mongo18DBClientReplicaSet6insertERKSsRKSt6vectorINS_7BSONObjESaIS4_EE ]
DBClientReplicaSet::isMember ( DBConnector const* conn ) const
[ symbol: _ZNK5mongo18DBClientReplicaSet8isMemberEPKNS_11DBConnectorE ]
DBClientReplicaSet::say ( Message& toSend )
[ symbol: _ZN5mongo18DBClientReplicaSet3sayERNS_7MessageE ]
DBClientWithCommands::count ( std::string const& ns, BSONObj const& query, int options )
[ symbol: _ZN5mongo20DBClientWithCommands5countERKSsRKNS_7BSONObjEi ]
DBClientWithCommands::ensureIndex ( std::string const& ns, BSONObj keys, bool unique, std::string const& name )
[ symbol: _ZN5mongo20DBClientWithCommands11ensureIndexERKSsNS_7BSONObjEbS2_ ]
DBClientWithCommands::mapreduce ( std::string const& ns, std::string const& jsmapf, std::string const& jsreducef, BSONObj query, std::string const& output )
[ symbol: _ZN5mongo20DBClientWithCommands9mapreduceERKSsS2_S2_NS_7BSONObjES2_ ]
DBConnector::checkResponse ( char const* data, int nReturned )
[ symbol: _ZN5mongo11DBConnector13checkResponseEPKci ]
goodies.h,
libmongoshellfiles.so
namespace mongo
goingAway [data]
[ symbol: _ZN5mongo9goingAwayE ]
lasterror.h,
libmongoshellfiles.so
namespace mongo
LastError::appendSelf ( BSONObjBuilder& b )
[ symbol: _ZN5mongo9LastError10appendSelfERNS_14BSONObjBuilderE ]
LastErrorHolder::disconnect ( int clientId )
[ symbol: _ZN5mongo15LastErrorHolder10disconnectEi ]
LastErrorHolder::getID ( )
[ symbol: _ZN5mongo15LastErrorHolder5getIDEv ]
LastErrorHolder::remove ( int id )
[ symbol: _ZN5mongo15LastErrorHolder6removeEi ]
LastErrorHolder::setID ( int id )
[ symbol: _ZN5mongo15LastErrorHolder5setIDEi ]
LastErrorHolder::startRequest ( Message& m, int clientId )
[ symbol: _ZN5mongo15LastErrorHolder12startRequestERNS_7MessageEi ]
message.h,
libmongoshellfiles.so
namespace mongo
AbstractMessagingPort::getClientId ( )
[ symbol: _ZN5mongo21AbstractMessagingPort11getClientIdEv ]
getClientId ( )
[ symbol: _ZN5mongo11getClientIdEv ]
Listener::accepted ( int sock, SockAddr const& from )
[ symbol: _ZN5mongo8Listener8acceptedEiRKNS_8SockAddrE ]
MessagingPort::connect ( SockAddr& farEnd )
[ symbol: _ZN5mongo13MessagingPort7connectERNS_8SockAddrE ]
MessagingPort::MessagingPort [in-charge] ( int timeout, int logLevel )
[ symbol: _ZN5mongo13MessagingPortC1Eii ]
MessagingPort::MessagingPort [not-in-charge] ( int timeout, int logLevel )
[ symbol: _ZN5mongo13MessagingPortC2Eii ]
MessagingPort::recv ( char* data, int len )
[ symbol: _ZN5mongo13MessagingPort4recvEPci ]
MessagingPort::send ( char const* data, int len, char const* context )
[ symbol: _ZN5mongo13MessagingPort4sendEPKciS2_ ]
MessagingPort::send ( std::vector<std::pair<char*, int> >const& data, char const* context )
[ symbol: _ZN5mongo13MessagingPort4sendERKSt6vectorISt4pairIPciESaIS4_EEPKc ]
MessagingPort::unsafe_recv ( char* buf, int max )
[ symbol: _ZN5mongo13MessagingPort11unsafe_recvEPci ]
noUnixSocket [data]
[ symbol: _ZN5mongo12noUnixSocketE ]
setClientId ( int id )
[ symbol: _ZN5mongo11setClientIdEi ]
mmap.h,
libmongoshellfiles.so
namespace mongo
MemoryMappedFile::length ( )
[ symbol: _ZN5mongo16MemoryMappedFile6lengthEv ]
MemoryMappedFile::map ( char const* filename, long& length, int options )
[ symbol: _ZN5mongo16MemoryMappedFile3mapEPKcRli ]
mutex.h,
libmongoshellfiles.so
namespace mongo
__destroyingStatics [data]
[ symbol: _ZN5mongo19__destroyingStaticsE ]
oid.h,
libmongoshellfiles.so
namespace mongo
OID::newState ( ) [static]
[ symbol: _ZN5mongo3OID8newStateEv ]
ramstore.h,
libmongoshellfiles.so
namespace mongo
RamStoreFile::close ( )
[ symbol: _ZN5mongo12RamStoreFile5closeEv ]
RamStoreFile::flush ( bool sync )
[ symbol: _ZN5mongo12RamStoreFile5flushEb ]
RamStoreFile::length ( )
[ symbol: _ZN5mongo12RamStoreFile6lengthEv ]
RamStoreFile::Node::check ( )
[ symbol: _ZN5mongo12RamStoreFile4Node5checkEv ]
RamStoreFile::RamStoreFile [in-charge] ( )
[ symbol: _ZN5mongo12RamStoreFileC1Ev ]
RamStoreFile::RamStoreFile [not-in-charge] ( )
[ symbol: _ZN5mongo12RamStoreFileC2Ev ]
RamStoreFile::~RamStoreFile [in-charge-deleting] ( )
[ symbol: _ZN5mongo12RamStoreFileD0Ev ]
RamStoreFile::~RamStoreFile [in-charge] ( )
[ symbol: _ZN5mongo12RamStoreFileD1Ev ]
RamStoreFile::~RamStoreFile [not-in-charge] ( )
[ symbol: _ZN5mongo12RamStoreFileD2Ev ]
vtable for RamStoreFile [data]
[ symbol: _ZTVN5mongo12RamStoreFileE ]
sp_counted_impl.hpp,
libmongoshellfiles.so
namespace boost::detail
sp_counted_impl_p<mongo::BSONObj::Holder>::dispose ( )
[ symbol: _ZN5boost6detail17sp_counted_impl_pIN5mongo7BSONObj6HolderEE7disposeEv ]
sp_counted_impl_p<mongo::BSONObj::Holder>::get_deleter ( sp_typeinfo const& p1 )
[ symbol: _ZN5boost6detail17sp_counted_impl_pIN5mongo7BSONObj6HolderEE11get_deleterERKSt9type_info ]
sp_counted_impl_p<mongo::BSONObj::Holder>::~sp_counted_impl_p [in-charge-deleting] ( )
[ symbol: _ZN5boost6detail17sp_counted_impl_pIN5mongo7BSONObj6HolderEED0Ev ]
sp_counted_impl_p<mongo::BSONObj::Holder>::~sp_counted_impl_p [in-charge] ( )
[ symbol: _ZN5boost6detail17sp_counted_impl_pIN5mongo7BSONObj6HolderEED1Ev ]
to the top
Problems with Data Types, High Severity (45)
bsonobj.h
namespace mongo
[+] class BSONObj (1)
| Change |
Effect |
1 | Size of this type has been changed from 12 bytes to 8 bytes. | Layout of parameter's stack of several functions has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications. |
[+] affected symbols (5)
BSONObj::extractFieldsUnDotted ( BSONObj pattern ) const1st parameter 'pattern' has type 'BSONObj'.
DBClientBase::update ( std::string const& ns, Query query, BSONObj obj, bool upsert, bool multi )3rd parameter 'obj' has type 'BSONObj'.
DBClientWithCommands::dropIndex ( std::string const& ns, BSONObj keys )2nd parameter 'keys' has type 'BSONObj'.
Query::hint ( BSONObj keyPattern )1st parameter 'keyPattern' has type 'BSONObj'.
Query::where ( std::string const& jscode, BSONObj scope )2nd parameter 'scope' has type 'BSONObj'.
bsonobjbuilder.h
namespace mongo
[+] class BSONObjBuilder (1)
| Change |
Effect |
1 | Size of this class has been changed from 40 bytes to 44 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 (7)
BSONObjBuilder::appendAsNumber ( StringData const& fieldName, std::string const& data )This method is from 'BSONObjBuilder' class.
BSONObjBuilder::appendKeys ( BSONObj const& keyPattern, BSONObj const& values )This method is from 'BSONObjBuilder' class.
BSONObjBuilder::appendMaxForType ( StringData const& fieldName, int type )This method is from 'BSONObjBuilder' class.
BSONObjBuilder::appendMinForType ( StringData const& fieldName, int type )This method is from 'BSONObjBuilder' class.
dotted2nested ( BSONObjBuilder& b, BSONObj const& obj )1st parameter 'b' (reference) has base type 'BSONObjBuilder'.
ExceptionInfo::append ( BSONObjBuilder& b, char const* m, char const* c ) const1st parameter 'b' (reference) has base type 'BSONObjBuilder'.
nested2dotted ( BSONObjBuilder& b, BSONObj const& obj, std::string const& base )1st parameter 'b' (reference) has base type 'BSONObjBuilder'.
cmdline.h
namespace mongo
[+] class CmdLine (1)
| Change |
Effect |
1 | Field notablescan has been removed from the middle position of this structural type. | 1) Previous accesses of applications to the removed field will be incorrect. 2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications. |
[+] affected symbols (1)
cmdLine [data]Return value has type 'CmdLine'.
dbclient.h
namespace mongo
[+] class DBClientBase (4)
| Change |
Effect |
1 | Size of v-table in this class has been changed from 164 bytes to 168 bytes. | The layout of v-tables in its subclasses has been changed. Call of any virtual method in subclasses may result in crash or incorrect behavior of applications. |
2 | Pure virtual method DBClientBase::getSoTimeout ( ) const 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. |
3 | Virtual method DBClientBase::isMember ( DBConnector const* conn ) const has been removed from this class. | The layout of v-table has been changed. Call of this virtual method or any virtual method at higher position in this class or its subclasses may result in crash or incorrect behavior of applications. |
4 | Virtual method DBClientBase::say ( Message& toSend ) has been removed from this class. | The layout of v-table has been changed. Call of this virtual method or 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) - 41 entries | Virtual Table (New) - 42 entries |
---|
0 | (int (*)(...))0 | (int (*)(...))0 |
4 | (int (*)(...))(& typeinfo) | (int (*)(...))(& typeinfo) |
8 | DBClientBase::query | DBClientBase::query |
12 | DBClientBase::getMore | DBClientBase::insert |
16 | DBClientBase::insert | DBClientBase::insert |
20 | DBClientBase::insert | DBClientBase::remove |
24 | DBClientBase::remove | DBClientBase::update |
28 | DBClientBase::update | ~DBClientBase |
32 | ~DBClientBase | ~DBClientBase |
36 | ~DBClientBase | DBClientInterface::findOne |
40 | DBClientInterface::findOne | __cxa_pure_virtual |
44 | DBClientWithCommands::runCommand | DBClientBase::getMore |
48 | DBClientWithCommands::auth | DBClientWithCommands::runCommand |
52 | DBClientWithCommands::isMaster | DBClientWithCommands::auth |
56 | DBClientWithCommands::getLastErrorDetailed | DBClientWithCommands::count |
60 | DBClientWithCommands::dropCollection | DBClientWithCommands::isMaster |
64 | DBClientWithCommands::ensureIndex | DBClientWithCommands::getLastErrorDetailed |
68 | DBClientWithCommands::resetIndexCache | DBClientWithCommands::dropCollection |
72 | DBClientWithCommands::getIndexes | DBClientWithCommands::ensureIndex |
76 | DBClientWithCommands::dropIndex | DBClientWithCommands::resetIndexCache |
80 | DBClientWithCommands::dropIndex | DBClientWithCommands::getIndexes |
84 | DBClientWithCommands::dropIndexes | DBClientWithCommands::dropIndex |
88 | DBClientWithCommands::reIndex | DBClientWithCommands::dropIndex |
92 | DBClientWithCommands::dropDatabase | DBClientWithCommands::dropIndexes |
96 | __cxa_pure_virtual | DBClientWithCommands::reIndex |
100 | __cxa_pure_virtual | DBClientWithCommands::dropDatabase |
104 | __cxa_pure_virtual | __cxa_pure_virtual |
108 | __cxa_pure_virtual | __cxa_pure_virtual |
112 | __cxa_pure_virtual | __cxa_pure_virtual |
116 | __cxa_pure_virtual | __cxa_pure_virtual |
120 | __cxa_pure_virtual | __cxa_pure_virtual |
124 | (int (*)(...))-0x000000028 | __cxa_pure_virtual |
128 | (int (*)(...))(& typeinfo) | (int (*)(...))-0x000000028 |
132 | non-virtual thunk | (int (*)(...))(& typeinfo) |
136 | non-virtual thunk | non-virtual thunk |
140 | __cxa_pure_virtual | non-virtual thunk |
144 | __cxa_pure_virtual | __cxa_pure_virtual |
148 | __cxa_pure_virtual | __cxa_pure_virtual |
152 | DBConnector::checkResponse | __cxa_pure_virtual |
156 | DBConnector::recv | DBConnector::recv |
160 | __cxa_pure_virtual | DBConnector::checkResponse |
164 | | __cxa_pure_virtual |
[+] affected symbols (13)
DBClientBase::callRead ( Message& toSend, Message& response )This method is from 'DBClientBase' class.
DBClientBase::getMore ( std::string const& ns, long long cursorId, int nToReturn, int options )This method is from 'DBClientBase' class.
DBClientBase::isFailed ( ) constThis method is from 'DBClientBase' class.
DBClientBase::killCursor ( long long cursorID )This method is from 'DBClientBase' class.
DBClientBase::query ( std::string const& ns, Query query, int nToReturn, int nToSkip, BSONObj const* fieldsToReturn, int queryOptions, int batchSize )This method is from 'DBClientBase' class.
DBClientBase::remove ( std::string const& ns, Query q, bool justOne )This method is from 'DBClientBase' class.
DBClientBase::type ( ) constThis method is from 'DBClientBase' class.
DBClientBase::update ( std::string const& ns, Query query, BSONObj obj, bool upsert, bool multi )This method is from 'DBClientBase' class.
DBClientBase::~DBClientBase [in-charge] ( )This method is from 'DBClientBase' class.
DBClientConnection::connect ( char const* hostname, std::string& errmsg )This method is from derived class 'DBClientConnection'.
DBClientConnection::connect ( HostAndPort const& server, std::string& errmsg )This method is from derived class 'DBClientConnection'.
DBClientConnection::type ( ) constThis method is from derived class 'DBClientConnection'.
DBClientReplicaSet::type ( ) constThis method is from derived class 'DBClientReplicaSet'.
[+] class DBClientInterface (9)
| Change |
Effect |
1 | Size of v-table in this class has been changed from 44 bytes to 48 bytes. | The layout of v-tables in its subclasses has been changed. Call of any virtual method in subclasses may result in crash or incorrect behavior of applications. |
2 | Pure virtual method DBClientInterface::getServerAddress ( ) const 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. |
3 | Pure virtual method DBClientInterface::insert ( std::string const& ns, BSONObj obj, int flags ) 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. |
4 | The relative position of pure virtual method DBClientInterface::getMore ( std::string const& ns, long long cursorId, int nToReturn, int options ) has been changed from 1 to 6. | The layout of v-table has been changed. Call of this pure virtual method implementation may result in crash or incorrect behavior of applications. |
5 | The relative position of pure virtual method DBClientInterface::remove ( std::string const& ns, Query query, bool justOne ) has been changed from 2 to 1. | The layout of v-table has been changed. Call of this pure virtual method implementation may result in crash or incorrect behavior of applications. |
6 | The relative position of pure virtual method DBClientInterface::update ( std::string const& ns, Query query, BSONObj obj, bool upsert, bool multi ) has been changed from 3 to 2. | The layout of v-table has been changed. Call of this pure virtual method implementation may result in crash or incorrect behavior of applications. |
7 | Virtual method DBClientInterface::insert ( std::string const& ns, std::vector<BSONObj>const& v ) has been removed from this class. | The layout of v-table has been changed. Call of this virtual method or any virtual method at higher position in this class or its subclasses may result in crash or incorrect behavior of applications. |
8 | The relative position of virtual method DBClientInterface::findOne ( std::string const& ns, Query const& query, BSONObj const* fieldsToReturn, int queryOptions ) has been changed from 6 to 5. | The layout of v-table has been changed. Call of this virtual method may result in crash or incorrect behavior of applications. |
9 | The relative position of virtual method DBClientInterface::~DBClientInterface [in-charge] ( ) has been changed from 5 to 4. | The layout of v-table has been changed. Call of this virtual method may result in crash or incorrect behavior of applications. |
[+] show v-table (old and new)
Offset | Virtual Table (Old) - 11 entries | Virtual Table (New) - 12 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 | __cxa_pure_virtual | ~DBClientInterface |
32 | ~DBClientInterface | ~DBClientInterface |
36 | ~DBClientInterface | DBClientInterface::findOne |
40 | DBClientInterface::findOne | __cxa_pure_virtual |
44 | | __cxa_pure_virtual |
[+] affected symbols (27)
DBClientBase::getMore ( std::string const& ns, long long cursorId, int nToReturn, int options )This method is from derived class 'DBClientBase'.
DBClientBase::remove ( std::string const& ns, Query q, bool justOne )This method is from derived class 'DBClientBase'.
DBClientBase::update ( std::string const& ns, Query query, BSONObj obj, bool upsert, bool multi )This method is from derived class 'DBClientBase'.
DBClientConnection::connect ( char const* hostname, std::string& errmsg )This method is from derived class 'DBClientConnection'.
DBClientConnection::connect ( HostAndPort const& server, std::string& errmsg )This method is from derived class 'DBClientConnection'.
DBClientInterface::findOne ( std::string const& ns, Query const& query, BSONObj const* fieldsToReturn, int queryOptions )This method is from 'DBClientInterface' class.
DBClientInterface::getMore ( std::string const& ns, long long cursorId, int nToReturn, int options )This method is from 'DBClientInterface' class.
DBClientInterface::query ( std::string const& ns, Query query, int nToReturn, int nToSkip, BSONObj const* fieldsToReturn, int queryOptions, int batchSize )This method is from 'DBClientInterface' class.
DBClientInterface::remove ( std::string const& ns, Query query, bool justOne )This method is from 'DBClientInterface' class.
DBClientInterface::update ( std::string const& ns, Query query, BSONObj obj, bool upsert, bool multi )This method is from 'DBClientInterface' class.
DBClientInterface::~DBClientInterface [in-charge] ( )This method is from 'DBClientInterface' class.
DBClientReplicaSet::findOne ( std::string const& ns, Query const& query, BSONObj const* fieldsToReturn, int queryOptions )This method is from derived class 'DBClientReplicaSet'.
DBClientReplicaSet::remove ( std::string const& ns, Query&restrict obj, bool justOne )This method is from derived class 'DBClientReplicaSet'.
DBClientReplicaSet::update ( std::string const& ns, Query&restrict query, BSONObj&restrict obj, bool upsert, bool multi )This method is from derived class 'DBClientReplicaSet'.
DBClientWithCommands::auth ( std::string const& dbname, std::string const& username, std::string const& pwd, std::string& errmsg, bool digestPassword )This method is from derived class 'DBClientWithCommands'.
DBClientWithCommands::dropCollection ( std::string const& ns )This method is from derived class 'DBClientWithCommands'.
DBClientWithCommands::dropDatabase ( std::string const& dbname, BSONObj* info )This method is from derived class 'DBClientWithCommands'.
DBClientWithCommands::dropIndex ( std::string const& ns, BSONObj keys )This method is from derived class 'DBClientWithCommands'.
DBClientWithCommands::dropIndex ( std::string const& ns, std::string const& indexName )This method is from derived class 'DBClientWithCommands'.
DBClientWithCommands::dropIndexes ( std::string const& ns )This method is from derived class 'DBClientWithCommands'.
DBClientWithCommands::getIndexes ( std::string const& ns )This method is from derived class 'DBClientWithCommands'.
DBClientWithCommands::getLastErrorDetailed ( )This method is from derived class 'DBClientWithCommands'.
DBClientWithCommands::isMaster ( bool& isMaster, BSONObj* info )This method is from derived class 'DBClientWithCommands'.
DBClientWithCommands::reIndex ( std::string const& ns )This method is from derived class 'DBClientWithCommands'.
DBClientWithCommands::resetIndexCache ( )This method is from derived class 'DBClientWithCommands'.
DBClientWithCommands::runCommand ( std::string const& dbname, BSONObj const& cmd, BSONObj& info, int options )This method is from derived class 'DBClientWithCommands'.
DBClientWithCommands::~DBClientWithCommands [in-charge] ( )This method is from derived class 'DBClientWithCommands'.
[+] class DBClientReplicaSet (1)
| Change |
Effect |
1 | Size of this class has been increased from 80 bytes to 112 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 neighbouring objects on the stack or heap. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (16)
DBClientReplicaSet::auth ( std::string const& dbname, std::string const& username, std::string const& pwd, std::string& errmsg, bool digestPassword )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::callRead ( Message& toSend, Message& response )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::connect ( )This method 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::isFailed ( ) constThis method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::killCursor ( long long cursorID )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::masterConn ( )This method is from 'DBClientReplicaSet' class.
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::remove ( std::string const& ns, Query&restrict obj, bool justOne )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::sayPiggyBack ( Message& toSend )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::slaveConn ( )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::toString ( )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::type ( ) constThis method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::update ( std::string const& ns, Query&restrict query, BSONObj&restrict obj, bool upsert, bool multi )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::~DBClientReplicaSet [in-charge] ( )This method is from 'DBClientReplicaSet' class.
[+] class DBClientWithCommands (4)
| Change |
Effect |
1 | Size of v-table in this class has been changed from 100 bytes to 108 bytes. | The layout of v-tables in its subclasses has been changed. Call of any virtual method in subclasses may result in crash or incorrect behavior of applications. |
2 | Virtual method DBClientWithCommands::count ( std::string const& ns, BSONObj const& query, int options, int limit, int skip ) 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. |
3 | Virtual method DBClientWithCommands::ensureIndex ( std::string const& ns, BSONObj keys, bool unique, std::string const& name, bool cache, bool background, int v ) 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. |
4 | Virtual method DBClientWithCommands::ensureIndex ( std::string const& ns, BSONObj keys, bool unique, std::string const& name ) has been removed from this class. | The layout of v-table has been changed. Call of this virtual method or 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) - 25 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 | __cxa_pure_virtual | ~DBClientWithCommands |
32 | ~DBClientWithCommands | ~DBClientWithCommands |
36 | ~DBClientWithCommands | DBClientInterface::findOne |
40 | DBClientInterface::findOne | __cxa_pure_virtual |
44 | DBClientWithCommands::runCommand | __cxa_pure_virtual |
48 | DBClientWithCommands::auth | DBClientWithCommands::runCommand |
52 | DBClientWithCommands::isMaster | DBClientWithCommands::auth |
56 | DBClientWithCommands::getLastErrorDetailed | DBClientWithCommands::count |
60 | DBClientWithCommands::dropCollection | DBClientWithCommands::isMaster |
64 | DBClientWithCommands::ensureIndex | DBClientWithCommands::getLastErrorDetailed |
68 | DBClientWithCommands::resetIndexCache | DBClientWithCommands::dropCollection |
72 | DBClientWithCommands::getIndexes | DBClientWithCommands::ensureIndex |
76 | DBClientWithCommands::dropIndex | DBClientWithCommands::resetIndexCache |
80 | DBClientWithCommands::dropIndex | DBClientWithCommands::getIndexes |
84 | DBClientWithCommands::dropIndexes | DBClientWithCommands::dropIndex |
88 | DBClientWithCommands::reIndex | DBClientWithCommands::dropIndex |
92 | DBClientWithCommands::dropDatabase | DBClientWithCommands::dropIndexes |
96 | __cxa_pure_virtual | DBClientWithCommands::reIndex |
100 | | DBClientWithCommands::dropDatabase |
104 | | __cxa_pure_virtual |
[+] affected symbols (15)
DBClientConnection::connect ( char const* hostname, std::string& errmsg )This method is from derived class 'DBClientConnection'.
DBClientConnection::connect ( HostAndPort const& server, std::string& errmsg )This method is from derived class 'DBClientConnection'.
DBClientConnection::toString ( )This method is from derived class 'DBClientConnection'.
DBClientReplicaSet::toString ( )This method is from derived class 'DBClientReplicaSet'.
DBClientWithCommands::dropCollection ( std::string const& ns )This method is from 'DBClientWithCommands' class.
DBClientWithCommands::dropDatabase ( std::string const& dbname, BSONObj* info )This method is from 'DBClientWithCommands' class.
DBClientWithCommands::dropIndex ( std::string const& ns, BSONObj keys )This method is from 'DBClientWithCommands' class.
DBClientWithCommands::dropIndex ( std::string const& ns, std::string const& indexName )This method is from 'DBClientWithCommands' class.
DBClientWithCommands::dropIndexes ( std::string const& ns )This method is from 'DBClientWithCommands' class.
DBClientWithCommands::getIndexes ( std::string const& ns )This method is from 'DBClientWithCommands' class.
DBClientWithCommands::getLastErrorDetailed ( )This method is from 'DBClientWithCommands' class.
DBClientWithCommands::isMaster ( bool& isMaster, BSONObj* info )This method is from 'DBClientWithCommands' class.
DBClientWithCommands::reIndex ( std::string const& ns )This method is from 'DBClientWithCommands' class.
DBClientWithCommands::resetIndexCache ( )This method is from 'DBClientWithCommands' class.
DBClientWithCommands::toString ( )This method is from 'DBClientWithCommands' class.
[+] class DBConnector (2)
| Change |
Effect |
1 | Virtual method DBConnector::checkResponse ( char const* data, int nReturned, bool* retry, std::string* targetHost ) 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. |
2 | Virtual method DBConnector::checkResponse ( char const* data, int nReturned ) has been removed from this class. | The layout of v-table has been changed. Call of this virtual method or 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) - 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::checkResponse | DBConnector::recv |
32 | DBConnector::recv | DBConnector::checkResponse |
36 | __cxa_pure_virtual | __cxa_pure_virtual |
[+] affected symbols (2)
DBClientConnection::recv ( Message& m )This method is from derived class 'DBClientConnection'.
DBConnector::recv ( Message& m )This method is from 'DBConnector' class.
[+] class Query (1)
| Change |
Effect |
1 | Size of this class has been changed from 12 bytes to 8 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 (22)
DBClientBase::query ( std::string const& ns, Query query, int nToReturn, int nToSkip, BSONObj const* fieldsToReturn, int queryOptions, int batchSize )2nd parameter 'query' has type 'Query'.
DBClientBase::remove ( std::string const& ns, Query q, bool justOne )2nd parameter 'q' has type 'Query'.
DBClientBase::update ( std::string const& ns, Query query, BSONObj obj, bool upsert, bool multi )2nd parameter 'query' has type 'Query'.
DBClientConnection::query ( boost::function<void(BSONObj const&)> f, std::string const& ns, Query query, BSONObj const* fieldsToReturn, int queryOptions )3rd parameter 'query' has type 'Query'.
DBClientConnection::query ( boost::function<void(DBClientCursorBatchIterator&)> f, std::string const& ns, Query query, BSONObj const* fieldsToReturn, int queryOptions )3rd parameter 'query' has type 'Query'.
DBClientConnection::query ( std::string const& ns, Query&restrict query, int nToReturn, int nToSkip, BSONObj const* fieldsToReturn, int queryOptions, int batchSize )2nd parameter 'query' (reference) has base type 'Query'.
DBClientInterface::findOne ( std::string const& ns, Query const& query, BSONObj const* fieldsToReturn, int queryOptions )2nd parameter 'query' (reference) has base type 'Query'.
DBClientReplicaSet::findOne ( std::string const& ns, Query const& query, BSONObj const* fieldsToReturn, int queryOptions )2nd parameter 'query' (reference) has base type 'Query'.
DBClientReplicaSet::query ( std::string const& ns, Query query, int nToReturn, int nToSkip, BSONObj const* fieldsToReturn, int queryOptions, int batchSize )2nd parameter 'query' has type 'Query'.
Query::explain ( )Return value (reference) has base type 'Query'.
Query::getFilter ( ) constThis method is from 'Query' class.
Query::getHint ( ) constThis method is from 'Query' class.
Query::getSort ( ) constThis method is from 'Query' class.
Query::hint ( BSONObj keyPattern )Return value (reference) has base type 'Query'.
Query::isComplex ( bool* hasDollar ) constThis method is from 'Query' class.
Query::isExplain ( ) constThis method is from 'Query' class.
Query::maxKey ( BSONObj const& val )Return value (reference) has base type 'Query'.
Query::minKey ( BSONObj const& val )Return value (reference) has base type 'Query'.
Query::snapshot ( )Return value (reference) has base type 'Query'.
Query::sort ( BSONObj const& sortPattern )Return value (reference) has base type 'Query'.
Query::toString ( ) constThis method is from 'Query' class.
Query::where ( std::string const& jscode, BSONObj scope )Return value (reference) has base type 'Query'.
dbclientcursor.h
namespace mongo
[+] class DBClientCursor (4)
| Change |
Effect |
1 | Base class DBClientCursorInterface has been added. | 1) The layout of v-table in this class has been changed. 2) Size of the class has been changed from 124 bytes to 128 bytes. 3) The memory layout in this class has been shifted by 4 bytes. |
2 | Base class boost::noncopyable_::noncopyable has been removed. | 1) Size of the class has been changed from 124 bytes to 128 bytes. 2) The memory layout in this class has been shifted by 4 bytes. |
3 | Size of this class has been changed from 124 bytes to 128 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. |
4 | Virtual method DBClientCursor::~DBClientCursor [in-charge-deleting] ( ) has been removed from this class. | The layout of v-table has been changed. Call of this virtual method or 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) - 4 entries | Virtual Table (New) - 6 entries |
---|
0 | (int (*)(...))0 | (int (*)(...))0 |
4 | (int (*)(...))(& typeinfo) | (int (*)(...))(& typeinfo) |
8 | ~DBClientCursor | ~DBClientCursor |
12 | ~DBClientCursor | ~DBClientCursor |
16 | | DBClientCursor::more |
20 | | DBClientCursor::next |
[+] affected symbols (6)
DBClientCursor::attach ( AScopedConnection* conn )This method is from 'DBClientCursor' class.
DBClientCursor::more ( )This method is from 'DBClientCursor' class.
DBClientCursor::next ( )This method is from 'DBClientCursor' class.
DBClientCursor::nextSafe ( )This method is from 'DBClientCursor' class.
DBClientCursor::peek ( std::vector<BSONObj>& p1, int atMost )This method is from 'DBClientCursor' class.
DBClientCursor::~DBClientCursor [in-charge] ( )This method is from 'DBClientCursor' class.
lasterror.h
namespace mongo
[+] class LastErrorHolder (1)
| Change |
Effect |
1 | Size of this class has been changed from 44 bytes to 8 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 (9)
lastError [data]Return value has type 'LastErrorHolder'.
LastErrorHolder::_get ( bool create )This method is from 'LastErrorHolder' class.
LastErrorHolder::disableForCommand ( )This method is from 'LastErrorHolder' class.
LastErrorHolder::get ( bool create )This method is from 'LastErrorHolder' class.
LastErrorHolder::initThread ( )This method is from 'LastErrorHolder' class.
LastErrorHolder::release ( )This method is from 'LastErrorHolder' class.
LastErrorHolder::reset ( LastError* le )This method is from 'LastErrorHolder' class.
LastErrorHolder::startRequest ( Message& m, LastError* connectionOwned )This method is from 'LastErrorHolder' class.
LastErrorHolder::~LastErrorHolder [in-charge] ( )This method is from 'LastErrorHolder' class.
log.h
namespace mongo
[+] class Logstream (1)
| Change |
Effect |
1 | Size of this class has been changed from 196 bytes to 200 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 (22)
Logstream::flush ( Tee* t )This method is from 'Logstream' class.
Logstream::operator<< ( bool x )Return value (reference) has base type 'Logstream'.
Logstream::operator<< ( char const* x )Return value (reference) has base type 'Logstream'.
Logstream::operator<< ( char x )Return value (reference) has base type 'Logstream'.
Logstream::operator<< ( char* x )Return value (reference) has base type 'Logstream'.
Logstream::operator<< ( double x )Return value (reference) has base type 'Logstream'.
Logstream::operator<< ( int x )Return value (reference) has base type 'Logstream'.
Logstream::operator<< ( long long x )Return value (reference) has base type 'Logstream'.
Logstream::operator<< ( long x )Return value (reference) has base type 'Logstream'.
Logstream::operator<< ( ExitCode x )Return value (reference) has base type 'Logstream'.
Logstream::operator<< ( LazyString const& x )Return value (reference) has base type 'Logstream'.
Logstream::operator<< ( StringData const& x )Return value (reference) has base type 'Logstream'.
Logstream::operator<< ( Tee* tee )This method is from 'Logstream' class.
Logstream::operator<< ( std::ostream&(*_endl)(std::ostream&) )Return value (reference) has base type 'Logstream'.
Logstream::operator<< ( std::string const& x )Return value (reference) has base type 'Logstream'.
Logstream::operator<< ( std::ios_base&(*_hex)(std::ios_base&) )Return value (reference) has base type 'Logstream'.
Logstream::operator<< ( unsigned int x )Return value (reference) has base type 'Logstream'.
Logstream::operator<< ( unsigned long long x )Return value (reference) has base type 'Logstream'.
Logstream::operator<< ( unsigned long x )Return value (reference) has base type 'Logstream'.
Logstream::operator<< ( void const* x )Return value (reference) has base type 'Logstream'.
Logstream::operator<< ( void* x )Return value (reference) has base type 'Logstream'.
Logstream::~Logstream [in-charge] ( )This method is from 'Logstream' class.
[+] class Nullstream (1)
| Change |
Effect |
1 | Virtual method Nullstream::operator<< ( unsigned short p1 ) 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) - 25 entries | Virtual Table (New) - 26 entries |
---|
0 | (int (*)(...))0 | (int (*)(...))0 |
4 | (int (*)(...))(& typeinfo) | (int (*)(...))(& typeinfo) |
8 | Nullstream::operator<< | Nullstream::operator<< |
12 | ~Nullstream | ~Nullstream |
16 | ~Nullstream | ~Nullstream |
20 | Nullstream::operator<< | Nullstream::operator<< |
24 | Nullstream::operator<< | Nullstream::operator<< |
28 | Nullstream::operator<< | Nullstream::operator<< |
32 | Nullstream::operator<< | Nullstream::operator<< |
36 | Nullstream::operator<< | Nullstream::operator<< |
40 | Nullstream::operator<< | Nullstream::operator<< |
44 | Nullstream::operator<< | Nullstream::operator<< |
48 | Nullstream::operator<< | Nullstream::operator<< |
52 | Nullstream::operator<< | Nullstream::operator<< |
56 | Nullstream::operator<< | Nullstream::operator<< |
60 | Nullstream::operator<< | Nullstream::operator<< |
64 | Nullstream::operator<< | Nullstream::operator<< |
68 | Nullstream::operator<< | Nullstream::operator<< |
72 | Nullstream::operator<< | Nullstream::operator<< |
76 | Nullstream::operator<< | Nullstream::operator<< |
80 | Nullstream::operator<< | Nullstream::operator<< |
84 | Nullstream::operator<< | Nullstream::operator<< |
88 | Nullstream::operator<< | Nullstream::operator<< |
92 | Nullstream::operator<< | Nullstream::operator<< |
96 | Nullstream::flush | Nullstream::operator<< |
100 | | Nullstream::flush |
[+] affected symbols (20)
Logstream::flush ( Tee* t )This method is from derived class 'Logstream'.
Logstream::operator<< ( bool x )This method is from derived class 'Logstream'.
Logstream::operator<< ( double x )This method is from derived class 'Logstream'.
Logstream::operator<< ( long long x )This method is from derived class 'Logstream'.
Logstream::operator<< ( LazyString const& x )This method is from derived class 'Logstream'.
Logstream::operator<< ( std::ostream&(*_endl)(std::ostream&) )This method is from derived class 'Logstream'.
Logstream::operator<< ( std::ios_base&(*_hex)(std::ios_base&) )This method is from derived class 'Logstream'.
Logstream::operator<< ( unsigned long long x )This method is from derived class 'Logstream'.
Logstream::operator<< ( void const* x )This method is from derived class 'Logstream'.
Logstream::operator<< ( void* x )This method is from derived class 'Logstream'.
Nullstream::flush ( Tee* t )This method is from 'Nullstream' class.
Nullstream::operator<< ( bool p1 )This method is from 'Nullstream' class.
Nullstream::operator<< ( double p1 )This method is from 'Nullstream' class.
Nullstream::operator<< ( long long p1 )This method is from 'Nullstream' class.
Nullstream::operator<< ( LazyString const& p1 )This method is from 'Nullstream' class.
Nullstream::operator<< ( std::ostream&(*endl)(std::ostream&) )This method is from 'Nullstream' class.
Nullstream::operator<< ( std::ios_base&(*hex)(std::ios_base&) )This method is from 'Nullstream' class.
Nullstream::operator<< ( unsigned long long p1 )This method is from 'Nullstream' class.
Nullstream::operator<< ( void const* p1 )This method is from 'Nullstream' class.
Nullstream::operator<< ( void* p1 )This method is from 'Nullstream' class.
message.h
namespace mongo
[+] class AbstractMessagingPort (1)
| Change |
Effect |
1 | Size of this class has been changed from 4 bytes to 8 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 (19)
AbstractMessagingPort::~AbstractMessagingPort [in-charge] ( )This method is from 'AbstractMessagingPort' class.
MessagingPort::call ( Message& toSend, Message& response )This method is from derived class 'MessagingPort'.
MessagingPort::closeAllSockets ( unsigned int tagMask ) [static]This method is from derived class 'MessagingPort'.
MessagingPort::connect ( SockAddr& farEnd )This method is from derived class 'MessagingPort'.
MessagingPort::MessagingPort [in-charge] ( int timeout, int logLevel )This constructor is from derived class 'MessagingPort'.
MessagingPort::MessagingPort [in-charge] ( int sock, SockAddr const& farEnd )This constructor is from derived class 'MessagingPort'.
MessagingPort::piggyBack ( Message& toSend, int responseTo )This method is from derived class 'MessagingPort'.
MessagingPort::recv ( char* data, int len )This method is from derived class 'MessagingPort'.
MessagingPort::recv ( Message& m )This method is from derived class 'MessagingPort'.
MessagingPort::remote ( ) constThis method is from derived class 'MessagingPort'.
MessagingPort::remotePort ( ) constThis method is from derived class 'MessagingPort'.
MessagingPort::reply ( Message& received, Message& response )This method is from derived class 'MessagingPort'.
MessagingPort::reply ( Message& received, Message& response, MSGID responseTo )This method is from derived class 'MessagingPort'.
MessagingPort::say ( Message& toSend, int responseTo )This method is from derived class 'MessagingPort'.
MessagingPort::send ( char const* data, int len, char const* context )This method is from derived class 'MessagingPort'.
MessagingPort::send ( std::vector<std::pair<char*, int> >const& data, char const* context )This method is from derived class 'MessagingPort'.
MessagingPort::shutdown ( )This method is from derived class 'MessagingPort'.
MessagingPort::unsafe_recv ( char* buf, int max )This method is from derived class 'MessagingPort'.
MessagingPort::~MessagingPort [in-charge] ( )This method is from derived class 'MessagingPort'.
[+] class MessagingPort (2)
| Change |
Effect |
1 | Base class Socket has been added. | 1) Size of the class has been changed from 156 bytes to 184 bytes. 2) The memory layout in this class has been shifted by 168 bytes. |
2 | Size of this class has been increased from 156 bytes to 184 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 neighbouring objects on the stack or heap. 2) The memory layout and size of subclasses will be changed. |
[+] show v-table (old and new)
Offset | Virtual Table (Old) - 9 entries | Virtual Table (New) - 8 entries |
---|
0 | (int (*)(...))0 | (int (*)(...))0 |
4 | (int (*)(...))(& typeinfo) | (int (*)(...))(& typeinfo) |
8 | ~MessagingPort | ~MessagingPort |
12 | ~MessagingPort | ~MessagingPort |
16 | MessagingPort::reply | MessagingPort::reply |
20 | MessagingPort::reply | MessagingPort::reply |
24 | MessagingPort::remote | MessagingPort::remote |
28 | MessagingPort::remotePort | MessagingPort::remotePort |
32 | AbstractMessagingPort::getClientId | |
[+] affected symbols (18)
MessagingPort::call ( Message& toSend, Message& response )This method is from 'MessagingPort' class.
MessagingPort::closeAllSockets ( unsigned int tagMask ) [static]This method is from 'MessagingPort' class.
MessagingPort::connect ( SockAddr& farEnd )This method is from 'MessagingPort' class.
MessagingPort::MessagingPort [in-charge] ( int timeout, int logLevel )This constructor is from 'MessagingPort' class.
MessagingPort::MessagingPort [in-charge] ( int sock, SockAddr const& farEnd )This constructor is from 'MessagingPort' class.
MessagingPort::piggyBack ( Message& toSend, int responseTo )This method is from 'MessagingPort' class.
MessagingPort::recv ( char* data, int len )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::send ( char const* data, int len, char const* context )This method is from 'MessagingPort' class.
MessagingPort::send ( std::vector<std::pair<char*, int> >const& data, char const* context )This method is from 'MessagingPort' class.
MessagingPort::shutdown ( )This method is from 'MessagingPort' class.
MessagingPort::unsafe_recv ( char* buf, int max )This method is from 'MessagingPort' class.
MessagingPort::~MessagingPort [in-charge] ( )This method is from 'MessagingPort' class.
[+] class SocketException (1)
| Change |
Effect |
1 | Size of this class has been changed from 16 bytes to 24 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)
SocketException::~SocketException [in-charge] ( )This method is from 'SocketException' class.
mmap.h
namespace mongo
[+] class MemoryMappedFile (1)
| Change |
Effect |
1 | Size of this class has been increased from 24 bytes to 36 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 neighbouring objects on the stack or heap. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (8)
MemoryMappedFile::_lock ( )This method is from 'MemoryMappedFile' class.
MemoryMappedFile::_unlock ( )This method is from 'MemoryMappedFile' class.
MemoryMappedFile::close ( )This method is from 'MemoryMappedFile' class.
MemoryMappedFile::flush ( bool sync )This method is from 'MemoryMappedFile' class.
MemoryMappedFile::map ( char const* filename )This method is from 'MemoryMappedFile' class.
MemoryMappedFile::MemoryMappedFile [in-charge] ( )This constructor is from 'MemoryMappedFile' class.
MemoryMappedFile::prepareFlush ( )This method is from 'MemoryMappedFile' class.
MemoryMappedFile::~MemoryMappedFile [in-charge] ( )This method is from 'MemoryMappedFile' class.
[+] class MongoFile (9)
| Change |
Effect |
1 | Size of this class has been changed from 4 bytes to 8 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. |
2 | Pure virtual method MongoFile::length ( ) const 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. |
3 | Virtual method MongoFile::isMongoMMF ( ) 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. |
4 | The relative position of pure virtual method MongoFile::close ( ) has been changed from 0 to 2. | The layout of v-table has been changed. Call of this pure virtual method implementation may result in crash or incorrect behavior of applications. |
5 | The relative position of pure virtual method MongoFile::flush ( bool sync ) has been changed from 1 to 3. | The layout of v-table has been changed. Call of this pure virtual method implementation may result in crash or incorrect behavior of applications. |
6 | The relative position of pure virtual method MongoFile::prepareFlush ( ) has been changed from 2 to 4. | The layout of v-table has been changed. Call of this pure virtual method implementation may result in crash or incorrect behavior of applications. |
7 | The relative position of virtual method MongoFile::_lock ( ) has been changed from 3 to 5. | The layout of v-table has been changed. Call of this virtual method may result in crash or incorrect behavior of applications. |
8 | The relative position of virtual method MongoFile::_unlock ( ) has been changed from 4 to 6. | The layout of v-table has been changed. Call of this virtual method may result in crash or incorrect behavior of applications. |
9 | The relative position of virtual method MongoFile::~MongoFile [in-charge] ( ) has been changed from 6 to 1. | The layout of v-table has been changed. Call of this virtual method may result in crash or incorrect behavior of applications. |
[+] show v-table (old and new)
Offset | Virtual Table (Old) - 10 entries | Virtual Table (New) - 11 entries |
---|
0 | (int (*)(...))0 | (int (*)(...))0 |
4 | (int (*)(...))(& typeinfo) | (int (*)(...))(& typeinfo) |
8 | __cxa_pure_virtual | ~MongoFile |
12 | __cxa_pure_virtual | ~MongoFile |
16 | __cxa_pure_virtual | MongoFile::isMongoMMF |
20 | MongoFile::_lock | __cxa_pure_virtual |
24 | MongoFile::_unlock | __cxa_pure_virtual |
28 | ~MongoFile | __cxa_pure_virtual |
32 | ~MongoFile | __cxa_pure_virtual |
36 | __cxa_pure_virtual | MongoFile::_lock |
40 | | MongoFile::_unlock |
[+] affected symbols (27)
MemoryMappedFile::_lock ( )This method is from derived class 'MemoryMappedFile'.
MemoryMappedFile::_unlock ( )This method is from derived class 'MemoryMappedFile'.
MemoryMappedFile::close ( )This method is from derived class 'MemoryMappedFile'.
MemoryMappedFile::flush ( bool sync )This method is from derived class 'MemoryMappedFile'.
MemoryMappedFile::length ( )This method is from derived class 'MemoryMappedFile'.
MemoryMappedFile::map ( char const* filename )This method is from derived class 'MemoryMappedFile'.
MemoryMappedFile::map ( char const* filename, long& length, int options )This method is from derived class 'MemoryMappedFile'.
MemoryMappedFile::MemoryMappedFile [in-charge] ( )This constructor is from derived class 'MemoryMappedFile'.
MemoryMappedFile::prepareFlush ( )This method is from derived class 'MemoryMappedFile'.
MemoryMappedFile::~MemoryMappedFile [in-charge] ( )This method is from derived class 'MemoryMappedFile'.
MongoFile::_lock ( )This method is from 'MongoFile' class.
MongoFile::_unlock ( )This method is from 'MongoFile' class.
MongoFile::close ( )This method is from 'MongoFile' class.
MongoFile::closeAllFiles ( std::stringstream& message ) [static]This method is from 'MongoFile' class.
MongoFile::created ( )This method is from 'MongoFile' class.
MongoFile::destroyed ( )This method is from 'MongoFile' class.
MongoFile::flush ( bool sync )This method is from 'MongoFile' class.
MongoFile::flushAll ( bool sync ) [static]This method is from 'MongoFile' class.
MongoFile::prepareFlush ( )This method is from 'MongoFile' class.
MongoFile::totalMappedLength ( ) [static]This method is from 'MongoFile' class.
MongoFile::~MongoFile [in-charge] ( )This method is from 'MongoFile' class.
RamStoreFile::close ( )This method is from derived class 'RamStoreFile'.
RamStoreFile::flush ( bool sync )This method is from derived class 'RamStoreFile'.
RamStoreFile::~RamStoreFile [in-charge] ( )This method is from derived class 'RamStoreFile'.
StorageContainerTemplate::close ( )This method is from derived class 'StorageContainerTemplate'.
StorageContainerTemplate::flush ( bool sync )This method is from derived class 'StorageContainerTemplate'.
StorageContainerTemplate::~StorageContainerTemplate [in-charge] ( )This method is from derived class 'StorageContainerTemplate'.
to the top
Problems with Symbols, High Severity (28)
bsonobj.h,
libmongoshellfiles.so
namespace mongo
[+] BSONObj::getFieldsDotted ( StringData const& name, BSONElementSet& ret ) const (1)
changed to:BSONObj::getFieldsDotted ( StringData const& name, BSONElementMSet& ret, bool expandLastArray ) const
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZNK5mongo7BSONObj15getFieldsDottedERKNS_10StringDataERSt3setINS_11BSONElementENS_26BSONElementCmpWithoutFieldESaIS5_EE to _ZNK5mongo7BSONObj15getFieldsDottedERKNS_10StringDataERSt8multisetINS_11BSONElementENS_26BSONElementCmpWithoutFieldESaIS5_EEb. This may cause "undefined reference" linker error in old client applications. |
dbclient.h,
libmongoshellfiles.so
namespace mongo
[+] ConnectionString::connect ( std::string& errmsg ) const (1)
changed to:ConnectionString::connect ( std::string& errmsg, double socketTimeout ) const
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZNK5mongo16ConnectionString7connectERSs to _ZNK5mongo16ConnectionString7connectERSsd. This may cause "undefined reference" linker error in old client applications. |
[+] DBClientBase::insert ( std::string const& ns, BSONObj obj ) (1)
changed to:DBClientBase::insert ( std::string const& ns, BSONObj obj, int flags )
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo12DBClientBase6insertERKSsNS_7BSONObjE to _ZN5mongo12DBClientBase6insertERKSsNS_7BSONObjEi. This may cause "undefined reference" linker error in old client applications. |
[+] DBClientBase::insert ( std::string const& ns, std::vector<BSONObj>const& v ) (1)
changed to:DBClientBase::insert ( std::string const& ns, BSONObj obj, int flags )
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo12DBClientBase6insertERKSsRKSt6vectorINS_7BSONObjESaIS4_EE to _ZN5mongo12DBClientBase6insertERKSsNS_7BSONObjEi. This may cause "undefined reference" linker error in old client applications. |
[+] DBClientConnection::call ( Message& toSend, Message& response, bool assertOk ) (1)
changed to:DBClientConnection::call ( Message& toSend, Message& response, bool assertOk, std::string* actualServer )
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo18DBClientConnection4callERNS_7MessageES2_b to _ZN5mongo18DBClientConnection4callERNS_7MessageES2_bPSs. This may cause "undefined reference" linker error in old client applications. |
[+] DBClientConnection::checkResponse ( char const* data, int nReturned ) (1)
changed to:DBClientConnection::checkResponse ( char const* data, int nReturned, bool* retry, std::string* host )
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo18DBClientConnection13checkResponseEPKci to _ZN5mongo18DBClientConnection13checkResponseEPKciPbPSs. This may cause "undefined reference" linker error in old client applications. |
[+] DBClientConnection::say ( Message& toSend ) (1)
changed to:DBClientConnection::say ( Message& toSend, bool isRetry )
| 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_7MessageE to _ZN5mongo18DBClientConnection3sayERNS_7MessageEb. This may cause "undefined reference" linker error in old client applications. |
[+] DBClientReplicaSet::call ( Message& toSend, Message& response, bool assertOk ) (1)
changed to:DBClientReplicaSet::call ( Message& toSend, Message& response, bool assertOk, std::string* actualServer )
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo18DBClientReplicaSet4callERNS_7MessageES2_b to _ZN5mongo18DBClientReplicaSet4callERNS_7MessageES2_bPSs. This may cause "undefined reference" linker error in old client applications. |
[+] DBClientReplicaSet::checkResponse ( char const* data, int nReturned ) (1)
changed to:DBClientReplicaSet::checkResponse ( char const* data, int nReturned, bool* retry, std::string* targetHost )
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo18DBClientReplicaSet13checkResponseEPKci to _ZN5mongo18DBClientReplicaSet13checkResponseEPKciPbPSs. This may cause "undefined reference" linker error in old client applications. |
[+] DBClientReplicaSet::DBClientReplicaSet [in-charge] ( std::string const& name, std::vector<HostAndPort>const& servers ) (1)
changed to:DBClientReplicaSet::DBClientReplicaSet [in-charge] ( std::string const& name, std::vector<HostAndPort>const& servers, double so_timeout )
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo18DBClientReplicaSetC1ERKSsRKSt6vectorINS_11HostAndPortESaIS4_EE to _ZN5mongo18DBClientReplicaSetC1ERKSsRKSt6vectorINS_11HostAndPortESaIS4_EEd. This may cause "undefined reference" linker error in old client applications. |
[+] DBClientReplicaSet::DBClientReplicaSet [not-in-charge] ( std::string const& name, std::vector<HostAndPort>const& servers ) (1)
changed to:DBClientReplicaSet::DBClientReplicaSet [not-in-charge] ( std::string const& name, std::vector<HostAndPort>const& servers, double so_timeout )
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo18DBClientReplicaSetC2ERKSsRKSt6vectorINS_11HostAndPortESaIS4_EE to _ZN5mongo18DBClientReplicaSetC2ERKSsRKSt6vectorINS_11HostAndPortESaIS4_EEd. This may cause "undefined reference" linker error in old client applications. |
[+] DBClientReplicaSet::insert ( std::string const& ns, BSONObj&restrict obj ) (1)
changed to:DBClientReplicaSet::insert ( std::string const& ns, BSONObj obj, int flags )
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo18DBClientReplicaSet6insertERKSsNS_7BSONObjE to _ZN5mongo18DBClientReplicaSet6insertERKSsNS_7BSONObjEi. This may cause "undefined reference" linker error in old client applications. |
[+] DBClientReplicaSet::insert ( std::string const& ns, std::vector<BSONObj>const& v ) (1)
changed to:DBClientReplicaSet::insert ( std::string const& ns, BSONObj obj, int flags )
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo18DBClientReplicaSet6insertERKSsRKSt6vectorINS_7BSONObjESaIS4_EE to _ZN5mongo18DBClientReplicaSet6insertERKSsNS_7BSONObjEi. This may cause "undefined reference" linker error in old client applications. |
[+] DBClientReplicaSet::remove ( std::string const& ns, Query&restrict obj, bool justOne ) (1)
[ symbol: _ZN5mongo18DBClientReplicaSet6removeERKSsNS_5QueryEb ]
| Change | Effect |
---|
1 | Type of 2nd parameter obj has been changed from Query&restrict (12 bytes) to Query (8 bytes). | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications. |
[+] DBClientReplicaSet::say ( Message& toSend ) (1)
changed to:DBClientReplicaSet::say ( Message& toSend, bool isRetry )
| 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_7MessageE to _ZN5mongo18DBClientReplicaSet3sayERNS_7MessageEb. This may cause "undefined reference" linker error in old client applications. |
[+] DBClientReplicaSet::update ( std::string const& ns, Query&restrict query, BSONObj&restrict obj, bool upsert, bool multi ) (2)
[ symbol: _ZN5mongo18DBClientReplicaSet6updateERKSsNS_5QueryENS_7BSONObjEbb ]
| Change | Effect |
---|
1 | Type of 3rd parameter obj has been changed from BSONObj&restrict (12 bytes) to BSONObj (8 bytes). | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications. |
2 | Type of 2nd parameter query has been changed from Query&restrict (12 bytes) to Query (8 bytes). | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications. |
[+] DBClientWithCommands::count ( std::string const& ns, BSONObj const& query, int options ) (1)
changed to:DBClientWithCommands::count ( std::string const& ns, BSONObj const& query, int options, int limit, int skip )
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo20DBClientWithCommands5countERKSsRKNS_7BSONObjEi to _ZN5mongo20DBClientWithCommands5countERKSsRKNS_7BSONObjEiii. This may cause "undefined reference" linker error in old client applications. |
[+] DBClientWithCommands::ensureIndex ( std::string const& ns, BSONObj keys, bool unique, std::string const& name ) (1)
changed to:DBClientWithCommands::ensureIndex ( std::string const& ns, BSONObj keys, bool unique, std::string const& name, bool cache, bool background, int v )
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo20DBClientWithCommands11ensureIndexERKSsNS_7BSONObjEbS2_ to _ZN5mongo20DBClientWithCommands11ensureIndexERKSsNS_7BSONObjEbS2_bbi. This may cause "undefined reference" linker error in old client applications. |
[+] DBClientWithCommands::mapreduce ( std::string const& ns, std::string const& jsmapf, std::string const& jsreducef, BSONObj query, std::string const& output ) (1)
changed to:DBClientWithCommands::mapreduce ( std::string const& ns, std::string const& jsmapf, std::string const& jsreducef, BSONObj query, DBClientWithCommands::MROutput output )
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo20DBClientWithCommands9mapreduceERKSsS2_S2_NS_7BSONObjES2_ to _ZN5mongo20DBClientWithCommands9mapreduceERKSsS2_S2_NS_7BSONObjENS0_8MROutputE. This may cause "undefined reference" linker error in old client applications. |
[+] DBConnector::checkResponse ( char const* data, int nReturned ) (1)
changed to:DBConnector::checkResponse ( char const* data, int nReturned, bool* retry, std::string* targetHost )
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo11DBConnector13checkResponseEPKci to _ZN5mongo11DBConnector13checkResponseEPKciPbPSs. This may cause "undefined reference" linker error in old client applications. |
lasterror.h,
libmongoshellfiles.so
namespace mongo
[+] LastError::appendSelf ( BSONObjBuilder& b ) (1)
changed to:LastError::appendSelf ( BSONObjBuilder& b, bool blankErr )
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo9LastError10appendSelfERNS_14BSONObjBuilderE to _ZN5mongo9LastError10appendSelfERNS_14BSONObjBuilderEb. This may cause "undefined reference" linker error in old client applications. |
[+] LastErrorHolder::startRequest ( Message& m, LastError* connectionOwned ) (1)
[ symbol: _ZN5mongo15LastErrorHolder12startRequestERNS_7MessageEPNS_9LastErrorE ]
| Change | Effect |
---|
1 | Type of return value has been changed from void to LastError* (4 bytes). | Layout of parameter's stack has been shifted by 4 bytes because the return value became passed in memory as the hidden first parameter. All the parameters will be incorrectly initialized by applications. |
message.h,
libmongoshellfiles.so
namespace mongo
[+] MessagingPort::MessagingPort [in-charge] ( int timeout, int logLevel ) (1)
changed to:MessagingPort::MessagingPort [in-charge] ( double so_timeout, int logLevel )
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo13MessagingPortC1Eii to _ZN5mongo13MessagingPortC1Edi. This may cause "undefined reference" linker error in old client applications. |
[+] MessagingPort::MessagingPort [not-in-charge] ( int timeout, int logLevel ) (1)
changed to:MessagingPort::MessagingPort [not-in-charge] ( double so_timeout, int logLevel )
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo13MessagingPortC2Eii to _ZN5mongo13MessagingPortC2Edi. This may cause "undefined reference" linker error in old client applications. |
[+] MessagingPort::recv ( char* data, int len ) (1)
changed to:MessagingPort::recv ( Message const& sent, Message& response )
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo13MessagingPort4recvEPci to _ZN5mongo13MessagingPort4recvERKNS_7MessageERS1_. This may cause "undefined reference" linker error in old client applications. |
mmap.h,
libmongoshellfiles.so
namespace mongo
[+] MemoryMappedFile::length ( ) (1)
changed to:MemoryMappedFile::length ( ) const
| Change | Effect |
---|
1 | Method became const. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo16MemoryMappedFile6lengthEv to _ZNK5mongo16MemoryMappedFile6lengthEv. This may cause "undefined reference" linker error in old client applications. |
[+] MemoryMappedFile::map ( char const* filename, long& length, int options ) (1)
changed to:MemoryMappedFile::map ( char const* filename, unsigned long long& length, int options )
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo16MemoryMappedFile3mapEPKcRli to _ZN5mongo16MemoryMappedFile3mapEPKcRyi. This may cause "undefined reference" linker error in old client applications. |
to the top
Problems with Data Types, Medium Severity (20)
cmdline.h
namespace mongo
[+] class CmdLine (8)
| Change |
Effect |
1 | Field binaryName has been added at the middle position of this structural type. | 1) Size of the inclusive type has been changed. 2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications. |
2 | Field configsvr has been added at the middle position of this structural type. | 1) Size of the inclusive type has been changed. 2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications. |
3 | Field cwd has been added at the middle position of this structural type. | 1) Size of the inclusive type has been changed. 2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications. |
4 | Field durOptions has been added at the middle position of this structural type. | 1) Size of the inclusive type has been changed. 2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications. |
5 | Field journalCommitInterval has been added at the middle position of this structural type. | 1) Size of the inclusive type has been changed. 2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications. |
6 | Field noTableScan has been added at the middle position of this structural type. | 1) Size of the inclusive type has been changed. 2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications. |
7 | Field objcheck has been added at the middle position of this structural type. | 1) Size of the inclusive type has been changed. 2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications. |
8 | Field preallocj has been added at the middle position of this structural type. | 1) Size of the inclusive type has been changed. 2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications. |
[+] affected symbols (1)
cmdLine [data]Return value has type 'CmdLine'.
dbclient.h
namespace mongo
[+] class DBClientInterface (1)
| Change |
Effect |
1 | Pure virtual method DBClientInterface::insert ( std::string const& ns, std::vector<BSONObj>const& v, int flags ) has been added to this class instead of DBClientInterface::insert ( std::string const& ns, BSONObj obj ). | 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) - 11 entries | Virtual Table (New) - 12 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 | __cxa_pure_virtual | ~DBClientInterface |
32 | ~DBClientInterface | ~DBClientInterface |
36 | ~DBClientInterface | DBClientInterface::findOne |
40 | DBClientInterface::findOne | __cxa_pure_virtual |
44 | | __cxa_pure_virtual |
[+] affected symbols (2)
DBClientInterface::findOne ( std::string const& ns, Query const& query, BSONObj const* fieldsToReturn, int queryOptions )This method is from 'DBClientInterface' class.
DBClientInterface::~DBClientInterface [in-charge] ( )This method is from 'DBClientInterface' class.
[+] class DBClientReplicaSet (1)
| Change |
Effect |
1 | The layout of v-table has been changed for unknown reason. | Call of any method in this class may result in crash or incorrect behavior of applications. |
[+] show v-table (old and new)
Offset | Virtual Table (Old) - 45 entries | Virtual Table (New) - 48 entries |
---|
0 | (int (*)(...))0 | (int (*)(...))0 |
4 | (int (*)(...))(& typeinfo) | (int (*)(...))(& typeinfo) |
8 | DBClientReplicaSet::query | DBClientReplicaSet::query |
12 | DBClientBase::getMore | DBClientReplicaSet::insert |
16 | DBClientReplicaSet::insert | DBClientReplicaSet::insert |
20 | DBClientReplicaSet::insert | DBClientReplicaSet::remove |
24 | DBClientReplicaSet::remove | DBClientReplicaSet::update |
28 | DBClientReplicaSet::update | ~DBClientReplicaSet |
32 | ~DBClientReplicaSet | ~DBClientReplicaSet |
36 | ~DBClientReplicaSet | DBClientReplicaSet::findOne |
40 | DBClientReplicaSet::findOne | DBClientReplicaSet::getServerAddress |
44 | DBClientWithCommands::runCommand | DBClientBase::getMore |
48 | DBClientReplicaSet::auth | DBClientWithCommands::runCommand |
52 | DBClientWithCommands::isMaster | DBClientReplicaSet::auth |
56 | DBClientWithCommands::getLastErrorDetailed | DBClientWithCommands::count |
60 | DBClientWithCommands::dropCollection | DBClientWithCommands::isMaster |
64 | DBClientWithCommands::ensureIndex | DBClientWithCommands::getLastErrorDetailed |
68 | DBClientWithCommands::resetIndexCache | DBClientWithCommands::dropCollection |
72 | DBClientWithCommands::getIndexes | DBClientWithCommands::ensureIndex |
76 | DBClientWithCommands::dropIndex | DBClientWithCommands::resetIndexCache |
80 | DBClientWithCommands::dropIndex | DBClientWithCommands::getIndexes |
84 | DBClientWithCommands::dropIndexes | DBClientWithCommands::dropIndex |
88 | DBClientWithCommands::reIndex | DBClientWithCommands::dropIndex |
92 | DBClientWithCommands::dropDatabase | DBClientWithCommands::dropIndexes |
96 | DBClientReplicaSet::toString | DBClientWithCommands::reIndex |
100 | DBClientReplicaSet::isFailed | DBClientWithCommands::dropDatabase |
104 | DBClientReplicaSet::killCursor | DBClientReplicaSet::toString |
108 | DBClientReplicaSet::callRead | DBClientReplicaSet::isFailed |
112 | DBClientReplicaSet::say | DBClientReplicaSet::killCursor |
116 | DBClientReplicaSet::type | DBClientReplicaSet::callRead |
120 | DBClientReplicaSet::isMember | DBClientReplicaSet::type |
124 | DBClientReplicaSet::getServerAddress | DBClientReplicaSet::getSoTimeout |
128 | DBClientReplicaSet::call | DBClientReplicaSet::say |
132 | DBClientReplicaSet::checkResponse | DBClientReplicaSet::recv |
136 | DBClientReplicaSet::sayPiggyBack | DBClientReplicaSet::checkResponse |
140 | (int (*)(...))-0x000000028 | DBClientReplicaSet::lazySupported |
144 | (int (*)(...))(& typeinfo) | DBClientReplicaSet::call |
148 | non-virtual thunk | DBClientReplicaSet::sayPiggyBack |
152 | non-virtual thunk | (int (*)(...))-0x000000028 |
156 | non-virtual thunk | (int (*)(...))(& typeinfo) |
160 | non-virtual thunk | non-virtual thunk |
164 | non-virtual thunk | non-virtual thunk |
168 | non-virtual thunk | non-virtual thunk |
172 | DBConnector::recv | non-virtual thunk |
176 | non-virtual thunk | non-virtual thunk |
180 | | non-virtual thunk |
184 | | non-virtual thunk |
188 | | non-virtual thunk |
[+] affected symbols (23)
DBClientReplicaSet::auth ( std::string const& dbname, std::string const& username, std::string const& pwd, std::string& errmsg, bool digestPassword )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::call ( Message& toSend, Message& response, bool assertOk )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 )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 )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::insert ( std::string const& ns, BSONObj&restrict obj )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::insert ( std::string const& ns, std::vector<BSONObj>const& v )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::isFailed ( ) constThis method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::isMember ( DBConnector const* conn ) constThis method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::killCursor ( long long cursorID )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::masterConn ( )This method is from 'DBClientReplicaSet' class.
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::remove ( std::string const& ns, Query&restrict obj, bool justOne )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::say ( Message& toSend )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::sayPiggyBack ( Message& toSend )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::slaveConn ( )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::toString ( )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::type ( ) constThis method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::update ( std::string const& ns, Query&restrict query, BSONObj&restrict obj, bool upsert, bool multi )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::~DBClientReplicaSet [in-charge] ( )This method is from 'DBClientReplicaSet' class.
[+] class DBConnector (3)
| Change |
Effect |
1 | Pure virtual method DBConnector::call ( Message& toSend, Message& response, bool assertOk, std::string* actualServer ) has been added to this class instead of DBConnector::call ( Message& toSend, Message& response, bool assertOk ). | 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. |
2 | Pure virtual method DBConnector::lazySupported ( ) const has been added to this class instead of DBConnector::getServerAddress ( ) const. | 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. |
3 | Pure virtual method DBConnector::say ( Message& toSend, bool isRetry ) has been added to this class instead of DBConnector::say ( Message& toSend ). | 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::checkResponse | DBConnector::recv |
32 | DBConnector::recv | DBConnector::checkResponse |
36 | __cxa_pure_virtual | __cxa_pure_virtual |
[+] affected symbols (3)
DBConnector::checkResponse ( char const* data, int nReturned )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.
[+] class Query (1)
| Change |
Effect |
1 | Size of field obj has been changed from 12 bytes to 8 bytes. | 1) Size of the inclusive type has changed. 2) Previous accesses of applications and library functions to this field may be broken. |
[+] affected symbols (22)
DBClientBase::query ( std::string const& ns, Query query, int nToReturn, int nToSkip, BSONObj const* fieldsToReturn, int queryOptions, int batchSize )2nd parameter 'query' has type 'Query'.
DBClientBase::remove ( std::string const& ns, Query q, bool justOne )2nd parameter 'q' has type 'Query'.
DBClientBase::update ( std::string const& ns, Query query, BSONObj obj, bool upsert, bool multi )2nd parameter 'query' has type 'Query'.
DBClientConnection::query ( boost::function<void(BSONObj const&)> f, std::string const& ns, Query query, BSONObj const* fieldsToReturn, int queryOptions )3rd parameter 'query' has type 'Query'.
DBClientConnection::query ( boost::function<void(DBClientCursorBatchIterator&)> f, std::string const& ns, Query query, BSONObj const* fieldsToReturn, int queryOptions )3rd parameter 'query' has type 'Query'.
DBClientConnection::query ( std::string const& ns, Query&restrict query, int nToReturn, int nToSkip, BSONObj const* fieldsToReturn, int queryOptions, int batchSize )2nd parameter 'query' (reference) has base type 'Query'.
DBClientInterface::findOne ( std::string const& ns, Query const& query, BSONObj const* fieldsToReturn, int queryOptions )2nd parameter 'query' (reference) has base type 'Query'.
DBClientReplicaSet::findOne ( std::string const& ns, Query const& query, BSONObj const* fieldsToReturn, int queryOptions )2nd parameter 'query' (reference) has base type 'Query'.
DBClientReplicaSet::query ( std::string const& ns, Query query, int nToReturn, int nToSkip, BSONObj const* fieldsToReturn, int queryOptions, int batchSize )2nd parameter 'query' has type 'Query'.
Query::explain ( )This method is from 'Query' class.
Query::getFilter ( ) constThis method is from 'Query' class.
Query::getHint ( ) constThis method is from 'Query' class.
Query::getSort ( ) constThis method is from 'Query' class.
Query::hint ( BSONObj keyPattern )This method is from 'Query' class.
Query::isComplex ( bool* hasDollar ) constThis method is from 'Query' class.
Query::isExplain ( ) constThis method is from 'Query' class.
Query::maxKey ( BSONObj const& val )This method is from 'Query' class.
Query::minKey ( BSONObj const& val )This method is from 'Query' class.
Query::snapshot ( )This method is from 'Query' class.
Query::sort ( BSONObj const& sortPattern )This method is from 'Query' class.
Query::toString ( ) constThis method is from 'Query' class.
Query::where ( std::string const& jscode, BSONObj scope )This method is from 'Query' class.
[+] enum QueryOptions (1)
| Change |
Effect |
1 | Value of member QueryOption_AllSupported has been changed from 126 to 254. | Applications may execute a wrong branch of code in the library and therefore change the behavior. |
[+] affected symbols (1)
DBClientWithCommands::availableOptions ( )Return value has type 'QueryOptions'.
log.h
namespace mongo
[+] class Logstream (1)
| Change |
Effect |
1 | The layout of v-table has been changed for unknown reason. | Call of any method in this class may result in crash or incorrect behavior of applications. |
[+] show v-table (old and new)
Offset | Virtual Table (Old) - 25 entries | Virtual Table (New) - 26 entries |
---|
0 | (int (*)(...))0 | (int (*)(...))0 |
4 | (int (*)(...))(& typeinfo) | (int (*)(...))(& typeinfo) |
8 | Logstream::operator<< | Logstream::operator<< |
12 | ~Logstream | ~Logstream |
16 | ~Logstream | ~Logstream |
20 | Logstream::operator<< | Logstream::operator<< |
24 | Logstream::operator<< | Logstream::operator<< |
28 | Logstream::operator<< | Logstream::operator<< |
32 | Logstream::operator<< | Logstream::operator<< |
36 | Logstream::operator<< | Logstream::operator<< |
40 | Logstream::operator<< | Logstream::operator<< |
44 | Logstream::operator<< | Logstream::operator<< |
48 | Logstream::operator<< | Logstream::operator<< |
52 | Logstream::operator<< | Logstream::operator<< |
56 | Logstream::operator<< | Logstream::operator<< |
60 | Logstream::operator<< | Logstream::operator<< |
64 | Logstream::operator<< | Logstream::operator<< |
68 | Logstream::operator<< | Logstream::operator<< |
72 | Logstream::operator<< | Logstream::operator<< |
76 | Logstream::operator<< | Logstream::operator<< |
80 | Logstream::operator<< | Logstream::operator<< |
84 | Logstream::operator<< | Logstream::operator<< |
88 | Logstream::operator<< | Logstream::operator<< |
92 | Logstream::operator<< | Logstream::operator<< |
96 | Logstream::flush | Logstream::operator<< |
100 | | Logstream::flush |
[+] affected symbols (23)
Logstream::flush ( Tee* t )This method is from 'Logstream' class.
Logstream::get ( ) [static]This method is from 'Logstream' class.
Logstream::operator<< ( bool x )This method is from 'Logstream' class.
Logstream::operator<< ( char const* x )This method is from 'Logstream' class.
Logstream::operator<< ( char x )This method is from 'Logstream' class.
Logstream::operator<< ( char* x )This method is from 'Logstream' class.
Logstream::operator<< ( double x )This method is from 'Logstream' class.
Logstream::operator<< ( int x )This method is from 'Logstream' class.
Logstream::operator<< ( long long x )This method is from 'Logstream' class.
Logstream::operator<< ( long x )This method is from 'Logstream' class.
Logstream::operator<< ( ExitCode x )This method is from 'Logstream' class.
Logstream::operator<< ( LazyString const& x )This method is from 'Logstream' class.
Logstream::operator<< ( StringData const& x )This method is from 'Logstream' class.
Logstream::operator<< ( Tee* tee )This method is from 'Logstream' class.
Logstream::operator<< ( std::ostream&(*_endl)(std::ostream&) )This method is from 'Logstream' class.
Logstream::operator<< ( std::string const& x )This method is from 'Logstream' class.
Logstream::operator<< ( std::ios_base&(*_hex)(std::ios_base&) )This method is from 'Logstream' class.
Logstream::operator<< ( unsigned int x )This method is from 'Logstream' class.
Logstream::operator<< ( unsigned long long x )This method is from 'Logstream' class.
Logstream::operator<< ( unsigned long x )This method is from 'Logstream' class.
Logstream::operator<< ( void const* x )This method is from 'Logstream' class.
Logstream::operator<< ( void* x )This method is from 'Logstream' class.
Logstream::~Logstream [in-charge] ( )This method is from 'Logstream' class.
message.h
namespace mongo
[+] class MessagingPort (4)
| Change |
Effect |
1 | Field _logLevel has been removed from this type. | 1) Applications will access incorrect memory when attempting to access this field. 2) Size of the inclusive type has been changed. |
2 | Field _timeout has been removed from this type. | 1) Applications will access incorrect memory when attempting to access this field. 2) Size of the inclusive type has been changed. |
3 | Field farEnd has been removed from this type. | 1) Applications will access incorrect memory when attempting to access this field. 2) Size of the inclusive type has been changed. |
4 | Field tag has been removed from this type. | 1) Applications will access incorrect memory when attempting to access this field. 2) Size of the inclusive type has been changed. |
[+] affected symbols (11)
MessagingPort::call ( Message& toSend, Message& response )This method is from 'MessagingPort' class.
MessagingPort::MessagingPort [in-charge] ( int sock, SockAddr const& farEnd )This constructor is from 'MessagingPort' class.
MessagingPort::piggyBack ( Message& toSend, int responseTo )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, Medium Severity (6)
bsontypes.h,
libmongoshellfiles.so
namespace mongo
[+] maxKey [data] (1)
[ symbol: _ZN5mongo6maxKeyE ]
| Change | Effect |
---|
1 | Size of this global data has been changed from 12 bytes to 8 bytes. | Applications will obtain a different value and execution may change. |
[+] minKey [data] (1)
[ symbol: _ZN5mongo6minKeyE ]
| Change | Effect |
---|
1 | Size of this global data has been changed from 12 bytes to 8 bytes. | Applications will obtain a different value and execution may change. |
cmdline.h,
libmongoshellfiles.so
namespace mongo
[+] cmdLine [data] (1)
[ symbol: _ZN5mongo7cmdLineE ]
| Change | Effect |
---|
1 | Size of this global data has been changed from 64 bytes to 100 bytes. | Applications will obtain a different value and execution may change. |
dbclient.h,
libmongoshellfiles.so
namespace mongo
[+] DBClientReplicaSet::remove ( std::string const& ns, Query&restrict obj, bool justOne ) (1)
[ symbol: _ZN5mongo18DBClientReplicaSet6removeERKSsNS_5QueryEb ]
| Change | Effect |
---|
1 | The pointer level of 2nd parameter obj has been decreased from 1 to 0. | The library function will treat the parameter as the lower-dimension array and will not read all elements. This may change the behavior of applications. NOTE: if this is out-parameter then this change may cause a crash of applications. |
[+] DBClientReplicaSet::update ( std::string const& ns, Query&restrict query, BSONObj&restrict obj, bool upsert, bool multi ) (2)
[ symbol: _ZN5mongo18DBClientReplicaSet6updateERKSsNS_5QueryENS_7BSONObjEbb ]
| Change | Effect |
---|
1 | The pointer level of 3rd parameter obj has been decreased from 1 to 0. | The library function will treat the parameter as the lower-dimension array and will not read all elements. This may change the behavior of applications. NOTE: if this is out-parameter then this change may cause a crash of applications. |
2 | The pointer level of 2nd parameter query has been decreased from 1 to 0. | The library function will treat the parameter as the lower-dimension array and will not read all elements. This may change the behavior of applications. NOTE: if this is out-parameter then this change may cause a crash of applications. |
to the top
Problems with Data Types, Low Severity (56)
bsonobj.h
namespace mongo
[+] class BSONObj (2)
| Change |
Effect |
1 | Size of this type has been changed from 12 bytes to 8 bytes. | The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications. |
2 | Type of field _holder has been changed from boost::shared_ptr<BSONObj::Holder> (8 bytes) to boost::intrusive_ptr<BSONObj::Holder> (4 bytes). | Size of the inclusive type has changed. |
[+] affected symbols (63)
BSONObj::addFields ( BSONObj& from, std::set<std::string>& fields )1st parameter 'from' (reference) has base type 'BSONObj'.
BSONObj::clientReadable ( ) constThis method is from 'BSONObj' class.
BSONObj::dump ( ) constThis method is from 'BSONObj' class.
BSONObj::extractFields ( BSONObj const& pattern, bool fillWithNull ) const1st parameter 'pattern' (reference) has base type 'BSONObj'.
BSONObj::extractFieldsUnDotted ( BSONObj pattern ) constThis method is from 'BSONObj' class.
BSONObj::filterFieldsUndotted ( BSONObj const& filter, bool inFilter ) const1st parameter 'filter' (reference) has base type 'BSONObj'.
BSONObj::getFieldDottedOrArray ( char const*& name ) constThis method is from 'BSONObj' class.
BSONObj::getFieldNames ( std::set<std::string>& fields ) constThis method is from 'BSONObj' class.
BSONObj::getFieldUsingIndexNames ( char const* fieldName, BSONObj const& indexKey ) const2nd parameter 'indexKey' (reference) has base type 'BSONObj'.
BSONObj::jsonString ( JsonStringFormat format, int pretty ) constThis method is from 'BSONObj' class.
BSONObj::md5 ( ) constThis method is from 'BSONObj' class.
BSONObj::okForStorage ( ) constThis method is from 'BSONObj' class.
BSONObj::replaceFieldNames ( BSONObj const& obj ) const1st parameter 'obj' (reference) has base type 'BSONObj'.
BSONObj::valid ( ) constThis method is from 'BSONObj' class.
BSONObj::woCompare ( BSONObj const& r, BSONObj const& ordering, bool considerFieldName ) const2nd parameter 'ordering' (reference) has base type 'BSONObj'.
BSONObj::woCompare ( BSONObj const& r, Ordering const& o, bool considerFieldName ) const1st parameter 'r' (reference) has base type 'BSONObj'.
BSONObj::woSortOrder ( BSONObj const& r, BSONObj const& sortKey, bool useDotted ) const2nd parameter 'sortKey' (reference) has base type 'BSONObj'.
BSONObjBuilder::appendKeys ( BSONObj const& keyPattern, BSONObj const& values )2nd parameter 'values' (reference) has base type 'BSONObj'.
BSONObjIteratorSorted::BSONObjIteratorSorted [in-charge] ( BSONObj const& o )1st parameter 'o' (reference) has base type 'BSONObj'.
DBClientBase::query ( std::string const& ns, Query query, int nToReturn, int nToSkip, BSONObj const* fieldsToReturn, int queryOptions, int batchSize )Field 'query−>obj' in 2nd parameter 'query' has type 'BSONObj'.
DBClientBase::remove ( std::string const& ns, Query q, bool justOne )Field 'q−>obj' in 2nd parameter 'q' has type 'BSONObj'.
DBClientBase::update ( std::string const& ns, Query query, BSONObj obj, bool upsert, bool multi )Field 'query−>obj' in 2nd parameter 'query' has type 'BSONObj'.
DBClientConnection::query ( boost::function<void(BSONObj const&)> f, std::string const& ns, Query query, BSONObj const* fieldsToReturn, int queryOptions )Field 'query−>obj' in 3rd parameter 'query' has type 'BSONObj'.
DBClientConnection::query ( boost::function<void(DBClientCursorBatchIterator&)> f, std::string const& ns, Query query, BSONObj const* fieldsToReturn, int queryOptions )Field 'query−>obj' in 3rd parameter 'query' has type 'BSONObj'.
DBClientConnection::query ( std::string const& ns, Query&restrict query, int nToReturn, int nToSkip, BSONObj const* fieldsToReturn, int queryOptions, int batchSize )Field 'query−>obj' in 2nd parameter 'query' (reference) has type 'BSONObj'.
DBClientCursor::next ( )Return value has type 'BSONObj'.
DBClientInterface::findOne ( std::string const& ns, Query const& query, BSONObj const* fieldsToReturn, int queryOptions )3rd parameter 'fieldsToReturn' (pointer) has base type 'BSONObj'.
DBClientReplicaSet::findOne ( std::string const& ns, Query const& query, BSONObj const* fieldsToReturn, int queryOptions )3rd parameter 'fieldsToReturn' (pointer) has base type 'BSONObj'.
DBClientReplicaSet::query ( std::string const& ns, Query query, int nToReturn, int nToSkip, BSONObj const* fieldsToReturn, int queryOptions, int batchSize )5th parameter 'fieldsToReturn' (pointer) has base type 'BSONObj'.
DBClientWithCommands::copyDatabase ( std::string const& fromdb, std::string const& todb, std::string const& fromhost, BSONObj* info )4th parameter 'info' (pointer) has base type 'BSONObj'.
DBClientWithCommands::createCollection ( std::string const& ns, long long size, bool capped, int max, BSONObj* info )5th parameter 'info' (pointer) has base type 'BSONObj'.
DBClientWithCommands::dropDatabase ( std::string const& dbname, BSONObj* info )2nd parameter 'info' (pointer) has base type 'BSONObj'.
DBClientWithCommands::dropIndex ( std::string const& ns, BSONObj keys )2nd parameter 'keys' has type 'BSONObj'.
DBClientWithCommands::eval ( std::string const& dbname, std::string const& jscode, BSONObj& info, BSONElement& retValue, BSONObj* args )3rd parameter 'info' (reference) has base type 'BSONObj'.
DBClientWithCommands::genIndexName ( BSONObj const& keys )1st parameter 'keys' (reference) has base type 'BSONObj'.
DBClientWithCommands::getDbProfilingLevel ( std::string const& dbname, DBClientWithCommands::ProfilingLevel& level, BSONObj* info )3rd parameter 'info' (pointer) has base type 'BSONObj'.
DBClientWithCommands::getLastErrorDetailed ( )Return value has type 'BSONObj'.
DBClientWithCommands::getLastErrorString ( BSONObj const& res ) [static]1st parameter 'res' (reference) has base type 'BSONObj'.
DBClientWithCommands::getPrevError ( )Return value has type 'BSONObj'.
DBClientWithCommands::isMaster ( bool& isMaster, BSONObj* info )2nd parameter 'info' (pointer) has base type 'BSONObj'.
DBClientWithCommands::isOk ( BSONObj const& p1 )1st parameter 'p1' (reference) has base type 'BSONObj'.
DBClientWithCommands::runCommand ( std::string const& dbname, BSONObj const& cmd, BSONObj& info, int options )3rd parameter 'info' (reference) has base type 'BSONObj'.
DBClientWithCommands::setDbProfilingLevel ( std::string const& dbname, DBClientWithCommands::ProfilingLevel level, BSONObj* info )3rd parameter 'info' (pointer) has base type 'BSONObj'.
DBClientWithCommands::simpleCommand ( std::string const& dbname, BSONObj* info, std::string const& command )2nd parameter 'info' (pointer) has base type 'BSONObj'.
dotted2nested ( BSONObjBuilder& b, BSONObj const& obj )2nd parameter 'obj' (reference) has base type 'BSONObj'.
fromjson ( char const* str, int* len )Return value has type 'BSONObj'.
fromjson ( std::string const& str )Return value has type 'BSONObj'.
maxKey [data]Return value has type 'BSONObj'.
minKey [data]Return value has type 'BSONObj'.
nested2dotted ( BSONObjBuilder& b, BSONObj const& obj, std::string const& base )2nd parameter 'obj' (reference) has base type 'BSONObj'.
Query::explain ( )Field 'RetVal−>obj' in return value (reference) has type 'BSONObj'.
Query::getFilter ( ) constReturn value has type 'BSONObj'.
Query::getHint ( ) constReturn value has type 'BSONObj'.
Query::getSort ( ) constReturn value has type 'BSONObj'.
Query::hint ( BSONObj keyPattern )1st parameter 'keyPattern' has type 'BSONObj'.
Query::isComplex ( bool* hasDollar ) constField 'this−>obj' in the object of this method has type 'BSONObj'.
Query::isExplain ( ) constField 'this−>obj' in the object of this method has type 'BSONObj'.
Query::maxKey ( BSONObj const& val )1st parameter 'val' (reference) has base type 'BSONObj'.
Query::minKey ( BSONObj const& val )1st parameter 'val' (reference) has base type 'BSONObj'.
Query::snapshot ( )Field 'RetVal−>obj' in return value (reference) has type 'BSONObj'.
Query::sort ( BSONObj const& sortPattern )1st parameter 'sortPattern' (reference) has base type 'BSONObj'.
Query::toString ( ) constField 'this−>obj' in the object of this method has type 'BSONObj'.
Query::where ( std::string const& jscode, BSONObj scope )2nd parameter 'scope' has type 'BSONObj'.
bsonobjbuilder.h
namespace mongo
[+] class BSONObjBuilder (2)
| Change |
Effect |
1 | Size of field _b has been changed from 12 bytes to 16 bytes. | Size of the inclusive type has changed. |
2 | Size of field _buf has been changed from 12 bytes to 16 bytes. | Size of the inclusive type has changed. |
[+] affected symbols (7)
BSONObjBuilder::appendAsNumber ( StringData const& fieldName, std::string const& data )This method is from 'BSONObjBuilder' class.
BSONObjBuilder::appendKeys ( BSONObj const& keyPattern, BSONObj const& values )This method is from 'BSONObjBuilder' class.
BSONObjBuilder::appendMaxForType ( StringData const& fieldName, int type )This method is from 'BSONObjBuilder' class.
BSONObjBuilder::appendMinForType ( StringData const& fieldName, int type )This method is from 'BSONObjBuilder' class.
dotted2nested ( BSONObjBuilder& b, BSONObj const& obj )1st parameter 'b' (reference) has base type 'BSONObjBuilder'.
ExceptionInfo::append ( BSONObjBuilder& b, char const* m, char const* c ) const1st parameter 'b' (reference) has base type 'BSONObjBuilder'.
nested2dotted ( BSONObjBuilder& b, BSONObj const& obj, std::string const& base )1st parameter 'b' (reference) has base type 'BSONObjBuilder'.
cmdline.h
namespace mongo
[+] class CmdLine (5)
| Change |
Effect |
1 | Field noUnixSocket 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 | Field socket 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. |
3 | Field syncdelay 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. |
4 | Size of this type has been changed from 64 bytes to 100 bytes. | The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications. |
5 | Field dur has been added to this type. | 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'.
concurrency.h
namespace mongo
[+] class MongoMutex (6)
| Change |
Effect |
1 | Field _remapPrivateViewRequested 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 228 bytes to 240 bytes. | The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications. |
3 | The relative position of private field _m has been changed from 1 to 0. | Size of the inclusive type has been changed. |
4 | The relative position of private field _minfo has been changed from 0 to 2. | Size of the inclusive type has been changed. |
5 | The relative position of private field _state has been changed from 2 to 1. | Size of the inclusive type has been changed. |
6 | Size of field _m has been changed from 176 bytes to 184 bytes. | Size of the inclusive type has changed. |
[+] affected symbols (1)
dbMutex [data]Return value (reference) has base type 'MongoMutex'.
dbclient.h
namespace mongo
[+] class DBClientConnection (1)
| Change |
Effect |
1 | Field _so_timeout has been added to this type. | 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 (17)
DBClientConnection::auth ( std::string const& dbname, std::string const& username, std::string const& pwd, std::string& errmsg, bool digestPassword )This method is from 'DBClientConnection' class.
DBClientConnection::callRead ( Message& toSend, Message& response )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::isFailed ( ) constThis method is from 'DBClientConnection' class.
DBClientConnection::killCursor ( long long cursorID )This method is from 'DBClientConnection' class.
DBClientConnection::query ( boost::function<void(BSONObj const&)> f, std::string const& ns, Query query, BSONObj const* fieldsToReturn, int queryOptions )This method is from 'DBClientConnection' class.
DBClientConnection::query ( boost::function<void(DBClientCursorBatchIterator&)> f, std::string const& ns, Query query, BSONObj const* fieldsToReturn, int queryOptions )This 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::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 DBClientReplicaSet (13)
| Change |
Effect |
1 | Field _lazyState 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 | Field _auths 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. |
3 | Field _master 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. |
4 | Field _masterHost 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. |
5 | Field _monitor 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. |
6 | Field _slave 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. |
7 | Field _slaveHost 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. |
8 | Field _so_timeout 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. |
9 | Field _conns has been removed from this type. | Size of the inclusive type has been changed. |
10 | Field _currentMaster has been removed from this type. | Size of the inclusive type has been changed. |
11 | Field _name has been removed from this type. | Size of the inclusive type has been changed. |
12 | Field _servers has been removed from this type. | Size of the inclusive type has been changed. |
13 | Virtual method DBConnector::recv ( Message& m ) has been overridden by DBClientReplicaSet::recv ( Message& toRecv ). | Method DBClientReplicaSet::recv ( Message& toRecv ) will be called instead of DBConnector::recv ( Message& m ). |
[+] show v-table (old and new)
Offset | Virtual Table (Old) - 45 entries | Virtual Table (New) - 48 entries |
---|
0 | (int (*)(...))0 | (int (*)(...))0 |
4 | (int (*)(...))(& typeinfo) | (int (*)(...))(& typeinfo) |
8 | DBClientReplicaSet::query | DBClientReplicaSet::query |
12 | DBClientBase::getMore | DBClientReplicaSet::insert |
16 | DBClientReplicaSet::insert | DBClientReplicaSet::insert |
20 | DBClientReplicaSet::insert | DBClientReplicaSet::remove |
24 | DBClientReplicaSet::remove | DBClientReplicaSet::update |
28 | DBClientReplicaSet::update | ~DBClientReplicaSet |
32 | ~DBClientReplicaSet | ~DBClientReplicaSet |
36 | ~DBClientReplicaSet | DBClientReplicaSet::findOne |
40 | DBClientReplicaSet::findOne | DBClientReplicaSet::getServerAddress |
44 | DBClientWithCommands::runCommand | DBClientBase::getMore |
48 | DBClientReplicaSet::auth | DBClientWithCommands::runCommand |
52 | DBClientWithCommands::isMaster | DBClientReplicaSet::auth |
56 | DBClientWithCommands::getLastErrorDetailed | DBClientWithCommands::count |
60 | DBClientWithCommands::dropCollection | DBClientWithCommands::isMaster |
64 | DBClientWithCommands::ensureIndex | DBClientWithCommands::getLastErrorDetailed |
68 | DBClientWithCommands::resetIndexCache | DBClientWithCommands::dropCollection |
72 | DBClientWithCommands::getIndexes | DBClientWithCommands::ensureIndex |
76 | DBClientWithCommands::dropIndex | DBClientWithCommands::resetIndexCache |
80 | DBClientWithCommands::dropIndex | DBClientWithCommands::getIndexes |
84 | DBClientWithCommands::dropIndexes | DBClientWithCommands::dropIndex |
88 | DBClientWithCommands::reIndex | DBClientWithCommands::dropIndex |
92 | DBClientWithCommands::dropDatabase | DBClientWithCommands::dropIndexes |
96 | DBClientReplicaSet::toString | DBClientWithCommands::reIndex |
100 | DBClientReplicaSet::isFailed | DBClientWithCommands::dropDatabase |
104 | DBClientReplicaSet::killCursor | DBClientReplicaSet::toString |
108 | DBClientReplicaSet::callRead | DBClientReplicaSet::isFailed |
112 | DBClientReplicaSet::say | DBClientReplicaSet::killCursor |
116 | DBClientReplicaSet::type | DBClientReplicaSet::callRead |
120 | DBClientReplicaSet::isMember | DBClientReplicaSet::type |
124 | DBClientReplicaSet::getServerAddress | DBClientReplicaSet::getSoTimeout |
128 | DBClientReplicaSet::call | DBClientReplicaSet::say |
132 | DBClientReplicaSet::checkResponse | DBClientReplicaSet::recv |
136 | DBClientReplicaSet::sayPiggyBack | DBClientReplicaSet::checkResponse |
140 | (int (*)(...))-0x000000028 | DBClientReplicaSet::lazySupported |
144 | (int (*)(...))(& typeinfo) | DBClientReplicaSet::call |
148 | non-virtual thunk | DBClientReplicaSet::sayPiggyBack |
152 | non-virtual thunk | (int (*)(...))-0x000000028 |
156 | non-virtual thunk | (int (*)(...))(& typeinfo) |
160 | non-virtual thunk | non-virtual thunk |
164 | non-virtual thunk | non-virtual thunk |
168 | non-virtual thunk | non-virtual thunk |
172 | DBConnector::recv | non-virtual thunk |
176 | non-virtual thunk | non-virtual thunk |
180 | | non-virtual thunk |
184 | | non-virtual thunk |
188 | | non-virtual thunk |
[+] affected symbols (17)
DBClientReplicaSet::auth ( std::string const& dbname, std::string const& username, std::string const& pwd, std::string& errmsg, bool digestPassword )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::callRead ( Message& toSend, Message& response )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::connect ( )This method 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::isFailed ( ) constThis method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::killCursor ( long long cursorID )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::masterConn ( )This method is from 'DBClientReplicaSet' class.
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::remove ( std::string const& ns, Query&restrict obj, bool justOne )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::sayPiggyBack ( Message& toSend )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::slaveConn ( )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::toString ( )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::type ( ) constThis method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::update ( std::string const& ns, Query&restrict query, BSONObj&restrict obj, bool upsert, bool multi )This method is from 'DBClientReplicaSet' class.
DBClientReplicaSet::~DBClientReplicaSet [in-charge] ( )This method is from 'DBClientReplicaSet' class.
DBConnector::recv ( Message& m )The method 'DBClientReplicaSet::recv ( Message& toRecv )' will be called instead of this method.
dbclientcursor.h
namespace mongo
[+] class DBClientCursor (10)
| Change |
Effect |
1 | Field _client 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 | Field b 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. |
3 | Field wasError 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. |
4 | The relative position of private field _ownCursor has been changed from 12 to 11. | Size of the inclusive type has been changed. |
5 | The relative position of private field _scopedHost has been changed from 13 to 12. | Size of the inclusive type has been changed. |
6 | Size of field query has been changed from 12 bytes to 8 bytes. | Size of the inclusive type has changed. |
7 | Field connector has been removed from this type. | Size of the inclusive type has been changed. |
8 | Field m has been removed from this type. | Size of the inclusive type has been changed. |
9 | Field nReturned has been removed from this type. | Size of the inclusive type has been changed. |
10 | Field pos has been removed from this type. | Size of the inclusive type has been changed. |
[+] affected symbols (5)
DBClientCursor::attach ( AScopedConnection* conn )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::~DBClientCursor [in-charge] ( )This method is from 'DBClientCursor' class.
lasterror.h
namespace mongo
[+] class LastErrorHolder (2)
| Change |
Effect |
1 | Field _id has been removed from this type. | Size of the inclusive type has been changed. |
2 | Field _ids has been removed from this type. | Size of the inclusive type has been changed. |
[+] affected symbols (9)
lastError [data]Return value has type 'LastErrorHolder'.
LastErrorHolder::_get ( bool create )This method is from 'LastErrorHolder' class.
LastErrorHolder::disableForCommand ( )This method is from 'LastErrorHolder' class.
LastErrorHolder::get ( bool create )This method is from 'LastErrorHolder' class.
LastErrorHolder::initThread ( )This method is from 'LastErrorHolder' class.
LastErrorHolder::release ( )This method is from 'LastErrorHolder' class.
LastErrorHolder::reset ( LastError* le )This method is from 'LastErrorHolder' class.
LastErrorHolder::startRequest ( Message& m, LastError* connectionOwned )This method is from 'LastErrorHolder' class.
LastErrorHolder::~LastErrorHolder [in-charge] ( )This method is from 'LastErrorHolder' class.
log.h
namespace mongo
[+] class Logstream (1)
| Change |
Effect |
1 | Field indent 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 (22)
Logstream::flush ( Tee* t )This method is from 'Logstream' class.
Logstream::operator<< ( bool x )This method is from 'Logstream' class.
Logstream::operator<< ( char const* x )This method is from 'Logstream' class.
Logstream::operator<< ( char x )This method is from 'Logstream' class.
Logstream::operator<< ( char* x )This method is from 'Logstream' class.
Logstream::operator<< ( double x )This method is from 'Logstream' class.
Logstream::operator<< ( int x )This method is from 'Logstream' class.
Logstream::operator<< ( long long x )This method is from 'Logstream' class.
Logstream::operator<< ( long x )This method is from 'Logstream' class.
Logstream::operator<< ( ExitCode x )This method is from 'Logstream' class.
Logstream::operator<< ( LazyString const& x )This method is from 'Logstream' class.
Logstream::operator<< ( StringData const& x )This method is from 'Logstream' class.
Logstream::operator<< ( Tee* tee )This method is from 'Logstream' class.
Logstream::operator<< ( std::ostream&(*_endl)(std::ostream&) )This method is from 'Logstream' class.
Logstream::operator<< ( std::string const& x )This method is from 'Logstream' class.
Logstream::operator<< ( std::ios_base&(*_hex)(std::ios_base&) )This method is from 'Logstream' class.
Logstream::operator<< ( unsigned int x )This method is from 'Logstream' class.
Logstream::operator<< ( unsigned long long x )This method is from 'Logstream' class.
Logstream::operator<< ( unsigned long x )This method is from 'Logstream' class.
Logstream::operator<< ( void const* x )This method is from 'Logstream' class.
Logstream::operator<< ( void* x )This method is from 'Logstream' class.
Logstream::~Logstream [in-charge] ( )This method is from 'Logstream' class.
message.h
namespace mongo
[+] class AbstractMessagingPort (1)
| Change |
Effect |
1 | Field tag 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 (1)
AbstractMessagingPort::~AbstractMessagingPort [in-charge] ( )This method is from 'AbstractMessagingPort' class.
[+] class MessagingPort (2)
| Change |
Effect |
1 | Field _remoteParsed 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 | Field sock has been removed from this type. | Size of the inclusive type has been changed. |
[+] affected symbols (11)
MessagingPort::call ( Message& toSend, Message& response )This method is from 'MessagingPort' class.
MessagingPort::MessagingPort [in-charge] ( int sock, SockAddr const& farEnd )This constructor is from 'MessagingPort' class.
MessagingPort::piggyBack ( Message& toSend, int responseTo )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.
[+] class SocketException (3)
| Change |
Effect |
1 | Field _extra 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 | Field _server 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. |
3 | Type of field type has been changed from SocketException::Type to SocketException::Type const. | Replacement of the field data type may indicate a change in the semantic meaning of the field. |
[+] affected symbols (1)
SocketException::~SocketException [in-charge] ( )This method is from 'SocketException' class.
mmap.h
namespace mongo
[+] class MemoryMappedFile (4)
| Change |
Effect |
1 | Field views 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 | Type of field len has been changed from long (4 bytes) to unsigned long long (8 bytes). | Size of the inclusive type has changed. |
3 | Field _filename has been removed from this type. | Size of the inclusive type has been changed. |
4 | Field view has been removed from this type. | Size of the inclusive type has been changed. |
[+] affected symbols (8)
MemoryMappedFile::_lock ( )This method is from 'MemoryMappedFile' class.
MemoryMappedFile::_unlock ( )This method is from 'MemoryMappedFile' class.
MemoryMappedFile::close ( )This method is from 'MemoryMappedFile' class.
MemoryMappedFile::flush ( bool sync )This method is from 'MemoryMappedFile' class.
MemoryMappedFile::map ( char const* filename )This method is from 'MemoryMappedFile' class.
MemoryMappedFile::MemoryMappedFile [in-charge] ( )This constructor is from 'MemoryMappedFile' class.
MemoryMappedFile::prepareFlush ( )This method is from 'MemoryMappedFile' class.
MemoryMappedFile::~MemoryMappedFile [in-charge] ( )This method is from 'MemoryMappedFile' class.
[+] class MongoFile (1)
| Change |
Effect |
1 | Field _filename 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 (5)
MongoFile::_lock ( )This method is from 'MongoFile' class.
MongoFile::_unlock ( )This method is from 'MongoFile' class.
MongoFile::created ( )This method is from 'MongoFile' class.
MongoFile::destroyed ( )This method is from 'MongoFile' class.
MongoFile::~MongoFile [in-charge] ( )This method is from 'MongoFile' class.
ordering.h
namespace mongo
[+] class Ordering (2)
| Change |
Effect |
1 | Size of this type has been changed from 8 bytes to 4 bytes. | The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications. |
2 | Field nkeys has been removed from this type. | Size of the inclusive type has been changed. |
[+] affected symbols (1)
BSONObj::woCompare ( BSONObj const& r, Ordering const& o, bool considerFieldName ) const2nd parameter 'o' (reference) has base type 'Ordering'.
rwlock.h
namespace mongo
[+] class RWLock (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. |
[+] affected symbols (1)
RWLock::~RWLock [in-charge] ( )This method is from 'RWLock' class.
to the top
Problems with Symbols, Low Severity (4)
message.h,
libmongoshellfiles.so
namespace mongo
[+] MessagingPort::MessagingPort [in-charge] ( int sock, SockAddr const& farEnd ) (2)
changed to:MessagingPort::MessagingPort [in-charge] ( int fd, SockAddr const& remote )
| Change | Effect |
---|
1 | 1st parameter sock has been renamed to fd. | Renaming of a parameter may indicate a change in its semantic meaning. |
2 | 2nd parameter farEnd has been renamed to remote. | Renaming of a parameter may indicate a change in its semantic meaning. |
[+] MessagingPort::MessagingPort [not-in-charge] ( int sock, SockAddr const& farEnd ) (2)
changed to:MessagingPort::MessagingPort [not-in-charge] ( int fd, SockAddr const& remote )
| Change | Effect |
---|
1 | 1st parameter sock has been renamed to fd. | Renaming of a parameter may indicate a change in its semantic meaning. |
2 | 2nd parameter farEnd has been renamed to remote. | Renaming of a parameter may indicate a change in its semantic meaning. |
to the top
Other Changes in Data Types (7)
dbclient.h
namespace mongo
[+] enum QueryOptions (1)
| Change |
Effect |
1 | The member QueryOption_PartialResults with value 128 has been added. | No effect. |
[+] affected symbols (1)
DBClientWithCommands::availableOptions ( )Return value has type 'QueryOptions'.
message.h
namespace mongo
[+] enum SocketException::Type (4)
| Change |
Effect |
1 | The member CONNECT_ERROR with value 6 has been added. | No effect. |
2 | The member FAILED_STATE with value 5 has been added. | No effect. |
3 | The member RECV_TIMEOUT with value 3 has been added. | No effect. |
4 | The member SEND_TIMEOUT with value 4 has been added. | No effect. |
[+] affected symbols (1)
SocketException::~SocketException [in-charge] ( )Field 'this−>type' in the object of this method has type 'SocketException::Type'.
mmap.h
namespace mongo
[+] class MemoryMappedFile (1)
| Change |
Effect |
1 | Virtual method MemoryMappedFile::viewForFlushing ( ) has been added to this class. | No effect. You can add virtual functions at end of leaf classes with exported constructors. |
[+] show v-table (old and new)
Offset | Virtual Table (Old) - 10 entries | Virtual Table (New) - 12 entries |
---|
0 | (int (*)(...))0 | (int (*)(...))0 |
4 | (int (*)(...))(& typeinfo) | (int (*)(...))(& typeinfo) |
8 | MemoryMappedFile::close | ~MemoryMappedFile |
12 | MemoryMappedFile::flush | ~MemoryMappedFile |
16 | MemoryMappedFile::prepareFlush | MongoFile::isMongoMMF |
20 | MemoryMappedFile::_lock | MemoryMappedFile::close |
24 | MemoryMappedFile::_unlock | MemoryMappedFile::flush |
28 | ~MemoryMappedFile | MemoryMappedFile::prepareFlush |
32 | ~MemoryMappedFile | MemoryMappedFile::length |
36 | MemoryMappedFile::length | MemoryMappedFile::_lock |
40 | | MemoryMappedFile::_unlock |
44 | | MemoryMappedFile::viewForFlushing |
[+] affected symbols (8)
MemoryMappedFile::_lock ( )This method is from 'MemoryMappedFile' class.
MemoryMappedFile::_unlock ( )This method is from 'MemoryMappedFile' class.
MemoryMappedFile::close ( )This method is from 'MemoryMappedFile' class.
MemoryMappedFile::flush ( bool sync )This method is from 'MemoryMappedFile' class.
MemoryMappedFile::map ( char const* filename )This method is from 'MemoryMappedFile' class.
MemoryMappedFile::MemoryMappedFile [in-charge] ( )This constructor is from 'MemoryMappedFile' class.
MemoryMappedFile::prepareFlush ( )This method is from 'MemoryMappedFile' class.
MemoryMappedFile::~MemoryMappedFile [in-charge] ( )This method is from 'MemoryMappedFile' class.
pch.h
namespace mongo
[+] enum ExitCode (1)
| Change |
Effect |
1 | The member EXIT_SHARDING_ERROR with value 5 has been added. | No effect. |
[+] affected symbols (3)
dbexit ( ExitCode returnCode, char const* whyMsg, bool tryToGetLock )1st parameter 'returnCode' has type 'ExitCode'.
Logstream::operator<< ( ExitCode x )1st parameter 'x' has type 'ExitCode'.
Nullstream::operator<< ( ExitCode p1 )1st parameter 'p1' has type 'ExitCode'.
to the top
Header Files (1)
dbclient.h
to the top
Shared Libraries (2)
libmongoclient.so
libmongoshellfiles.so
to the top