Abstract prepared statement. More...
#include <StormByte/database/prepared_stmt.hxx>


Public Member Functions | |
| PreparedSTMT (std::string_view name, std::string_view query, const StormByte::Shared< Logger::Log > &logger) | |
| Copy name, query and logger. | |
| PreparedSTMT (std::string_view name, std::string_view query, const StormByte::Shared< Logger::Log > &logger, const StormByte::Shared< Telemetry > &telemetry) | |
| Copy statement metadata and share connection telemetry. | |
| PreparedSTMT (const PreparedSTMT &other)=delete | |
| Copy constructor (deleted). | |
| PreparedSTMT (PreparedSTMT &&other) noexcept | |
| Move constructor. | |
| virtual | ~PreparedSTMT () noexcept |
| Destructor. | |
| PreparedSTMT & | operator= (const PreparedSTMT &other)=delete |
| Copy assignment (deleted). | |
| PreparedSTMT & | operator= (PreparedSTMT &&other) noexcept |
| Move assignment. | |
| template<typename... Args> | |
| ExpectedRows | Execute (Args &&...args) |
| Bind arguments and execute. | |
| std::string_view | Name () const noexcept |
| Statement name. | |
| std::string_view | Query () const noexcept |
| SQL text. | |
Protected Member Functions | |
| void | RecordBackendEvent (BackendEvent event) noexcept |
| Record a backend event against the owning connection. | |
| template<typename T > | |
| void | Bind (StormByte::Size index, T &&value) noexcept |
Bind a value at index. | |
| void | Bind (StormByte::Size index, std::nullptr_t) noexcept |
Bind SQL NULL at index. | |
Protected Attributes | |
| StormByte::Shared< Logger::Log > | m_logger |
| Shared logger, safe across the DLL boundary. | |
| StormByte::Shared< Telemetry > | m_telemetry |
| Shared connection telemetry. | |
Abstract prepared statement.
Backends subclass this.
| StormByte::Database::PreparedSTMT::PreparedSTMT | ( | std::string_view | name, |
| std::string_view | query, | ||
| const StormByte::Shared< Logger::Log > & | logger | ||
| ) |
Copy name, query and logger.
| name | Statement name. |
| query | SQL text. |
| logger | Logger instance. |
| StormByte::Database::PreparedSTMT::PreparedSTMT | ( | std::string_view | name, |
| std::string_view | query, | ||
| const StormByte::Shared< Logger::Log > & | logger, | ||
| const StormByte::Shared< Telemetry > & | telemetry | ||
| ) |
Copy statement metadata and share connection telemetry.
| name | Statement name. |
| query | SQL text. |
| logger | Logger instance. |
| telemetry | Connection telemetry handle. |
|
delete |
Copy constructor (deleted).
|
noexcept |
Move constructor.
|
virtualnoexcept |
Destructor.
Reimplemented in StormByte::Database::MariaDB::PreparedSTMT, StormByte::Database::Postgres::PreparedSTMT, and StormByte::Database::SQLite::PreparedSTMT.
|
inlineprotectednoexcept |
Bind SQL NULL at index.
| index | Parameter index (0-based). |
|
inlineprotectednoexcept |
|
inline |
Bind arguments and execute.
| Args | Argument types. |
| args | Positional bind values (0-based). |
|
inlinenoexcept |
Statement name.
|
delete |
Copy assignment (deleted).
|
noexcept |
Move assignment.
|
inlinenoexcept |
SQL text.
|
inlineprotectednoexcept |
Record a backend event against the owning connection.
| event | Backend event category. |
|
protected |
Shared logger, safe across the DLL boundary.
|
protected |
Shared connection telemetry.