fix fetchRow checks to also work with MDB2
This commit is contained in:
parent
b66559247a
commit
875c18b115
2 changed files with 9 additions and 3 deletions
8
lib/files/cache/cache.php
vendored
8
lib/files/cache/cache.php
vendored
|
@ -96,7 +96,7 @@ class Cache {
|
|||
* get the stored metadata of a file or folder
|
||||
*
|
||||
* @param string/int $file
|
||||
* @return array
|
||||
* @return array | false
|
||||
*/
|
||||
public function get($file) {
|
||||
if (is_string($file) or $file == '') {
|
||||
|
@ -115,6 +115,12 @@ class Cache {
|
|||
$result = $query->execute($params);
|
||||
$data = $result->fetchRow();
|
||||
|
||||
//FIXME hide this HACK in the next database layer, or just use doctrine and get rid of MDB2 and PDO
|
||||
//PDO returns false, MDB2 returns null, oracle always uses MDB2, so convert null to false
|
||||
if ($data === null) {
|
||||
$data = false;
|
||||
}
|
||||
|
||||
//merge partial data
|
||||
if (!$data and is_string($file)) {
|
||||
if (isset($this->partial[$file])) {
|
||||
|
|
|
@ -37,7 +37,7 @@ class Test_DB extends PHPUnit_Framework_TestCase {
|
|||
$result = $query->execute(array('uri_1'));
|
||||
$this->assertTrue((bool)$result);
|
||||
$row = $result->fetchRow();
|
||||
$this->assertFalse($row);
|
||||
$this->assertFalse((bool)$row); //PDO returns false, MDB2 returns null
|
||||
$query = OC_DB::prepare('INSERT INTO `*PREFIX*'.$this->table2.'` (`fullname`,`uri`) VALUES (?,?)');
|
||||
$result = $query->execute(array('fullname test', 'uri_1'));
|
||||
$this->assertTrue((bool)$result);
|
||||
|
@ -48,7 +48,7 @@ class Test_DB extends PHPUnit_Framework_TestCase {
|
|||
$this->assertArrayHasKey('fullname', $row);
|
||||
$this->assertEquals($row['fullname'], 'fullname test');
|
||||
$row = $result->fetchRow();
|
||||
$this->assertFalse($row);
|
||||
$this->assertFalse((bool)$row); //PDO returns false, MDB2 returns null
|
||||
}
|
||||
|
||||
public function testNOW() {
|
||||
|
|
Loading…
Reference in a new issue