Hi!
	
	I'd like to bother you with something about updating views. At present, postgresql7.3　doesn't support update on views.When I look up the source code, I see that view is implemented with rules. That is when a view is created, a corresponding ‘select'　rule is created too. And I see the following code:

#ifdef NOTYET
	RuleStmt   *replace_rule;
	RuleStmt   *append_rule;
	RuleStmt   *delete_rule;
#endif
.. ...

#ifdef NOTYET
	replace_rule = FormViewReplaceRule(view, viewParse);
	append_rule = FormViewAppendRule(view, viewParse);
	delete_rule = FormViewDeleteRule(view, viewParse);
#endif
.. ...

	In my eyes, it is not very difficult to realize view update with fill the above three functions。But I know the developers of postgresql are very learned, now that they didn't realize view update, maybe it is very difficult. I am a beginner of postgresql, so with my limited knowlege, maybe  I can't realize the difficulity of doing such a thing.
So I wonder if some of you would like to give me some advice about updating on views or why it is not realized、what's the difficulty of doing it?

    Long for your reply.
	Thank you!

Best regards!


	

　　　　　　　　
 				

　　　　　　　　Yours XiaojingLi
　　　　　　　　qqjasmine@hotmail.com
　　　　　　　　　　2002-11-23




Wed, 27 Nov 2002 9:37:20 +0800
"XiaojingLi" <iamlxj@163.com>
updating on views

On Wed, 27 Nov 2002, XiaojingLi wrote:

> 	I'd like to bother you with something about updating views. At
> present, postgresql7.3��doesn't support update on views.When I look up

It does if you provide the rules for what it means to do the update (and
there are some wierd issues with delete, but it is possible to get around
them)

> 	In my eyes, it is not very difficult to realize view update with
> fill the above three functions��But I know the developers of
> postgresql are very learned, now that they didn't realize view update,
> maybe it is very difficult. I am a beginner of postgresql, so with my
> limited knowlege, maybe I can't realize the difficulity of doing such
> a thing. So I wonder if some of you would like to give me some advice
> about updating on views or why it is not realized��what's the
> difficulty of doing it?

Well, it depends.  SQL updatable views are fairly limited from what I
remember and the general write your own update rules is much broader, so I
doubt anyone got terribly excited by doing the limited version. It would
take some work to define what sort of view queries are acceptable for what
sort of updates and then make the appropriate rules (imagine queries with
set value functions or UNION) without knowledge outside of the view query.



Tue, 26 Nov 2002 18:20:23 -0800 (PST)
Stephan Szabo <sszabo@megazone23.bigpanda.com>
Re: updating on views
On Tue, 26 Nov 2002, Stephan Szabo wrote:

> Well, it depends.  SQL updatable views are fairly limited from what I
> remember and the general write your own update rules is much broader, so I
> doubt anyone got terribly excited by doing the limited version. It would
> take some work to define what sort of view queries are acceptable for what
> sort of updates and then make the appropriate rules (imagine queries with

SQL99 says that all columns in the view definition (ie, the SQL query
which defines the view) must also be updateable. This, of course,
requires some checking. We could do this here. I think, however, that it
would be much cleaner to implement this correctly through the planner and
executor instead of hacking it through the rewriter. Of course, that means
lots of code. 

Insertable-into and updateable views are certainly a very important
feature which Postgres is lacking. Maybe we should implement this the easy
way first and then, to increase performance, correctly -- at some later
point.

Gavin


Wed, 27 Nov 2002 17:50:15 +1100 (EST)
Gavin Sherry <swm@linuxworld.com.au>
Re: updating on views