From: | Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> |
---|---|
To: | Andres Freund <andres(at)2ndquadrant(dot)com> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: [PATCH 06/16] Add support for a generic wal reading facility dubbed XLogReader |
Date: | 2012-06-14 21:19:00 |
Message-ID: | 4FDA5544.5020501@enterprisedb.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 13.06.2012 14:28, Andres Freund wrote:
> Features:
> - streaming reading/writing
> - filtering
> - reassembly of records
>
> Reusing the ReadRecord infrastructure in situations where the code that wants
> to do so is not tightly integrated into xlog.c is rather hard and would require
> changes to rather integral parts of the recovery code which doesn't seem to be
> a good idea.
It would be nice refactor ReadRecord and its subroutines out of xlog.c.
That file has grown over the years to be really huge, and separating the
code to read WAL sounds like it should be a pretty natural split. I
don't want to duplicate all the WAL reading code, so we really should
find a way to reuse that. I'd suggest rewriting ReadRecord into a thin
wrapper that just calls the new xlogreader code.
> Missing:
> - "compressing" the stream when removing uninteresting records
> - writing out correct CRCs
> - validating CRCs
> - separating reader/writer
- comments.
At a quick glance, I couldn't figure out how this works. There seems to
be some callback functions? If you want to read an xlog stream using
this facility, what do you do? Can this be used for writing WAL, as well
as reading? If so, what do you need the write support for?
--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com
From | Date | Subject | |
---|---|---|---|
Next Message | Heikki Linnakangas | 2012-06-14 21:34:05 | Re: WIP: relation metapages |
Previous Message | Christopher Browne | 2012-06-14 21:18:42 | Re: [PATCH 03/16] Add a new syscache to fetch a pg_class entry via its relfilenode |