On Mon, Feb 25, 2019 at 1:31 PM Andres Freund <and...@anarazel.de> wrote: > > Andres said that he doesn't like the pg_list.h API. It's not pretty, > > but is it really that bad? > > Yes. The function names alone confound anybody new to postgres, we tend > to forget that after a few years. A lot of the function return types are > basically unpredictable without reading the code, the number of builtin > types is pretty restrictive, and there's no typesafety around the choice > of actually stored.
But a lot of those restrictions are a consequence of needing what amount to support functions in places as distant from pg_list.h as pg_stat_statements.c, or the parser, or outfuncs.c. I'm not saying that we couldn't do better here, but the design is constrained by this. If you add a support for a new datatype, where does that leave stored rules? Seems ticklish to me, at the very least. -- Peter Geoghegan