Must have a new public method "reset" to the connection.
This must permit to reset connection entirely (based on https://mariadb.com/kb/en/library/com_reset_connection/), to :
- rollback any open transaction
- reset transaction isolation level
- reset session variables
- delete user variables
- remove temporary tables
- remove all PREPARE statement
Pool implementation must provide an option to reset completely the connection when given back to pool, replacing rollback command.
This has not to be the default since most of the time, this is not needed and will just add a new useless exchange with the server.
Still, this adds some security, for applications that needs strong isolation, like not permitting reusing a connection that has a temporary table with data...