Tom Lane wrote:
> 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.                                  #
#================================================== JanWieck@Yahoo.com #


Fri, 16 Jan 2004 09:43:46 -0500
Jan Wieck <JanWieck@Yahoo.com>
Re: Missed bet in toaster routines
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.

			regards, tom lane

Fri, 16 Jan 2004 10:12:46 -0500
Tom Lane <tgl@sss.pgh.pa.us>
Missed bet in toaster routines
Jan Wieck <JanWieck@Yahoo.com> writes:
> Tom Lane wrote:
>> Wouldn't it be a win for heap_tuple_toast_attrs() to fall out quickly
>> if the tuple contains no varlena attributes?

> Why sure it would. That code is quite frequently called.

I take it back --- the short-circuit test already exists, but it's at
the call sites rather than in tuptoaster.c.

However, it looks like we can tighten the tests a bit.  For instance
heap_delete invokes the toaster if HeapTupleHasExtended, whereas it
seems to me it'd be sufficient to check HasExternal --- we don't care
about deleting compressed-in-line stuff, do we?

			regards, tom lane

Fri, 16 Jan 2004 13:44:00 -0500
Tom Lane <tgl@sss.pgh.pa.us>
Re: Missed bet in toaster routines 