Re: BUG #3597: CREATE OR REPLACE VIEW - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #3597: CREATE OR REPLACE VIEW
Date
Msg-id 25302.1188919120@sss.pgh.pa.us
Whole thread Raw
In response to Re: BUG #3597: CREATE OR REPLACE VIEW  ("Heikki Linnakangas" <heikki@enterprisedb.com>)
Responses Re: BUG #3597: CREATE OR REPLACE VIEW  ("Luiz K. Matsumura" <luiz@planit.com.br>)
List pgsql-bugs
"Heikki Linnakangas" <heikki@enterprisedb.com> writes:
> Luiz K. Matsumura wrote:
>> But, with  the 'replace' command, this isn't implicit ?
>> If they found a view, replace the existing view with the new one (on the
>> other words, drop and create again?)

> Replacing is not exactly the same thing as dropping and recreating it.
> If the view has dependencies, you can't drop it without dropping the
> dependent objects first, and likewise you can't change its datatypes
> because it would affect the dependent objects as well (hence the
> limitation on CREATE OR REPLACE VIEW).

Right.  And the reason this appears to be a data type change is that
"NULL" is not length-constrained, so the type computed for the first
UNION's output is just bpchar (ie, unconstrained-length character)
rather than character(3) which is what you get in the second case.

            regards, tom lane

pgsql-bugs by date:

Previous
From: "Alexis Beuraud"
Date:
Subject: BUG #3599: Wrong search_path inside a function
Next
From: Tom Lane
Date:
Subject: Re: BUG #3598: Strange behaviour of character columns in select with views