I wrote:
> I am wondering why you used MAT_SRF_USE_EXPECTED_DESC?
Ah, never mind that: I find that if you don't, you get
regression=# SELECT pg_listening_channels() ;
ERROR: return type must be a row type
regression=# \errverbose
ERROR: XX000: return type must be a row type
LOCATION: InitMaterializedSRF, funcapi.c:109
I question whether this aspect of InitMaterializedSRF is
well-designed, but I suppose now is no time to rethink that.
regards, tom lane