Re: pgsql: Move pg_lzcompress.c to src/common.
От | Michael Paquier |
---|---|
Тема | Re: pgsql: Move pg_lzcompress.c to src/common. |
Дата | |
Msg-id | CAB7nPqSuMZRMf8fFAo1ZahRXrSTSR=w_uEPTV0kOsa20jUx+oQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: pgsql: Move pg_lzcompress.c to src/common. (Andres Freund <andres@2ndquadrant.com>) |
Ответы |
Re: pgsql: Move pg_lzcompress.c to src/common.
|
Список | pgsql-committers |
On Thu, Dec 25, 2014 at 10:43 PM, Andres Freund <andres@2ndquadrant.com> wrote: > 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" 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
В списке pgsql-committers по дате отправления: