From 3ab0336aeb0dc04c1d6c1f454c00fbd4f4557936 Mon Sep 17 00:00:00 2001 From: Guido Faecke Date: Mon, 21 Oct 2013 11:40:55 -0700 Subject: [PATCH 1/2] Enable persistent connections for IbmDb2. Usage example in global.php: array( 'driver' => 'IbmDb2', 'database' => '*LOCAL', 'username' => 'GUIDO', 'password' => 'GUIDO55', 'persistent' => true, 'driver_options' => array( 'i5_naming' => DB2_I5_NAMING_ON, 'i5_libl' => 'WSDATA QGPL' ), 'platform_options' => array( 'quote_identifiers' => false ) ), 'service_manager' => array( 'factories' => array( 'Zend\Db\Adapter\Adapter' => 'Zend\Db\Adapter\AdapterServiceFactory' ) ) ); Change-Id: I42ff3d52b2f112cefb828432c93eb409d42b2cad --- library/Zend/Db/Adapter/Driver/IbmDb2/Connection.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/library/Zend/Db/Adapter/Driver/IbmDb2/Connection.php b/library/Zend/Db/Adapter/Driver/IbmDb2/Connection.php index 0d344150622..2d989ace2a4 100755 --- a/library/Zend/Db/Adapter/Driver/IbmDb2/Connection.php +++ b/library/Zend/Db/Adapter/Driver/IbmDb2/Connection.php @@ -166,9 +166,12 @@ public function connect() $connection['database'] = $findParameterValue(array('database', 'db')); $connection['username'] = $findParameterValue(array('username', 'uid', 'UID')); $connection['password'] = $findParameterValue(array('password', 'pwd', 'PWD')); + $connection['persistent'] = $findParameterValue(array('persistent', 'PERSISTENT', 'Persistent')); $connection['options'] = (isset($p['driver_options']) ? $p['driver_options'] : array()); - $this->resource = db2_connect( + $db2_connect = ($connection['persistent'] ? 'db2_pconnect' : 'db2_connect'); + + $this->resource = $db2_connect( $connection['database'], $connection['username'], $connection['password'], From 853d730483b360c9564e37781de665eab858f1f2 Mon Sep 17 00:00:00 2001 From: Guido Faecke Date: Mon, 21 Oct 2013 15:27:35 -0700 Subject: [PATCH 2/2] Enable persistent connections for IBMi 'db' => array( 'driver' => 'IbmDb2', 'database' => '*LOCAL', 'username' => 'USER', 'password' => 'PASSWORD', 'persistent' => true, 'driver_options' => array( 'i5_naming' => DB2_I5_NAMING_ON, 'i5_libl' => 'SOMELIB QGPL' ), 'platform_options' => array( 'quote_identifiers' => false ) ), 'persistent' accepts true/false, or can be left out Change-Id: I8b42f83e7be794286fc5b23e8dc195bb22b23b66 --- library/Zend/Db/Adapter/Driver/IbmDb2/Connection.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/library/Zend/Db/Adapter/Driver/IbmDb2/Connection.php b/library/Zend/Db/Adapter/Driver/IbmDb2/Connection.php index 2d989ace2a4..72c69a02ec1 100755 --- a/library/Zend/Db/Adapter/Driver/IbmDb2/Connection.php +++ b/library/Zend/Db/Adapter/Driver/IbmDb2/Connection.php @@ -162,15 +162,15 @@ public function connect() return null; }; - $connection = array(); - $connection['database'] = $findParameterValue(array('database', 'db')); - $connection['username'] = $findParameterValue(array('username', 'uid', 'UID')); - $connection['password'] = $findParameterValue(array('password', 'pwd', 'PWD')); + $connection = array(); + $connection['database'] = $findParameterValue(array('database', 'db')); + $connection['username'] = $findParameterValue(array('username', 'uid', 'UID')); + $connection['password'] = $findParameterValue(array('password', 'pwd', 'PWD')); $connection['persistent'] = $findParameterValue(array('persistent', 'PERSISTENT', 'Persistent')); - $connection['options'] = (isset($p['driver_options']) ? $p['driver_options'] : array()); + $connection['options'] = (isset($p['driver_options']) ? $p['driver_options'] : array()); $db2_connect = ($connection['persistent'] ? 'db2_pconnect' : 'db2_connect'); - + $this->resource = $db2_connect( $connection['database'], $connection['username'],