From 7945222c28e3a6a4e6087c7c99ea34c3a990e46f Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 9 Dec 2004 15:29:55 +0200 Subject: InnoDB: Changed interface to rec_get_offsets(), to reduce the use of memory heaps. This changeset plugs also a few memory leaks that were introduced with the compact InnoDB table format. innobase/btr/btr0btr.c: Changed interface to rec_get_offsets() innobase/btr/btr0cur.c: Changed interface to rec_get_offsets() innobase/btr/btr0pcur.c: Changed interface to rec_get_offsets() innobase/btr/btr0sea.c: Changed interface to rec_get_offsets() innobase/include/rem0rec.h: Changed interface to rec_get_offsets() innobase/include/rem0rec.ic: Changed interface to rec_get_offsets() innobase/lock/lock0lock.c: Changed interface to rec_get_offsets() innobase/page/page0cur.c: Changed interface to rec_get_offsets() innobase/page/page0page.c: Changed interface to rec_get_offsets() innobase/rem/rem0rec.c: Changed interface to rec_get_offsets() innobase/row/row0ins.c: Changed interface to rec_get_offsets() innobase/row/row0mysql.c: Changed interface to rec_get_offsets() innobase/row/row0purge.c: Changed interface to rec_get_offsets() innobase/row/row0row.c: Changed interface to rec_get_offsets() innobase/row/row0sel.c: Changed interface to rec_get_offsets() innobase/row/row0umod.c: Changed interface to rec_print() innobase/row/row0undo.c: Changed interface to rec_get_offsets() innobase/row/row0upd.c: Changed interface to rec_get_offsets() innobase/row/row0vers.c: Changed interface to rec_get_offsets() innobase/trx/trx0rec.c: Changed interface to rec_get_offsets() --- innobase/btr/btr0pcur.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'innobase/btr/btr0pcur.c') diff --git a/innobase/btr/btr0pcur.c b/innobase/btr/btr0pcur.c index 7df8e53cd07..ad7613e0655 100644 --- a/innobase/btr/btr0pcur.c +++ b/innobase/btr/btr0pcur.c @@ -262,9 +262,10 @@ btr_pcur_restore_position( heap = mem_heap_create(256); offsets1 = rec_get_offsets(cursor->old_rec, - index, ULINT_UNDEFINED, heap); - offsets2 = rec_get_offsets(rec, - index, ULINT_UNDEFINED, heap); + index, NULL, + cursor->old_n_fields, &heap); + offsets2 = rec_get_offsets(rec, index, NULL, + cursor->old_n_fields, &heap); ut_ad(cmp_rec_rec(cursor->old_rec, rec, offsets1, offsets2, @@ -310,7 +311,7 @@ btr_pcur_restore_position( && 0 == cmp_dtuple_rec(tuple, btr_pcur_get_rec(cursor), rec_get_offsets(btr_pcur_get_rec(cursor), btr_pcur_get_btr_cur(cursor)->index, - ULINT_UNDEFINED, heap))) { + NULL, ULINT_UNDEFINED, &heap))) { /* We have to store the NEW value for the modify clock, since the cursor can now be on a different page! But we can retain -- cgit v1.2.1