From d62ca959512601c6f225be694009f8d1ecca4b7c Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 13 Jan 2005 00:44:13 +0100 Subject: [PATCH] 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 --- client/mysqldump.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/client/mysqldump.c b/client/mysqldump.c index d511dc3bbde..14ebe9ea8f7 100644 --- a/client/mysqldump.c +++ b/client/mysqldump.c @@ -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 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). + + 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, + "SET SESSION TRANSACTION ISOLATION " + "LEVEL REPEATABLE READ") || + mysql_query_with_error_report(mysql_con, 0, consistent_read_now ? "START TRANSACTION " "WITH CONSISTENT SNAPSHOT" :