Pavan Deolasee wrote: > On 2/20/07, Bruce Momjian <[EMAIL PROTECTED]> wrote: > > > > Pavan Deolasee wrote: > > > When following a HOT-update chain from the index fetch, if we notice > > that > > > the root tuple is dead and it is HOT-updated, we try to prune the chain > > to > > > the smallest possible length. To do that, the share lock is upgraded to > > an > > > exclusive lock and the tuple chain is followed till we find a > > > live/recently-dead > > > tuple. At that point, the root t_ctid is made point to that tuple. In > > order > > > > I assume you meant recently-dead here, rather than live/recently-dead, > > because we aren't going to change live ctids, right? > > > No, I meant live or recently-dead (in fact, anything other than > HEAPTUPLE_DEAD > or HEAPTUPLE_DEAD_CHAIN). > > We are not changing the tids here, but only pruning the HOT-update chain. > After pruning, the root->t_ctid points to the oldest tuple that might be > visible to any backend. The live tuples are still identified by their > original tid and index reachable from the root tuple.
I am confused. Where is the root->t_ctid stored? -- Bruce Momjian <[EMAIL PROTECTED]> http://momjian.us EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. + ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match