nbtree: Cache operator family OID in _bt_setup_array_cmp - Mailing list pgsql-hackers

From Chao Li
Subject nbtree: Cache operator family OID in _bt_setup_array_cmp
Date
Msg-id CAEoWx2kkCno19Kz1P9L1meuFQYxYg7HctCPc+ySGFDOAbfTCDg@mail.gmail.com
Whole thread Raw
Responses Re: nbtree: Cache operator family OID in _bt_setup_array_cmp
List pgsql-hackers
Hi Hackers,

While reviewing a separate patch related to nbtree, I noticed that _bt_setup_array_cmp in nbtpreprocesskeys.c performs multiple redundant lookups of the operator family OID via rel->rd_opfamily[skey->sk_attno - 1].

The attached patch caches this value in a local opfamily variable. This matches the pattern used in several other functions within the same file (such as _bt_skiparray_strat_decrement, _bt_preprocess_array_keys, etc.), making the code more consistent and readable.

The assignment is placed after the early-return check for (elemtype == opcintype) to ensure we only perform the array indexing when the cross-type comparison logic is actually reached.

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/




Attachment

pgsql-hackers by date:

Previous
From: jian he
Date:
Subject: Re: Error position support for ComputeIndexAttrs
Next
From: Bertrand Drouvot
Date:
Subject: Re: Don't cast away const where possible