Re: HOT WIP Patch - version 1 - Mailing list pgsql-hackers

From Zeugswetter Andreas ADI SD
Subject Re: HOT WIP Patch - version 1
Date
Msg-id E1539E0ED7043848906A8FF995BDA57901C138C5@m0143.s-mxs.net
Whole thread Raw
In response to Re: HOT WIP Patch - version 1  (Heikki Linnakangas <heikki@enterprisedb.com>)
Responses Re: HOT WIP Patch - version 1  (Heikki Linnakangas <heikki@enterprisedb.com>)
List pgsql-hackers
> What's the verdict on relaxing the "live tuple's ctid doesn't
> change rule"? If we did allow that within a page, what would
> we need to change?

I already said this, but why would this need to be visible from the
outside ?

A few assumptions:no back pointersindexes only point at slots marked as roots (and non hot tuples)

During vacuum, you swap the tuples and keep a stub at the slot that the
user's ctid might be pointing at. You mark the stub to detect this
situation.
When a select/update by ctid comes along it needs to do one step to the
root
and use that tuple instead.

It needs a second vacuum (or a per page vacuum during update) to remove
the
extra stub when it is dead and not recently dead.

I fail to see the hole.

Andreas


pgsql-hackers by date:

Previous
From: "Pavan Deolasee"
Date:
Subject: Re: HOT WIP Patch - version 1
Next
From: Andreas Seltenreich
Date:
Subject: Re: Writing triggers in C++