1
0
mirror of https://github.com/dg/dibi.git synced 2025-08-27 15:59:49 +02:00

- returns result-set rows as DibiRow objects!

- removed option 'resultObjects'
- SQlite driver removes quotes from result-set column names
- this revision may cause compatibility break
This commit is contained in:
David Grudl
2008-10-10 17:39:33 +00:00
parent ae77148773
commit 3e04378375
15 changed files with 70 additions and 137 deletions

View File

@@ -297,9 +297,9 @@ class DibiMsSqlDriver extends DibiObject implements IDibiDriver
* @param bool TRUE for associative array, FALSE for numeric
* @return array array on success, nonarray if no next record
*/
public function fetch($type)
public function fetch($assoc)
{
return mssql_fetch_array($this->resultSet, $type ? MSSQL_ASSOC : MSSQL_NUM);
return mssql_fetch_array($this->resultSet, $assoc ? MSSQL_ASSOC : MSSQL_NUM);
}

View File

@@ -359,9 +359,9 @@ class DibiMySqlDriver extends DibiObject implements IDibiDriver
* @param bool TRUE for associative array, FALSE for numeric
* @return array array on success, nonarray if no next record
*/
public function fetch($type)
public function fetch($assoc)
{
return mysql_fetch_array($this->resultSet, $type ? MYSQL_ASSOC : MYSQL_NUM);
return mysql_fetch_array($this->resultSet, $assoc ? MYSQL_ASSOC : MYSQL_NUM);
}

View File

@@ -342,9 +342,9 @@ class DibiMySqliDriver extends DibiObject implements IDibiDriver
* @param bool TRUE for associative array, FALSE for numeric
* @return array array on success, nonarray if no next record
*/
public function fetch($type)
public function fetch($assoc)
{
return mysqli_fetch_array($this->resultSet, $type ? MYSQLI_ASSOC : MYSQLI_NUM);
return mysqli_fetch_array($this->resultSet, $assoc ? MYSQLI_ASSOC : MYSQLI_NUM);
}

View File

@@ -309,9 +309,9 @@ class DibiOdbcDriver extends DibiObject implements IDibiDriver
* @param bool TRUE for associative array, FALSE for numeric
* @return array array on success, nonarray if no next record
*/
public function fetch($type)
public function fetch($assoc)
{
if ($type) {
if ($assoc) {
return odbc_fetch_array($this->resultSet, ++$this->row);
} else {
$set = $this->resultSet;

View File

@@ -305,9 +305,9 @@ class DibiOracleDriver extends DibiObject implements IDibiDriver
* @param bool TRUE for associative array, FALSE for numeric
* @return array array on success, nonarray if no next record
*/
public function fetch($type)
public function fetch($assoc)
{
return oci_fetch_array($this->resultSet, ($type ? OCI_ASSOC : OCI_NUM) | OCI_RETURN_NULLS);
return oci_fetch_array($this->resultSet, ($assoc ? OCI_ASSOC : OCI_NUM) | OCI_RETURN_NULLS);
}

View File

@@ -351,9 +351,9 @@ class DibiPdoDriver extends DibiObject implements IDibiDriver
* @param bool TRUE for associative array, FALSE for numeric
* @return array array on success, nonarray if no next record
*/
public function fetch($type)
public function fetch($assoc)
{
return $this->resultSet->fetch($type ? PDO::FETCH_ASSOC : PDO::FETCH_NUM);
return $this->resultSet->fetch($assoc ? PDO::FETCH_ASSOC : PDO::FETCH_NUM);
}

View File

@@ -353,9 +353,9 @@ class DibiPostgreDriver extends DibiObject implements IDibiDriver
* @param bool TRUE for associative array, FALSE for numeric
* @return array array on success, nonarray if no next record
*/
public function fetch($type)
public function fetch($assoc)
{
return pg_fetch_array($this->resultSet, NULL, $type ? PGSQL_ASSOC : PGSQL_NUM);
return pg_fetch_array($this->resultSet, NULL, $assoc ? PGSQL_ASSOC : PGSQL_NUM);
}

View File

@@ -309,9 +309,17 @@ class DibiSqliteDriver extends DibiObject implements IDibiDriver
* @param bool TRUE for associative array, FALSE for numeric
* @return array array on success, nonarray if no next record
*/
public function fetch($type)
public function fetch($assoc)
{
return sqlite_fetch_array($this->resultSet, $type ? SQLITE_ASSOC : SQLITE_NUM);
$row = sqlite_fetch_array($this->resultSet, $assoc ? SQLITE_ASSOC : SQLITE_NUM);
if ($assoc && $row) {
$tmp = array();
foreach ($row as $k => $v) {
$tmp[str_replace(array('[', ']'), '', $k)] = $v;
}
return $tmp;
}
return $row;
}
@@ -355,7 +363,7 @@ class DibiSqliteDriver extends DibiObject implements IDibiDriver
$count = sqlite_num_fields($this->resultSet);
$meta = array();
for ($i = 0; $i < $count; $i++) {
$pair = explode('.', sqlite_field_name($this->resultSet, $i));
$pair = explode('.', str_replace(array('[', ']'), '', sqlite_field_name($this->resultSet, $i)));
if (!isset($pair[1])) {
array_unshift($pair, NULL);
}