Binary compatibility report for the mongoDB library between 2.4.14 and 2.5.0 versions on x86
Test Info
Library Name | mongoDB |
Version #1 | 2.4.14 |
Version #2 | 2.5.0 |
CPU Type | x86 |
GCC Version | 4.6.1 |
Test Results
Total Header Files | 1 |
Total Shared Libraries | 58 |
Total Symbols / Types | 829 / 528 |
Verdict | Incompatible (13.6%) |
Problem Summary
| Severity | Count |
---|
Added Symbols | - | 9 |
Removed Symbols | High | 80 |
Problems with Data Types | High | 2 |
Medium | 0 |
Low | 4 |
Problems with Symbols | High | 3 |
Medium | 0 |
Low | 0 |
Problems with Constants | Low | 0 |
Other Changes in Data Types | - | 5 |
Added Symbols (9)
assert_util.h,
libmongoclient.so
namespace mongo
fassertFailedNoTrace ( int msgid )
[symbol: _ZN5mongo20fassertFailedNoTraceEi]
bsonobj.h,
libmongoclient.so
namespace mongo
BSONObj::getFieldUsingIndexNames ( StringData const& fieldName, BSONObj const& indexKey ) const
[symbol: _ZNK5mongo7BSONObj23getFieldUsingIndexNamesERKNS_10StringDataERKS0_]
dbclient_rs.h,
libmongoclient.so
namespace mongo
DBClientReplicaSet::isStillConnected ( )
[symbol: _ZN5mongo18DBClientReplicaSet16isStillConnectedEv]
ReplicaSetMonitor::check ( )
[symbol: _ZN5mongo17ReplicaSetMonitor5checkEv]
ReplicaSetMonitor::checkAll ( ) [static]
[symbol: _ZN5mongo17ReplicaSetMonitor8checkAllEv]
dbclientinterface.h,
libmongoclient.so
namespace mongo
DBClientConnection::isStillConnected ( )
[symbol: _ZN5mongo18DBClientConnection16isStillConnectedEv]
sock.h,
libmongoclient.so
namespace mongo
Socket::errorPollIntervalSecs [data]
[symbol: _ZN5mongo6Socket21errorPollIntervalSecsE]
Socket::isStillConnected ( )
[symbol: _ZN5mongo6Socket16isStillConnectedEv]
syncclusterconnection.h,
libmongoclient.so
namespace mongo
SyncClusterConnection::isStillConnected ( )
[symbol: _ZN5mongo21SyncClusterConnection16isStillConnectedEv]
to the top
Removed Symbols (80)
bad_weak_ptr.hpp,
libboost_thread.so
namespace boost
bad_weak_ptr::what ( ) const
[symbol: _ZNK5boost12bad_weak_ptr4whatEv]
bad_weak_ptr::~bad_weak_ptr [in-charge-deleting] ( )
[symbol: _ZN5boost12bad_weak_ptrD0Ev]
bad_weak_ptr::~bad_weak_ptr [in-charge] ( )
[symbol: _ZN5boost12bad_weak_ptrD1Ev]
bsonobj.h,
libbson.so
namespace mongo
BSONObj::getFieldUsingIndexNames ( char const* fieldName, BSONObj const& indexKey ) const
[symbol: _ZNK5mongo7BSONObj23getFieldUsingIndexNamesEPKcRKS0_]
cmdline.h,
libdbcmdline.so
namespace mongo
CmdLine::addGlobalOptions ( struct boost::program_options::options_description& general, struct boost::program_options::options_description& hidden, struct boost::program_options::options_description& ssl_options ) [static]
[symbol: _ZN5mongo7CmdLine16addGlobalOptionsERN5boost15program_options19options_descriptionES4_S4_]
CmdLine::censor ( int argc, char** argv ) [static]
[symbol: _ZN5mongo7CmdLine6censorEiPPc]
CmdLine::censor ( std::vector<std::string>* args ) [static]
[symbol: _ZN5mongo7CmdLine6censorEPSt6vectorISsSaISsEE]
CmdLine::getArgvArray ( ) [static]
[symbol: _ZN5mongo7CmdLine12getArgvArrayEv]
CmdLine::getParsedOpts ( ) [static]
[symbol: _ZN5mongo7CmdLine13getParsedOptsEv]
CmdLine::parseConfigFile ( std::istream& f, std::stringstream& ss ) [static]
[symbol: _ZN5mongo7CmdLine15parseConfigFileERSiRSt18basic_stringstreamIcSt11char_traitsIcESaIcEE]
CmdLine::store ( std::vector<std::string>const& argv, struct boost::program_options::options_description& visible, struct boost::program_options::options_description& hidden, struct boost::program_options::positional_options_description& positional, struct boost::program_options::variables_map& output ) [static]
[symbol: _ZN5mongo7CmdLine5storeERKSt6vectorISsSaISsEERN5boost15program_options19options_descriptionES9_RNS7_30positional_options_descriptionERNS7_13variables_mapE]
printCommandLineOpts ( )
[symbol: _ZN5mongo20printCommandLineOptsEv]
cmdline.h,
libmongodandmongos.so
namespace mongo
CmdLine::launchOk ( ) [static]
[symbol: _ZN5mongo7CmdLine8launchOkEv]
condition_variable.hpp,
libboost_thread.so
namespace boost::this_thread
interruption_point ( )
[symbol: _ZN5boost11this_thread18interruption_pointEv]
connpool.h,
libnotmongodormongos.so
namespace mongo
ScopedDbConnection::getInternalScopedDbConnection ( ) [static]
[symbol: _ZN5mongo18ScopedDbConnection29getInternalScopedDbConnectionEv]
ScopedDbConnection::getInternalScopedDbConnection ( ConnectionString const& host, double socketTimeout ) [static]
[symbol: _ZN5mongo18ScopedDbConnection29getInternalScopedDbConnectionERKNS_16ConnectionStringEd]
ScopedDbConnection::getInternalScopedDbConnection ( std::string const& host, double socketTimeout ) [static]
[symbol: _ZN5mongo18ScopedDbConnection29getInternalScopedDbConnectionERKSsd]
ScopedDbConnection::getScopedDbConnection ( ) [static]
[symbol: _ZN5mongo18ScopedDbConnection21getScopedDbConnectionEv]
ScopedDbConnection::getScopedDbConnection ( ConnectionString const& host, double socketTimeout ) [static]
[symbol: _ZN5mongo18ScopedDbConnection21getScopedDbConnectionERKNS_16ConnectionStringEd]
ScopedDbConnection::getScopedDbConnection ( std::string const& host, double socketTimeout ) [static]
[symbol: _ZN5mongo18ScopedDbConnection21getScopedDbConnectionERKSsd]
connpool.h,
libserveronly.so
namespace mongo
DBConnectionHook::onCreate ( DBClientBase* conn )
[symbol: _ZN5mongo16DBConnectionHook8onCreateEPNS_12DBClientBaseE]
DBConnectionHook::onDestroy ( DBClientBase* conn )
[symbol: _ZN5mongo16DBConnectionHook9onDestroyEPNS_12DBClientBaseE]
DBConnectionHook::onHandedOut ( DBClientBase* conn )
[symbol: _ZN5mongo16DBConnectionHook11onHandedOutEPNS_12DBClientBaseE]
DBConnectionHook::~DBConnectionHook [in-charge-deleting] ( )
[symbol: _ZN5mongo16DBConnectionHookD0Ev]
DBConnectionHook::~DBConnectionHook [in-charge] ( )
[symbol: _ZN5mongo16DBConnectionHookD1Ev]
dbclient_rs.h,
libmongocommon.so
namespace mongo
DBClientReplicaSet::authAny ( BSONObj const& params )
[symbol: _ZN5mongo18DBClientReplicaSet7authAnyERKNS_7BSONObjE]
DBClientReplicaSet::authAny ( std::string const& dbname, std::string const& username, std::string const& password_text, std::string& errmsg, bool digestPassword )
[symbol: _ZN5mongo18DBClientReplicaSet7authAnyERKSsS2_S2_RSsb]
DBClientReplicaSet::authPrimary ( BSONObj const& params )
[symbol: _ZN5mongo18DBClientReplicaSet11authPrimaryERKNS_7BSONObjE]
DBClientReplicaSet::authPrimary ( std::string const& dbname, std::string const& username, std::string const& password_text, std::string& errmsg, bool digestPassword )
[symbol: _ZN5mongo18DBClientReplicaSet11authPrimaryERKSsS2_S2_RSsb]
DBClientReplicaSet::isSecondaryQuery ( std::string const& ns, BSONObj const& queryObj, int queryOptions ) [static]
[symbol: _ZN5mongo18DBClientReplicaSet16isSecondaryQueryERKSsRKNS_7BSONObjEi]
ReadPreferenceSetting::toBSON ( ) const
[symbol: _ZNK5mongo21ReadPreferenceSetting6toBSONEv]
ReplicaSetMonitor::check ( bool checkAllSecondaries )
[symbol: _ZN5mongo17ReplicaSetMonitor5checkEb]
ReplicaSetMonitor::checkAll ( bool checkAllSecondaries ) [static]
[symbol: _ZN5mongo17ReplicaSetMonitor8checkAllEb]
TagSet::getTagBSON ( ) const
[symbol: _ZNK5mongo6TagSet10getTagBSONEv]
exception.hpp,
libboost_thread.so
namespace boost::exception_detail
clone_impl<error_info_injector<boost::bad_weak_ptr> >::~clone_impl [in-charge-deleting] ( )
[symbol: _ZN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_12bad_weak_ptrEEEED0Ev]
clone_impl<error_info_injector<boost::bad_weak_ptr> >::~clone_impl [in-charge] ( )
[symbol: _ZN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_12bad_weak_ptrEEEED1Ev]
error_info_injector<boost::bad_weak_ptr>::~error_info_injector [in-charge-deleting] ( )
[symbol: _ZN5boost16exception_detail19error_info_injectorINS_12bad_weak_ptrEED0Ev]
error_info_injector<boost::bad_weak_ptr>::~error_info_injector [in-charge] ( )
[symbol: _ZN5boost16exception_detail19error_info_injectorINS_12bad_weak_ptrEED1Ev]
exception.hpp,
libcoreshard.so
namespace boost::exception_detail
clone_impl<error_info_injector<boost::gregorian::bad_day_of_year> >::~clone_impl [in-charge-deleting] ( )
[symbol: _ZN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_9gregorian15bad_day_of_yearEEEED0Ev]
clone_impl<error_info_injector<boost::gregorian::bad_day_of_year> >::~clone_impl [in-charge] ( )
[symbol: _ZN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_9gregorian15bad_day_of_yearEEEED1Ev]
clone_impl<error_info_injector<boost::gregorian::bad_weekday> >::~clone_impl [in-charge-deleting] ( )
[symbol: _ZN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_9gregorian11bad_weekdayEEEED0Ev]
clone_impl<error_info_injector<boost::gregorian::bad_weekday> >::~clone_impl [in-charge] ( )
[symbol: _ZN5boost16exception_detail10clone_implINS0_19error_info_injectorINS_9gregorian11bad_weekdayEEEED1Ev]
clone_impl<error_info_injector<std::out_of_range> >::~clone_impl [in-charge-deleting] ( )
[symbol: _ZN5boost16exception_detail10clone_implINS0_19error_info_injectorISt12out_of_rangeEEED0Ev]
clone_impl<error_info_injector<std::out_of_range> >::~clone_impl [in-charge] ( )
[symbol: _ZN5boost16exception_detail10clone_implINS0_19error_info_injectorISt12out_of_rangeEEED1Ev]
error_info_injector<boost::gregorian::bad_day_of_year>::~error_info_injector [in-charge-deleting] ( )
[symbol: _ZN5boost16exception_detail19error_info_injectorINS_9gregorian15bad_day_of_yearEED0Ev]
error_info_injector<boost::gregorian::bad_day_of_year>::~error_info_injector [in-charge] ( )
[symbol: _ZN5boost16exception_detail19error_info_injectorINS_9gregorian15bad_day_of_yearEED1Ev]
error_info_injector<boost::gregorian::bad_weekday>::~error_info_injector [in-charge-deleting] ( )
[symbol: _ZN5boost16exception_detail19error_info_injectorINS_9gregorian11bad_weekdayEED0Ev]
error_info_injector<boost::gregorian::bad_weekday>::~error_info_injector [in-charge] ( )
[symbol: _ZN5boost16exception_detail19error_info_injectorINS_9gregorian11bad_weekdayEED1Ev]
error_info_injector<std::out_of_range>::~error_info_injector [in-charge-deleting] ( )
[symbol: _ZN5boost16exception_detail19error_info_injectorISt12out_of_rangeED0Ev]
error_info_injector<std::out_of_range>::~error_info_injector [in-charge] ( )
[symbol: _ZN5boost16exception_detail19error_info_injectorISt12out_of_rangeED1Ev]
greg_day_of_year.hpp,
libcoreshard.so
namespace boost::gregorian
bad_day_of_year::~bad_day_of_year [in-charge-deleting] ( )
[symbol: _ZN5boost9gregorian15bad_day_of_yearD0Ev]
bad_day_of_year::~bad_day_of_year [in-charge] ( )
[symbol: _ZN5boost9gregorian15bad_day_of_yearD1Ev]
greg_weekday.hpp,
libcoreshard.so
namespace boost::gregorian
bad_weekday::~bad_weekday [in-charge-deleting] ( )
[symbol: _ZN5boost9gregorian11bad_weekdayD0Ev]
bad_weekday::~bad_weekday [in-charge] ( )
[symbol: _ZN5boost9gregorian11bad_weekdayD1Ev]
hostandport.h,
libcoredb.so
namespace mongo
HostAndPort::isSelf ( ) const
[symbol: _ZNK5mongo11HostAndPort6isSelfEv]
optime.h,
libcoreserver.so
namespace mongo
ClockSkewException::~ClockSkewException [in-charge-deleting] ( )
[symbol: _ZN5mongo18ClockSkewExceptionD0Ev]
ClockSkewException::~ClockSkewException [in-charge] ( )
[symbol: _ZN5mongo18ClockSkewExceptionD1Ev]
optime.h,
libserveronly.so
namespace mongo
OpTime::_now ( ) [static]
[symbol: _ZN5mongo6OpTime4_nowEv]
OpTime::getLast ( mutex::scoped_lock const& p1 ) [static]
[symbol: _ZN5mongo6OpTime7getLastERKNS_5mutex11scoped_lockE]
OpTime::m [data]
[symbol: _ZN5mongo6OpTime1mE]
OpTime::now ( mutex::scoped_lock const& p1 ) [static]
[symbol: _ZN5mongo6OpTime3nowERKNS_5mutex11scoped_lockE]
OpTime::waitForDifferent ( unsigned int millis )
[symbol: _ZN5mongo6OpTime16waitForDifferentEj]
sp_counted_impl.hpp,
libserveronly.so
namespace boost::detail
sp_counted_impl_pd<boost::thread_specific_ptr<int>::delete_data*,do_heap_delete<boost::thread_specific_ptr<int>::delete_data> >::dispose ( )
[symbol: _ZN5boost6detail18sp_counted_impl_pdIPNS_19thread_specific_ptrIiE11delete_dataENS0_14do_heap_deleteIS4_EEE7disposeEv]
sp_counted_impl_pd<boost::thread_specific_ptr<int>::delete_data*,do_heap_delete<boost::thread_specific_ptr<int>::delete_data> >::get_deleter ( sp_typeinfo const& ti )
[symbol: _ZN5boost6detail18sp_counted_impl_pdIPNS_19thread_specific_ptrIiE11delete_dataENS0_14do_heap_deleteIS4_EEE11get_deleterERKSt9type_info]
sp_counted_impl_pd<boost::thread_specific_ptr<int>::delete_data*,do_heap_delete<boost::thread_specific_ptr<int>::delete_data> >::~sp_counted_impl_pd [in-charge-deleting] ( )
[symbol: _ZN5boost6detail18sp_counted_impl_pdIPNS_19thread_specific_ptrIiE11delete_dataENS0_14do_heap_deleteIS4_EEED0Ev]
sp_counted_impl_pd<boost::thread_specific_ptr<int>::delete_data*,do_heap_delete<boost::thread_specific_ptr<int>::delete_data> >::~sp_counted_impl_pd [in-charge] ( )
[symbol: _ZN5boost6detail18sp_counted_impl_pdIPNS_19thread_specific_ptrIiE11delete_dataENS0_14do_heap_deleteIS4_EEED1Ev]
thread_data.hpp,
libboost_thread.so
namespace boost::detail
get_current_thread_data ( )
[symbol: _ZN5boost6detail23get_current_thread_dataEv]
thread_data_base::~thread_data_base [in-charge-deleting] ( )
[symbol: _ZN5boost6detail16thread_data_baseD0Ev]
thread_data_base::~thread_data_base [in-charge] ( )
[symbol: _ZN5boost6detail16thread_data_baseD1Ev]
thread_data_base::~thread_data_base [not-in-charge] ( )
[symbol: _ZN5boost6detail16thread_data_baseD2Ev]
vtable for thread_data_base [data]
[symbol: _ZTVN5boost6detail16thread_data_baseE]
thread_data.hpp,
libboost_thread.so
namespace boost::this_thread
sleep ( boost::system_time const& abs_time )
[symbol: _ZN5boost11this_thread5sleepERKNS_10posix_time5ptimeE]
yield ( )
[symbol: _ZN5boost11this_thread5yieldEv]
token_functions.hpp,
libboost_program_options.so
namespace boost
escaped_list_error::~escaped_list_error [in-charge-deleting] ( )
[symbol: _ZN5boost18escaped_list_errorD0Ev]
escaped_list_error::~escaped_list_error [in-charge] ( )
[symbol: _ZN5boost18escaped_list_errorD1Ev]
tss.hpp,
libboost_thread.so
namespace boost::detail
get_tss_data ( void const* key )
[symbol: _ZN5boost6detail12get_tss_dataEPKv]
set_tss_data ( void const* key, boost::shared_ptr<tss_cleanup_function> func, void* tss_data, bool cleanup_existing )
[symbol: _ZN5boost6detail12set_tss_dataEPKvNS_10shared_ptrINS0_20tss_cleanup_functionEEEPvb]
tss.hpp,
libserveronly.so
namespace boost
thread_specific_ptr<int>::delete_data::operator() ( void* data )
[symbol: _ZN5boost19thread_specific_ptrIiE11delete_dataclEPv]
thread_specific_ptr<int>::delete_data::~delete_data [in-charge-deleting] ( )
[symbol: _ZN5boost19thread_specific_ptrIiE11delete_dataD0Ev]
thread_specific_ptr<int>::delete_data::~delete_data [in-charge] ( )
[symbol: _ZN5boost19thread_specific_ptrIiE11delete_dataD1Ev]
to the top
Problems with Data Types, High Severity (2)
dbclientinterface.h
namespace mongo
[+] class DBClientBase (1)
| Change |
Effect |
1 | Pure virtual method DBClientBase::isStillConnected ( ) has been added to this class. | 1) Applications will not provide the implementation for this pure virtual method and therefore cause a crash in the library trying to call this method. 2) The layout of v-table has been changed. Call of any virtual method at higher position in this class or its subclasses may result in crash or incorrect behavior of applications. |
[+] show v-table (old and new)
Offset | Virtual Table (Old) - 50 entries | Virtual Table (New) - 51 entries |
---|
0 |
(int (*)(...))0 |
(int (*)(...))0 |
4 |
(int (*)(...))(& typeinfo) |
(int (*)(...))(& typeinfo) |
8 |
DBClientBase::query |
DBClientBase::query |
12 |
DBClientBase::insert |
DBClientBase::insert |
16 |
DBClientBase::insert |
DBClientBase::insert |
20 |
DBClientBase::remove |
DBClientBase::remove |
24 |
DBClientBase::remove |
DBClientBase::remove |
28 |
DBClientBase::update |
DBClientBase::update |
32 |
DBClientBase::update |
DBClientBase::update |
36 |
~DBClientBase |
~DBClientBase |
40 |
~DBClientBase |
~DBClientBase |
44 |
DBClientInterface::findOne |
DBClientInterface::findOne |
48 |
__cxa_pure_virtual |
__cxa_pure_virtual |
52 |
DBClientBase::getMore |
DBClientBase::getMore |
56 |
DBClientWithCommands::runCommand |
DBClientWithCommands::runCommand |
60 |
DBClientWithCommands::logout |
DBClientWithCommands::logout |
64 |
DBClientWithCommands::count |
DBClientWithCommands::count |
68 |
DBClientWithCommands::isMaster |
DBClientWithCommands::isMaster |
72 |
DBClientWithCommands::getLastErrorDetailed |
DBClientWithCommands::getLastErrorDetailed |
76 |
DBClientWithCommands::getLastErrorDetailed |
DBClientWithCommands::getLastErrorDetailed |
80 |
DBClientWithCommands::dropCollection |
DBClientWithCommands::dropCollection |
84 |
DBClientWithCommands::ensureIndex |
DBClientWithCommands::ensureIndex |
88 |
DBClientWithCommands::resetIndexCache |
DBClientWithCommands::resetIndexCache |
92 |
DBClientWithCommands::getIndexes |
DBClientWithCommands::getIndexes |
96 |
DBClientWithCommands::dropIndex |
DBClientWithCommands::dropIndex |
100 |
DBClientWithCommands::dropIndex |
DBClientWithCommands::dropIndex |
104 |
DBClientWithCommands::dropIndexes |
DBClientWithCommands::dropIndexes |
108 |
DBClientWithCommands::reIndex |
DBClientWithCommands::reIndex |
112 |
DBClientWithCommands::dropDatabase |
DBClientWithCommands::dropDatabase |
116 |
__cxa_pure_virtual |
__cxa_pure_virtual |
120 |
DBClientWithCommands::_lookupAvailableOptions |
DBClientWithCommands::_lookupAvailableOptions |
124 |
DBClientWithCommands::_auth |
DBClientWithCommands::_auth |
128 |
DBClientBase::query |
DBClientBase::query |
132 |
DBClientBase::query |
DBClientBase::query |
136 |
__cxa_pure_virtual |
__cxa_pure_virtual |
140 |
__cxa_pure_virtual |
__cxa_pure_virtual |
144 |
__cxa_pure_virtual |
__cxa_pure_virtual |
148 |
__cxa_pure_virtual |
__cxa_pure_virtual |
152 |
__cxa_pure_virtual |
__cxa_pure_virtual |
156 |
DBClientBase::getSockCreationMicroSec |
__cxa_pure_virtual |
160 |
(int (*)(...))-0x000000028 |
DBClientBase::getSockCreationMicroSec |
164 |
(int (*)(...))(& typeinfo) |
(int (*)(...))-0x000000028 |
168 |
non-virtual thunk |
(int (*)(...))(& typeinfo) |
172 |
non-virtual thunk |
non-virtual thunk |
176 |
__cxa_pure_virtual |
non-virtual thunk |
180 |
__cxa_pure_virtual |
__cxa_pure_virtual |
184 |
__cxa_pure_virtual |
__cxa_pure_virtual |
188 |
DBConnector::recv |
__cxa_pure_virtual |
192 |
DBConnector::checkResponse |
DBConnector::recv |
196 |
__cxa_pure_virtual |
DBConnector::checkResponse |
200 |
|
__cxa_pure_virtual |
[+] affected symbols (18)
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::getSockCreationMicroSec ( ) constThis method is from 'DBClientBase' class.
DBClientBase::getSoTimeout ( ) constThis method is from 'DBClientBase' class.
DBClientBase::insert ( std::string const& ns, BSONObj obj, int flags )This method is from 'DBClientBase' class.
DBClientBase::insert ( std::string const& ns, std::vector<BSONObj>const& v, int flags )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 ( boost::function<...> f, std::string const& ns, Query query, BSONObj const* fieldsToReturn, int queryOptions )This method is from 'DBClientBase' class.
DBClientBase::query ( boost::function<...> f, std::string const& ns, Query query, BSONObj const* fieldsToReturn, int queryOptions )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::remove ( std::string const& ns, Query query, int flags )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::update ( std::string const& ns, Query query, BSONObj obj, int flags )This method is from 'DBClientBase' class.
DBClientBase::~DBClientBase [in-charge] ( )This method is from 'DBClientBase' class.
DBClientConnection::connect ( HostAndPort const& server, std::string& errmsg )This method is from derived class 'DBClientConnection'.
sock.h
namespace mongo
[+] class Socket (1)
| Change |
Effect |
1 | Size of this class has been increased from 172 bytes to 176 bytes. | 1) An object of this class can be allocated by the applications and old size will be hardcoded at the compile time. Call of any exported constructor will break the memory of neighboring objects on the stack or heap. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (11)
Socket::close ( )This method is from 'Socket' class.
Socket::connect ( SockAddr& farEnd )This method is from 'Socket' class.
Socket::doSSLHandshake ( )This method is from 'Socket' class.
Socket::recv ( char* data, int len )This method is from 'Socket' class.
Socket::send ( char const* data, int len, char const* context )This method is from 'Socket' class.
Socket::send ( std::vector<std::pair<char*, int> >const& data, char const* context )This method is from 'Socket' class.
Socket::setTimeout ( double secs )This method is from 'Socket' class.
Socket::Socket [in-charge] ( double so_timeout, int logLevel )This constructor is from 'Socket' class.
Socket::Socket [in-charge] ( int sock, SockAddr const& farEnd )This constructor is from 'Socket' class.
Socket::unsafe_recv ( char* buf, int max )This method is from 'Socket' class.
Socket::~Socket [in-charge] ( )This method is from 'Socket' class.
to the top
Problems with Symbols, High Severity (3)
bsonobj.h,
libbson.so
namespace mongo
[+] BSONObj::getFieldUsingIndexNames ( char const* fieldName, BSONObj const& indexKey ) const (1)
changed to:BSONObj::getFieldUsingIndexNames ( StringData const& fieldName, BSONObj const& indexKey ) const
[symbol: _ZNK5mongo7BSONObj23getFieldUsingIndexNamesEPKcRKS0_]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZNK5mongo7BSONObj23getFieldUsingIndexNamesEPKcRKS0_ to _ZNK5mongo7BSONObj23getFieldUsingIndexNamesERKNS_10StringDataERKS0_. This may cause "undefined reference" linker error in old client applications. |
dbclient_rs.h,
libmongocommon.so
namespace mongo
[+] ReplicaSetMonitor::check ( bool checkAllSecondaries ) (1)
changed to:ReplicaSetMonitor::check ( )
[symbol: _ZN5mongo17ReplicaSetMonitor5checkEb]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo17ReplicaSetMonitor5checkEb to _ZN5mongo17ReplicaSetMonitor5checkEv. This may cause "undefined reference" linker error in old client applications. |
[+] ReplicaSetMonitor::checkAll ( bool checkAllSecondaries ) [static] (1)
changed to:ReplicaSetMonitor::checkAll ( ) [static]
[symbol: _ZN5mongo17ReplicaSetMonitor8checkAllEb]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN5mongo17ReplicaSetMonitor8checkAllEb to _ZN5mongo17ReplicaSetMonitor8checkAllEv. This may cause "undefined reference" linker error in old client applications. |
to the top
Problems with Data Types, Low Severity (4)
dbclient_rs.h
namespace mongo
[+] class DBClientReplicaSet::LazyState (1)
| Change |
Effect |
1 | Field _isSecondaryQuery has been renamed to _slaveOk. | Renaming of a field in data type may indicate a change in the semantic meaning of the field. |
[+] affected symbols (55)
DBClientConnection::_auth ( BSONObj const& params )Field 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::_checkConnection ( )Field 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::_connect ( std::string& errmsg )Field 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::_lazyKillCursor [data]Field 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::_numConnections [data]Field 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::call ( Message& toSend, Message& response, bool assertOk, std::string* actualServer )Field 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::callRead ( Message& toSend, Message& response )Field 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::checkResponse ( char const* data, int nReturned, bool* retry, std::string* host )Field 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::connect ( char const* hostname, std::string& errmsg )Field 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::connect ( HostAndPort const& server, std::string& errmsg )Field 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::getServerAddress ( ) constField 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::getSockCreationMicroSec ( ) constField 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::getSoTimeout ( ) constField 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::isFailed ( ) constField 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::killCursor ( long long cursorID )Field 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::lazySupported ( ) constField 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::query ( boost::function<...> f, std::string const& ns, Query query, BSONObj const* fieldsToReturn, int queryOptions )Field 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::query ( std::string const& ns, Query query, int nToReturn, int nToSkip, BSONObj const* fieldsToReturn, int queryOptions, int batchSize )Field 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::recv ( Message& m )Field 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::runCommand ( std::string const& dbname, BSONObj const& cmd, BSONObj& info, int options )Field 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::say ( Message& toSend, bool isRetry, std::string* actualServer )Field 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::sayPiggyBack ( Message& toSend )Field 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::setReplSetClientCallback ( DBClientReplicaSet* rsClient )Field 'rsClient->_lazyState' in 1st parameter 'rsClient' (pointer) has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::setSoTimeout ( double timeout )Field 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::toString ( )Field 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::type ( ) constField 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientConnection::~DBClientConnection [in-charge] ( )Field 'this->clientSet->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::_auth ( BSONObj const& params )Field 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::call ( Message& toSend, Message& response, bool assertOk, std::string* actualServer )Field 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::callRead ( Message& toSend, Message& response )Field 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::checkResponse ( char const* data, int nReturned, bool* retry, std::string* targetHost )Field 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::connect ( )Field 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::DBClientReplicaSet [in-charge] ( std::string const& name, std::vector<HostAndPort>const& servers, double so_timeout )Field 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::findOne ( std::string const& ns, Query const& query, BSONObj const* fieldsToReturn, int queryOptions )Field 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::getServerAddress ( ) constField 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::getSoTimeout ( ) constField 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::insert ( std::string const& ns, BSONObj obj, int flags )Field 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::insert ( std::string const& ns, std::vector<BSONObj>const& v, int flags )Field 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::isFailed ( ) constField 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::isntMaster ( )Field 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::isntSecondary ( )Field 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::killCursor ( long long cursorID )Field 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::lazySupported ( ) constField 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::logout ( std::string const& dbname, BSONObj& info )Field 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::masterConn ( )Field 'retval->clientSet->_lazyState' in return value (reference) has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::query ( std::string const& ns, Query query, int nToReturn, int nToSkip, BSONObj const* fieldsToReturn, int queryOptions, int batchSize )Field 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::recv ( Message& toRecv )Field 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::remove ( std::string const& ns, Query obj, int flags )Field 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::say ( Message& toSend, bool isRetry, std::string* actualServer )Field 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::sayPiggyBack ( Message& toSend )Field 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::slaveConn ( )Field 'retval->clientSet->_lazyState' in return value (reference) has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::toString ( )Field 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::type ( ) constField 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::update ( std::string const& ns, Query query, BSONObj obj, int flags )Field 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
DBClientReplicaSet::~DBClientReplicaSet [in-charge] ( )Field 'this->_lazyState' in the object of this method has type 'DBClientReplicaSet::LazyState'.
error_codes.h
namespace mongo
[+] enum ErrorCodes::Error (2)
| Change |
Effect |
1 | Value of member MaxError has been changed from 75 to 31. | Applications may execute a wrong branch of code in the library and therefore change the behavior. |
2 | The member NodeNotFound has been removed. | This may result in crash or incorrect behavior of applications because the library may not handle removed member anymore. |
[+] affected symbols (12)
DBException::convertExceptionCode ( int exCode ) [static]Return value has type 'enum ErrorCodes::Error'.
ErrorCodes::errorString ( enum ErrorCodes::Error err ) [static]1st parameter 'err' has type 'enum ErrorCodes::Error'.
ErrorCodes::fromInt ( int code ) [static]Return value has type 'enum ErrorCodes::Error'.
ErrorCodes::fromString ( StringData const& name ) [static]Return value has type 'enum ErrorCodes::Error'.
ErrorCodes::isNetworkError ( enum ErrorCodes::Error err ) [static]1st parameter 'err' has type 'enum ErrorCodes::Error'.
operator<< ( std::ostream& os, enum ErrorCodes::Error p2 )2nd parameter 'p2' has type 'enum ErrorCodes::Error'.
Status::compareCode ( enum ErrorCodes::Error const other ) const1st parameter 'other' has base type 'enum ErrorCodes::Error'.
Status::ErrorInfo::ErrorInfo [in-charge] ( enum ErrorCodes::Error aCode, std::string const& aReason, int aLocation )1st parameter 'aCode' has type 'enum ErrorCodes::Error'.
Status::operator!= ( enum ErrorCodes::Error const other ) const1st parameter 'other' has base type 'enum ErrorCodes::Error'.
Status::operator == ( enum ErrorCodes::Error const other ) const1st parameter 'other' has base type 'enum ErrorCodes::Error'.
Status::Status [in-charge] ( enum ErrorCodes::Error code, char const* reason, int location )1st parameter 'code' has type 'enum ErrorCodes::Error'.
Status::Status [in-charge] ( enum ErrorCodes::Error code, std::string const& reason, int location )1st parameter 'code' has type 'enum ErrorCodes::Error'.
sock.h
namespace mongo
[+] class Socket (1)
| Change |
Effect |
1 | Field _lastValidityCheckAtSecs 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 (11)
Socket::close ( )This method is from 'Socket' class.
Socket::connect ( SockAddr& farEnd )This method is from 'Socket' class.
Socket::doSSLHandshake ( )This method is from 'Socket' class.
Socket::recv ( char* data, int len )This method is from 'Socket' class.
Socket::send ( char const* data, int len, char const* context )This method is from 'Socket' class.
Socket::send ( std::vector<std::pair<char*, int> >const& data, char const* context )This method is from 'Socket' class.
Socket::setTimeout ( double secs )This method is from 'Socket' class.
Socket::Socket [in-charge] ( double so_timeout, int logLevel )This constructor is from 'Socket' class.
Socket::Socket [in-charge] ( int sock, SockAddr const& farEnd )This constructor is from 'Socket' class.
Socket::unsafe_recv ( char* buf, int max )This method is from 'Socket' class.
Socket::~Socket [in-charge] ( )This method is from 'Socket' class.
to the top
Other Changes in Data Types (5)
error_codes.h
namespace mongo
[+] enum ErrorCodes::Error (5)
| Change |
Effect |
1 | The member IndexNotFound with value 27 has been added. | No effect. |
2 | The member InvalidPath with value 30 has been added. | No effect. |
3 | The member NamespaceNotFound with value 26 has been added. | No effect. |
4 | The member NonExistentPath with value 29 has been added. | No effect. |
5 | The member PathNotViable with value 28 has been added. | No effect. |
[+] affected symbols (12)
DBException::convertExceptionCode ( int exCode ) [static]Return value has type 'enum ErrorCodes::Error'.
ErrorCodes::errorString ( enum ErrorCodes::Error err ) [static]1st parameter 'err' has type 'enum ErrorCodes::Error'.
ErrorCodes::fromInt ( int code ) [static]Return value has type 'enum ErrorCodes::Error'.
ErrorCodes::fromString ( StringData const& name ) [static]Return value has type 'enum ErrorCodes::Error'.
ErrorCodes::isNetworkError ( enum ErrorCodes::Error err ) [static]1st parameter 'err' has type 'enum ErrorCodes::Error'.
operator<< ( std::ostream& os, enum ErrorCodes::Error p2 )2nd parameter 'p2' has type 'enum ErrorCodes::Error'.
Status::compareCode ( enum ErrorCodes::Error const other ) const1st parameter 'other' has base type 'enum ErrorCodes::Error'.
Status::ErrorInfo::ErrorInfo [in-charge] ( enum ErrorCodes::Error aCode, std::string const& aReason, int aLocation )1st parameter 'aCode' has type 'enum ErrorCodes::Error'.
Status::operator!= ( enum ErrorCodes::Error const other ) const1st parameter 'other' has base type 'enum ErrorCodes::Error'.
Status::operator == ( enum ErrorCodes::Error const other ) const1st parameter 'other' has base type 'enum ErrorCodes::Error'.
Status::Status [in-charge] ( enum ErrorCodes::Error code, char const* reason, int location )1st parameter 'code' has type 'enum ErrorCodes::Error'.
Status::Status [in-charge] ( enum ErrorCodes::Error code, std::string const& reason, int location )1st parameter 'code' has type 'enum ErrorCodes::Error'.
to the top
Header Files (1)
dbclient.h
to the top
Shared Libraries (58)
liballtools.so
libauthcore.so
libauthmongod.so
libauthmongos.so
libauthservercommon.so
libbase.so
libboost_filesystem.so
libboost_program_options.so
libboost_system.so
libboost_thread.so
libbson.so
libbson_template_evaluator.so
libclientandshell.so
libcoding.so
libcommon.so
libcoredb.so
libcoreserver.so
libcoreshard.so
libdbcmdline.so
libdefaultversion.so
libfail_point.so
libfoundation.so
libftsmongod.so
libftsmongos.so
libgeometry.so
libgeoparser.so
libgeoquery.so
libgridfs.so
libindex_set.so
libmath.so
libmd5.so
libmongocommon.so
libmongodandmongos.so
libmongohasher.so
libmongoscore.so
libmurmurhash3.so
libnotmongodormongos.so
libntservice.so
libpcrecpp.so
libplatform.so
libprocessinfo.so
libs2.so
libscripting.so
libserver_common.so
libserver_parameters.so
libserverauth.so
libserveronly.so
libshim_allocator.so
libshim_boost.so
libshim_snappy.so
libshim_v8.so
libsnappy.so
libstacktrace.so
libstemmer.so
libstrings.so
libstringutils.so
libupgrade.so
libv8.so
to the top