Re: 16-bit page checksums for 9.2

Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>

From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: Simon Riggs <simon@2ndQuadrant.com>
Cc: Dan Scales <scales@vmware.com>, Robert Haas <robertmhaas@gmail.com>, Noah Misch <noah@leadboat.com>, Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>, Andres Freund <andres@anarazel.de>, Kevin Grittner <Kevin.Grittner@wicourts.gov>, david@fetter.org, aidan@highrise.ca, stark@mit.edu, pgsql-hackers@postgresql.org
Date: 2012-01-28T20:44:32Z
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. Wakeup WALWriter as needed for asynchronous commit performance.

On 28.01.2012 15:49, Simon Riggs wrote:
> On Fri, Jan 27, 2012 at 9:07 PM, Dan Scales<scales@vmware.com>  wrote:
>
>> Also, I missed this before:  don't you want to add the checksum calculation (PageSetVerificationInfo) to mdextend() (or preferably smgrextend()) as well?  Otherwise, you won't be checksumming a bunch of the new pages.
>
> You don't need to checksum the extend because no data is written at
> that point.

That's not correct. smgrextend writes a block of data just like 
smgrwrite does. When a relation is extended by the buffer manager, it 
calls smgrextend with an all-zeros block, but not all callers do that. 
See rewriteheap.c and nbtsort.c for counter-examples.

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