1
0
mirror of https://github.com/dg/dibi.git synced 2025-08-07 22:56:35 +02:00

Disconnect on not connected driver not fail (#222)

Sometimes database go away and Connection::isConnected() is returning TRUE. Prevent this should be posibble to disconnect on closed connection without error.
This commit is contained in:
Milan Pála
2016-06-13 21:17:57 +02:00
committed by David Grudl
parent b7d84b90ef
commit 6510fcce25
9 changed files with 20 additions and 8 deletions

View File

@@ -96,7 +96,7 @@ class FirebirdDriver implements Dibi\Driver, Dibi\ResultDriver, Dibi\Reflector
*/ */
public function disconnect() public function disconnect()
{ {
ibase_close($this->connection); @ibase_close($this->connection); // @ - connection can be already disconnected
} }

View File

@@ -78,7 +78,7 @@ class MsSqlDriver implements Dibi\Driver, Dibi\ResultDriver
*/ */
public function disconnect() public function disconnect()
{ {
mssql_close($this->connection); @mssql_close($this->connection); // @ - connection can be already disconnected
} }

View File

@@ -139,7 +139,7 @@ class MySqlDriver implements Dibi\Driver, Dibi\ResultDriver
*/ */
public function disconnect() public function disconnect()
{ {
mysql_close($this->connection); @mysql_close($this->connection); // @ - connection can be already disconnected
} }

View File

@@ -138,7 +138,7 @@ class MySqliDriver implements Dibi\Driver, Dibi\ResultDriver
*/ */
public function disconnect() public function disconnect()
{ {
mysqli_close($this->connection); @mysqli_close($this->connection); // @ - connection can be already disconnected
} }

View File

@@ -88,7 +88,7 @@ class OdbcDriver implements Dibi\Driver, Dibi\ResultDriver, Dibi\Reflector
*/ */
public function disconnect() public function disconnect()
{ {
odbc_close($this->connection); @odbc_close($this->connection); // @ - connection can be already disconnected
} }

View File

@@ -95,7 +95,7 @@ class OracleDriver implements Dibi\Driver, Dibi\ResultDriver, Dibi\Reflector
*/ */
public function disconnect() public function disconnect()
{ {
oci_close($this->connection); @oci_close($this->connection); // @ - connection can be already disconnected
} }

View File

@@ -111,7 +111,7 @@ class PostgreDriver implements Dibi\Driver, Dibi\ResultDriver, Dibi\Reflector
*/ */
public function disconnect() public function disconnect()
{ {
pg_close($this->connection); @pg_close($this->connection); // @ - connection can be already disconnected
} }

View File

@@ -99,7 +99,7 @@ class SqlsrvDriver implements Dibi\Driver, Dibi\ResultDriver
*/ */
public function disconnect() public function disconnect()
{ {
sqlsrv_close($this->connection); @sqlsrv_close($this->connection); // @ - connection can be already disconnected
} }

View File

@@ -36,3 +36,15 @@ test(function () use ($config) { // query string
Assert::same($config['driver'], $conn->getConfig('driver')); Assert::same($config['driver'], $conn->getConfig('driver'));
Assert::type('Dibi\Driver', $conn->getDriver()); Assert::type('Dibi\Driver', $conn->getDriver());
}); });
test(function () use ($config) {
$conn = new Connection($config);
Assert::true($conn->isConnected());
$conn->disconnect();
Assert::false($conn->isConnected());
$conn->disconnect();
Assert::false($conn->isConnected());
});