| Home | Libraries | People | FAQ | More

###### connection::reset_connection (1 of 2 overloads)

Resets server-side session state, like variables and prepared statements.

###### Synopsis

    void
    reset_connection(
        error_code& err,
        diagnostics& diag);

###### Description

Resets all server-side state for the current session:

- Rolls back any active transactions and resets autocommit mode.
- Releases all table locks.
- Drops all temporary tables.
- Resets all session system variables to their default values (including the ones set by `SET NAMES`) and clears all user-defined variables.
- Closes all prepared statements.

A full reference on the affected session state can be found here.

This function will not reset the current physical connection and won't cause re-authentication. It is faster than closing and re-opening a connection.

The connection must be connected and authenticated before calling this function. This function involves communication with the server, and thus may fail.

###### Warning on character sets

This function will restore the connection's character set and collation to the server's default, and not to the one specified during connection establishment. Some servers have `latin1` as their default character set, which is not usually what you want. Use a `SET NAMES` statement after using this function to be sure.

You can find the character set that your server will use after reset by running:

    "SELECT @@global.character_set_client, @@global.character_set_results;"