On 12/03/2013 04:39 PM, Heikki Linnakangas wrote:
> While looking at Alexander's GIN patch, I noticed an ancient bug in the
> WAL-logging of GIN entry-tree insertions. entryPlaceToPage and
> dataPlacetoPage functions don't make a full-page image of the page, when
> inserting a downlink on a non-leaf page.
Fixed.
For the archives: I used the attached little utility to reproduce this
and test that the fix works. It works like this:
1. Start a base backup with pg_start_backup
2. make a 'before' copy of the data directory,
3. run test script (GIN insertions in this case)
4. make an 'after' copy of the data direcotry.
5. stop backup.
The 'before' and 'after' copies are then mixed together with a little
python script. In effect, the script creates a large number of torn
pages, with bytes from both copies.
- Heikki