Re: About "Our CLUSTER implementation is pessimal" patch - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: About "Our CLUSTER implementation is pessimal" patch
Date
Msg-id 4B505A0C.4070403@enterprisedb.com
Whole thread Raw
In response to About "Our CLUSTER implementation is pessimal" patch  (Leonardo F <m_lists@yahoo.it>)
Responses Re: About "Our CLUSTER implementation is pessimal" patch  (Leonardo F <m_lists@yahoo.it>)
List pgsql-hackers
Leonardo F wrote:
> I read the thread "Our CLUSTER implementation is pessimal"
http://archives.postgresql.org/pgsql-hackers/2008-08/msg01371.php.
 
> 
> I would like to try/integrate that patch as we use CLUSTER a lot on our system.

Great!

> About that patch:
> 
> 1) would it be possible to use the tuplesort_*tupleslot set of functions instead of writing new ones for HeapTuple?
Thatis: is it that difficult/impossible/nonsense to construct TupleTableSlot from HeapTuple and use those?
 

Yeah, I think you could do that, I agree it feels better that way.
You'll still need new copytup and comparetup functions, though, to deal
with HeapTupleHeaders instead of MinimalTuples, or modify the existing
ones to handle both. And some way to indicate that you want to preserve
the visibility information when you create the tuplesort, maybe a new
parameter to tuplesort_begin_heap().

> 2) The patch doesn't check "HeapTupleSatisfiesVacuum" before passing it to tuplesort_putrawtuple: would it be
reasonableto check the "isdead" flag before calling tuplesort_putrawtuple for each tuple?
 

Yeah, seems reasonable, to avoid sorting dead tuples unnecessarily.

--  Heikki Linnakangas EnterpriseDB   http://www.enterprisedb.com


pgsql-hackers by date:

Previous
From: Leonardo F
Date:
Subject: About "Our CLUSTER implementation is pessimal" patch
Next
From: Boszormenyi Zoltan
Date:
Subject: Re: ECPG DESCRIBE [OUTPUT] support