diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2021-03-12 13:48:18 +0200 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2021-03-12 13:48:18 +0200 |
commit | 5ef5ba55ef76c259c9c1771e3a72a271c6c107e6 (patch) | |
tree | 42cd06d1c562c62e6dce3394ca5ce76e070ead89 | |
parent | f51bd5ccc7b0c8347d23b1e4f6886102e0e08150 (diff) | |
download | mariadb-git-5ef5ba55ef76c259c9c1771e3a72a271c6c107e6.tar.gz |
Promote partial rollback to full rollback
-rw-r--r-- | storage/innobase/row/row0mysql.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/storage/innobase/row/row0mysql.cc b/storage/innobase/row/row0mysql.cc index 5037c0e40b6..d7e3e37ad9e 100644 --- a/storage/innobase/row/row0mysql.cc +++ b/storage/innobase/row/row0mysql.cc @@ -730,8 +730,13 @@ handle_new_error: trx->rollback(savept); } + if (!trx->bulk_insert) { + /* MariaDB will roll back the latest SQL statement */ + break; + } + /* MariaDB will roll back the entire transaction. */ trx->bulk_insert = false; - /* MariaDB will roll back the latest SQL statement */ + trx->last_sql_stat_start.least_undo_no = 0; break; case DB_LOCK_WAIT: err = lock_wait(thr); |