summaryrefslogtreecommitdiff
path: root/bin/sql_db.py
diff options
context:
space:
mode:
Diffstat (limited to 'bin/sql_db.py')
-rw-r--r--bin/sql_db.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/bin/sql_db.py b/bin/sql_db.py
index ad3068a08e2..ba5e3457df5 100644
--- a/bin/sql_db.py
+++ b/bin/sql_db.py
@@ -140,6 +140,12 @@ class Cursor(object):
self.sql_into_log[res_into.group(1)][1] += mdt.now() - now
return res
+ def drop_view_if_exists(self, viewname):
+ self._obj.execute("select count(1) from pg_class where relkind=%s and relname=%s", ('v', viewname,))
+ if self._obj.fetchone()[0]:
+ self._obj.execute("DROP view %s" % (viewname,))
+ self._obj.commit()
+
def print_log(self):
def process(type):
sqllogs = {'from':self.sql_from_log, 'into':self.sql_into_log}
@@ -220,13 +226,15 @@ class PoolManager(object):
logger.notifyChannel('dbpool', netsvc.LOG_INFO, 'Connecting to %s' % (db_name,))
PoolManager._pools[db_name] = ConnectionPool(ThreadedConnectionPool(1, PoolManager.maxconn, PoolManager.dsn(db_name)), db_name)
except Exception, e:
- logger.notifyChannel('dbpool', netsvc.LOG_CRITICAL, 'Unable to connect to %s: %s' % (db_name, e.message))
+ logger.notifyChannel('dbpool', netsvc.LOG_ERROR, 'Unable to connect to %s: %s' %
+ (db_name, str(e)))
raise
return PoolManager._pools[db_name]
get = staticmethod(get)
def close(db_name):
if db_name in PoolManager._pools:
+ logger = netsvc.Logger()
logger.notifyChannel('dbpool', netsvc.LOG_INFO, 'Closing all connections to %s' % (db_name,))
PoolManager._pools[db_name].closeall()
del PoolManager._pools[db_name]