> > It seems to me, that leaving all this to the client (which implicitly
> > inserts savepoints) can never be as efficient as a serverside feature.
> 
> I think this is an overly narrow view of "efficiency".  With client
> control, the client can insert savepoints whereever it needs them,

Yes, but not if the client API does implicit savepoints. So imho if it is not 
cheap we should not start to supply API's that do them implicitly.

> which might not be for every statement.  Savepoints that you don't
> actually need are going to be a fairly expensive overhead, AFAICS.

Well with other db's per statement rollback is a no overhead feature, 
so this is pg specific. (In the sense of: nothing is done that would not need 
to be done anyway, since they all undo the changes)

Imho the 80% main use case for applications would be for "duplicate key" 
to not abort. For interactive psql it would probably be the syntax error.  
Maybe something can be done about those special cases to make partial 
rollback cheaper for those.

Andreas

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faqs/FAQ.html

Reply via email to