TODO item: Accept aliases for values in ROW(...) constructor - Mailing list pgsql-hackers

From Craig Ringer
Subject TODO item: Accept aliases for values in ROW(...) constructor
Date
Msg-id 5473DC15.9060504@2ndquadrant.com
Whole thread Raw
Responses Re: TODO item: Accept aliases for values in ROW(...) constructor  (Craig Ringer <craig@2ndquadrant.com>)
List pgsql-hackers
Hi all

Especially with the introduction of json support, but also in the past
with hstore and other things, I've sometimes found myself wishing I
could provide aliases in an anonymous row constructor, e.g.
   ROW(x AS something, y AS somethingelse)

The same thing can be done using a scalar subquery wrapping a
subquery-in-FROM returning a single row, but it's pretty ugly:
   (SELECT r FROM (SELECT x AS something, y AS somethingelse) r)

That's what I've done to produce json a lot, though, and will need to
continue to do so until 9.4's json_build_object etc are in the wild.

While that'll solve the need for json, I'm sure others will come up. So
in case someone feels like exploring the parser a little, does it seem
reasonable to add ROW(...) with aliases to the TODO?

Or, alternately, and perhaps more generally useful, allow rowtype
specifications for anonymous records outside function-call context, like:
 ROW(x1,y1) AS r(x integer, y integer)




Related:
http://stackoverflow.com/q/13227142/398670

-- Craig Ringer                   http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services



pgsql-hackers by date:

Previous
From: David G Johnston
Date:
Subject: Re: Role Attribute Bitmask Catalog Representation
Next
From: Craig Ringer
Date:
Subject: Re: TODO item: Accept aliases for values in ROW(...) constructor