On Thu, Apr 26, 2018 at 2:11 AM, Mark Dilger <hornschnor...@gmail.com> wrote: > >> On Apr 25, 2018, at 1:31 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: >> >> Robert Haas <robertmh...@gmail.com> writes: >>> 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. ... >> >>>> {... 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. >> >> Yeah, that was my first reaction to that example as well. If it >> weren't so nearly fifty-fifty then we might have more traction there; >> but it's pretty close, and actually the foo_in cases outnumber fooin >> if I counted correctly. (Array entries should be ignored for this >> purpose; maybe we'll autogenerate them someday.) > > Part of the problem right now is that nothing really encourages new > functions to be named foo_in vs. fooin, so the nearly 50/50 split will > continue when new code is contributed. If the system forced you to > specify the name when you did it in a nonstandard way, and not otherwise, > that would have the effect of documenting which way is now considered > standard. >
FWIW, I would like some standard naming convention one way or the other for in/out function names. Looking up pg_type.h for in/out functions when you know the built-in type name isn't great. But that itself may not be enough reason to change it. -- Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company