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

added low-level methods createResultDriver() and DibiConnection::createResultSet()

This commit is contained in:
David Grudl
2010-11-02 13:59:05 +01:00
parent 33ef22b488
commit 32baabdeac
12 changed files with 179 additions and 12 deletions

View File

@@ -120,7 +120,7 @@ class DibiSqlite3Driver extends DibiObject implements IDibiDriver, IDibiResultDr
throw new DibiDriverException($this->connection->lastErrorMsg(), $this->connection->lastErrorCode(), $sql);
}
return $this->resultSet instanceof SQLite3Result ? clone $this : NULL;
return $this->resultSet instanceof SQLite3Result ? $this->createResultDriver($this->resultSet) : NULL;
}
@@ -208,6 +208,20 @@ class DibiSqlite3Driver extends DibiObject implements IDibiDriver, IDibiResultDr
/**
* Result set driver factory.
* @param SQLite3Result
* @return IDibiResultDriver
*/
public function createResultDriver(SQLite3Result $resource)
{
$res = clone $this;
$res->resultSet = $resource;
return $res;
}
/********************* SQL ****************d*g**/
@@ -352,6 +366,7 @@ class DibiSqlite3Driver extends DibiObject implements IDibiDriver, IDibiResultDr
*/
public function free()
{
$this->resultSet->finalize();
$this->resultSet = NULL;
}