Thanks a lot. I thought I would go with writing a function to Drop the views , 
ALTER table and the recreate the views so as to take care of the column type 
changes in the table.

--- On Tue, 5/5/09, Tom Lane <t...@sss.pgh.pa.us> wrote:

From: Tom Lane <t...@sss.pgh.pa.us>
Subject: Re: [HACKERS] ALTER TABLE should change respective views
To: "Peter Eisentraut" <pete...@gmx.net>
Cc: pgsql-hackers@postgresql.org, "Archana Sundararam" <archn...@yahoo.com>
Date: Tuesday, May 5, 2009, 8:10 AM

Peter Eisentraut <pete...@gmx.net> writes:
> And this could then also change the return type of foo(), thus changing the 
> row type of the view and would thus propogate up to other views.  And so if 
> you have "many views", as you say, this could become a great mess.  You could
> probably define and implement a solution, but it would be very confusing and 
> risky to use.

The SQL committee has also historically chosen to punt on such things.
Note the long-established rule that "*" is expanded at view definition
time (so adding columns doesn't change views).  I also see a flat
prohibition on *any* view reference in the newly added SET DATA TYPE
command (SQL:2008 11.17 <alter column data type clause>):

7) C shall not be referenced in the <query expression> of any view descriptor. 

            regards, tom lane



      

Reply via email to