Template Class RelationalDatabase

Class Documentation

template<RelationalBackendConcept Backend>
class RelationalDatabase

Public Types

using backend_type = Backend
using config_type = typename Backend::config_type

Public Functions

RelationalDatabase() = default
inline RelationalDatabase(RelationalDatabase &&other) noexcept
inline RelationalDatabase &operator=(RelationalDatabase &&other) noexcept
RelationalDatabase(const RelationalDatabase&) = delete
RelationalDatabase &operator=(const RelationalDatabase&) = delete
inline ~RelationalDatabase()
inline common::Result<void> close()
inline bool is_open() const noexcept
inline common::Result<ExecResult> execute(std::string_view sql, const Params &params = {})
inline common::Result<QueryResult> query(std::string_view sql, const Params &params = {}) const
inline common::Result<void> begin_transaction()
inline common::Result<void> commit()
inline common::Result<void> rollback()
inline backend_type &backend() noexcept
inline const backend_type &backend() const noexcept

Public Static Functions

static inline common::Result<void> create(const config_type &cfg)
static inline common::Result<void> destroy(const config_type &cfg)
static inline common::Result<RelationalDatabase> open(const config_type &cfg)