Wouldn't it be a win for heap_tuple_toast_attrs() to fall out quickly if the tuple contains no varlena attributes? I'm thinking of adding a test like
/* Nothing to do if tuple contains no varlena fields */ if ((newtup && !HeapTupleAllFixed(newtup)) || (oldtup && !HeapTupleAllFixed(oldtup))) /* do existing processing */
This is a pretty cheap test (just checking a header flag) and saves lots of useless scanning when it succeeds.
Why sure it would. That code is quite frequently called.
Jan
-- #======================================================================# # It's easier to get forgiveness for being wrong than for being right. # # Let's break this rule - forgive me. # #================================================== [EMAIL PROTECTED] #
---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])