Binary compatibility report for the ODB library between 1.6.0 and 1.7.0 versions on x86
Test Info
Library Name | ODB |
Version #1 | 1.6.0 |
Version #2 | 1.7.0 |
CPU Type | x86 |
GCC Version | 4.6.1 |
Test Results
Total Header Files | 62 |
Total Shared Libraries | 1 |
Total Symbols / Types | 108 / 115 |
Verdict | Incompatible (5.6%) |
Problem Summary
| Severity | Count |
---|
Added Symbols | - | 13 |
Removed Symbols | High | 0 |
Problems with Data Types | High | 0 |
Medium | 1 |
Low | 6 |
Problems with Symbols | High | 0 |
Medium | 1 |
Low | 1 |
Problems with Constants | Low | 0 |
Added Symbols (13)
exceptions.hxx,
libodb-1.7.so
namespace odb
object_changed::what ( ) const
[symbol: _ZNK3odb14object_changed4whatEv]
object_changed::~object_changed [in-charge-deleting] ( )
[symbol: _ZN3odb14object_changedD0Ev]
object_changed::~object_changed [in-charge] ( )
[symbol: _ZN3odb14object_changedD1Ev]
forward.hxx,
libodb-1.7.so
namespace odb
stderr_tracer [data]
[symbol: _ZN3odb13stderr_tracerE]
statement.hxx,
libodb-1.7.so
namespace odb
statement::~statement [in-charge-deleting] ( )
[symbol: _ZN3odb9statementD0Ev]
statement::~statement [in-charge] ( )
[symbol: _ZN3odb9statementD1Ev]
statement::~statement [not-in-charge] ( )
[symbol: _ZN3odb9statementD2Ev]
tracer.hxx,
libodb-1.7.so
namespace odb
tracer::deallocate ( connection& p1, statement const& p2 )
[symbol: _ZN3odb6tracer10deallocateERNS_10connectionERKNS_9statementE]
tracer::execute ( connection& p1, statement const& p2 )
[symbol: _ZN3odb6tracer7executeERNS_10connectionERKNS_9statementE]
tracer::prepare ( connection& p1, statement const& p2 )
[symbol: _ZN3odb6tracer7prepareERNS_10connectionERKNS_9statementE]
tracer::~tracer [in-charge-deleting] ( )
[symbol: _ZN3odb6tracerD0Ev]
tracer::~tracer [in-charge] ( )
[symbol: _ZN3odb6tracerD1Ev]
tracer::~tracer [not-in-charge] ( )
[symbol: _ZN3odb6tracerD2Ev]
to the top
Problems with Data Types, Medium Severity (1)
transaction.hxx
namespace odb
[+] class transaction_impl (1)
| Change |
Effect |
1 | Size of field database_ has been changed from 4 bytes to 8 bytes. | Previous accesses of applications and library functions to this field and fields at higher positions of the structure definition may be broken. |
[+] affected symbols (7)
transaction::commit ( )Field 'this->impl_' in the object of this method has base type 'transaction_impl'.
transaction::current ( ) [static]Field 'retval->impl_' in return value (reference) has base type 'transaction_impl'.
transaction::current ( transaction& p1 ) [static]Field 'p1->impl_' in 1st parameter 'p1' (reference) has base type 'transaction_impl'.
transaction::rollback ( )Field 'this->impl_' in the object of this method has base type 'transaction_impl'.
transaction::transaction [in-charge] ( transaction_impl* p1, bool make_current )1st parameter 'p1' (pointer) has base type 'transaction_impl'.
transaction::~transaction [in-charge] ( )Field 'this->impl_' in the object of this method has base type 'transaction_impl'.
transaction_impl::~transaction_impl [in-charge] ( )This method is from 'transaction_impl' class.
to the top
Problems with Symbols, Medium Severity (1)
pointer-traits.hxx
namespace odb
[+] kind [data] (1)
| Change | Effect |
---|
1 | Type of this global data has been changed from enum pointer_kind const to enum container_kind const of different format. | This global data may be incorrectly accessed by applications. |
to the top
Problems with Data Types, Low Severity (6)
connection.hxx
namespace odb
[+] class connection (4)
| Change |
Effect |
1 | Field tracer_ has been added to this type. | 1) This field will not be initialized by old clients. 2) Size of the inclusive type has been changed. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
2 | Field transaction_tracer_ has been added to this type. | 1) This field will not be initialized by old clients. 2) Size of the inclusive type has been changed. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
3 | Size of this type has been changed from 16 bytes to 24 bytes. | The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications. |
4 | Size of field database_ has been changed from 4 bytes to 8 bytes. | Size of the inclusive type has been changed. |
[+] affected symbols (8)
connection::~connection [in-charge] ( )This method is from 'connection' class.
transaction::commit ( )Field 'this->impl_->connection_' in the object of this method has base type 'connection'.
transaction::current ( ) [static]Field 'retval->impl_->connection_' in return value (reference) has base type 'connection'.
transaction::current ( transaction& p1 ) [static]Field 'p1->impl_->connection_' in 1st parameter 'p1' (reference) has base type 'connection'.
transaction::rollback ( )Field 'this->impl_->connection_' in the object of this method has base type 'connection'.
transaction::transaction [in-charge] ( transaction_impl* p1, bool make_current )Field 'p1->connection_' in 1st parameter 'p1' (pointer) has base type 'connection'.
transaction::~transaction [in-charge] ( )Field 'this->impl_->connection_' in the object of this method has base type 'connection'.
transaction_impl::~transaction_impl [in-charge] ( )Field 'this->connection_' in the object of this method has base type 'connection'.
database.hxx
namespace odb
[+] class database (2)
| Change |
Effect |
1 | Field tracer_ has been added to this type. | 1) This field will not be initialized by old clients. 2) Size of the inclusive type has been changed. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
2 | Size of this type has been changed from 4 bytes to 8 bytes. | The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications. |
[+] affected symbols (10)
database::execute ( char const* statement, std::size_t length )This method is from 'database' class.
database::~database [in-charge] ( )This method is from 'database' class.
schema_catalog::create_schema ( database& p1, std::string const& name ) [static]1st parameter 'p1' (reference) has base type 'database'.
transaction::commit ( )Field 'this->impl_->database_' in the object of this method has base type 'database'.
transaction::current ( ) [static]Field 'retval->impl_->database_' in return value (reference) has base type 'database'.
transaction::current ( transaction& p1 ) [static]Field 'p1->impl_->database_' in 1st parameter 'p1' (reference) has base type 'database'.
transaction::rollback ( )Field 'this->impl_->database_' in the object of this method has base type 'database'.
transaction::transaction [in-charge] ( transaction_impl* p1, bool make_current )Field 'p1->database_' in 1st parameter 'p1' (pointer) has base type 'database'.
transaction::~transaction [in-charge] ( )Field 'this->impl_->database_' in the object of this method has base type 'database'.
transaction_impl::~transaction_impl [in-charge] ( )Field 'this->database_' in the object of this method has base type 'database'.
to the top
Problems with Symbols, Low Severity (1)
pointer-traits.hxx
namespace odb
[+] kind [data] (1)
| Change | Effect |
---|
1 | The initial value of this global data has been changed from 0 to 3. | Applications will use an old value of this data instead of the new one. This may cause incorrect behavior of applications. |
to the top
Header Files (62)
answer.hxx
base.hxx
buffer.hxx
cache-traits.hxx
callback.hxx
class-p.hxx
post.hxx (compilers/vc/post.hxx)
pre.hxx (compilers/vc/pre.hxx)
condition.hxx
config.h
config.hxx
connection.hxx
container-traits.hxx
core.hxx
counter-type.hxx
database.hxx
exception.hxx (details/exception.hxx)
exceptions.hxx (details/posix/exceptions.hxx)
exception.hxx
exceptions.hxx
export.hxx
forward.hxx
lazy-pointer-traits.hxx
lazy-ptr-impl.hxx
lazy-ptr.hxx
lock.hxx
mutex.hxx
nullable.hxx
object-result.hxx
pointer-traits.hxx
polymorphic-p.hxx
condition.hxx (posix/condition.hxx)
mutex.hxx (posix/mutex.hxx)
thread.hxx (posix/thread.hxx)
tls.hxx (posix/tls.hxx)
post.hxx
pre.hxx
query.hxx
remove-const-volatile.hxx
remove-const.hxx
remove-pointer.hxx
remove-volatile.hxx
result.hxx
schema-catalog-impl.hxx
schema-catalog.hxx
session.hxx
shared-ptr-fwd.hxx
shared-ptr.hxx
std-list-traits.hxx
std-map-traits.hxx
std-set-traits.hxx
std-vector-traits.hxx
thread.hxx
tls.hxx
traits.hxx
transaction.hxx
type-info.hxx
unused.hxx
version.hxx
view-result.hxx
wrapper-p.hxx
wrapper-traits.hxx
to the top
Shared Libraries (1)
libodb-1.6.so
to the top