1
0
mirror of https://github.com/dg/dibi.git synced 2025-08-12 00:54:11 +02:00

calling getResultResource() disables auto-free in __destruct()

This commit is contained in:
David Grudl
2012-01-19 01:57:23 +01:00
parent 5efb11d780
commit 5d41128752
9 changed files with 45 additions and 9 deletions

View File

@@ -47,6 +47,9 @@ class DibiMySqliDriver extends DibiObject implements IDibiDriver, IDibiResultDri
/** @var mysqli_result Resultset resource */
private $resultSet;
/** @var bool */
private $autoFree = TRUE;
/** @var bool Is buffered (seekable and countable)? */
private $buffered;
@@ -380,7 +383,7 @@ class DibiMySqliDriver extends DibiObject implements IDibiDriver, IDibiResultDri
*/
public function __destruct()
{
$this->getResultResource() && $this->free();
$this->autoFree && $this->getResultResource() && @$this->free();
}
@@ -479,6 +482,7 @@ class DibiMySqliDriver extends DibiObject implements IDibiDriver, IDibiResultDri
*/
public function getResultResource()
{
$this->autoFree = FALSE;
return @$this->resultSet->type === NULL ? NULL : $this->resultSet;
}