Binary compatibility report for the OpenDBX library between 1.3.11 and 1.4.0 versions on x86
Test Info
Library Name | OpenDBX |
Version #1 | 1.3.11 |
Version #2 | 1.4.0 |
CPU Type | x86 |
GCC Version | 4.6.1 |
Test Results
Total Header Files | 3 |
Total Shared Libraries | 2 |
Total Symbols / Types | 82 / 80 |
Verdict | Incompatible (12.8%) |
Problem Summary
| Severity | Count |
---|
Added Symbols | - | 18 |
Removed Symbols | High | 10 |
Problems with Data Types | High | 0 |
Medium | 0 |
Low | 14 |
Problems with Symbols | High | 10 |
Medium | 1 |
Low | 1 |
Problems with Constants | Low | 0 |
Added Symbols (18)
api,
libopendbxplus.so.1.0.0
namespace OpenDBX
Conn::Conn [in-charge] ( Conn const& ref )
[symbol: _ZN7OpenDBX4ConnC1ERKS0_]
Conn::Conn [not-in-charge] ( Conn const& ref )
[symbol: _ZN7OpenDBX4ConnC2ERKS0_]
Exception::Exception [in-charge] ( std::string const& msg, int err, int type )
[symbol: _ZN7OpenDBX9ExceptionC1ERKSsii]
Exception::Exception [not-in-charge] ( std::string const& msg, int err, int type )
[symbol: _ZN7OpenDBX9ExceptionC2ERKSsii]
Exception::getCode ( ) const
[symbol: _ZNK7OpenDBX9Exception7getCodeEv]
Exception::getType ( ) const
[symbol: _ZNK7OpenDBX9Exception7getTypeEv]
Lob::Lob [in-charge] ( Lob const& ref )
[symbol: _ZN7OpenDBX3LobC1ERKS0_]
Lob::Lob [in-charge] ( struct Lob_Iface* impl )
[symbol: _ZN7OpenDBX3LobC1EPNS_9Lob_IfaceE]
Lob::Lob [not-in-charge] ( Lob const& ref )
[symbol: _ZN7OpenDBX3LobC2ERKS0_]
Lob::Lob [not-in-charge] ( struct Lob_Iface* impl )
[symbol: _ZN7OpenDBX3LobC2EPNS_9Lob_IfaceE]
Result::Result [in-charge] ( Result const& ref )
[symbol: _ZN7OpenDBX6ResultC1ERKS0_]
Result::Result [in-charge] ( struct Result_Iface* impl )
[symbol: _ZN7OpenDBX6ResultC1EPNS_12Result_IfaceE]
Result::Result [not-in-charge] ( Result const& ref )
[symbol: _ZN7OpenDBX6ResultC2ERKS0_]
Result::Result [not-in-charge] ( struct Result_Iface* impl )
[symbol: _ZN7OpenDBX6ResultC2EPNS_12Result_IfaceE]
Stmt::Stmt [in-charge] ( Stmt const& ref )
[symbol: _ZN7OpenDBX4StmtC1ERKS0_]
Stmt::Stmt [in-charge] ( struct Stmt_Iface* impl )
[symbol: _ZN7OpenDBX4StmtC1EPNS_10Stmt_IfaceE]
Stmt::Stmt [not-in-charge] ( Stmt const& ref )
[symbol: _ZN7OpenDBX4StmtC2ERKS0_]
Stmt::Stmt [not-in-charge] ( struct Stmt_Iface* impl )
[symbol: _ZN7OpenDBX4StmtC2EPNS_10Stmt_IfaceE]
to the top
Removed Symbols (10)
api,
libopendbxplus.so.0.0.0
namespace OpenDBX
Exception::Exception [in-charge] ( std::string msg, int err, int type )
[symbol: _ZN7OpenDBX9ExceptionC1ESsii]
Exception::Exception [not-in-charge] ( std::string msg, int err, int type )
[symbol: _ZN7OpenDBX9ExceptionC2ESsii]
Exception::getCode ( )
[symbol: _ZN7OpenDBX9Exception7getCodeEv]
Exception::getType ( )
[symbol: _ZN7OpenDBX9Exception7getTypeEv]
Lob::Lob [in-charge] ( struct Lob_Impl* impl )
[symbol: _ZN7OpenDBX3LobC1EPNS_8Lob_ImplE]
Lob::Lob [not-in-charge] ( struct Lob_Impl* impl )
[symbol: _ZN7OpenDBX3LobC2EPNS_8Lob_ImplE]
Result::Result [in-charge] ( struct Result_Impl* impl )
[symbol: _ZN7OpenDBX6ResultC1EPNS_11Result_ImplE]
Result::Result [not-in-charge] ( struct Result_Impl* impl )
[symbol: _ZN7OpenDBX6ResultC2EPNS_11Result_ImplE]
Stmt::Stmt [in-charge] ( struct Stmt_Impl* impl )
[symbol: _ZN7OpenDBX4StmtC1EPNS_9Stmt_ImplE]
Stmt::Stmt [not-in-charge] ( struct Stmt_Impl* impl )
[symbol: _ZN7OpenDBX4StmtC2EPNS_9Stmt_ImplE]
to the top
Problems with Symbols, High Severity (10)
api,
libopendbxplus.so.0.0.0
namespace OpenDBX
[+] Exception::Exception [not-in-charge] ( std::string msg, int err, int type ) (1)
changed to:Exception::Exception [not-in-charge] ( std::string const& msg, int err, int type )
[symbol: _ZN7OpenDBX9ExceptionC2ESsii]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN7OpenDBX9ExceptionC2ESsii to _ZN7OpenDBX9ExceptionC2ERKSsii. This may cause "undefined reference" linker error in old client applications. |
[+] Exception::Exception [in-charge] ( std::string msg, int err, int type ) (1)
changed to:Exception::Exception [in-charge] ( std::string const& msg, int err, int type )
[symbol: _ZN7OpenDBX9ExceptionC1ESsii]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN7OpenDBX9ExceptionC1ESsii to _ZN7OpenDBX9ExceptionC1ERKSsii. This may cause "undefined reference" linker error in old client applications. |
[+] Exception::getCode ( ) (1)
changed to:Exception::getCode ( ) const
[symbol: _ZN7OpenDBX9Exception7getCodeEv]
| Change | Effect |
---|
1 | Method became const. | The name of the appropriate symbol for this function on binary level has been changed from _ZN7OpenDBX9Exception7getCodeEv to _ZNK7OpenDBX9Exception7getCodeEv. This may cause "undefined reference" linker error in old client applications. |
[+] Exception::getType ( ) (1)
changed to:Exception::getType ( ) const
[symbol: _ZN7OpenDBX9Exception7getTypeEv]
| Change | Effect |
---|
1 | Method became const. | The name of the appropriate symbol for this function on binary level has been changed from _ZN7OpenDBX9Exception7getTypeEv to _ZNK7OpenDBX9Exception7getTypeEv. This may cause "undefined reference" linker error in old client applications. |
[+] Lob::Lob [in-charge] ( struct Lob_Impl* impl ) (1)
changed to:Lob::Lob [in-charge] ( Lob const& ref )
[symbol: _ZN7OpenDBX3LobC1EPNS_8Lob_ImplE]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN7OpenDBX3LobC1EPNS_8Lob_ImplE to _ZN7OpenDBX3LobC1ERKS0_. This may cause "undefined reference" linker error in old client applications. |
[+] Lob::Lob [not-in-charge] ( struct Lob_Impl* impl ) (1)
changed to:Lob::Lob [not-in-charge] ( Lob const& ref )
[symbol: _ZN7OpenDBX3LobC2EPNS_8Lob_ImplE]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN7OpenDBX3LobC2EPNS_8Lob_ImplE to _ZN7OpenDBX3LobC2ERKS0_. This may cause "undefined reference" linker error in old client applications. |
[+] Result::Result [in-charge] ( struct Result_Impl* impl ) (1)
changed to:Result::Result [in-charge] ( Result const& ref )
[symbol: _ZN7OpenDBX6ResultC1EPNS_11Result_ImplE]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN7OpenDBX6ResultC1EPNS_11Result_ImplE to _ZN7OpenDBX6ResultC1ERKS0_. This may cause "undefined reference" linker error in old client applications. |
[+] Result::Result [not-in-charge] ( struct Result_Impl* impl ) (1)
changed to:Result::Result [not-in-charge] ( Result const& ref )
[symbol: _ZN7OpenDBX6ResultC2EPNS_11Result_ImplE]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN7OpenDBX6ResultC2EPNS_11Result_ImplE to _ZN7OpenDBX6ResultC2ERKS0_. This may cause "undefined reference" linker error in old client applications. |
[+] Stmt::Stmt [not-in-charge] ( struct Stmt_Impl* impl ) (1)
changed to:Stmt::Stmt [not-in-charge] ( Stmt const& ref )
[symbol: _ZN7OpenDBX4StmtC2EPNS_9Stmt_ImplE]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN7OpenDBX4StmtC2EPNS_9Stmt_ImplE to _ZN7OpenDBX4StmtC2ERKS0_. This may cause "undefined reference" linker error in old client applications. |
[+] Stmt::Stmt [in-charge] ( struct Stmt_Impl* impl ) (1)
changed to:Stmt::Stmt [in-charge] ( Stmt const& ref )
[symbol: _ZN7OpenDBX4StmtC1EPNS_9Stmt_ImplE]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN7OpenDBX4StmtC1EPNS_9Stmt_ImplE to _ZN7OpenDBX4StmtC1ERKS0_. This may cause "undefined reference" linker error in old client applications. |
to the top
Problems with Symbols, Medium Severity (1)
api,
libopendbxplus.so.0.0.0
namespace OpenDBX
[+] Result::columnName ( unsigned long pos ) (1)
[symbol: _ZN7OpenDBX6Result10columnNameEm]
| Change | Effect |
---|
1 | Type of return value became const (has been changed from std::string to std::string const). | The return value will be treated as non-const by old client applications. This may result in crash or incorrect behavior of applications. |
to the top
Problems with Data Types, Low Severity (14)
api
namespace OpenDBX
[+] class Conn (3)
| Change |
Effect |
1 | Base type of field m_impl has been changed from struct Conn_Impl to struct Conn_Iface. | Replacement of field base type may indicate a change in the semantic meaning of the field. |
2 | Field m_impl became private. | Old applications will continue using this field, but it may require a different initialization of class object. |
3 | Field m_ref became private. | Old applications will continue using this field, but it may require a different initialization of class object. |
[+] affected symbols (16)
Conn::bind ( char const* database, char const* who, char const* cred, enum odbxbind method )This method is from 'Conn' class.
Conn::bind ( std::string const& database, std::string const& who, std::string const& cred, enum odbxbind method )This method is from 'Conn' class.
Conn::Conn [in-charge] ( )This constructor is from 'Conn' class.
Conn::Conn [in-charge] ( char const* backend, char const* host, char const* port )This constructor is from 'Conn' class.
Conn::Conn [in-charge] ( std::string const& backend, std::string const& host, std::string const& port )This constructor is from 'Conn' class.
Conn::create ( char const* sql, unsigned long size, enum Stmt::Type type )This method is from 'Conn' class.
Conn::create ( std::string const& sql, enum Stmt::Type type )This method is from 'Conn' class.
Conn::escape ( char const* from, unsigned long fromlen, std::string& to )This method is from 'Conn' class.
Conn::escape ( std::string const& from, std::string& to )This method is from 'Conn' class.
Conn::finish ( )This method is from 'Conn' class.
Conn::getCapability ( enum odbxcap cap )This method is from 'Conn' class.
Conn::getOption ( enum odbxopt option, void* value )This method is from 'Conn' class.
Conn::operator = ( Conn const& ref )1st parameter 'ref' (reference) has base type 'Conn'.
Conn::setOption ( enum odbxopt option, void* value )This method is from 'Conn' class.
Conn::unbind ( )This method is from 'Conn' class.
Conn::~Conn [in-charge] ( )This method is from 'Conn' class.
[+] class Exception (2)
| Change |
Effect |
1 | Field m_error became private. | Old applications will continue using this field, but it may require a different initialization of class object. |
2 | Field m_type became private. | Old applications will continue using this field, but it may require a different initialization of class object. |
[+] affected symbols (1)
Exception::~Exception [in-charge] ( )This method is from 'Exception' class.
[+] class Lob (3)
| Change |
Effect |
1 | Base type of field m_impl has been changed from struct Lob_Impl to struct Lob_Iface. | Replacement of field base type may indicate a change in the semantic meaning of the field. |
2 | Field m_impl became private. | Old applications will continue using this field, but it may require a different initialization of class object. |
3 | Field m_ref became private. | Old applications will continue using this field, but it may require a different initialization of class object. |
[+] affected symbols (6)
Lob::close ( )This method is from 'Lob' class.
Lob::operator = ( Lob const& ref )1st parameter 'ref' (reference) has base type 'Lob'.
Lob::read ( void* buffer, size_t buflen )This method is from 'Lob' class.
Lob::write ( void* buffer, size_t buflen )This method is from 'Lob' class.
Lob::~Lob [in-charge] ( )This method is from 'Lob' class.
Result::getLob ( char const* value )Return value has type 'Lob'.
[+] class Result (3)
| Change |
Effect |
1 | Base type of field m_impl has been changed from struct Result_Impl to struct Result_Iface. | Replacement of field base type may indicate a change in the semantic meaning of the field. |
2 | Field m_impl became private. | Old applications will continue using this field, but it may require a different initialization of class object. |
3 | Field m_ref became private. | Old applications will continue using this field, but it may require a different initialization of class object. |
[+] affected symbols (14)
Result::columnCount ( )This method is from 'Result' class.
Result::columnName ( unsigned long pos )This method is from 'Result' class.
Result::columnPos ( std::string const& name )This method is from 'Result' class.
Result::columnType ( unsigned long pos )This method is from 'Result' class.
Result::fieldLength ( unsigned long pos )This method is from 'Result' class.
Result::fieldValue ( unsigned long pos )This method is from 'Result' class.
Result::finish ( )This method is from 'Result' class.
Result::getLob ( char const* value )This method is from 'Result' class.
Result::getResult ( struct timeval* timeout, unsigned long chunk )This method is from 'Result' class.
Result::getRow ( )This method is from 'Result' class.
Result::operator = ( Result const& ref )1st parameter 'ref' (reference) has base type 'Result'.
Result::rowsAffected ( )This method is from 'Result' class.
Result::~Result [in-charge] ( )This method is from 'Result' class.
Stmt::execute ( )Return value has type 'Result'.
[+] class Stmt (3)
| Change |
Effect |
1 | Base type of field m_impl has been changed from struct Stmt_Impl to struct Stmt_Iface. | Replacement of field base type may indicate a change in the semantic meaning of the field. |
2 | Field m_impl became private. | Old applications will continue using this field, but it may require a different initialization of class object. |
3 | Field m_ref became private. | Old applications will continue using this field, but it may require a different initialization of class object. |
[+] affected symbols (5)
Conn::create ( char const* sql, unsigned long size, enum Stmt::Type type )Return value has type 'Stmt'.
Conn::create ( std::string const& sql, enum Stmt::Type type )Return value has type 'Stmt'.
Stmt::execute ( )This method is from 'Stmt' class.
Stmt::operator = ( Stmt const& ref )1st parameter 'ref' (reference) has base type 'Stmt'.
Stmt::~Stmt [in-charge] ( )This method is from 'Stmt' class.
to the top
Problems with Symbols, Low Severity (1)
api,
libopendbxplus.so.0.0.0
namespace OpenDBX
[+] Result::columnName ( unsigned long pos ) (1)
[symbol: _ZN7OpenDBX6Result10columnNameEm]
| Change | Effect |
---|
1 | Type of return value has been changed from std::string to std::string const. | Replacement of return type may indicate a change in its semantic meaning. |
to the top
Header Files (3)
api
api.h
odbx.h
to the top
Shared Libraries (2)
libopendbx.so.1.1.0
libopendbxplus.so.0.0.0
to the top