summaryrefslogtreecommitdiff
path: root/innobase
diff options
context:
space:
mode:
authorunknown <heikki@donna.mysql.fi>2001-06-23 22:25:47 +0300
committerunknown <heikki@donna.mysql.fi>2001-06-23 22:25:47 +0300
commitfb70990c10964582d9c7a6472f2af7f78a69adfc (patch)
treeda340cf8a376cc3da5804fba081159674e6c990e /innobase
parent47950088cbe5ec983222b745f7c457cf47cc2fd4 (diff)
downloadmariadb-git-fb70990c10964582d9c7a6472f2af7f78a69adfc.tar.gz
btr0pcur.c Fix a bug in persistent cursor restoration: this could cause crashes especially if the buffer pool is small
innobase/btr/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.c6
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);