better error handling

master
ygl 9 years ago
parent 8f68e1d8b4
commit 5b3e47334d
  1. 7
      _sqlite3.py

@ -655,13 +655,16 @@ class Connection(object):
def backup(self, target_conn_obj):
db_name = _ffi.new("char []", "main")
bk_obj = _lib.sqlite3_backup_init(target_conn_obj._db, db_name, self._db, db_name)
if bk_obj:
if bk_obj != _ffi.NULL:
rc = _lib.SQLITE_OK
while rc == _lib.SQLITE_OK or rc == _lib.SQLITE_BUSY or rc == _lib.SQLITE_LOCKED:
rc = _lib.sqlite3_backup_step(bk_obj, 100)
if rc == _lib.SQLITE_OK or rc == _lib.SQLITE_BUSY or rc == _lib.SQLITE_LOCKED:
_lib.sqlite3_sleep(5)
_lib.sqlite3_backup_finish(bk_obj)
if rc != _lib.SQLITE_DONE:
raise self._get_exception(rc)
else:
_lib.sqlite3_backup_finish(bk_obj)
class Cursor(object):

Loading…
Cancel
Save