Search Postgresql Archives

Re: SELECT * in a view

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 21, 2010 at 2:14 PM, Andreas Kretschmer
<akretschmer@xxxxxxxxxxxxx> wrote:
> Tom Lane <tgl@xxxxxxxxxxxxx> wrote:
>
>> > That's not what I want.  That means that if old_view changes, new_view
>> > will not reflect the changes.  Is there any way to get new_view to
>> > automatically include all fields from old_view, no matter how many or
>> > how few fields there are?
>>
>> No.  This behavior is specifically required by the SQL standard: the
>> result rowtype of a view is determined when the view is created, and
>> is not supposed to change when underlying tables have columns added.
>> That's why we expand * when the view is created.
>
> Right, and additional, don't use select *, in particular production
> code.

I don't agree.  This entirely depends on context.  It is completely
reasonable to want to be able expand a composite type without
explicitly listing the fields, or do other things:

select foo.* from foo join bar on ... -- what's wrong with this?
select (v).* from (select aggfunc(foo) as v from foo where ...) -- or this?

merlin

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux