Version 1.0.0
[Summary]
StormByte Database is the C++26 SQL layer of the StormByte suite.
One API covers SQLite, PostgreSQL and MariaDB.
Backends are base classes: you derive your schema, prepare statements and hook connect there.
This repository is not Base, Buffer, Config, Crypto, Logger, Multimedia, Network or System.
If you landed here from a release link and have not read the tree:
- What this module is, how to build it, and short examples: README.md
- License: GNU Lesser General Public License version 3 or later, LICENSE
Initial public release of StormByte Database.
Added
- Database abstract connection: Connect / Disconnect, Query / SilentQuery, named prepared statements, isolation and RAII transactions
- Inheritance-oriented backends — SQLite3, MariaDB and Postgres with protected constructors
- Value — type-erased SQL cell (NULL, integers, double, text, blob, bool) with safe
Get<T>() - NamedValue, Row, Rows — column lookup by name or index
- PreparedSTMT — positional binds (0-based),
nullptris SQL NULL,ExpectedRowson execute - Transaction — rolls back if neither Commit nor Rollback ran
- SslMode for MariaDB and PostgreSQL (SQLite ignores it)
- IsolationLevel mapped per backend
- Optional backends:
WITH_SQLITE/WITH_POSTGRES/WITH_MARIADBas OFF, SYSTEM or BUNDLED - Exception types: ConnectionError, WrongValueType, ColumnNotFound, OutOfBounds, QueryException, UnknownSTMT, ExecuteError
Notes
- First stable release of StormByte Database.
- Not thread-safe: one connection per thread.
- Needs a C++26 compiler and CMake ≥ 3.28.