Commit 850dfdd9 authored by unknown's avatar unknown

btr0cur.c:

  Fix an error in the previous push


innobase/btr/btr0cur.c:
  Fix an error in the previous push
parent ce10ce81
...@@ -1784,6 +1784,20 @@ btr_cur_pessimistic_update( ...@@ -1784,6 +1784,20 @@ btr_cur_pessimistic_update(
trx->id); trx->id);
} }
if (flags & BTR_NO_UNDO_LOG_FLAG) {
/* We are in a transaction rollback undoing a row
update: we must free possible externally stored fields
which got new values in the update, if they are not
inherited values. They can be inherited if we have
updated the primary key to another value, and then
update it back again. */
ut_a(big_rec_vec == NULL);
btr_rec_free_updated_extern_fields(index, rec, update,
TRUE, mtr);
}
/* We have to set appropriate extern storage bits in the new /* We have to set appropriate extern storage bits in the new
record to be inserted: we have to remember which fields were such */ record to be inserted: we have to remember which fields were such */
...@@ -1821,20 +1835,6 @@ btr_cur_pessimistic_update( ...@@ -1821,20 +1835,6 @@ btr_cur_pessimistic_update(
btr_search_update_hash_on_delete(cursor); btr_search_update_hash_on_delete(cursor);
if (flags & BTR_NO_UNDO_LOG_FLAG) {
/* We are in a transaction rollback undoing a row
update: we must free possible externally stored fields
which got new values in the update, if they are not
inherited values. They can be inherited if we have
updated the primary key to another value, and then
update it back again. */
ut_a(big_rec_vec == NULL);
btr_rec_free_updated_extern_fields(index, rec, update,
TRUE, mtr);
}
page_cur_delete_rec(page_cursor, mtr); page_cur_delete_rec(page_cursor, mtr);
page_cur_move_to_prev(page_cursor); page_cur_move_to_prev(page_cursor);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment