1
0
mirror of https://github.com/dg/dibi.git synced 2025-08-06 22:26:43 +02:00

* DibiDriver::query -> DibiDriver::nativeQuery

* Dibi::query moved to DibiDriver::query
* methods getFields(), detectTypes(), getMetaData() moved to base class DibiDriver
* added PDO driver (not tested)
This commit is contained in:
David Grudl
2007-03-27 23:12:36 +00:00
parent f64a5d5251
commit 48ea525b04
12 changed files with 578 additions and 373 deletions

View File

@@ -24,7 +24,8 @@ if (!defined('DIBI')) die();
* The dibi driver for SQlite database
*
*/
class DibiSqliteDriver extends DibiDriver {
class DibiSqliteDriver extends DibiDriver
{
private
$conn,
$insertId = FALSE,
@@ -70,7 +71,7 @@ class DibiSqliteDriver extends DibiDriver {
public function query($sql)
public function nativeQuery($sql)
{
$this->insertId = $this->affectedRows = FALSE;
@@ -174,9 +175,7 @@ class DibiSqliteDriver extends DibiDriver {
class DibiSqliteResult extends DibiResult
{
private
$resource,
$meta;
private $resource;
public function __construct($resource)
@@ -208,36 +207,8 @@ class DibiSqliteResult extends DibiResult
}
public function getFields()
{
// cache
if ($this->meta === NULL)
$this->createMeta();
return array_keys($this->meta);
}
protected function detectTypes()
{
if ($this->meta === NULL)
$this->createMeta();
}
/** this is experimental */
public function getMetaData($field)
{
// cache
if ($this->meta === NULL)
$this->createMeta();
return isset($this->meta[$field]) ? $this->meta[$field] : FALSE;
}
/** this is experimental */
private function createMeta()
protected function buildMeta()
{
$count = sqlite_num_fields($this->resource);
$this->meta = $this->convert = array();