On Mon, Oct 3, 2011 at 8:21 AM, Heikki Linnakangas <heikki.linnakan...@enterprisedb.com> wrote: > On 29.09.2011 14:31, Fujii Masao wrote: >> >> On Tue, Sep 27, 2011 at 8:06 PM, Florian Pflug<f...@phlo.org> wrote: >>> >>> Actually, why don't we use that machinery to implement this? There's >>> currently no rm_safe_restartpoint callback for RM_XLOG_ID, so we'd just need >>> to create one that checks whether invalid_page_tab is empty. >> >> Okay, the attached patch prevents the creation of restartpoints by using >> rm_safe_restartpoint callback if we've not reached a consistent state yet >> and the invalid-page table is not empty. But the invalid-page table is not >> tied to the specific resource manager, so using rm_safe_restartpoint for >> that seems to slightly odd. Is this OK? > > I don't think this should use the rm_safe_restartpoint machinery. As you > said, it's not tied to any specific resource manager. And I've actually been > thinking that we will get rid of rm_safe_restartpoint altogether in the > future. The two things that still use it are the b-tree and gin, and I'd > like to change both of those to not require any post-recovery cleanup step > to finish multi-page operations, similar to what I did with GiST in 9.1.
I thought that was quite neat doing it that way, but there's no specific reason to do it that way I guess. If you're happy to rewrite the patch then I guess we're OK. I certainly would like to get rid of rm_safe_restartpoint in the longer term, hopefully sooner. -- Simon Riggs http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers