...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Prepares a statement server-side.
template<
class CompletionToken>
auto
async_prepare_statement(
string_view
stmt,
CompletionToken&& token);
stmt
should be encoded
using the connection's character set.
The returned statement has valid() == true
.
If CompletionToken
is
a deferred completion token (e.g. use_awaitable
),
the string pointed to by stmt
must be kept alive by the caller until the operation is initiated.
The handler signature for this operation is void(boost::mysql::error_code, boost::mysql::statement)
.
Intermediate completion handlers, as well as the final handler, are executed
using token
's associated
executor, or this->get_executor()
if the token doesn't have an associated executor.
If the final handler has an associated immediate executor, and the operation
completes immediately, the final handler is dispatched to it. Otherwise,
the final handler is called as if it was submitted using asio::post
, and is never be called inline
from within this function.