From: Mike Bayer Date: Sat, 9 Jun 2007 21:44:36 +0000 (+0000) Subject: merged StaticPool implementation X-Git-Tag: rel_0_4_6~212 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f17ba4c7bef6850f82fa592c499d8e8f4624b8ca;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git merged StaticPool implementation --- 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.