Binary compatibility report for the ODB library between 2.3.0 and 2.4.0 versions on x86
Test Info
Library Name | ODB |
Version #1 | 2.3.0 |
Version #2 | 2.4.0 |
CPU Type | x86 |
GCC Version | 4.6.1 |
Test Results
Total Header Files | 87 |
Total Shared Libraries | 1 |
Total Symbols / Types | 217 / 221 |
Verdict | Incompatible (40.1%) |
Problem Summary
| Severity | Count |
---|
Added Symbols | - | 34 |
Removed Symbols | High | 0 |
Problems with Data Types | High | 29 |
Medium | 0 |
Low | 3 |
Problems with Symbols | High | 0 |
Medium | 0 |
Low | 0 |
Problems with Constants | Low | 0 |
Added Symbols (34)
base.txx,
libodb-2.4.so
namespace odb::details::bits
locator_common::counter ( void* p1 ) [static]
[symbol: _ZN3odb7details4bits14locator_common7counterEPv]
database.hxx,
libodb-2.4.so
namespace odb
database::call_query_factory ( char const* name, database::connection_type& p2 ) const
[symbol: _ZNK3odb8database18call_query_factoryEPKcRNS_10connectionE]
exception.hxx,
libodb-2.4.so
namespace odb::details
not_shared::clone ( ) const
[symbol: _ZNK3odb7details10not_shared5cloneEv]
exceptions.hxx,
libodb-2.4.so
namespace odb
abstract_class::clone ( ) const
[symbol: _ZNK3odb14abstract_class5cloneEv]
already_in_session::clone ( ) const
[symbol: _ZNK3odb18already_in_session5cloneEv]
already_in_transaction::clone ( ) const
[symbol: _ZNK3odb22already_in_transaction5cloneEv]
connection_lost::clone ( ) const
[symbol: _ZNK3odb15connection_lost5cloneEv]
deadlock::clone ( ) const
[symbol: _ZNK3odb8deadlock5cloneEv]
multiple_exceptions::clone ( ) const
[symbol: _ZNK3odb19multiple_exceptions5cloneEv]
multiple_exceptions::insert ( std::size_t p, bool maybe, exception const& e, bool fatal )
[symbol: _ZN3odb19multiple_exceptions6insertEjbRKNS_9exceptionEb]
multiple_exceptions::prepare ( )
[symbol: _ZN3odb19multiple_exceptions7prepareEv]
multiple_exceptions::what ( ) const
[symbol: _ZNK3odb19multiple_exceptions4whatEv]
multiple_exceptions::~multiple_exceptions [in-charge-deleting] ( )
[symbol: _ZN3odb19multiple_exceptionsD0Ev]
multiple_exceptions::~multiple_exceptions [in-charge] ( )
[symbol: _ZN3odb19multiple_exceptionsD1Ev]
multiple_exceptions::~multiple_exceptions [not-in-charge] ( )
[symbol: _ZN3odb19multiple_exceptionsD2Ev]
no_type_info::clone ( ) const
[symbol: _ZNK3odb12no_type_info5cloneEv]
not_in_session::clone ( ) const
[symbol: _ZNK3odb14not_in_session5cloneEv]
not_in_transaction::clone ( ) const
[symbol: _ZNK3odb18not_in_transaction5cloneEv]
null_pointer::clone ( ) const
[symbol: _ZNK3odb12null_pointer5cloneEv]
object_already_persistent::clone ( ) const
[symbol: _ZNK3odb25object_already_persistent5cloneEv]
object_changed::clone ( ) const
[symbol: _ZNK3odb14object_changed5cloneEv]
object_not_persistent::clone ( ) const
[symbol: _ZNK3odb21object_not_persistent5cloneEv]
prepared_already_cached::clone ( ) const
[symbol: _ZNK3odb23prepared_already_cached5cloneEv]
prepared_type_mismatch::clone ( ) const
[symbol: _ZNK3odb22prepared_type_mismatch5cloneEv]
result_not_cached::clone ( ) const
[symbol: _ZNK3odb17result_not_cached5cloneEv]
section_not_in_object::clone ( ) const
[symbol: _ZNK3odb21section_not_in_object5cloneEv]
section_not_loaded::clone ( ) const
[symbol: _ZNK3odb18section_not_loaded5cloneEv]
session_required::clone ( ) const
[symbol: _ZNK3odb16session_required5cloneEv]
timeout::clone ( ) const
[symbol: _ZNK3odb7timeout5cloneEv]
transaction_already_finalized::clone ( ) const
[symbol: _ZNK3odb29transaction_already_finalized5cloneEv]
unknown_schema::clone ( ) const
[symbol: _ZNK3odb14unknown_schema5cloneEv]
unknown_schema_version::clone ( ) const
[symbol: _ZNK3odb22unknown_schema_version5cloneEv]
exceptions.hxx,
libodb-2.4.so
namespace odb::details
posix_exception::clone ( ) const
[symbol: _ZNK3odb7details15posix_exception5cloneEv]
forward.hxx,
libodb-2.4.so
namespace odb
stderr_full_tracer [data]
[symbol: _ZN3odb18stderr_full_tracerE]
to the top
Problems with Data Types, High Severity (29)
base.hxx
namespace details
[+] class not_shared (1)
| Change |
Effect |
1 | Size of this class has been changed from 4 bytes to 12 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (2)
not_shared::what ( ) constThis method is from 'not_shared' class.
not_shared::~not_shared [in-charge] ( )This method is from 'not_shared' class.
exception.hxx
namespace odb
[+] class exception (3)
| Change |
Effect |
1 | Base class details::shared_base has been added. | 1) Size of the class has been changed from 4 bytes to 12 bytes. 2) The memory layout in this class has been shifted by 8 bytes. |
2 | Size of this class has been changed from 4 bytes to 12 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
3 | Pure virtual method exception::clone ( ) 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. |
[+] show v-table (old and new)
Offset | Virtual Table (Old) - 5 entries | Virtual Table (New) - 6 entries |
---|
0 |
(int (*)(...))0 |
(int (*)(...))0 |
4 |
(int (*)(...))(& typeinfo) |
(int (*)(...))(& typeinfo) |
8 |
~exception |
~exception |
12 |
~exception |
~exception |
16 |
__cxa_pure_virtual |
__cxa_pure_virtual |
20 |
|
__cxa_pure_virtual |
[+] affected symbols (34)
abstract_class::what ( ) constThis method is from derived class 'abstract_class'.
already_in_session::what ( ) constThis method is from derived class 'already_in_session'.
already_in_transaction::what ( ) constThis method is from derived class 'already_in_transaction'.
connection_lost::what ( ) constThis method is from derived class 'connection_lost'.
deadlock::what ( ) constThis method is from derived class 'deadlock'.
details::not_shared::what ( ) constThis method is from derived class 'details::not_shared'.
details::posix_exception::what ( ) constThis method is from derived class 'details::posix_exception'.
exception::what ( ) constThis method is from 'exception' class.
exception::~exception [in-charge] ( )This method is from 'exception' class.
no_type_info::what ( ) constThis method is from derived class 'no_type_info'.
not_in_session::what ( ) constThis method is from derived class 'not_in_session'.
not_in_transaction::what ( ) constThis method is from derived class 'not_in_transaction'.
null_pointer::what ( ) constThis method is from derived class 'null_pointer'.
object_already_persistent::what ( ) constThis method is from derived class 'object_already_persistent'.
object_changed::what ( ) constThis method is from derived class 'object_changed'.
object_not_persistent::what ( ) constThis method is from derived class 'object_not_persistent'.
prepared_already_cached::prepared_already_cached [in-charge] ( char const* name )This constructor is from derived class 'prepared_already_cached'.
prepared_already_cached::what ( ) constThis method is from derived class 'prepared_already_cached'.
prepared_already_cached::~prepared_already_cached [in-charge] ( )This method is from derived class 'prepared_already_cached'.
prepared_type_mismatch::prepared_type_mismatch [in-charge] ( char const* name )This constructor is from derived class 'prepared_type_mismatch'.
prepared_type_mismatch::what ( ) constThis method is from derived class 'prepared_type_mismatch'.
prepared_type_mismatch::~prepared_type_mismatch [in-charge] ( )This method is from derived class 'prepared_type_mismatch'.
result_not_cached::what ( ) constThis method is from derived class 'result_not_cached'.
section_not_in_object::what ( ) constThis method is from derived class 'section_not_in_object'.
section_not_loaded::what ( ) constThis method is from derived class 'section_not_loaded'.
session_required::what ( ) constThis method is from derived class 'session_required'.
timeout::what ( ) constThis method is from derived class 'timeout'.
transaction_already_finalized::what ( ) constThis method is from derived class 'transaction_already_finalized'.
unknown_schema::unknown_schema [in-charge] ( std::string const& name )This constructor is from derived class 'unknown_schema'.
unknown_schema::what ( ) constThis method is from derived class 'unknown_schema'.
unknown_schema::~unknown_schema [in-charge] ( )This method is from derived class 'unknown_schema'.
unknown_schema_version::unknown_schema_version [in-charge] ( schema_version p1 )This constructor is from derived class 'unknown_schema_version'.
unknown_schema_version::what ( ) constThis method is from derived class 'unknown_schema_version'.
unknown_schema_version::~unknown_schema_version [in-charge] ( )This method is from derived class 'unknown_schema_version'.
exception.hxx
namespace details
[+] class exception (1)
| Change |
Effect |
1 | Size of this class has been changed from 4 bytes to 12 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (1)
posix_exception::what ( ) constThis method is from derived class 'posix_exception'.
exceptions.hxx
namespace odb
[+] class abstract_class (1)
| Change |
Effect |
1 | Size of this class has been changed from 4 bytes to 12 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (2)
abstract_class::what ( ) constThis method is from 'abstract_class' class.
abstract_class::~abstract_class [in-charge] ( )This method is from 'abstract_class' class.
[+] class already_in_session (1)
| Change |
Effect |
1 | Size of this class has been changed from 4 bytes to 12 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (2)
already_in_session::what ( ) constThis method is from 'already_in_session' class.
already_in_session::~already_in_session [in-charge] ( )This method is from 'already_in_session' class.
[+] class already_in_transaction (1)
| Change |
Effect |
1 | Size of this class has been changed from 4 bytes to 12 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (2)
already_in_transaction::what ( ) constThis method is from 'already_in_transaction' class.
already_in_transaction::~already_in_transaction [in-charge] ( )This method is from 'already_in_transaction' class.
[+] class connection_lost (1)
| Change |
Effect |
1 | Size of this class has been changed from 4 bytes to 12 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (2)
connection_lost::what ( ) constThis method is from 'connection_lost' class.
connection_lost::~connection_lost [in-charge] ( )This method is from 'connection_lost' class.
[+] class deadlock (1)
| Change |
Effect |
1 | Size of this class has been changed from 4 bytes to 12 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (2)
deadlock::what ( ) constThis method is from 'deadlock' class.
deadlock::~deadlock [in-charge] ( )This method is from 'deadlock' class.
[+] class no_type_info (1)
| Change |
Effect |
1 | Size of this class has been changed from 4 bytes to 12 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (2)
no_type_info::what ( ) constThis method is from 'no_type_info' class.
no_type_info::~no_type_info [in-charge] ( )This method is from 'no_type_info' class.
[+] class not_in_session (1)
| Change |
Effect |
1 | Size of this class has been changed from 4 bytes to 12 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (2)
not_in_session::what ( ) constThis method is from 'not_in_session' class.
not_in_session::~not_in_session [in-charge] ( )This method is from 'not_in_session' class.
[+] class not_in_transaction (1)
| Change |
Effect |
1 | Size of this class has been changed from 4 bytes to 12 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (2)
not_in_transaction::what ( ) constThis method is from 'not_in_transaction' class.
not_in_transaction::~not_in_transaction [in-charge] ( )This method is from 'not_in_transaction' class.
[+] class null_pointer (1)
| Change |
Effect |
1 | Size of this class has been changed from 4 bytes to 12 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (2)
null_pointer::what ( ) constThis method is from 'null_pointer' class.
null_pointer::~null_pointer [in-charge] ( )This method is from 'null_pointer' class.
[+] class object_already_persistent (1)
| Change |
Effect |
1 | Size of this class has been changed from 4 bytes to 12 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (2)
object_already_persistent::what ( ) constThis method is from 'object_already_persistent' class.
object_already_persistent::~object_already_persistent [in-charge] ( )This method is from 'object_already_persistent' class.
[+] class object_changed (1)
| Change |
Effect |
1 | Size of this class has been changed from 4 bytes to 12 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (2)
object_changed::what ( ) constThis method is from 'object_changed' class.
object_changed::~object_changed [in-charge] ( )This method is from 'object_changed' class.
[+] class object_not_persistent (1)
| Change |
Effect |
1 | Size of this class has been changed from 4 bytes to 12 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (2)
object_not_persistent::what ( ) constThis method is from 'object_not_persistent' class.
object_not_persistent::~object_not_persistent [in-charge] ( )This method is from 'object_not_persistent' class.
[+] class prepared_already_cached (1)
| Change |
Effect |
1 | Size of this class has been increased from 12 bytes to 20 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 (3)
prepared_already_cached::prepared_already_cached [in-charge] ( char const* name )This constructor is from 'prepared_already_cached' class.
prepared_already_cached::what ( ) constThis method is from 'prepared_already_cached' class.
prepared_already_cached::~prepared_already_cached [in-charge] ( )This method is from 'prepared_already_cached' class.
[+] class prepared_type_mismatch (1)
| Change |
Effect |
1 | Size of this class has been increased from 12 bytes to 20 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 (3)
prepared_type_mismatch::prepared_type_mismatch [in-charge] ( char const* name )This constructor is from 'prepared_type_mismatch' class.
prepared_type_mismatch::what ( ) constThis method is from 'prepared_type_mismatch' class.
prepared_type_mismatch::~prepared_type_mismatch [in-charge] ( )This method is from 'prepared_type_mismatch' class.
[+] class recoverable (1)
| Change |
Effect |
1 | Size of this class has been changed from 4 bytes to 12 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (3)
connection_lost::what ( ) constThis method is from derived class 'connection_lost'.
deadlock::what ( ) constThis method is from derived class 'deadlock'.
timeout::what ( ) constThis method is from derived class 'timeout'.
[+] class result_not_cached (1)
| Change |
Effect |
1 | Size of this class has been changed from 4 bytes to 12 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (2)
result_not_cached::what ( ) constThis method is from 'result_not_cached' class.
result_not_cached::~result_not_cached [in-charge] ( )This method is from 'result_not_cached' class.
[+] class section_not_in_object (1)
| Change |
Effect |
1 | Size of this class has been changed from 4 bytes to 12 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (2)
section_not_in_object::what ( ) constThis method is from 'section_not_in_object' class.
section_not_in_object::~section_not_in_object [in-charge] ( )This method is from 'section_not_in_object' class.
[+] class section_not_loaded (1)
| Change |
Effect |
1 | Size of this class has been changed from 4 bytes to 12 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (2)
section_not_loaded::what ( ) constThis method is from 'section_not_loaded' class.
section_not_loaded::~section_not_loaded [in-charge] ( )This method is from 'section_not_loaded' class.
[+] class session_required (1)
| Change |
Effect |
1 | Size of this class has been changed from 4 bytes to 12 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (2)
session_required::what ( ) constThis method is from 'session_required' class.
session_required::~session_required [in-charge] ( )This method is from 'session_required' class.
[+] class timeout (1)
| Change |
Effect |
1 | Size of this class has been changed from 4 bytes to 12 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (2)
timeout::what ( ) constThis method is from 'timeout' class.
timeout::~timeout [in-charge] ( )This method is from 'timeout' class.
[+] class transaction_already_finalized (1)
| Change |
Effect |
1 | Size of this class has been changed from 4 bytes to 12 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (2)
transaction_already_finalized::what ( ) constThis method is from 'transaction_already_finalized' class.
transaction_already_finalized::~transaction_already_finalized [in-charge] ( )This method is from 'transaction_already_finalized' class.
[+] class unknown_schema (1)
| Change |
Effect |
1 | Size of this class has been increased from 12 bytes to 20 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 (3)
unknown_schema::unknown_schema [in-charge] ( std::string const& name )This constructor is from 'unknown_schema' class.
unknown_schema::what ( ) constThis method is from 'unknown_schema' class.
unknown_schema::~unknown_schema [in-charge] ( )This method is from 'unknown_schema' class.
[+] class unknown_schema_version (1)
| Change |
Effect |
1 | Size of this class has been increased from 16 bytes to 24 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 (3)
unknown_schema_version::unknown_schema_version [in-charge] ( schema_version p1 )This constructor is from 'unknown_schema_version' class.
unknown_schema_version::what ( ) constThis method is from 'unknown_schema_version' class.
unknown_schema_version::~unknown_schema_version [in-charge] ( )This method is from 'unknown_schema_version' class.
exceptions.hxx
namespace odb::details
[+] class posix_exception (1)
| Change |
Effect |
1 | Size of this class has been changed from 8 bytes to 16 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 (2)
posix_exception::what ( ) constThis method is from 'posix_exception' class.
posix_exception::~posix_exception [in-charge] ( )This method is from 'posix_exception' class.
to the top
Problems with Data Types, Low Severity (3)
database.hxx
namespace odb
[+] typedef database::query_factory_map (1)
| Change |
Effect |
1 | Base type has been changed from std::map<char const*,std::function<...>,details::c_string_comparator> to std::map<char const*,details::function_wrapper<...>,details::c_string_comparator>. | Replacement of the base data type may indicate a change in its semantic meaning. |
[+] affected symbols (25)
connection::cache_query_ ( prepared_query_impl* pq, std::type_info const& ti, void* params, std::type_info const* params_info, void(*params_deleter)(void*) )Field 'pq->conn->results_->db_->query_factory_map_' in 1st parameter 'pq' (pointer) has type 'database::query_factory_map'.
connection::clear_prepared_map ( )Field 'this->database_->query_factory_map_' in the object of this method has type 'database::query_factory_map'.
connection::invalidate_results ( )Field 'this->database_->query_factory_map_' in the object of this method has type 'database::query_factory_map'.
connection::lookup_query_ ( char const* name, std::type_info const& ti, void** params, std::type_info const* params_info ) constField 'this->database_->query_factory_map_' in the object of this method has type 'database::query_factory_map'.
connection::recycle ( )Field 'this->database_->query_factory_map_' in the object of this method has type 'database::query_factory_map'.
connection::~connection [in-charge] ( )Field 'this->database_->query_factory_map_' in the object of this method has type 'database::query_factory_map'.
database::execute ( char const* statement, std::size_t length )Field 'this->query_factory_map_' in the object of this method has type 'database::query_factory_map'.
database::schema_version_migration ( database::schema_version_migration_type const& p1, std::string const& schema_name )Field 'this->query_factory_map_' in the object of this method has type 'database::query_factory_map'.
database::schema_version_migration ( std::string const& schema_name ) constField 'this->query_factory_map_' in the object of this method has type 'database::query_factory_map'.
database::~database [in-charge] ( )Field 'this->query_factory_map_' in the object of this method has type 'database::query_factory_map'.
prepared_query_impl::list_remove ( )Field 'this->conn->results_->db_->query_factory_map_' in the object of this method has type 'database::query_factory_map'.
prepared_query_impl::prepared_query_impl [in-charge] ( connection& p1 )Field 'p1->database_->query_factory_map_' in 1st parameter 'p1' (reference) has type 'database::query_factory_map'.
prepared_query_impl::~prepared_query_impl [in-charge] ( )Field 'this->conn->results_->db_->query_factory_map_' in the object of this method has type 'database::query_factory_map'.
result_impl::list_remove ( )Field 'this->db_->query_factory_map_' in the object of this method has type 'database::query_factory_map'.
result_impl::result_impl [in-charge] ( connection& p1 )Field 'p1->database_->query_factory_map_' in 1st parameter 'p1' (reference) has type 'database::query_factory_map'.
result_impl::~result_impl [in-charge] ( )Field 'this->db_->query_factory_map_' in the object of this method has type 'database::query_factory_map'.
schema_catalog::create_schema ( database& p1, std::string const& name, bool drop ) [static]Field 'p1->query_factory_map_' in 1st parameter 'p1' (reference) has type 'database::query_factory_map'.
schema_catalog::drop_schema ( database& p1, std::string const& name ) [static]Field 'p1->query_factory_map_' in 1st parameter 'p1' (reference) has type 'database::query_factory_map'.
schema_catalog::migrate ( database& p1, schema_version p2, std::string const& name ) [static]Field 'p1->query_factory_map_' in 1st parameter 'p1' (reference) has type 'database::query_factory_map'.
schema_catalog::migrate_data ( database& p1, schema_version p2, std::string const& name ) [static]Field 'p1->query_factory_map_' in 1st parameter 'p1' (reference) has type 'database::query_factory_map'.
tracer::deallocate ( connection& p1, statement const& p2 )Field 'p1->database_->query_factory_map_' in 1st parameter 'p1' (reference) has type 'database::query_factory_map'.
tracer::execute ( connection& p1, statement const& p2 )Field 'p1->database_->query_factory_map_' in 1st parameter 'p1' (reference) has type 'database::query_factory_map'.
tracer::prepare ( connection& p1, statement const& p2 )Field 'p1->database_->query_factory_map_' in 1st parameter 'p1' (reference) has type 'database::query_factory_map'.
transaction::reset ( transaction_impl* p1, bool make_current )Field 'p1->database_->query_factory_map_' in 1st parameter 'p1' (pointer) has type 'database::query_factory_map'.
transaction_impl::~transaction_impl [in-charge] ( )Field 'this->database_->query_factory_map_' in the object of this method has type 'database::query_factory_map'.
exception.hxx
namespace details
[+] class exception (1)
| Change |
Effect |
1 | Size of this type has been changed from 4 bytes to 12 bytes. | The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications. |
[+] affected symbols (1)
exception::~exception [in-charge] ( )This method is from 'exception' class.
exceptions.hxx
namespace odb
[+] class recoverable (1)
| Change |
Effect |
1 | Size of this type has been changed from 4 bytes to 12 bytes. | The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications. |
[+] affected symbols (1)
recoverable::~recoverable [in-charge] ( )This method is from 'recoverable' class.
to the top
Header Files (87)
answer.hxx
base.hxx
buffer.hxx
c-string.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
function-table.hxx
lazy-pointer-traits.hxx
lazy-ptr-impl.hxx
lazy-ptr.hxx
lock.hxx
mutex.hxx
no-id-object-result.hxx
no-op-cache-traits.hxx
nullable.hxx
object-result.hxx
pointer-traits.hxx
polymorphic-info.hxx
polymorphic-map.hxx
polymorphic-object-result.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
prepared-query.hxx
query-dynamic.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
schema-version.hxx
section.hxx
session.hxx
shared-ptr-fwd.hxx
shared-ptr.hxx
simple-object-result.hxx
statement-processing-common.hxx
statement.hxx
static-assert.hxx
std-array-traits.hxx
std-forward-list-traits.hxx
std-list-traits.hxx
std-map-traits.hxx
std-set-traits.hxx
std-unordered-map-traits.hxx
std-unordered-set-traits.hxx
std-vector-traits.hxx
thread.hxx
tls.hxx
tracer.hxx
traits.hxx
transaction.hxx
transfer-ptr.hxx
type-info.hxx
unique-ptr.hxx
unused.hxx
vector-impl.hxx
vector-traits.hxx
vector.hxx
version.hxx
view-result.hxx
wrapper-p.hxx
wrapper-traits.hxx
to the top
Shared Libraries (1)
libodb-2.3.so
to the top