]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Start ping listener also for postgresql
authorSalvatore Orlando <salv.orlando@gmail.com>
Thu, 8 May 2014 08:37:17 +0000 (01:37 -0700)
committerSalvatore Orlando <salv.orlando@gmail.com>
Thu, 8 May 2014 08:37:17 +0000 (01:37 -0700)
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

index 6592cb6bfdb6fe4a59fdf9fade6c81ef10815b2e..00c4d61016374380ae1a4a373535601b3b4359d4 100644 (file)
@@ -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':