StormByte C++ Library: Database module 0.0.9999
StormByte-Database is a StormByte library module for handling database connections
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
StormByte::Database::SQLite::SQLite3 Class Reference

SQLite3 database class. More...

#include <sqlite3.hxx>

Inheritance diagram for StormByte::Database::SQLite::SQLite3:
Inheritance graph
[legend]
Collaboration diagram for StormByte::Database::SQLite::SQLite3:
Collaboration graph
[legend]

Public Member Functions

 SQLite3 (const SQLite3 &db)=delete
 
 SQLite3 (SQLite3 &&db) noexcept=default
 
SQLite3operator= (const SQLite3 &db)=delete
 
SQLite3operator= (SQLite3 &&db) noexcept=default
 
virtual ~SQLite3 () noexcept
 
ExpectedRows Query (const std::string &query) noexcept override
 
bool SilentQuery (const std::string &query) noexcept override
 
- Public Member Functions inherited from StormByte::Database::Database
 Database (std::shared_ptr< Logger::Log > logger) noexcept
 Default constructor.
 
 Database (const Database &other)=delete
 Default copy constructor (deleted)
 
 Database (Database &&other)=default
 Default move constructor.
 
Databaseoperator= (const Database &other)=delete
 Default copy assignment operator (deleted)
 
Databaseoperator= (Database &&other)=default
 Default move assignment operator.
 
virtual ~Database ()=default
 Default destructor.
 
bool Connect () noexcept
 Connects to the database.
 
virtual void Disconnect () noexcept
 Disconnects from the database.
 
bool IsConnected () const noexcept
 Checks if the database is connected.
 
template<typename... Args>
ExpectedRows ExecuteSTMT (const std::string &name, Args &&... args)
 
virtual void BeginTransaction ()
 
virtual void BeginExclusiveTransaction ()
 
virtual void CommitTransaction ()
 
virtual void RollbackTransaction ()
 

Protected Member Functions

 SQLite3 (std::shared_ptr< Logger::Log > logger) noexcept
 
 SQLite3 (const std::filesystem::path &dbfile, std::shared_ptr< Logger::Log > logger)
 
 SQLite3 (std::filesystem::path &&dbfile, std::shared_ptr< Logger::Log > &&logger)
 
void EnableForeignKeys ()
 
- Protected Member Functions inherited from StormByte::Database::Database
virtual void DoPreConnect () noexcept
 Pre-connect action Default is a noop.
 
virtual void DoPostConnect () noexcept
 Post-connect action Default is a noop.
 
void PrepareSTMT (std::string &&name, std::string &&query) noexcept
 

Additional Inherited Members

- Protected Attributes inherited from StormByte::Database::Database
std::shared_ptr< Logger::Log > m_logger
 Logger instance.
 
std::unordered_map< std::string, std::unique_ptr< PreparedSTMT > > m_prepared_stmts
 Prepared statements.
 
bool m_connected
 Connection state.
 

Detailed Description

SQLite3 database class.

Constructor & Destructor Documentation

◆ SQLite3() [1/5]

StormByte::Database::SQLite::SQLite3::SQLite3 ( const SQLite3 db)
delete

Copy constructor

◆ SQLite3() [2/5]

StormByte::Database::SQLite::SQLite3::SQLite3 ( SQLite3 &&  db)
defaultnoexcept

Move constructor

◆ ~SQLite3()

virtual StormByte::Database::SQLite::SQLite3::~SQLite3 ( )
virtualnoexcept

Destructor

◆ SQLite3() [3/5]

StormByte::Database::SQLite::SQLite3::SQLite3 ( std::shared_ptr< Logger::Log >  logger)
protectednoexcept

Constructor

◆ SQLite3() [4/5]

StormByte::Database::SQLite::SQLite3::SQLite3 ( const std::filesystem::path &  dbfile,
std::shared_ptr< Logger::Log >  logger 
)
protected

Constructor

Parameters
dbfiledatabase file

◆ SQLite3() [5/5]

StormByte::Database::SQLite::SQLite3::SQLite3 ( std::filesystem::path &&  dbfile,
std::shared_ptr< Logger::Log > &&  logger 
)
protected

Constructor

Parameters
dbfiledatabase file

Member Function Documentation

◆ EnableForeignKeys()

void StormByte::Database::SQLite::SQLite3::EnableForeignKeys ( )
protected

Enable the foreign keys for SQLite3 (default is disabled)

◆ operator=() [1/2]

SQLite3 & StormByte::Database::SQLite::SQLite3::operator= ( const SQLite3 db)
delete

Assignment operator

◆ operator=() [2/2]

SQLite3 & StormByte::Database::SQLite::SQLite3::operator= ( SQLite3 &&  db)
defaultnoexcept

Move operator

◆ Query()

ExpectedRows StormByte::Database::SQLite::SQLite3::Query ( const std::string &  query)
overridevirtualnoexcept

Executes a query

Parameters
queryThe query to execute.
Returns
ExpectedRows containing the result rows or an error.

Implements StormByte::Database::Database.

◆ SilentQuery()

bool StormByte::Database::SQLite::SQLite3::SilentQuery ( const std::string &  query)
overridevirtualnoexcept

Executes a silent query (no results expected)

Parameters
queryThe query to execute.
Returns
True if the query was executed successfully

Implements StormByte::Database::Database.


The documentation for this class was generated from the following file: