From e4ebca8203e95550a9a084b0255f3eda471718dc Mon Sep 17 00:00:00 2001 From: Tom Yu Date: Wed, 28 Aug 2002 06:34:05 +0000 Subject: [PATCH] * btree/bt_split.c (bt_psplit): Correctly account for sizeof(indx_t) when computing space used in a page by an item. [patch from www.sleepycat.com] git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@14780 dc483132-0cff-0310-8789-dd5450dbe970 --- src/util/db2/ChangeLog | 6 ++++++ src/util/db2/btree/bt_split.c | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/util/db2/ChangeLog b/src/util/db2/ChangeLog index dc6eff0a5..9c04afed2 100644 --- a/src/util/db2/ChangeLog +++ b/src/util/db2/ChangeLog @@ -1,3 +1,9 @@ +2002-08-28 Tom Yu + + * btree/bt_split.c (bt_psplit): Correctly account for + sizeof(indx_t) when computing space used in a page by an item. + [patch from www.sleepycat.com] + 2002-08-23 Ken Raeburn * Makefile.in, btree/Makefile.in, clib/Makefile.in, diff --git a/src/util/db2/btree/bt_split.c b/src/util/db2/btree/bt_split.c index c6319b55f..0cc6cf09b 100644 --- a/src/util/db2/btree/bt_split.c +++ b/src/util/db2/btree/bt_split.c @@ -673,7 +673,8 @@ bt_psplit(t, h, l, r, pskip, ilen) * where we decide to try and copy too much onto the left page. * Make sure that doesn't happen. */ - if ((skip <= off && used + nbytes >= full) || nxt == top - 1) { + if ((skip <= off && used + nbytes + sizeof(indx_t) >= full) + || nxt == top - 1) { --off; break; } @@ -686,7 +687,7 @@ bt_psplit(t, h, l, r, pskip, ilen) memmove((char *)l + l->upper, src, nbytes); } - used += nbytes; + used += nbytes + sizeof(indx_t); if (used >= half) { if (!isbigkey || bigkeycnt == 3) break; -- 2.26.2