[BUGFIX] Ensure connection can be established multiple times 89/58189/3
authorNicole Cordes <typo3@cordes.co>
Wed, 5 Sep 2018 11:45:02 +0000 (13:45 +0200)
committerMathias Brodala <mbrodala@pagemachine.de>
Thu, 6 Sep 2018 07:30:14 +0000 (09:30 +0200)
This patch ensures a connection can be established multiple times
and is initialized correctly using the init commands on each fresh
connection call.

Resolves: #86154
Releases: master, 8.7
Change-Id: Ief2fb0855715333b124e8315c5f794008a5fb3d5
Reviewed-on: https://review.typo3.org/58189
Reviewed-by: Helmut Hummel <typo3@helhum.io>
Tested-by: Helmut Hummel <typo3@helhum.io>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Mathias Brodala <mbrodala@pagemachine.de>
Tested-by: Mathias Brodala <mbrodala@pagemachine.de>
typo3/sysext/core/Classes/Database/Connection.php

index 436314b..173b18b 100644 (file)
@@ -67,14 +67,6 @@ class Connection extends \Doctrine\DBAL\Connection implements LoggerAwareInterfa
     private $prepareConnectionCommands = [];
 
     /**
-     * Prevents the duplicate registration of event handlers and types for this connection.
-     * If true the events will not be initialized any more in the getDatabasePlatform() method.
-     *
-     * @var bool
-     */
-    private $customConnectSetupExecuted = false;
-
-    /**
      * Initializes a new instance of the Connection class.
      *
      * @param array $params The connection parameters.
@@ -98,7 +90,7 @@ class Connection extends \Doctrine\DBAL\Connection implements LoggerAwareInterfa
     public function connect(): bool
     {
         // Early return if the connection is already open and custom setup has been done.
-        if ($this->customConnectSetupExecuted || !parent::connect()) {
+        if (!parent::connect()) {
             return false;
         }
 
@@ -108,8 +100,6 @@ class Connection extends \Doctrine\DBAL\Connection implements LoggerAwareInterfa
             }
         }
 
-        $this->customConnectSetupExecuted = true;
-
         return true;
     }