Thread: Unnecessary #include in objectaddress.h?

Unnecessary #include in objectaddress.h?

From
Adam Brightwell
Date:
All,

While looking at the include dependency graph for objectaddress.h:

http://doxygen.postgresql.org/objectaddress_8h.html

I saw that pg_list.h is both included and inherited (through multiple
paths) by objectaddress.h.  Perhaps this doesn't matter, but I thought
I would at least bring it up and propose removing this redundant
#include from objectaddress.h.

If it makes sense to do so, I have attached a patch that removes it.

Thanks,
Adam

--
Adam Brightwell - adam.brightwell@crunchydatasolutions.com
Database Engineer - www.crunchydatasolutions.com

Attachment

Re: Unnecessary #include in objectaddress.h?

From
Alvaro Herrera
Date:
Adam Brightwell wrote:
> All,
> 
> While looking at the include dependency graph for objectaddress.h:
> 
> http://doxygen.postgresql.org/objectaddress_8h.html
> 
> I saw that pg_list.h is both included and inherited (through multiple
> paths) by objectaddress.h.  Perhaps this doesn't matter, but I thought
> I would at least bring it up and propose removing this redundant
> #include from objectaddress.h.

I wondered whether to bother about this kind of thing for a while.  It
doesn't have any practical impact immediately, because obviously
pg_list.h is still included indirectly by objectaddress.h (via lock.h in
this case IIRC).  If we made some restructuring that caused the other
header not to include pg_list.h anymore, that would make objectaddress.h
broken -- unless objectaddress.h itself no longer needed pg_list.h.

We've had in previous rounds whole iterations on a "pgrminclude" script
that does this kind of thing, but the breakage after each such run is
large.

All in all, I wouldn't bother unless there is an actual change.

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



Re: Unnecessary #include in objectaddress.h?

From
Adam Brightwell
Date:
> I wondered whether to bother about this kind of thing for a while.  It
> doesn't have any practical impact immediately, because obviously
> pg_list.h is still included indirectly by objectaddress.h (via lock.h in
> this case IIRC).  If we made some restructuring that caused the other
> header not to include pg_list.h anymore, that would make objectaddress.h
> broken -- unless objectaddress.h itself no longer needed pg_list.h.
>
> We've had in previous rounds whole iterations on a "pgrminclude" script
> that does this kind of thing, but the breakage after each such run is
> large.
>
> All in all, I wouldn't bother unless there is an actual change.

Understood.  Thanks.

-Adam

-- 
Adam Brightwell - adam.brightwell@crunchydatasolutions.com
Database Engineer - www.crunchydatasolutions.com