Zeugswetter Andreas DCP SD wrote:
>
> > > On 6/25/2006 10:12 PM, Bruce Momjian wrote:
> > > >When you are using the update chaining, you can't mark that index
> row
> > > >as dead because it actually points to more than one row on the
> page,
> > > >some are non-visible, some are visible.
> > >
> > > Back up the truck ... you mean in the current code base we have heap
>
> > > tuples that are visible in index scans because of heap tuple
> chaining
> > > but without index tuples pointing directly at them?
> >
> > I don't know where this idea came from, but it's not true.
> > All heap tuples, dead or otherwise, have index entries.
>
> When using CITC you would be "reusing" the index tuples from the current
> heap tuple, so you can only reuse free space or a dead member of a CITC
> chain.
> You cannot reuse a dead tuple not member of a CITC chain because that
> has separate
> (invalid) index tuples pointing at it.
>
> Part of the trick was moving slots (==ctid) around, so I still do not
> really see how
> you can represent the CITC chain as part of the update chain.
> Unless you intend to break dead parts of the update chain ? Maybe that
> is ok ?
Yes, you have to remove dead (non-visible) parts of the update chain.
-- Bruce Momjian bruce@momjian.us EnterpriseDB http://www.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +