Hi, Newbie to SQLite, so maybe my question will seems trivial.
I want to manage the SQLITE_BUSY error like this: If it fails, sleep X ms then try the command Y times. I found 2 ways to do it: ----- First is to manage a loop like: tryIt = X; do { err = sqlite3_exec(...) } while (err == SQLITE_BUSY && tryIt-- && sleep(Y)) -- Alternative (??) sqlite3_busy_timeout(sqlite3*, Y); tryIt = X; do { err = sqlite3_exec(...) } while (err == SQLITE_BUSY && tryIt--) ----- The second is to set a busy callback sqlite3_busy_handler(sqlite3*, foo, void*) And in int foo(void*,int count) { if (count > X) return 0; sleep(Y); return 1; } ----- The second solution seems better to me, because we don't have to manage a loop for each function that can return SQLITE_BUSY (like exec, step or even close). In a lot of example, the first solution is often use. Is there any issues with the second one? Any advise ? Thanks.