From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Andrew Perrin <aperrin(at)socrates(dot)berkeley(dot)edu> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: all views in database broken at once |
Date: | 2001-03-25 00:50:00 |
Message-ID: | 10008.985481400@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Andrew Perrin <aperrin(at)socrates(dot)berkeley(dot)edu> writes:
> But I'm intrigued: what is it that causes this? Is it *my*
> recreating the view on which the other views depend,
Yes. You dropped and recreated the view --- the new version may have
the same name but it's not the same OID, so it isn't the same object.
And the other views refer to it by OID.
The ultimate solution should have two parts, IMHO:
1. Dependency checking so that you *can't* drop a view that is still
referenced. However this will not be complete --- it's not clear that
we can detect references inside PL functions, for example.
2. An ALTER VIEW command that lets you change a view's defining query,
while keeping the same OID, as long as the names and types of the output
columns don't change. This would reduce the need to drop and recreate
views.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Mathijs Brands | 2001-03-25 00:57:04 | Re: all views in database broken at once |
Previous Message | Andrew Perrin | 2001-03-25 00:31:55 | Re: all views in database broken at once |