On Wed, Apr 25, 2018 at 3:44 PM, Mark Dilger <hornschnor...@gmail.com> wrote: > There still seems to be a lot of boilerplate in the .dat files > that could be eliminated. Tom mentioned upthread that he did > not want too much magic in genbki.pl or Catalog.pm, but I think > I can propose putting some magic in the header files themselves. > > Take, for example, some of the fields in pg_type.dat. I'll elide > the ones I'm not talking about with ...: > > > {... typname => 'X', ... typinput => 'Xin', typoutput => 'Xout', > typreceive => 'Xrecv', typsend => 'Xsend', ... },
-1 for trying to automate this. It varies between fooin and foo_in, and it'll be annoying to have to remember which one happens automatically and which one needs an override. > If we changed pg_proc.h: > > /* procedure source text */ > - text prosrc BKI_FORCE_NOT_NULL; > + text prosrc BKI_DEFAULT("${proname}") BKI_FORCE_NOT_NULL; > > we could remove the prosrc field from many of the records, which would > do a better job of calling attention to the remaining records where the > C function name differs from the SQL function name. That one I kinda like. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company