On Thu, Aug 4, 2016 at 09:58:29AM -0700, Andres Freund wrote: > On 2016-08-04 12:55:25 -0400, Bruce Momjian wrote: > > On Thu, Aug 4, 2016 at 09:31:18AM -0700, Andres Freund wrote: > > > Hi, > > > > > > On 2016-08-04 16:29:09 +0530, Pavan Deolasee wrote: > > > > Indexes whose values do not change do not require new index pointers. > > > > Only > > > > the index whose key is being changed will need a new index entry. The > > > > new > > > > index entry will be set to the CTID of the root line pointer. > > > > > > That seems to require tracing all hot-chains in a page, to actually > > > figure out what the root line pointer of a warm-updated HOT tuple is, > > > provided it's HOT_UPDATED itself. Or have you found a smart way to > > > figure that out? > > > > The index points to the head of the HOT chain, and you just walk the > > chain on the page --- on need to look at other chains on the page. > > When doing an update, you'll need to re-find the root tuple, to insert > the root ctid for the new index tuples.
Ah, I had not thought of that --- good point. -- Bruce Momjian <br...@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + As you are, so once was I. As I am, so you will be. + + Ancient Roman grave inscription + -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers