From dc1cc4f7ae91de1d2ac4814fbf5d04e336f424a3 Mon Sep 17 00:00:00 2001 From: "heikki@donna.mysql.fi" <> Date: Sat, 23 Jun 2001 22:25:47 +0300 Subject: btr0pcur.c Fix a bug in persistent cursor restoration: this could cause crashes especially if the buffer pool is small --- innobase/btr/btr0pcur.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'innobase') 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); -- cgit v1.2.1