Re: Values list-of-targetlists patch for comments (was Re: [PATCHES] 8.2 features?) - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Values list-of-targetlists patch for comments (was Re: [PATCHES] 8.2 features?)
Date
Msg-id 21398.1154223324@sss.pgh.pa.us
Whole thread Raw
In response to Re: Values list-of-targetlists patch for comments (was Re: [PATCHES]  (Joe Conway <mail@joeconway.com>)
Responses Re: Values list-of-targetlists patch for comments (was Re: [PATCHES]  (Joe Conway <mail@joeconway.com>)
List pgsql-hackers
Joe Conway <mail@joeconway.com> writes:
> One of the things I'm struggling with is lack of column aliases. Would 
> it be reasonable to require something like this?

>     SELECT ... FROM (VALUES ...) AS foo(col1, col2, ...)

Requiring column aliases is counter to spec ...

> The other issue is how to determine column type. Even better would be to 
> require (similar to SRF returning record):

>     SELECT ... FROM (VALUES ...) AS foo(col1 type1, col2 type2, ...)

... and this is even further away from it.

As for the names, just use "?column?", same as we do now in INSERT
... VALUES.  Anyone who wants to refer to those columns explicitly will
need to assign aliases, but if they don't assign aliases, we don't have
to do anything very intelligent.

As for the types, I believe that the spec pretty much dictates that we
apply the same type resolution algorithm as for a UNION.  This is fairly
expensive and we should avoid it in the case of INSERT ... VALUES, but
for VALUES appearing anywhere else I think we have little choice.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Joe Conway
Date:
Subject: Re: Values list-of-targetlists patch for comments (was Re: [PATCHES]
Next
From: Tom Lane
Date:
Subject: Re: [PATCHES] New variable server_version_num