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

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