Alvaro Herrera <alvhe...@2ndquadrant.com> writes:
> I noticed (by running "cd src/include ; make check" with the attached
> patch applied) that since commit b89e151054 ("Introduce logical
> decoding.") tqual.h now emits this warning when compiled standalone:

> /pgsql/source/HEAD/src/include/utils/tqual.h:101:13: warning: ‘struct 
> HTAB’ declared inside parameter list [enabled by default]
> /pgsql/source/HEAD/src/include/utils/tqual.h:101:13: warning: its scope is 
> only this definition or declaration, which is probably not what you want 
> [enabled by default]

> The prototype in question is:

> /*
>  * To avoid leaking to much knowledge about reorderbuffer implementation
>  * details this is implemented in reorderbuffer.c not tqual.c.
>  */
> extern bool ResolveCminCmaxDuringDecoding(HTAB *tuplecid_data,
>                                           Snapshot snapshot,
>                                           HeapTuple htup,
>                                           Buffer buffer,
>                                           CommandId *cmin, CommandId *cmax);

I guess the real question is why such a prototype is in tqual.h in
the first place.  ISTM this should be pushed somewhere specific to
reorderbuffer.c.  I'm -1 on having struct HTAB bleed into tqual.h
via either of the methods you suggest.

                        regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to