On Sat, Sep 18, 2010 at 9:31 AM, Rikard Pavelic
<rikard.pavelic@zg.htnet.hr> wrote:
> On 18.9.2010 4:31, Tom Lane wrote:
>> Rikard Pavelic <rikard.pavelic@zg.htnet.hr> writes:
>>
>>> For basic query:
>>> select t from t
>>> result is of type t.
>>>
>> yeah ...
>>
>>
>>> If I query:
>>> select sq from (select t from t) sq;
>>> result is of type record.
>>>
>> yeah ... it's a record containing a single field of type t.
>>
>> regards, tom lane
>>
>>
> That was unhelpful ;(
>
> You removed the important part of question ;)
> I'll try again...
>
> I'm arguing that is seems wrong that I need to match alias name like this
> select t from (select t from t) t
> or like this
> select sq from (select sq from t sq) sq
> to get unwrapped type.
>
> Maybe I'm alone arguing this because nobody writes queries like that :)
>
> Regards,
> Rikard
I'm not sure what you want but maybe it's this:
=> select * from (select t from t) sq;
t
-------
(1,x)
(1 row)
=> select (sq.t).* from (select t from t) sq;
a | b
---+---
1 | x
(1 row)