Robert Haas <robertmhaas@gmail.com> writes:
> In commit b30d3ea824c5ccba43d3e942704f20686e7dbab8, when Andres added
> the simplehash stuff, he also added SH_TYPE, SH_ITERATOR, and
> SH_STATUS to typedefs.list. When I subsequently updated typedefs.list
> from the buildfarm in acddbe221b084956a0efd6e4b6c6586e8fd994d7, it of
> course removed those entries since they are merely placeholders for
> real types, not anything that would ever appear in a symbol table. So
> now if you pgindent the simplehash stuff, it does stupid things.
> I think we should add a file src/tools/pgindent/typedefs.extra.list.
> Somehow teach pgindent to search whatever directory it searches for
> typedefs.list for typedefs.extra.list as well. Then we can put stuff
> in there that the buildfarm doesn't find, and pgindent can combine the
> files in load_typedefs(). That way we can still update typedefs.list
> straight from the buildfarm, but there's a place to put manual entries
> that we don't want to lose. We could also teach load_typedefs() to
> strip out lines that are empty or start with #, and then we'd be able
> to put comments in typedefs.extra.list explaining why each entry needs
> to be present there rather than relying on the normal mechanism.
Or we could just fix the code so it doesn't use phony typedefs?
If a typedef is never used as a variable or field type, how much
do we really need it?
regards, tom lane