19struct tds_dblib_dbprocess;
63 bool SilentQuery(
std::string_view query) noexcept override;
75 MSSQL(
std::string_view host,
std::string_view user,
std::string_view password,
76 std::string_view database,
int port, const
StormByte::Safe::Shared<Logger::Log>& logger);
79 bool DoSilentQuery(
std::string_view query) noexcept override;
85 std::
string m_password;
86 std::
string m_database;
88 struct tds_dblib_dbprocess* m_connection;
89 std::
string m_last_error;
92 bool DoConnect() noexcept override;
94 void DoDisconnect() noexcept override;
96 void DoPreDisconnect() noexcept override;
99 std::string_view name,
std::string_view query) noexcept override;
104 static
int ErrorHandler(struct tds_dblib_dbprocess* process,
int severity,
int database_error,
105 int operating_system_error,
char* database_message,
char* operating_system_message);
107 static
int MessageHandler(struct tds_dblib_dbprocess* process,
int message_number,
int state,
108 int severity,
char* text,
char* server,
char* procedure,
int line);
Abstract backend.
Definition database.hxx:76
Microsoft SQL Server backend.
Definition mssql.hxx:43
MSSQL & operator=(const MSSQL &)=delete
Deleted copy assignment.
MSSQL & operator=(MSSQL &&other) noexcept
Move assignment.
~MSSQL() noexcept override
Disconnect and release the DB-Library process.
MSSQL(MSSQL &&other) noexcept
Move constructor.
MSSQL(const MSSQL &)=delete
Deleted copy constructor.
A logical SQL statement executed through sp_executesql RPC.
Definition prepared_stmt.hxx:39
Type-erased SQL value (NULL, integers, double, text, blob, bool).
Definition value.hxx:68
Expected< Rows, QueryException > ExpectedRows
Query result: Rows or QueryException.
Definition typedefs.hxx:82
IsolationLevel
Isolation for BeginTransaction().
Definition typedefs.hxx:99
Root namespace of the StormByte C++ suite.
#define STORMBYTE_DATABASE_PUBLIC
Definition visibility.h:54