Significant oversight in that #include-removal script

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: Significant oversight in that #include-removal script
Date: 2009-01-07 21:24:23
Message-ID: 4733.1231363463@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I just noticed that optimizer/cost.h is not #include'd by plancat.c,
which is not too cool because the former has the extern declaration
for the constraint_exclusion global variable while the latter has
the actual definition. I didn't run it down in the CVS history to
make sure, but I imagine what happened is that your unnecessary-includes
script diked it out because the file still compiled warning-free without
that header, ie, there is no warning for "int foo;" not preceded by
"extern int foo;". This isn't real good because it would allow a global
variable to get out of sync with its declaration. Is there a way to
prevent such problems in future?

regards, tom lane

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2009-01-07 21:24:37 Re: Do we still need constraint_exclusion?
Previous Message Simon Riggs 2009-01-07 21:21:33 Re: Do we still need constraint_exclusion?