I wrote: > Alvaro Herrera <alvhe...@2ndquadrant.com> writes: >> On 2020-Mar-02, Tom Lane wrote: >>> One thing that I'm not totally happy about, as this stands, is that >>> we have to #include "catalog/pg_type.h" in various places we did >>> not need to before (although only a fraction of the files I touched >>> need that).
>> If we think that pg_type.h is the header to handle access to the pg_type >> catalog, then I would think that the function declarations at the bottom >> should be in some "internal" header file; then we can get rid of most >> the #includes in pg_type.h. > Well, aside from indirect inclusions, pg_type.h also brings in a bunch > of type OID macros, which I feel we don't want to broadcast everywhere. I realized that a possible compromise position is to have tupmacs.h include pg_type_d.h, not the whole pg_type.h header, thus dodging the indirect inclusions. That still brings in the type-OID macros, but it's a lot less header scope creep than I was first fearing. regards, tom lane