Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> writes:
> On 13.12.2010 19:48, Tom Lane wrote:
>> Yeah. Wouldn't the original page-split record have been carrying full
>> page images already?
> Yes.
> BTW, the original split record doesn't run into the limit because it
> doesn't use the backup-block mechanism, it contains all the tuples for
> all the pages in the main payload.
I see.
>> (And if so, why didn't we have this problem in the
>> previous implementation?)
> In the previous implementation, the NSN was updated immediately in the
> page split record, and there was no follow-right flag to clear. So the
> child pages didn't need to be updated when the downlinks are inserted.
Can we fix it so that each child page is updated, and its downlink
inserted, as a separate atomic action? That'd require each intermediate
state to be consistent and crash-safe, but I think you really need the
intermediate states to be consistent anyway because of concurrent scans.
regards, tom lane