Greg Stark wrote:
>It would have been awfully nice to do be able to do
>
>SELECT ... FROM (VALUES (a,b,c),(d,e,f),(g,h,i))
>
>
>
>
>>The trouble with supporting it for any case other than INSERT is that
>>you have to work out what the column datatypes of the construct ought
>>to be. This is the same as the equivalent problem for UNION constructs,
>>but the UNION type resolution algorithm looks kinda ugly for thousands
>>of inputs :-(
>>
>>
>
>I always thought UNION just decided on the type based on the first branch and
>then coerced all the others to that type. I always cast all the columns on the
>first union branch just in case.
>
>
>
Could we get away with requiring an explicit type expression where
there's some abiguity or uncertainty, like this
SELECT ... FROM (VALUES (a,b,c),(d,e,f),(g,h,i)) as (a int, b text, c float)
That's what you have to do with an SRF that returns a SETOF RECORD in the same situation, after all.
cheers
andrew