summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2021-03-12 13:48:18 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2021-03-12 13:48:18 +0200
commit5ef5ba55ef76c259c9c1771e3a72a271c6c107e6 (patch)
tree42cd06d1c562c62e6dce3394ca5ce76e070ead89
parentf51bd5ccc7b0c8347d23b1e4f6886102e0e08150 (diff)
downloadmariadb-git-5ef5ba55ef76c259c9c1771e3a72a271c6c107e6.tar.gz
Promote partial rollback to full rollback
-rw-r--r--storage/innobase/row/row0mysql.cc7
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);