From 2a297026f31599b7648a442f8b7d6bd0448d2dc6 Mon Sep 17 00:00:00 2001 From: Frederic Massart Date: Tue, 4 Dec 2012 17:31:51 +0800 Subject: [PATCH] Avoid transactions when dropping databases --- lib/db.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/db.py b/lib/db.py index 330209a..1bf51d3 100644 --- a/lib/db.py +++ b/lib/db.py @@ -117,11 +117,23 @@ class DB(object): def dropdb(self, db): + try: + # Disable transaction on PostgreSQL. + old_isolation_level = self.conn.isolation_level + self.conn.set_isolation_level(0) + except: + pass + if self.engine == 'mysqli': self.cur.execute('DROP DATABASE `%s`' % db) elif self.engine == 'pgsql': self.cur.execute('DROP DATABASE "%s"' % db) + try: + self.conn.set_isolation_level(old_isolation_level) + except: + pass + def dump(self, fd, prefix=''): """Dump a database to the file descriptor passed""" -- 2.11.0