summaryrefslogtreecommitdiff
path: root/bin/sql_db.py
diff options
context:
space:
mode:
authorP. Christeas <p_christ@hol.gr>2008-12-28 12:25:22 +0200
committerP. Christeas <p_christ@hol.gr>2008-12-28 12:25:22 +0200
commitcb42fd7a590a0a4c4cf75e5c439a50d8592554e9 (patch)
tree89093b235302d3b823e3aad1e15b8b981c665696 /bin/sql_db.py
parenta89ae314d25cd47b527cb50dbdc18dc44ad79213 (diff)
parentf0b13583ecd1dcd8a1ddabd9e67540c5e308220f (diff)
Merge branch 'master' of /home/panos/tmp/tinyerp/openobject-server/ into mdv-gpl3
Conflicts: bin/addons/base/ir/ir_actions.py bin/report/interface.py bin/tools/config.py bzr revid: p_christ@hol.gr-20081228102522-po9ix8j0l6f5akxp
Diffstat (limited to 'bin/sql_db.py')
-rw-r--r--bin/sql_db.py36
1 files changed, 19 insertions, 17 deletions
diff --git a/bin/sql_db.py b/bin/sql_db.py
index f9ae97b9163..22e2065868e 100644
--- a/bin/sql_db.py
+++ b/bin/sql_db.py
@@ -197,42 +197,44 @@ class PoolManager(object):
_dsn = None
maxconn = int(tools.config['db_maxconn']) or 64
- def dsn(db_name):
- if PoolManager._dsn is None:
- PoolManager._dsn = ''
+ @classmethod
+ def dsn(cls, db_name):
+ if cls._dsn is None:
+ cls._dsn = ''
for p in ('host', 'port', 'user', 'password'):
cfg = tools.config['db_' + p]
if cfg:
- PoolManager._dsn += '%s=%s ' % (p, cfg)
- return '%s dbname=%s' % (PoolManager._dsn, db_name)
- dsn = staticmethod(dsn)
+ cls._dsn += '%s=%s ' % (p, cfg)
+ return '%s dbname=%s' % (cls._dsn, db_name)
- def get(db_name):
- if db_name not in PoolManager._pools:
+ @classmethod
+ def get(cls, db_name):
+ if db_name not in cls._pools:
logger = netsvc.Logger()
try:
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)
+ cls._pools[db_name] = ConnectionPool(ThreadedConnectionPool(1, cls.maxconn, cls.dsn(db_name)), db_name)
except Exception, e:
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)
+ return cls._pools[db_name]
- def close(db_name):
- if db_name in PoolManager._pools:
+ @classmethod
+ def close(cls, db_name):
+ if db_name in cls._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]
- close = staticmethod(close)
+ cls._pools[db_name].closeall()
+ del cls._pools[db_name]
def db_connect(db_name, serialize=0):
return PoolManager.get(db_name)
def close_db(db_name):
- return PoolManager.close(db_name)
+ PoolManager.close(db_name)
+ tools.cache.clean_cache_for_db(db_name)
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: