Re: GiST insert algorithm rewrite

Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>

From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: Greg Stark <gsstark@mit.edu>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, PostgreSQL-development <pgsql-hackers@postgresql.org>, Robert Haas <robertmhaas@gmail.com>, Bruce Momjian <bruce@momjian.us>, Teodor Sigaev <teodor@sigaev.ru>, Oleg Bartunov <oleg@sai.msu.su>
Date: 2010-12-13T17:35:14Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. New feature:

On 13.12.2010 19:19, Greg Stark wrote:
> On Mon, Dec 13, 2010 at 3:14 PM, Tom Lane<tgl@sss.pgh.pa.us>  wrote:
>> I think you need to refactor the operation so that there's one WAL
>> record per child page, or something along that line.  I concede this
>> might be diffcult :-(
>
> If it's only the backup blocks that matter couldn't you generate noop
> WAL records with just the full page image in them. Once all those are
> generated then generate the actual split operation and since all the
> pages have been written to wal since the last checkpoint they won't
> need any backup block slots.
>
> This would require surpressing any checkpoints between writing the
> first backup block and the final operation record. That might be
> pretty hard to do cleanly.

That would work, but it brings us back to square one 
(http://archives.postgresql.org/message-id/4CCFEE61.2090702@enterprisedb.com). 
It's not necessarily a bad idea, A capability to hold off checkpoints 
might be the easiest way to do this, and other things in the future.

-- 
   Heikki Linnakangas
   EnterpriseDB   http://www.enterprisedb.com