--On Sonntag, Dezember 28, 2008 15:29:58 +0100 Bernd Helmle <be...@oopsware.de> wrote:

maybe the better solution is to not allow such a view to be updatable


Yes, it seems we have to check for target lists having negative attnums in
checkTree(). Another solution would be to simply ignore those columns
(extract them from the target list and include all updatable columns
only).

While looking at this it turned out that the problem of updatability is more complex than i originally thought: Consider a relation tree of the following views/relations:

View1 -> View2 -> View3 -> Table1

That means, View1 consists of View2 and so on. What happens now if someone is going to change View3, so that it's not updatable anymore? What the patch actually does is, scanning all relations/views involved in a current view (and cascading updates) und reject update rules as soon as it finds more than one relation within a view definition. Unfortunately this seems not to be enough, we had really check all involved views for updatability recursively. The infrastructure for this is already there, but i wonder if it could be made easier when we are going to maintain a separate is_updatable flag somewhere in the catalog, which would make checking the relation tree for updatability more easier.

Comments?

--
 Thanks

                   Bernd

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

Reply via email to