1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Bug#7879: Using TL_READ_NO_INSERT locks instead of TL_READ locks when

reading tables in "complex" SQL statements. If inserts happen in a
table being read, the statements have no serialization order and the
change can therefore not be reproduced on the slave.
This commit is contained in:
mats@mysql.com
2005-02-15 11:02:01 +01:00
parent 2131786204
commit 625f7f0d55
2 changed files with 6 additions and 3 deletions

View File

@ -479,7 +479,10 @@ int mysql_multi_update(THD *thd,
else
{
DBUG_PRINT("info",("setting table `%s` for read-only", tl->alias));
tl->lock_type= TL_READ;
// If we are using the binary log, we need TL_READ_NO_INSERT to get
// correct order of statements. Otherwise, we use a TL_READ lock to
// improve performance.
tl->lock_type= using_update_log ? TL_READ_NO_INSERT : TL_READ;
tl->updating= 0;
wants= SELECT_ACL;
}