StormByte C++ Library: Database module 0.0.9999
StormByte-Database is a StormByte library module for handling database connections
Loading...
Searching...
No Matches
mariadb.hxx
1#pragma once
2
3#include <StormByte/database/database.hxx>
4#include <StormByte/database/mariadb/prepared_stmt.hxx>
5
6#include <memory>
7#include <string>
8
9struct st_mysql;
10
15namespace StormByte::Database::MariaDB {
20 class STORMBYTE_DATABASE_PUBLIC MariaDB : public Database {
21 public:
22 MariaDB(const MariaDB& db) = delete;
23 MariaDB(MariaDB&& db) noexcept = default;
24 MariaDB& operator=(const MariaDB& db) = delete;
25 MariaDB& operator=(MariaDB&& db) noexcept = default;
26 virtual ~MariaDB() noexcept;
27
28 ExpectedRows Query(const std::string& query) noexcept override;
29 bool SilentQuery(const std::string& query) noexcept override;
30
31 protected:
41 MariaDB(const std::string& host, const std::string& user, const std::string& password, const std::string& db_name, int port, std::shared_ptr<Logger::Log> logger);
42
52 MariaDB(std::string&& host, std::string&& user, std::string&& password, std::string&& db_name, int port, std::shared_ptr<Logger::Log> logger);
53
54 private:
55 std::string m_host;
56 std::string m_user;
57 std::string m_password;
58 std::string m_dbname;
59 int m_port;
60 struct st_mysql* m_conn;
61
66 bool DoConnect() noexcept override;
67
71 void DoPreDisconnect() noexcept override;
72
76 void DoDisconnect() noexcept override;
77
84 std::unique_ptr<StormByte::Database::PreparedSTMT> CreatePreparedSTMT(std::string&& name, std::string&& query) noexcept override;
85 };
86}
MariaDB(std::string &&host, std::string &&user, std::string &&password, std::string &&db_name, int port, std::shared_ptr< Logger::Log > logger)
MariaDB(const std::string &host, const std::string &user, const std::string &password, const std::string &db_name, int port, std::shared_ptr< Logger::Log > logger)
ExpectedRows Query(const std::string &query) noexcept override
bool SilentQuery(const std::string &query) noexcept override
Forward declaration of MariaDB class.
Definition prepared_stmt.hxx:23
Contains classes and functions for database operations.
All the classes for handling MariaDB databases.