diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2021-01-07 09:08:09 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2021-01-07 09:08:09 +0200 |
commit | 92abdcca5a5324f0727112ab2417d10c7a8d5094 (patch) | |
tree | 39c43a798bd9525895a40e1de4cb311637a3131c /sql/sql_delete.cc | |
parent | 8a4ca33938921bddd7186a1e30d13197952249ca (diff) | |
parent | a9933105938d4d809ea33ac3196e681cd581374f (diff) | |
download | mariadb-git-92abdcca5a5324f0727112ab2417d10c7a8d5094.tar.gz |
Merge 10.5 into 10.6
Diffstat (limited to 'sql/sql_delete.cc')
-rw-r--r-- | sql/sql_delete.cc | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/sql/sql_delete.cc b/sql/sql_delete.cc index f3472cac330..6c301fd1e18 100644 --- a/sql/sql_delete.cc +++ b/sql/sql_delete.cc @@ -281,7 +281,15 @@ int TABLE::delete_row() store_record(this, record[1]); vers_update_end(); - return file->ha_update_row(record[1], record[0]); + int err= file->ha_update_row(record[1], record[0]); + /* + MDEV-23644: we get HA_ERR_FOREIGN_DUPLICATE_KEY iff we already got history + row with same trx_id which is the result of foreign key action, so we + don't need one more history row. + */ + if (err == HA_ERR_FOREIGN_DUPLICATE_KEY) + return file->ha_delete_row(record[0]); + return err; } |