Binary compatibility report for the SQLite ODB library between 2.2.3 and 2.3.0 versions on x86
Test Info
Library Name | SQLite ODB |
Version #1 | 2.2.3 |
Version #2 | 2.3.0 |
CPU Type | x86 |
GCC Version | 4.6.1 |
Test Results
Total Header Files | 34 |
Total Shared Libraries | 1 |
Total Symbols / Types | 290 / 271 |
Verdict | Incompatible (23.1%) |
Problem Summary
| Severity | Count |
---|
Added Symbols | - | 17 |
Removed Symbols | High | 16 |
Problems with Data Types | High | 5 |
Medium | 2 |
Low | 7 |
Problems with Symbols | High | 16 |
Medium | 0 |
Low | 0 |
Problems with Constants | Low | 0 |
Other Changes in Data Types | - | 1 |
Added Symbols (17)
database.hxx,
libodb-sqlite-2.3.so
namespace odb::sqlite
database::load_schema_version ( std::string const& schema_name ) const
[symbol: _ZNK3odb6sqlite8database19load_schema_versionERKSs]
statement.hxx,
libodb-sqlite-2.3.so
namespace odb::sqlite
insert_statement::insert_statement [in-charge] ( statement::connection_type& conn, char const* text, bool process_text, binding& param )
[symbol: _ZN3odb6sqlite16insert_statementC1ERNS0_10connectionEPKcbRNS0_7bindingE]
insert_statement::insert_statement [in-charge] ( statement::connection_type& conn, std::string const& text, bool process_text, binding& param )
[symbol: _ZN3odb6sqlite16insert_statementC1ERNS0_10connectionERKSsbRNS0_7bindingE]
insert_statement::insert_statement [not-in-charge] ( statement::connection_type& conn, char const* text, bool process_text, binding& param )
[symbol: _ZN3odb6sqlite16insert_statementC2ERNS0_10connectionEPKcbRNS0_7bindingE]
insert_statement::insert_statement [not-in-charge] ( statement::connection_type& conn, std::string const& text, bool process_text, binding& param )
[symbol: _ZN3odb6sqlite16insert_statementC2ERNS0_10connectionERKSsbRNS0_7bindingE]
select_statement::select_statement [in-charge] ( statement::connection_type& conn, char const* text, bool process_text, bool optimize_text, binding& param, binding& result )
[symbol: _ZN3odb6sqlite16select_statementC1ERNS0_10connectionEPKcbbRNS0_7bindingES7_]
select_statement::select_statement [in-charge] ( statement::connection_type& conn, char const* text, bool process_text, bool optimize_text, binding& result )
[symbol: _ZN3odb6sqlite16select_statementC1ERNS0_10connectionEPKcbbRNS0_7bindingE]
select_statement::select_statement [in-charge] ( statement::connection_type& conn, std::string const& text, bool process_text, bool optimize_text, binding& param, binding& result )
[symbol: _ZN3odb6sqlite16select_statementC1ERNS0_10connectionERKSsbbRNS0_7bindingES7_]
select_statement::select_statement [in-charge] ( statement::connection_type& conn, std::string const& text, bool process_text, bool optimize_text, binding& result )
[symbol: _ZN3odb6sqlite16select_statementC1ERNS0_10connectionERKSsbbRNS0_7bindingE]
select_statement::select_statement [not-in-charge] ( statement::connection_type& conn, char const* text, bool process_text, bool optimize_text, binding& param, binding& result )
[symbol: _ZN3odb6sqlite16select_statementC2ERNS0_10connectionEPKcbbRNS0_7bindingES7_]
select_statement::select_statement [not-in-charge] ( statement::connection_type& conn, char const* text, bool process_text, bool optimize_text, binding& result )
[symbol: _ZN3odb6sqlite16select_statementC2ERNS0_10connectionEPKcbbRNS0_7bindingE]
select_statement::select_statement [not-in-charge] ( statement::connection_type& conn, std::string const& text, bool process_text, bool optimize_text, binding& param, binding& result )
[symbol: _ZN3odb6sqlite16select_statementC2ERNS0_10connectionERKSsbbRNS0_7bindingES7_]
select_statement::select_statement [not-in-charge] ( statement::connection_type& conn, std::string const& text, bool process_text, bool optimize_text, binding& result )
[symbol: _ZN3odb6sqlite16select_statementC2ERNS0_10connectionERKSsbbRNS0_7bindingE]
update_statement::update_statement [in-charge] ( statement::connection_type& conn, char const* text, bool process_text, binding& param )
[symbol: _ZN3odb6sqlite16update_statementC1ERNS0_10connectionEPKcbRNS0_7bindingE]
update_statement::update_statement [in-charge] ( statement::connection_type& conn, std::string const& text, bool process_text, binding& param )
[symbol: _ZN3odb6sqlite16update_statementC1ERNS0_10connectionERKSsbRNS0_7bindingE]
update_statement::update_statement [not-in-charge] ( statement::connection_type& conn, char const* text, bool process_text, binding& param )
[symbol: _ZN3odb6sqlite16update_statementC2ERNS0_10connectionEPKcbRNS0_7bindingE]
update_statement::update_statement [not-in-charge] ( statement::connection_type& conn, std::string const& text, bool process_text, binding& param )
[symbol: _ZN3odb6sqlite16update_statementC2ERNS0_10connectionERKSsbRNS0_7bindingE]
to the top
Removed Symbols (16)
statement.hxx,
libodb-sqlite-2.2.so
namespace odb::sqlite
insert_statement::insert_statement [in-charge] ( statement::connection_type& conn, char const* text, binding& param )
[symbol: _ZN3odb6sqlite16insert_statementC1ERNS0_10connectionEPKcRNS0_7bindingE]
insert_statement::insert_statement [in-charge] ( statement::connection_type& conn, std::string const& text, binding& param )
[symbol: _ZN3odb6sqlite16insert_statementC1ERNS0_10connectionERKSsRNS0_7bindingE]
insert_statement::insert_statement [not-in-charge] ( statement::connection_type& conn, char const* text, binding& param )
[symbol: _ZN3odb6sqlite16insert_statementC2ERNS0_10connectionEPKcRNS0_7bindingE]
insert_statement::insert_statement [not-in-charge] ( statement::connection_type& conn, std::string const& text, binding& param )
[symbol: _ZN3odb6sqlite16insert_statementC2ERNS0_10connectionERKSsRNS0_7bindingE]
select_statement::select_statement [in-charge] ( statement::connection_type& conn, char const* text, binding& param, binding& result )
[symbol: _ZN3odb6sqlite16select_statementC1ERNS0_10connectionEPKcRNS0_7bindingES7_]
select_statement::select_statement [in-charge] ( statement::connection_type& conn, char const* text, binding& result )
[symbol: _ZN3odb6sqlite16select_statementC1ERNS0_10connectionEPKcRNS0_7bindingE]
select_statement::select_statement [in-charge] ( statement::connection_type& conn, std::string const& text, binding& param, binding& result )
[symbol: _ZN3odb6sqlite16select_statementC1ERNS0_10connectionERKSsRNS0_7bindingES7_]
select_statement::select_statement [in-charge] ( statement::connection_type& conn, std::string const& text, binding& result )
[symbol: _ZN3odb6sqlite16select_statementC1ERNS0_10connectionERKSsRNS0_7bindingE]
select_statement::select_statement [not-in-charge] ( statement::connection_type& conn, char const* text, binding& param, binding& result )
[symbol: _ZN3odb6sqlite16select_statementC2ERNS0_10connectionEPKcRNS0_7bindingES7_]
select_statement::select_statement [not-in-charge] ( statement::connection_type& conn, char const* text, binding& result )
[symbol: _ZN3odb6sqlite16select_statementC2ERNS0_10connectionEPKcRNS0_7bindingE]
select_statement::select_statement [not-in-charge] ( statement::connection_type& conn, std::string const& text, binding& param, binding& result )
[symbol: _ZN3odb6sqlite16select_statementC2ERNS0_10connectionERKSsRNS0_7bindingES7_]
select_statement::select_statement [not-in-charge] ( statement::connection_type& conn, std::string const& text, binding& result )
[symbol: _ZN3odb6sqlite16select_statementC2ERNS0_10connectionERKSsRNS0_7bindingE]
update_statement::update_statement [in-charge] ( statement::connection_type& conn, char const* text, binding& param )
[symbol: _ZN3odb6sqlite16update_statementC1ERNS0_10connectionEPKcRNS0_7bindingE]
update_statement::update_statement [in-charge] ( statement::connection_type& conn, std::string const& text, binding& param )
[symbol: _ZN3odb6sqlite16update_statementC1ERNS0_10connectionERKSsRNS0_7bindingE]
update_statement::update_statement [not-in-charge] ( statement::connection_type& conn, char const* text, binding& param )
[symbol: _ZN3odb6sqlite16update_statementC2ERNS0_10connectionEPKcRNS0_7bindingE]
update_statement::update_statement [not-in-charge] ( statement::connection_type& conn, std::string const& text, binding& param )
[symbol: _ZN3odb6sqlite16update_statementC2ERNS0_10connectionERKSsRNS0_7bindingE]
to the top
Problems with Data Types, High Severity (5)
database.hxx
namespace odb
[+] class database (1)
| Change |
Effect |
1 | Pure virtual method database::load_schema_version ( std::string const& ) 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) - 6 entries | Virtual Table (New) - 7 entries |
---|
0 |
(int (*)(...))0 |
(int (*)(...))0 |
4 |
(int (*)(...))(& typeinfo) |
(int (*)(...))(& typeinfo) |
8 |
~database |
~database |
12 |
~database |
~database |
16 |
__cxa_pure_virtual |
__cxa_pure_virtual |
20 |
__cxa_pure_virtual |
__cxa_pure_virtual |
24 |
|
__cxa_pure_virtual |
[+] affected symbols (2)
database::begin ( )This method is from 'database' class.
database::connection_ ( )This method is from 'database' class.
database.hxx
namespace odb::sqlite
[+] class database (1)
| Change |
Effect |
1 | Size of this class has been increased from 56 bytes to 112 bytes. | 1) An object of this class can be allocated by the applications and old size will be hardcoded at the compile time. Call of any exported constructor will break the memory of neighboring objects on the stack or heap. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (26)
connection::connection [in-charge] ( connection::database_type& p1, int extra_flags )1st parameter 'p1' (reference) has base type 'database'.
connection::connection [in-charge] ( connection::database_type& p1, sqlite3* handle )1st parameter 'p1' (reference) has base type 'database'.
connection_pool_factory::connect ( )Field 'this->db_' in the object of this method has base type 'database'.
connection_pool_factory::create ( )Field 'this->db_' in the object of this method has base type 'database'.
connection_pool_factory::database ( connection_factory::database_type& p1 )1st parameter 'p1' (reference) has base type 'database'.
connection_pool_factory::pooled_connection::pooled_connection [in-charge] ( connection::database_type& p1, int extra_flags )1st parameter 'p1' (reference) has base type 'database'.
connection_pool_factory::pooled_connection::pooled_connection [in-charge] ( connection::database_type& p1, sqlite3* p2 )1st parameter 'p1' (reference) has base type 'database'.
connection_pool_factory::release ( connection_pool_factory::pooled_connection* p1 )Field 'this->db_' in the object of this method has base type 'database'.
connection_pool_factory::~connection_pool_factory [in-charge] ( )Field 'this->db_' in the object of this method has base type 'database'.
database::begin ( )This method is from 'database' class.
database::begin_exclusive ( )This method is from 'database' class.
database::begin_immediate ( )This method is from 'database' class.
database::connection_ ( )This method is from 'database' class.
database::database [in-charge] ( int& argc, char** argv, bool erase, int flags, bool foreign_keys, std::string const& vfs, odb::details::transfer_ptr<connection_factory> p7 )This constructor is from 'database' class.
database::database [in-charge] ( std::string const& name, int flags, bool foreign_keys, std::string const& vfs, odb::details::transfer_ptr<connection_factory> p5 )This constructor is from 'database' class.
database::database_id [data]This method is from 'database' class.
database::~database [in-charge] ( )This method is from 'database' class.
new_connection_factory::database ( connection_factory::database_type& p1 )1st parameter 'p1' (reference) has base type 'database'.
single_connection_factory::connect ( )Field 'this->db_' in the object of this method has base type 'database'.
single_connection_factory::create ( )Field 'this->db_' in the object of this method has base type 'database'.
single_connection_factory::database ( connection_factory::database_type& p1 )1st parameter 'p1' (reference) has base type 'database'.
single_connection_factory::release ( single_connection_factory::single_connection* p1 )Field 'this->db_' in the object of this method has base type 'database'.
single_connection_factory::single_connection::single_connection [in-charge] ( connection::database_type& p1, int extra_flags )1st parameter 'p1' (reference) has base type 'database'.
single_connection_factory::single_connection::single_connection [in-charge] ( connection::database_type& p1, sqlite3* p2 )1st parameter 'p1' (reference) has base type 'database'.
single_connection_factory::~single_connection_factory [in-charge] ( )Field 'this->db_' in the object of this method has base type 'database'.
transaction_impl::transaction_impl [in-charge] ( transaction_impl::database_type& p1, enum transaction_impl::lock p2 )1st parameter 'p1' (reference) has base type 'database'.
simple-object-statements.hxx
namespace odb::sqlite
[+] class object_statements_base (1)
| Change |
Effect |
1 | Size of this class has been changed from 20 bytes to 24 bytes. | 1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (1)
object_statements_base::~object_statements_base [in-charge] ( )This method is from 'object_statements_base' class.
statement-cache.hxx
namespace odb::sqlite
[+] class statement_cache (1)
| Change |
Effect |
1 | Size of this class has been increased from 48 bytes to 52 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 (1)
statement_cache::statement_cache [in-charge] ( connection& p1 )This constructor is from 'statement_cache' class.
statements-base.hxx
namespace odb::sqlite
[+] class statements_base (1)
| Change |
Effect |
1 | Size of this class has been changed from 16 bytes to 20 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_statements_base::~object_statements_base [in-charge] ( )This method is from derived class 'object_statements_base'.
statements_base::~statements_base [in-charge] ( )This method is from 'statements_base' class.
to the top
Problems with Symbols, High Severity (16)
statement.hxx,
libodb-sqlite-2.2.so
namespace odb::sqlite
[+] insert_statement::insert_statement [in-charge] ( statement::connection_type& conn, char const* text, binding& param ) (1)
changed to:insert_statement::insert_statement [in-charge] ( statement::connection_type& conn, char const* text, bool process_text, binding& param )
[symbol: _ZN3odb6sqlite16insert_statementC1ERNS0_10connectionEPKcRNS0_7bindingE]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN3odb6sqlite16insert_statementC1ERNS0_10connectionEPKcRNS0_7bindingE to _ZN3odb6sqlite16insert_statementC1ERNS0_10connectionEPKcbRNS0_7bindingE. This may cause "undefined reference" linker error in old client applications. |
[+] insert_statement::insert_statement [not-in-charge] ( statement::connection_type& conn, char const* text, binding& param ) (1)
changed to:insert_statement::insert_statement [not-in-charge] ( statement::connection_type& conn, char const* text, bool process_text, binding& param )
[symbol: _ZN3odb6sqlite16insert_statementC2ERNS0_10connectionEPKcRNS0_7bindingE]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN3odb6sqlite16insert_statementC2ERNS0_10connectionEPKcRNS0_7bindingE to _ZN3odb6sqlite16insert_statementC2ERNS0_10connectionEPKcbRNS0_7bindingE. This may cause "undefined reference" linker error in old client applications. |
[+] insert_statement::insert_statement [in-charge] ( statement::connection_type& conn, std::string const& text, binding& param ) (1)
changed to:insert_statement::insert_statement [in-charge] ( statement::connection_type& conn, char const* text, bool process_text, binding& param )
[symbol: _ZN3odb6sqlite16insert_statementC1ERNS0_10connectionERKSsRNS0_7bindingE]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN3odb6sqlite16insert_statementC1ERNS0_10connectionERKSsRNS0_7bindingE to _ZN3odb6sqlite16insert_statementC1ERNS0_10connectionEPKcbRNS0_7bindingE. This may cause "undefined reference" linker error in old client applications. |
[+] insert_statement::insert_statement [not-in-charge] ( statement::connection_type& conn, std::string const& text, binding& param ) (1)
changed to:insert_statement::insert_statement [not-in-charge] ( statement::connection_type& conn, char const* text, bool process_text, binding& param )
[symbol: _ZN3odb6sqlite16insert_statementC2ERNS0_10connectionERKSsRNS0_7bindingE]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN3odb6sqlite16insert_statementC2ERNS0_10connectionERKSsRNS0_7bindingE to _ZN3odb6sqlite16insert_statementC2ERNS0_10connectionEPKcbRNS0_7bindingE. This may cause "undefined reference" linker error in old client applications. |
[+] select_statement::select_statement [in-charge] ( statement::connection_type& conn, char const* text, binding& result ) (1)
changed to:select_statement::select_statement [in-charge] ( statement::connection_type& conn, char const* text, bool process_text, bool optimize_text, binding& result )
[symbol: _ZN3odb6sqlite16select_statementC1ERNS0_10connectionEPKcRNS0_7bindingE]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN3odb6sqlite16select_statementC1ERNS0_10connectionEPKcRNS0_7bindingE to _ZN3odb6sqlite16select_statementC1ERNS0_10connectionEPKcbbRNS0_7bindingE. This may cause "undefined reference" linker error in old client applications. |
[+] select_statement::select_statement [not-in-charge] ( statement::connection_type& conn, char const* text, binding& result ) (1)
changed to:select_statement::select_statement [not-in-charge] ( statement::connection_type& conn, char const* text, bool process_text, bool optimize_text, binding& result )
[symbol: _ZN3odb6sqlite16select_statementC2ERNS0_10connectionEPKcRNS0_7bindingE]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN3odb6sqlite16select_statementC2ERNS0_10connectionEPKcRNS0_7bindingE to _ZN3odb6sqlite16select_statementC2ERNS0_10connectionEPKcbbRNS0_7bindingE. This may cause "undefined reference" linker error in old client applications. |
[+] select_statement::select_statement [in-charge] ( statement::connection_type& conn, char const* text, binding& param, binding& result ) (1)
changed to:select_statement::select_statement [in-charge] ( statement::connection_type& conn, char const* text, bool process_text, bool optimize_text, binding& result )
[symbol: _ZN3odb6sqlite16select_statementC1ERNS0_10connectionEPKcRNS0_7bindingES7_]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN3odb6sqlite16select_statementC1ERNS0_10connectionEPKcRNS0_7bindingES7_ to _ZN3odb6sqlite16select_statementC1ERNS0_10connectionEPKcbbRNS0_7bindingE. This may cause "undefined reference" linker error in old client applications. |
[+] select_statement::select_statement [not-in-charge] ( statement::connection_type& conn, char const* text, binding& param, binding& result ) (1)
changed to:select_statement::select_statement [not-in-charge] ( statement::connection_type& conn, char const* text, bool process_text, bool optimize_text, binding& result )
[symbol: _ZN3odb6sqlite16select_statementC2ERNS0_10connectionEPKcRNS0_7bindingES7_]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN3odb6sqlite16select_statementC2ERNS0_10connectionEPKcRNS0_7bindingES7_ to _ZN3odb6sqlite16select_statementC2ERNS0_10connectionEPKcbbRNS0_7bindingE. This may cause "undefined reference" linker error in old client applications. |
[+] select_statement::select_statement [not-in-charge] ( statement::connection_type& conn, std::string const& text, binding& result ) (1)
changed to:select_statement::select_statement [not-in-charge] ( statement::connection_type& conn, char const* text, bool process_text, bool optimize_text, binding& result )
[symbol: _ZN3odb6sqlite16select_statementC2ERNS0_10connectionERKSsRNS0_7bindingE]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN3odb6sqlite16select_statementC2ERNS0_10connectionERKSsRNS0_7bindingE to _ZN3odb6sqlite16select_statementC2ERNS0_10connectionEPKcbbRNS0_7bindingE. This may cause "undefined reference" linker error in old client applications. |
[+] select_statement::select_statement [in-charge] ( statement::connection_type& conn, std::string const& text, binding& result ) (1)
changed to:select_statement::select_statement [in-charge] ( statement::connection_type& conn, char const* text, bool process_text, bool optimize_text, binding& result )
[symbol: _ZN3odb6sqlite16select_statementC1ERNS0_10connectionERKSsRNS0_7bindingE]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN3odb6sqlite16select_statementC1ERNS0_10connectionERKSsRNS0_7bindingE to _ZN3odb6sqlite16select_statementC1ERNS0_10connectionEPKcbbRNS0_7bindingE. This may cause "undefined reference" linker error in old client applications. |
[+] select_statement::select_statement [in-charge] ( statement::connection_type& conn, std::string const& text, binding& param, binding& result ) (1)
changed to:select_statement::select_statement [in-charge] ( statement::connection_type& conn, char const* text, bool process_text, bool optimize_text, binding& result )
[symbol: _ZN3odb6sqlite16select_statementC1ERNS0_10connectionERKSsRNS0_7bindingES7_]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN3odb6sqlite16select_statementC1ERNS0_10connectionERKSsRNS0_7bindingES7_ to _ZN3odb6sqlite16select_statementC1ERNS0_10connectionEPKcbbRNS0_7bindingE. This may cause "undefined reference" linker error in old client applications. |
[+] select_statement::select_statement [not-in-charge] ( statement::connection_type& conn, std::string const& text, binding& param, binding& result ) (1)
changed to:select_statement::select_statement [not-in-charge] ( statement::connection_type& conn, char const* text, bool process_text, bool optimize_text, binding& result )
[symbol: _ZN3odb6sqlite16select_statementC2ERNS0_10connectionERKSsRNS0_7bindingES7_]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN3odb6sqlite16select_statementC2ERNS0_10connectionERKSsRNS0_7bindingES7_ to _ZN3odb6sqlite16select_statementC2ERNS0_10connectionEPKcbbRNS0_7bindingE. This may cause "undefined reference" linker error in old client applications. |
[+] update_statement::update_statement [in-charge] ( statement::connection_type& conn, char const* text, binding& param ) (1)
changed to:update_statement::update_statement [in-charge] ( statement::connection_type& conn, char const* text, bool process_text, binding& param )
[symbol: _ZN3odb6sqlite16update_statementC1ERNS0_10connectionEPKcRNS0_7bindingE]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN3odb6sqlite16update_statementC1ERNS0_10connectionEPKcRNS0_7bindingE to _ZN3odb6sqlite16update_statementC1ERNS0_10connectionEPKcbRNS0_7bindingE. This may cause "undefined reference" linker error in old client applications. |
[+] update_statement::update_statement [not-in-charge] ( statement::connection_type& conn, char const* text, binding& param ) (1)
changed to:update_statement::update_statement [not-in-charge] ( statement::connection_type& conn, char const* text, bool process_text, binding& param )
[symbol: _ZN3odb6sqlite16update_statementC2ERNS0_10connectionEPKcRNS0_7bindingE]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN3odb6sqlite16update_statementC2ERNS0_10connectionEPKcRNS0_7bindingE to _ZN3odb6sqlite16update_statementC2ERNS0_10connectionEPKcbRNS0_7bindingE. This may cause "undefined reference" linker error in old client applications. |
[+] update_statement::update_statement [in-charge] ( statement::connection_type& conn, std::string const& text, binding& param ) (1)
changed to:update_statement::update_statement [in-charge] ( statement::connection_type& conn, char const* text, bool process_text, binding& param )
[symbol: _ZN3odb6sqlite16update_statementC1ERNS0_10connectionERKSsRNS0_7bindingE]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN3odb6sqlite16update_statementC1ERNS0_10connectionERKSsRNS0_7bindingE to _ZN3odb6sqlite16update_statementC1ERNS0_10connectionEPKcbRNS0_7bindingE. This may cause "undefined reference" linker error in old client applications. |
[+] update_statement::update_statement [not-in-charge] ( statement::connection_type& conn, std::string const& text, binding& param ) (1)
changed to:update_statement::update_statement [not-in-charge] ( statement::connection_type& conn, char const* text, bool process_text, binding& param )
[symbol: _ZN3odb6sqlite16update_statementC2ERNS0_10connectionERKSsRNS0_7bindingE]
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN3odb6sqlite16update_statementC2ERNS0_10connectionERKSsRNS0_7bindingE to _ZN3odb6sqlite16update_statementC2ERNS0_10connectionEPKcbRNS0_7bindingE. This may cause "undefined reference" linker error in old client applications. |
to the top
Problems with Data Types, Medium Severity (2)
connection.hxx
namespace odb
[+] class connection (1)
| Change |
Effect |
1 | Size of field database_ has been changed from 36 bytes to 92 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 (1)
sqlite::database::connection_ ( )Return value (pointer) has base type 'connection'.
result.hxx
namespace odb
[+] class result_impl (1)
| Change |
Effect |
1 | Size of field db_ has been changed from 36 bytes to 92 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 (1)
sqlite::database::connection_ ( )Field 'retval->results_' in return value (pointer) has base type 'result_impl'.
to the top
Problems with Data Types, Low Severity (7)
database.hxx
namespace odb
[+] class database (5)
| Change |
Effect |
1 | Field mutex_ 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 schema_version_map_ 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 | Field schema_version_seq_ 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. |
4 | Field schema_version_table_ 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. |
5 | Size of this type has been changed from 36 bytes to 92 bytes. | The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications. |
[+] affected symbols (1)
sqlite::database::connection_ ( )Field 'retval->database_' in return value (pointer) has base type 'database'.
statement-cache.hxx
namespace odb::sqlite
[+] class statement_cache (1)
| Change |
Effect |
1 | Field version_seq_ has been added to this type. | Size of the inclusive type has been changed. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
[+] affected symbols (1)
statement_cache::statement_cache [in-charge] ( connection& p1 )This constructor is from 'statement_cache' class.
statements-base.hxx
namespace odb::sqlite
[+] class statements_base (1)
| Change |
Effect |
1 | Field svm_ 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. |
[+] affected symbols (1)
statements_base::~statements_base [in-charge] ( )This method is from 'statements_base' class.
to the top
Other Changes in Data Types (1)
connection.hxx
namespace odb::sqlite
[+] class connection (1)
| Change |
Effect |
1 | Size of field db_ has been changed from 56 bytes to 112 bytes. | No effect. |
[+] affected symbols (24)
connection::begin ( )This method is from 'connection' class.
connection::begin_exclusive ( )This method is from 'connection' class.
connection::begin_immediate ( )This method is from 'connection' class.
connection::clear ( )This method is from 'connection' class.
connection::connection [in-charge] ( connection::database_type& p1, int extra_flags )This constructor is from 'connection' class.
connection::connection [in-charge] ( connection::database_type& p1, sqlite3* handle )This constructor is from 'connection' class.
connection::execute ( char const* statement, std::size_t length )This method is from 'connection' class.
connection::wait ( )This method is from 'connection' class.
connection::~connection [in-charge] ( )This method is from 'connection' class.
delete_statement::delete_statement [in-charge] ( statement::connection_type& conn, char const* text, binding& param )1st parameter 'conn' (reference) has base type 'connection'.
delete_statement::delete_statement [in-charge] ( statement::connection_type& conn, std::string const& text, binding& param )1st parameter 'conn' (reference) has base type 'connection'.
generic_statement::generic_statement [in-charge] ( statement::connection_type& p1, char const* text )1st parameter 'p1' (reference) has base type 'connection'.
generic_statement::generic_statement [in-charge] ( statement::connection_type& p1, char const* text, std::size_t text_size )1st parameter 'p1' (reference) has base type 'connection'.
generic_statement::generic_statement [in-charge] ( statement::connection_type& p1, std::string const& text )1st parameter 'p1' (reference) has base type 'connection'.
statement::bind_param ( struct bind const* p1, std::size_t count )Field 'this->conn_' in the object of this method has base type 'connection'.
statement::bind_result ( struct bind const* p1, std::size_t count, bool truncated )Field 'this->conn_' in the object of this method has base type 'connection'.
statement::connection ( )Field 'this->conn_' in the object of this method has base type 'connection'.
statement::text ( ) constField 'this->conn_' in the object of this method has base type 'connection'.
statement_cache::statement_cache [in-charge] ( connection& p1 )1st parameter 'p1' (reference) has base type 'connection'.
statements_base::~statements_base [in-charge] ( )Field 'this->conn_' in the object of this method has base type 'connection'.
tracer::deallocate ( connection& p1, statement const& p2 )Field 'p2->conn_' in 2nd parameter 'p2' (reference) has base type 'connection'.
tracer::execute ( connection& p1, statement const& p2 )Field 'p2->conn_' in 2nd parameter 'p2' (reference) has base type 'connection'.
tracer::prepare ( connection& p1, statement const& p2 )Field 'p2->conn_' in 2nd parameter 'p2' (reference) has base type 'connection'.
translate_error ( int error, connection& p2 )2nd parameter 'p2' (reference) has base type 'connection'.
to the top
Header Files (34)
auto-handle.hxx
binding.hxx
config.h
config.hxx
connection-factory.hxx
connection.hxx
container-statements.hxx
conversion.hxx
database.hxx
error.hxx
exceptions.hxx
export.hxx
forward.hxx
no-id-object-result.hxx
no-id-object-statements.hxx
options.hxx
polymorphic-object-result.hxx
polymorphic-object-statements.hxx
prepared-query.hxx
query-dynamic.hxx
query.hxx
simple-object-result.hxx
simple-object-statements.hxx
sqlite-types.hxx
statement-cache.hxx
statement.hxx
statements-base.hxx
tracer.hxx
traits.hxx
transaction-impl.hxx
transaction.hxx
version.hxx
view-result.hxx
view-statements.hxx
to the top
Shared Libraries (1)
libodb-sqlite-2.2.so
to the top