From 86c9ffeea6e47a1793287703384d8b0f605a6569 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sat, 9 Jun 2007 20:59:59 +0000 Subject: [PATCH] added StaticPool, stores just one connection. --- lib/sqlalchemy/pool.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) 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. -- 2.47.2