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 <[email protected]> wrote:

From: Tom Lane <[email protected]>
Subject: Re: [HACKERS] ALTER TABLE should change respective views
To: "Peter Eisentraut" <[email protected]>
Cc: [email protected], "Archana Sundararam" <[email protected]>
Date: Tuesday, May 5, 2009, 8:10 AM

Peter Eisentraut <[email protected]> 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