Fix warnings by changing the code whenever possible, in particular remove firebird_rowid_backend class and src/backends/firebird/row-id.cpp file in which it was defined entirely as it only resulted in "unreachable code" warnings but was otherwise unused. Also avoid implicit conversions by either using the correct types or by making the casts explicit using static_cast<> in places where the casts are really needed. Add helpful SOCI_NOT_COPYABLE, SOCI_NOT_ASSIGNABLE and SOCI_UNUSED macros and use them to suppress the corresponding warnings. Finally, combine soci-config.h and soci-platform.h in a single file, always include the latter as the first header and keep the former as a wrapper for the latter just for compatibility. Remove the MSVC "#pragma warning(disable: *)" as they are not needed any more. Closes #355.
SOCI - The C++ Database Access Library
Website: http://soci.sourceforge.net
GitHub hosts SOCI source code repository, issues tracker and wiki: https://github.com/SOCI
Downloads and mailing lists at http://sourceforge.net/projects/soci/
Travis CI service at https://travis-ci.org/SOCI/soci
License
The SOCI library is distributed under the terms of the Boost Software License.
Requirements
Core:
- C++ compiler
- Boost C++ Libraries (optional, headers and Boost.DateTime)
Backend specific client libraries for:
- DB2
- Firebird
- MySQL
- ODBC with specific database driver
- Oracle
- PostgreSQL
- SQLite 3
See documentation at http://soci.sourceforge.net for details
Brief History
Originally, SOCI was developed by Maciej Sobczak at CERN as abstraction layer for Oracle, a Simple Oracle Call Interface. Later, several database backends have been developed for SOCI, thus the long name has lost its practicality. Currently, if you like, SOCI may stand for Simple Open (Database) Call Interface or something similar.
"CERN is also a user of the SOCI library, which serves as a database access layer in some of the control system components."
-- Maciej Sobczak at Inspirel
