From: Mike Bayer Date: Sat, 9 Jun 2007 20:59:59 +0000 (+0000) Subject: added StaticPool, stores just one connection. X-Git-Tag: rel_0_3_9~85 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=86c9ffeea6e47a1793287703384d8b0f605a6569;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git added StaticPool, stores just one connection. --- diff --git a/lib/sqlalchemy/pool.py b/lib/sqlalchemy/pool.py index 8915b8098d..a77e979abd 100644 --- a/lib/sqlalchemy/pool.py +++ b/lib/sqlalchemy/pool.py @@ -536,6 +536,31 @@ class NullPool(Pool): def do_get(self): return self.create_connection() +class StaticPool(Pool): + """A Pool implementation which stores exactly one connection that is + returned for all requests.""" + + def __init__(self, creator, **params): + Pool.__init__(self, creator, **params) + self._conn = creator() + self.connection = _ConnectionRecord(self) + + def status(self): + return "StaticPool" + + def create_connection(self): + return self._conn + + def do_return_conn(self, conn): + pass + + def do_return_invalid(self, conn): + pass + + def do_get(self): + return self.connection + + class AssertionPool(Pool): """A Pool implementation that allows at most one checked out connection at a time.