Skip to content

Version 1.0.0

Choose a tag to compare

@StormBytePP StormBytePP released this 04 Sep 23:06
· 18 commits to master since this release

[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), nullptr is SQL NULL, ExpectedRows on 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_MARIADB as 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.