Merge pull request #6460 from owncloud/remove-numRows
Remove OC_DB_StatementWrapper::numRows()
This commit is contained in:
commit
7b428f6009
|
@ -29,25 +29,6 @@ class OC_DB_StatementWrapper {
|
|||
return call_user_func_array(array($this->statement,$name), $arguments);
|
||||
}
|
||||
|
||||
/**
|
||||
* provide numRows
|
||||
*/
|
||||
public function numRows() {
|
||||
$type = OC_Config::getValue( "dbtype", "sqlite" );
|
||||
if ($type == 'oci') {
|
||||
// OCI doesn't have a queryString, just do a rowCount for now
|
||||
return $this->statement->rowCount();
|
||||
}
|
||||
$regex = '/^SELECT\s+(?:ALL\s+|DISTINCT\s+)?(?:.*?)\s+FROM\s+(.*)$/i';
|
||||
$queryString = $this->statement->getWrappedStatement()->queryString;
|
||||
if (preg_match($regex, $queryString, $output) > 0) {
|
||||
$query = OC_DB::prepare("SELECT COUNT(*) FROM {$output[1]}");
|
||||
return $query->execute($this->lastArguments)->fetchColumn();
|
||||
}else{
|
||||
return $this->statement->rowCount();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* make execute return the result instead of a bool
|
||||
*/
|
||||
|
|
|
@ -137,10 +137,10 @@ class Test_DB extends PHPUnit_Framework_TestCase {
|
|||
$query = OC_DB::prepare('SELECT `fullname`, `uri`, `carddata` FROM `*PREFIX*'.$this->table2.'` WHERE `uri` = ?');
|
||||
$result = $query->execute(array($uri));
|
||||
$this->assertTrue((bool)$result);
|
||||
$row = $result->fetchRow();
|
||||
$this->assertArrayHasKey('carddata', $row);
|
||||
$this->assertEquals($carddata, $row['carddata']);
|
||||
$this->assertEquals(1, $result->numRows());
|
||||
$rowset = $result->fetchAll();
|
||||
$this->assertEquals(1, count($rowset));
|
||||
$this->assertArrayHasKey('carddata', $rowset[0]);
|
||||
$this->assertEquals($carddata, $rowset[0]['carddata']);
|
||||
|
||||
// Try to insert a new row
|
||||
$result = OC_DB::insertIfNotExist('*PREFIX*'.$this->table2,
|
||||
|
@ -153,13 +153,12 @@ class Test_DB extends PHPUnit_Framework_TestCase {
|
|||
$query = OC_DB::prepare('SELECT `fullname`, `uri`, `carddata` FROM `*PREFIX*'.$this->table2.'` WHERE `uri` = ?');
|
||||
$result = $query->execute(array($uri));
|
||||
$this->assertTrue((bool)$result);
|
||||
$row = $result->fetchRow();
|
||||
$this->assertArrayHasKey('carddata', $row);
|
||||
// Test that previously inserted data isn't overwritten
|
||||
$this->assertEquals($carddata, $row['carddata']);
|
||||
// And that a new row hasn't been inserted.
|
||||
$this->assertEquals(1, $result->numRows());
|
||||
|
||||
$rowset = $result->fetchAll();
|
||||
$this->assertEquals(1, count($rowset));
|
||||
$this->assertArrayHasKey('carddata', $rowset[0]);
|
||||
$this->assertEquals($carddata, $rowset[0]['carddata']);
|
||||
}
|
||||
|
||||
public function testUtf8Data() {
|
||||
|
|
|
@ -103,7 +103,7 @@ class Test_DBSchema extends PHPUnit_Framework_TestCase {
|
|||
break;
|
||||
}
|
||||
|
||||
$name = $result->fetchOne(); //FIXME checking with '$result->numRows() === 1' does not seem to work?
|
||||
$name = $result->fetchOne();
|
||||
if ($name === $table) {
|
||||
return true;
|
||||
} else {
|
||||
|
|
|
@ -101,28 +101,28 @@ class Test_Preferences extends PHPUnit_Framework_TestCase {
|
|||
$this->assertTrue(\OC_Preferences::deleteKey('Deleteuser', 'deleteapp', 'deletekey'));
|
||||
$query = \OC_DB::prepare('SELECT `configvalue` FROM `*PREFIX*preferences` WHERE `userid` = ? AND `appid` = ? AND `configkey` = ?');
|
||||
$result = $query->execute(array('Deleteuser', 'deleteapp', 'deletekey'));
|
||||
$this->assertEquals(0, $result->numRows());
|
||||
$this->assertEquals(0, count($result->fetchAll()));
|
||||
}
|
||||
|
||||
public function testDeleteApp() {
|
||||
$this->assertTrue(\OC_Preferences::deleteApp('Deleteuser', 'deleteapp'));
|
||||
$query = \OC_DB::prepare('SELECT `configvalue` FROM `*PREFIX*preferences` WHERE `userid` = ? AND `appid` = ?');
|
||||
$result = $query->execute(array('Deleteuser', 'deleteapp'));
|
||||
$this->assertEquals(0, $result->numRows());
|
||||
$this->assertEquals(0, count($result->fetchAll()));
|
||||
}
|
||||
|
||||
public function testDeleteUser() {
|
||||
$this->assertTrue(\OC_Preferences::deleteUser('Deleteuser'));
|
||||
$query = \OC_DB::prepare('SELECT `configvalue` FROM `*PREFIX*preferences` WHERE `userid` = ?');
|
||||
$result = $query->execute(array('Deleteuser'));
|
||||
$this->assertEquals(0, $result->numRows());
|
||||
$this->assertEquals(0, count($result->fetchAll()));
|
||||
}
|
||||
|
||||
public function testDeleteAppFromAllUsers() {
|
||||
$this->assertTrue(\OC_Preferences::deleteAppFromAllUsers('someapp'));
|
||||
$query = \OC_DB::prepare('SELECT `configvalue` FROM `*PREFIX*preferences` WHERE `appid` = ?');
|
||||
$result = $query->execute(array('someapp'));
|
||||
$this->assertEquals(0, $result->numRows());
|
||||
$this->assertEquals(0, count($result->fetchAll()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue