mirror of
https://github.com/SOCI/soci.git
synced 2025-12-19 19:50:36 -06:00
40424b81b1ec84b80a76e3374b3bcd27ff00500e
Make sure no exceptions can escape from session class dtor as this would result in an immediate application termination due to throwing from a (implicitly) noexcept function. Let exceptions escape from the backend session classes dtors for those of them that throw from them: as these classes are private, this shouldn't affect any existing code and allows these exceptions to still be reported if they happen when session::close() is called. Also document that close() may throw and should be called by the application if handling errors during clean up is important for it. Closes #1313.
SOCI - The C++ Database Access Library
Build Status
| Branches | GitHub Actions | AppVeyor-CI | Documentation | Coverity Scan |
|---|---|---|---|---|
| master | ||||
| release/4.1 |
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
License
SOCI library is distributed under the terms of the Boost Software License.
Requirements
Core:
- Compiler with C++14 support (please use 4.0 series for C++98 support) or MSVS 2015 or later.
- CMake 3.23 or later.
- Optionally: Boost C++ Libraries (header-only and Boost.DateTime).
Backend specific client libraries for:
- DB2
- Firebird
- MySQL / MariaDB
- ODBC with specific database driver
- Oracle
- PostgreSQL
- SQLite 3
See documentation at soci.sourceforge.net for details
BSL © Maciej Sobczak and contributors.
Description
Languages
C++
90.2%
Ada
3.4%
CMake
3.2%
Shell
1.9%
HTML
0.9%
Other
0.3%