From aa6d3365da2bcd6fdeaaffb7a4ac0f783538b522 Mon Sep 17 00:00:00 2001 From: Peter Geoghegan Date: Wed, 22 Jan 2020 20:35:04 -0800 Subject: [PATCH v2 2/3] Inline _bt_compare(). --- src/backend/access/nbtree/nbtsearch.c | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/src/backend/access/nbtree/nbtsearch.c b/src/backend/access/nbtree/nbtsearch.c index 7e4cd9c5ad..dd56fdaaea 100644 --- a/src/backend/access/nbtree/nbtsearch.c +++ b/src/backend/access/nbtree/nbtsearch.c @@ -26,6 +26,8 @@ static void _bt_drop_lock_and_maybe_pin(IndexScanDesc scan, BTScanPos sp); static OffsetNumber _bt_binsrch(Relation rel, BTScanInsert key, Buffer buf); +static inline int32 _bt_compare_inl(Relation rel, BTScanInsert key, Page page, + OffsetNumber offnum); static bool _bt_readpage(IndexScanDesc scan, ScanDirection dir, OffsetNumber offnum); static void _bt_saveitem(BTScanOpaque so, int itemIndex, @@ -298,7 +300,7 @@ _bt_moveright(Relation rel, continue; } - if (P_IGNORE(opaque) || _bt_compare(rel, key, page, P_HIKEY) >= cmpval) + if (P_IGNORE(opaque) || _bt_compare_inl(rel, key, page, P_HIKEY) >= cmpval) { /* step right one page */ buf = _bt_relandgetbuf(rel, buf, opaque->btpo_next, access); @@ -390,7 +392,7 @@ _bt_binsrch(Relation rel, /* We have low <= mid < high, so mid points at a real slot */ - result = _bt_compare(rel, key, page, mid); + result = _bt_compare_inl(rel, key, page, mid); if (result >= cmpval) low = mid + 1; @@ -499,7 +501,7 @@ _bt_binsrch_insert(Relation rel, BTInsertState insertstate) /* We have low <= mid < high, so mid points at a real slot */ - result = _bt_compare(rel, key, page, mid); + result = _bt_compare_inl(rel, key, page, mid); if (result >= cmpval) low = mid + 1; @@ -528,6 +530,15 @@ _bt_binsrch_insert(Relation rel, BTInsertState insertstate) return low; } +int32 +_bt_compare(Relation rel, + BTScanInsert key, + Page page, + OffsetNumber offnum) +{ + return _bt_compare_inl(rel, key, page, offnum); +} + /*---------- * _bt_compare() -- Compare insertion-type scankey to tuple on a page. * @@ -550,11 +561,11 @@ _bt_binsrch_insert(Relation rel, BTInsertState insertstate) * key. See backend/access/nbtree/README for details. *---------- */ -int32 -_bt_compare(Relation rel, - BTScanInsert key, - Page page, - OffsetNumber offnum) +static inline int32 +_bt_compare_inl(Relation rel, + BTScanInsert key, + Page page, + OffsetNumber offnum) { TupleDesc itupdesc = RelationGetDescr(rel); BTPageOpaque opaque = (BTPageOpaque) PageGetSpecialPointer(page); -- 2.17.1