Bruce Momjian <bruce@momjian.us> writes:
> Magnus Hagander wrote:
>> Bruce Momjian wrote:
>>> * Fix system views like pg_stat_all_tables to use set-returning
>>> functions, rather than views of per-column functions
>>
>> Thanks, and while I approve of that TODO, that's not actually the one I
>> was talking about in the email. The one I was talking about was "change
>> builtin set-returning functions to use OUT parameters so you can query
>> them without knowing the result format" or something like that.
>>
>> So, please keep the one you added, but add this one as well.
> Uh, I need more details on this. Can you give an example?
Good:
regression=# select * from pg_get_keywords();
word | catcode | catdesc
-------------------+---------+-----------------------
abort | U | Unreserved
absolute | U | Unreserved
access | U | Unreserved
...
Not so good:
regression=# select * from pg_show_all_settings();
ERROR: a column definition list is required for functions returning "record"
There's no longer any very good reason for built-in SRFs to not define
their own output record type.
regards, tom lane