mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
MDEV-15380 Index for versioned table gets corrupt after partitioning and DELETE
In a test case Update occurs between Search and Delete/Update. This corrupts rowid which Search saves for Delete/Update. Patch prevents this by using of HA_EXTRA_REMEMBER_POS and HA_EXTRA_RESTORE_POS in a partition code. This situation possibly occurs only with system versioning table and partition. MyISAM and Aria engines are affected. fix by midenok Closes #705
This commit is contained in:
committed by
Sergei Golubchik
parent
4ec8598c1d
commit
aa5683d12e
@ -254,7 +254,12 @@ int TABLE::delete_row()
|
||||
|
||||
store_record(this, record[1]);
|
||||
vers_update_end();
|
||||
return file->ha_update_row(record[1], record[0]);
|
||||
int res;
|
||||
if ((res= file->extra(HA_EXTRA_REMEMBER_POS)))
|
||||
return res;
|
||||
if ((res= file->ha_update_row(record[1], record[0])))
|
||||
return res;
|
||||
return file->extra(HA_EXTRA_RESTORE_POS);
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user