mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
MDEV-3837 Assertion `table->read_set == &table->def_read_set' failed on updating a performance_schema table
This was failing not only for P_S, but for any engine that had HA_PRIMARY_KEY_REQUIRED_FOR_DELETE flag set (in the tree - only P_S and federated). Because of this flag, read_set and write_set were (possibly) changed on update. But later the code modified these bitmaps and restored them to the default state, losing HA_PRIMARY_KEY_REQUIRED_FOR_DELETE related changes. sql/handler.cc: small optimization. don't change the *write* set only because all columns has to be *read*
This commit is contained in:
@ -5446,7 +5446,7 @@ int handler::ha_delete_row(const uchar *buf)
|
||||
void handler::use_hidden_primary_key()
|
||||
{
|
||||
/* fallback to use all columns in the table to identify row */
|
||||
table->use_all_columns();
|
||||
table->column_bitmaps_set(&table->s->all_set, table->write_set);
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user