Обсуждение: avoid including rel.h in execnodes.h

Поиск
Список
Период
Сортировка

avoid including rel.h in execnodes.h

От
Alvaro Herrera
Дата:
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).

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.

--
Álvaro Herrera <alvherre@alvh.no-ip.org>

Вложения

Re: avoid including rel.h in execnodes.h

От
Tom Lane
Дата:
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


Re: avoid including rel.h in execnodes.h

От
Alvaro Herrera
Дата:
Excerpts from Tom Lane's message of vie jul 01 18:20:50 -0400 2011:
> Alvaro Herrera <alvherre@alvh.no-ip.org> writes:

> > 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.

Thanks, committed with that change.

-- 
Álvaro Herrera <alvherre@commandprompt.com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support