On Thu, Dec 25, 2014 at 10:43 PM, Andres Freund <[email protected]> wrote: > On 2014-12-25 22:39:58 +0900, Fujii Masao wrote: >> On Thu, Dec 25, 2014 at 8:47 PM, Fujii Masao <[email protected]> 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" Urgh.. Would that mean keeping a local copy of SET_VARSIZE_4B_C and VARSIZE_4B if this hack is not used? Looking at the git history, I am seeing similar things in 2008 where pg_crc stuff was moved to src/port (5c9c08d). -- Michael
-- Sent via pgsql-committers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-committers
