Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext
connection::async_execute (1 of 2 overloads)

Executes a text query or prepared statement.

Synopsis
template<
    class ExecutionRequest,
    class ResultsType,
    class CompletionToken>
auto
async_execute(
    ExecutionRequest&& req,
    ResultsType& result,
    CompletionToken&& token);
Description

Sends req to the server for execution and reads the response into result. result may be either a results or static_results object. req should may be either a type convertible to string_view containing valid SQL or a bound prepared statement, obtained by calling statement::bind. If a string, it must be encoded using the connection's character set. Any string parameters provided to statement::bind should also be encoded using the connection's character set.

After this operation completes successfully, result.has_value() == true.

Metadata in result will be populated according to this->meta_mode().

Object lifetimes

If CompletionToken is a deferred completion token (e.g. use_awaitable), the caller is responsible for managing req's validity following these rules:

Handler signature

The handler signature for this operation is void(boost::mysql::error_code).

Executor

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.


PrevUpHomeNext