From ee6e36335686a9519878fd74ad2b869433b376e2 Mon Sep 17 00:00:00 2001 From: Keith Bostic Date: Tue, 10 Dec 2013 15:25:16 -0500 Subject: I don't believe it's possible for a key/value pair to be deleted without instantiating the key, which makes this call to __wt_row_leaf_key_work unnecessary; assert the fact. --- src/btree/rec_write.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/src/btree/rec_write.c b/src/btree/rec_write.c index 6fd89ca9429..4840e863eb0 100644 --- a/src/btree/rec_write.c +++ b/src/btree/rec_write.c @@ -3454,22 +3454,19 @@ __rec_row_leaf(WT_SESSION_IMPL *session, if (WT_UPDATE_DELETED_ISSET(upd)) { /* * Overflow keys referencing discarded values - * are no longer useful, schedule the discard - * of the backing blocks. Don't worry about - * reuse, reusing the key in this reconciliation - * is unlikely. + * are no longer useful, discard the backing + * blocks. Don't worry about reuse, reusing + * keys from a row-store page reconciliation + * seems unlikely enough to ignore. * * Keys are part of the name-space though, we * can't remove them from the in-memory tree; - * if an overflow key was never instantiated, - * do it now. + * assert the key was instantiated, otherwise + * we might try and look it up. */ __wt_cell_unpack(cell, unpack); if (unpack->ovfl) { - if (ikey == NULL) - WT_ERR(__wt_row_leaf_key_work( - session, - page, rip, NULL, 1)); + WT_ASSERT(session, ikey != NULL); /* * Acquire the overflow lock to avoid -- cgit v1.2.1