Don't execute query while commiting
This commit is contained in:
parent
594edc6e9a
commit
12bfad8fe6
2 changed files with 6 additions and 2 deletions
|
@ -68,6 +68,7 @@ class Db(object):
|
|||
self.cur = None
|
||||
self.progress_sleeping = False
|
||||
self.log = logging.getLogger("Db:%s" % schema["db_name"])
|
||||
self.commiting = False
|
||||
self.table_names = None
|
||||
self.collect_stats = False
|
||||
self.foreign_keys = False
|
||||
|
@ -125,6 +126,7 @@ class Db(object):
|
|||
|
||||
try:
|
||||
s = time.time()
|
||||
self.commiting = True
|
||||
self.conn.commit()
|
||||
self.log.debug("Commited in %.3fs (reason: %s)" % (time.time() - s, reason))
|
||||
return True
|
||||
|
@ -134,6 +136,8 @@ class Db(object):
|
|||
else:
|
||||
self.log.error("Commit error: %s (reason: %s)" % (Debug.formatException(err), reason))
|
||||
return False
|
||||
finally:
|
||||
self.commiting = False
|
||||
|
||||
def insertOrUpdate(self, *args, **kwargs):
|
||||
if not self.conn:
|
||||
|
|
|
@ -88,7 +88,7 @@ class DbCursor:
|
|||
if query.upper().strip("; ") == "VACUUM":
|
||||
self.db.commit("vacuum called")
|
||||
query = query.strip()
|
||||
while self.db.progress_sleeping:
|
||||
while self.db.progress_sleeping or self.db.commiting:
|
||||
time.sleep(0.1)
|
||||
|
||||
self.db.last_query_time = time.time()
|
||||
|
@ -133,7 +133,7 @@ class DbCursor:
|
|||
return res
|
||||
|
||||
def executemany(self, query, params):
|
||||
while self.db.progress_sleeping:
|
||||
while self.db.progress_sleeping or self.db.commiting:
|
||||
time.sleep(0.1)
|
||||
|
||||
self.db.last_query_time = time.time()
|
||||
|
|
Loading…
Reference in a new issue