Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> The one thing I don't like about this is having put
> PartitionRangeDatumKind in partdefs.h, which forces us to #include that
> file in parsenodes.h. I had to do this in order to avoid #including
> parsenodes.h in partbounds.h. Now maybe that is not so bad, since that
> file isn't *that* widely used anyway; it wouldn't cause any unnecessary
> bleeding of parsenodes.h into any other headers. So maybe I'll put the
> enum back in parsenodes. Any opinions on that?
I'd vote for the latter. Including an arbitrary pile of partition stuff
in parsenodes.h is not much better than making it all flat-out global.
Including one enum is less bad. There are some comparable cases too,
e.g. that some ACL-related defines are in parsenodes.h, but not everything
to do with ACLs.
(Haven't actually read the patch.)
regards, tom lane