mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Fix for BUG#7850: force the transaction isolation level to REPEATABLE READ when --single-transaction
client/mysqldump.c: force the transaction isolation level to REPEATABLE READ when --single-transaction
This commit is contained in:
@ -2200,8 +2200,15 @@ static int start_transaction(MYSQL *mysql_con, my_bool consistent_read_now)
|
|||||||
We use BEGIN for old servers. --single-transaction --master-data will fail
|
We use BEGIN for old servers. --single-transaction --master-data will fail
|
||||||
on old servers, but that's ok as it was already silently broken (it didn't
|
on old servers, but that's ok as it was already silently broken (it didn't
|
||||||
do a consistent read, so better tell people frankly, with the error).
|
do a consistent read, so better tell people frankly, with the error).
|
||||||
|
|
||||||
|
We want the first consistent read to be used for all tables to dump so we
|
||||||
|
need the REPEATABLE READ level (not anything lower, for example READ
|
||||||
|
COMMITTED would give one new consistent read per dumped table).
|
||||||
*/
|
*/
|
||||||
return (mysql_query_with_error_report(mysql_con, 0,
|
return (mysql_query_with_error_report(mysql_con, 0,
|
||||||
|
"SET SESSION TRANSACTION ISOLATION "
|
||||||
|
"LEVEL REPEATABLE READ") ||
|
||||||
|
mysql_query_with_error_report(mysql_con, 0,
|
||||||
consistent_read_now ?
|
consistent_read_now ?
|
||||||
"START TRANSACTION "
|
"START TRANSACTION "
|
||||||
"WITH CONSISTENT SNAPSHOT" :
|
"WITH CONSISTENT SNAPSHOT" :
|
||||||
|
Reference in New Issue
Block a user