On 9/7/05, Mark Drago <[EMAIL PROTECTED]> wrote: > > > The problem I'm seeing is that (I'm half guessing) after I run a > rollback, when I try and run 'begin transaction' I get: 'cannot start a > transaction within a transaction'. As far as I can tell there is no way > to get out of this part of my code without running either a rollback or > a commit. I've executed 'pragma synchronous=off' on this database as > I'll be writing to it very often and the data isn't life-or-death > important. I don't think this should impact anything, but I figured I > would share. Any ideas?
This is just a WAG but: You said you checked that the transaction was always closed. You are doing a commit if it succeeds right? Does the transaction perhaps not lock/unlock both databases? If I were doing it I would store pending log messages in a queue in memory, or design my application to wait and retry a small number of times. On my last project I went by the rule "if you can't commit changes within 30 seconds something is seriously broken". I would write to syslog if it got broken and abort.