#286 ✓not-applicable
Rob Holland

do_sqlite3 offers no way to retry after an SQLITE_BUSY exception

Reported by Rob Holland | May 15th, 2008 @ 09:33 AM

Unlike SQLITE_ERROR and SQLITE_MISUSE which both require abandoning a query, SQLITE_BUSY is "perfectly normal" and it's valid to simply retry. do_sqlite3 doesn't give me a way to detect this is what happened though as it raises ReaderError for all three of those return codes.

Please create a new exception for SQLITE_BUSY so it the query can be retried.


Comments and changes to this ticket

  • Jonathan Stott (namelessjon)

    Jonathan Stott (namelessjon) November 30th, 2008 @ 07:42 AM

    • Assigned user cleared.
    • Tag set to do_sqlite3, suggestion
    • State changed from “new” to “open”
  • Dan Kubb (dkubb)

    Dan Kubb (dkubb) November 30th, 2008 @ 12:33 PM

    • Assigned user set to “Dirkjan Bussink”

    Dirkjan, would you mind looking at this?

  • Dan Kubb (dkubb)

    Dan Kubb (dkubb) October 15th, 2009 @ 06:26 PM

    • State changed from “open” to “unconfirmed”

    @dirkjan: Is there any way we can make it so that if SQLITE_LOCKED or SQLITE_BUSY is returned that the statement is retried X amount of times?

    I did a quick search for SQLITE_BUSY online and I see that when it's used, it often is inside a retry loop.

  • Dirkjan Bussink

    Dirkjan Bussink October 18th, 2009 @ 01:27 PM

    Rob, could you check whether you have the exception code available through the .code attribute reader on the exception? I don't see ReaderError as a type that is still used, so I also would like to know what do_sqlite3 version you're using.

  • Dan Kubb (dkubb)

    Dan Kubb (dkubb) May 23rd, 2010 @ 09:23 PM

    • State changed from “unconfirmed” to “not-applicable”
    • Assigned user cleared.

    I am going to mark this as not-applicable because Rob has not replied to Dirkjan's requests for more information.

    @Rob: If you can respond to Dirkjan in this ticket, we can reopen it, otherwise I'm going to mark this as not-applicable.

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

Referenced by