diff options
author | heikki@donna.mysql.fi <> | 2001-06-23 22:25:47 +0300 |
---|---|---|
committer | heikki@donna.mysql.fi <> | 2001-06-23 22:25:47 +0300 |
commit | dc1cc4f7ae91de1d2ac4814fbf5d04e336f424a3 (patch) | |
tree | da340cf8a376cc3da5804fba081159674e6c990e /innobase | |
parent | 4e18c236d5abcb03224bb758afa40f7206a709ec (diff) | |
download | mariadb-git-dc1cc4f7ae91de1d2ac4814fbf5d04e336f424a3.tar.gz |
btr0pcur.c Fix a bug in persistent cursor restoration: this could cause crashes especially if the buffer pool is small
Diffstat (limited to 'innobase')
-rw-r--r-- | innobase/btr/btr0pcur.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/innobase/btr/btr0pcur.c b/innobase/btr/btr0pcur.c index 0388785b3fe..5e625553929 100644 --- a/innobase/btr/btr0pcur.c +++ b/innobase/btr/btr0pcur.c @@ -246,6 +246,12 @@ btr_pcur_restore_position( && btr_pcur_is_on_user_rec(cursor, mtr) && (0 == cmp_dtuple_rec(tuple, btr_pcur_get_rec(cursor)))) { + /* We have to store the NEW value for the modify clock, since + the cursor can now be on a different page! */ + + cursor->modify_clock = buf_frame_get_modify_clock( + buf_frame_align( + btr_pcur_get_rec(cursor))); mem_heap_free(heap); return(TRUE); |