"Marc G. Fournier" <scrappy@hub.org> writes:
> Just as a stupid question here ... but, why do we wrap single queries into
> a transaction anyway? IMHO, a transaction is meant to tell the backend to
> remember this sequence of events, so that if it fails, you can roll it
> back ... with a single INSERT/UPDATE/DELETE, why 'auto-wrapper' it with a
> BEGIN/END?
Well, a single query (from the user's perspective) may involve a
funciton call that itself executes one or more other queries. I think
you want these to be under transactional control.
Plus, it's my understanding that the whole MVCC implementation depends
on "everything is in a transaction."
-Doug