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 [EMAIL PROTECTED] EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. + ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend