Bruce Momjian <pgman@candle.pha.pa.us> writes:
>>>> At least the wire protocol supports it and also libpq used to support it,
>>>> until at about time of postgres95/postgreSQL it was removed from libpq as
>>>> "unneeded" (by Bruce IIRC).
>>
>> Bruce, you scoundrel! :-)
>>
>>>> until that time it should have theoretically been possible to
>>>> return tuples of several types and sizes, either by using "select *
>>>> from base* " or unions or functions in backend.
> I have no idea what this was. I could have removed it, but I don't
> remember anything about this.
Actually I might be the guilty party. I recall having seen that libpq
was willing to accept multiple T (tuple descriptor) messages
interspersed in the data returned by a query. But the API that libpq
presents to the application cannot support this, and I concluded after
digging around in the backend that the backend couldn't do it either.
I think I broke libpq's support for it during the rewrite for 6.4.
This is something that might have worked once upon a time, long ago
and far away. But making it work again will take considerably more
than just patching libpq...
regards, tom lane