33 std::variant<std::unique_ptr<PreparedStatementBase>, std::string>
query;
35 template<
typename... Args>
39 static char const*
ToExecutable(std::string
const& sql) {
return sql.c_str(); }
59 void Append(
char const* sql);
60 template<
typename... Args>
66 std::size_t
GetSize()
const {
return m_queries.size(); }
92 static bool Execute(
MySQLConnection* conn, std::shared_ptr<TransactionBase> trans);
95 static int TryExecute(
MySQLConnection* conn, std::shared_ptr<TransactionBase> trans);
110 m_callback = std::move(callback);
113 bool InvokeIfReady();
std::future< bool > TransactionFuture
std::vector< TransactionData > m_queries
std::size_t GetSize() const
void PAppend(Trinity::FormatString< Args... > sql, Args &&... args)
void AppendPreparedStatement(PreparedStatementBase *statement)
TransactionBase(TransactionBase const &)=delete
void Append(char const *sql)
TransactionBase(TransactionBase &&) noexcept=default
TransactionFuture m_future
TransactionCallback(TransactionFuture &&future)
TransactionCallback & operator=(TransactionCallback &&)=default
std::function< void(bool)> m_callback
TransactionCallback(TransactionCallback &&)=default
void AfterComplete(std::function< void(bool)> callback) &
static std::mutex _deadlockLock
void Append(PreparedStatement< T > *statement)
std::string StringFormat(FormatString< Args... > fmt, Args &&... args)
Default TC string format function.
fmt::format_string< Args... > FormatString
static PreparedStatementBase * ToExecutable(std::unique_ptr< PreparedStatementBase > const &stmt)
TransactionData(Args &&... args)
std::variant< std::unique_ptr< PreparedStatementBase >, std::string > query
static char const * ToExecutable(std::string const &sql)