On 2014-12-25 22:39:58 +0900, Fujii Masao wrote:
> On Thu, Dec 25, 2014 at 8:47 PM, Fujii Masao <fujii@postgresql.org> wrote:
> > Move pg_lzcompress.c to src/common.
> >
> > Exposing compression and decompression APIs of pglz makes possible its
> > use by extensions and contrib modules. pglz_decompress contained a call
> > to elog to emit an error message in case of corrupted data. This function
> > is changed to return a status code to let its callers return an error instead.
> >
> > This commit is required for upcoming WAL compression feature so that
> > the WAL reader facility can decompress the WAL data by using pglz_decompress.
>
> Hmm... the buildfarm member prairiedog doesn't like this change. Because
> pg_lzcompress.c uses the macros (like VARSIZE) for varlena datatypes which
> are defined in postgres.h which client-side should not include. ISTM that
> pg_lzcompress.c should be changed to be "varlena-free", in order to push it
> in src/common.
Temporarily this can be solved by including postgres.h the way
e.g. pg_resetxlog does:
/*
* We have to use postgres.h not postgres_fe.h here, because there's so much
* backend-only stuff in the XLOG include files we need. But we need a
* frontend-ish environment otherwise. Hence this ugly hack.
*/
#define FRONTEND 1
#include "postgres.h"
Greetings,
Andres Freund
--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services