On Sun, May 17, 2009 at 2:50 AM, Richard Davies <richard.dav...@elastichosts.com> wrote: > > Matt Boersma wrote: >> I think Malcolm implemented this in the Oracle backend rather than Ian >> K. or myself. > > It was Ian Kelly, I think in [10022]. > >> So I'd say the answer is a). > > If that's right, then we have an inefficiency on Oracle at present - > the uses_savepoints flag is used both to signal that savepoints are > implemented (see BaseDatabaseWrapper._savepoint*() in django/db/ > backends/__init__.py), and to signal that they are needed to wrap code > which may throw IntegrityErrors (as per reason b; see > QuerySet.get_or_create() in django/db/models/query.py). > > We should probably be splitting these two meanings, so Postgresql > would have: > > can_savepoint = True > needs_savepoint_after_exception = True > > Whereas Oracle would have: > > can_savepoint = True > needs_savepoint_after_exception = False > > I'll open a ticket to remember this once Ian, Malcolm or another also > confirms.
Yes, it was reason a). Transactions aren't automatically invalidated after an IntegrityError, as far as I was able to determine. Regards, Ian --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-developers@googlegroups.com To unsubscribe from this group, send email to django-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-developers?hl=en -~----------~----~----~----~------~----~------~--~---