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? That is: 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 reasonable to 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

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to