Hi Karen,

Yes it does look as though I am using them backwards. I am at a bit of a
loss as to how to get around this problem, though it is Monday morning and
my brain isn't fully into gear yet. Can anyone think of a way for me to
bypass the transaction management? I believe that even if I execute an
insert statement via the database cursor the transaction management will
still take place, is this correct?

Cheers,
Chris

On Mon, Jun 8, 2009 at 8:11 AM, Karen Tracey <kmtra...@gmail.com> wrote:

> On Sun, Jun 7, 2009 at 7:44 PM, ChrisStoyles <cstoy...@gmail.com> wrote:
>
>>
>> Hi All,
>>
>> I just wanted to quickly reach out to the group for ideas as to why I
>> cannot get this to work:
>>
>> @transaction.commit_manually
>> def some_view(request):
>>    # some view logic goes here
>>
>>    sid = transaction.savepoint()
>>    le = models.LogEntry()
>>    le.message = 'A test log message'
>>    le.save()
>>    transaction.savepoint_commit(sid)
>>
>>    transaction.rollback()
>>
>> My database back end is Postgres 8.3 and the engine I am using is
>> postgresql_psycopg2. Any ideas as to why my LogEntry would not be
>> committed to the database? I am not getting any exceptions being
>> raised, the code executes as though it has all worked perfectly.
>>
>
> I've not played with savepoints but the behavior you describe matches what
> the docs say:
>
> http://docs.djangoproject.com/en/dev/topics/db/transactions/#savepoints
>
> Specifically, savepoint_commit updates the savepoint to include operations
> since the savepoint was created, but it does not actually commit operations
> at that point.  After you have done a savepoint_commit, a savepoint_rollback
> for that savepoint will not roll back the operations you hae committed for
> the savepoint.  However, an entire transaction rollback, which is what you
> call, will roll back the whole transaction, including your savepoint
> "committed" ones.
>
> As the doc describes it, savepoints are a tool to allow for finer-grained
> rollback.  You appear to be trying to use them for finer-grained commit,
> which I don't think is what they are intended to provide.
>
> Karen
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to