Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> This simple patch moves two struct declarations (Trigger and
> TriggerDesc) from rel.h into a new file, reltrigger.h. The benefit is
> that execnodes.h only needs to include the latter. Since execnodes.h is
> very widely included, this change means there are less files that
> indirectly include rel.h now, which is a good thing because rel.h
> includes a ton of other files. (Of course, rel.h itself needs to
> include the new header).
OK ...
> I also included rel.h in spi.h, because it was previously indirectly
> included via execnodes.h and with this patch it would no longer be,
> which is a problem because it'd cause external code to fail to compile.
If we think that not including rel.h unnecessarily is a good thing, then
that should surely apply to external code as well. So -1 for that bit.
It's not like we have not removed stuff from spi.h before.
regards, tom lane