From b3257e09dbcbd87ac1c6f70a0ea255197d790835 Mon Sep 17 00:00:00 2001 From: Salvatore Orlando Date: Thu, 8 May 2014 01:37:17 -0700 Subject: [PATCH] Start ping listener also for postgresql Make use of the automatic connection disposal for PostgreSQL as well. oslo-incubator commit: 4a591eaafe035fa3fd508c910f057bfa8ff51005 Change-Id: I6e6adb612968639dbc8deae31e5409aac44e340e Closes-Bug: 1288438 --- neutron/openstack/common/db/sqlalchemy/session.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/neutron/openstack/common/db/sqlalchemy/session.py b/neutron/openstack/common/db/sqlalchemy/session.py index 6592cb6bfdb..00c4d610163 100644 --- a/neutron/openstack/common/db/sqlalchemy/session.py +++ b/neutron/openstack/common/db/sqlalchemy/session.py @@ -367,7 +367,7 @@ def _raise_if_duplicate_entry_error(integrity_error, engine_name): return [columns] return columns[len(uniqbase):].split("0")[1:] - if engine_name not in ["ibm_db_sa", "mysql", "sqlite", "postgresql"]: + if engine_name not in ("ibm_db_sa", "mysql", "sqlite", "postgresql"): return # FIXME(johannes): The usage of the .message attribute has been @@ -489,7 +489,7 @@ def _thread_yield(dbapi_con, con_record): def _ping_listener(engine, dbapi_conn, connection_rec, connection_proxy): - """Ensures that MySQL and DB2 connections are alive. + """Ensures that MySQL, PostgreSQL or DB2 connections are alive. Borrowed from: http://groups.google.com/group/sqlalchemy/msg/a4ce563d802c929f @@ -645,7 +645,7 @@ def create_engine(sql_connection, sqlite_fk=False, mysql_sql_mode=None, sqlalchemy.event.listen(engine, 'checkin', _thread_yield) - if engine.name in ['mysql', 'ibm_db_sa']: + if engine.name in ('ibm_db_sa', 'mysql', 'postgresql'): ping_callback = functools.partial(_ping_listener, engine) sqlalchemy.event.listen(engine, 'checkout', ping_callback) if engine.name == 'mysql':