From 4b7ba213160f7f3903a28d31e115a213b22d6090 Mon Sep 17 00:00:00 2001
From: webchick <drupal@webchick.net>
Date: Mon, 31 Aug 2015 09:22:17 -0700
Subject: [PATCH] Issue #2548725 by dawehner: Fix database exception handling,
 causing test fails in PostgreSQL

---
 .../Drupal/Core/Database/Driver/pgsql/Connection.php  | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php b/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php
index ff38a22c5b84..5dec0a86d756 100644
--- a/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php
+++ b/core/lib/Drupal/Core/Database/Driver/pgsql/Connection.php
@@ -118,7 +118,16 @@ public static function open(array &$connection_options = array()) {
       // Convert numeric values to strings when fetching.
       \PDO::ATTR_STRINGIFY_FETCHES => TRUE,
     );
-    $pdo = new \PDO($dsn, $connection_options['username'], $connection_options['password'], $connection_options['pdo']);
+
+    try {
+      $pdo = new \PDO($dsn, $connection_options['username'], $connection_options['password'], $connection_options['pdo']);
+    }
+    catch (\Exception $e) {
+      if ($e->getCode() == static::DATABASE_NOT_FOUND) {
+        throw new DatabaseNotFoundException($e->getMessage(), $e->getCode(), $e);
+      }
+      throw new $e;
+    }
 
     return $pdo;
   }
-- 
GitLab