Merge pull request #3982 from owncloud/test_lastinsertid
test lastinsertid
This commit is contained in:
commit
50101a85a6
|
@ -344,7 +344,7 @@ class OC_DB {
|
|||
$result = self::executeAudited('SELECT lastval() AS id');
|
||||
$row = $result->fetchRow();
|
||||
self::raiseExceptionOnError($row, 'fetching row for insertid failed');
|
||||
return $row['id'];
|
||||
return (int)$row['id'];
|
||||
} else if( $type === 'mssql') {
|
||||
if($table !== null) {
|
||||
$prefix = OC_Config::getValue( "dbtableprefix", "oc_" );
|
||||
|
@ -368,7 +368,7 @@ class OC_DB {
|
|||
$result = self::$connection->lastInsertId($table);
|
||||
}
|
||||
self::raiseExceptionOnError($result, 'insertid failed');
|
||||
return $result;
|
||||
return (int)$result;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -71,7 +71,21 @@ class Test_DB extends PHPUnit_Framework_TestCase {
|
|||
$result = $query->execute(array('uri_3'));
|
||||
$this->assertTrue((bool)$result);
|
||||
}
|
||||
|
||||
|
||||
public function testLastInsertId() {
|
||||
$query = OC_DB::prepare('INSERT INTO `*PREFIX*'.$this->table2.'` (`fullname`,`uri`) VALUES (?,?)');
|
||||
$result1 = OC_DB::executeAudited($query, array('insertid 1','uri_1'));
|
||||
$id1 = OC_DB::insertid('*PREFIX*'.$this->table2);
|
||||
$this->assertInternalType('int', $id1);
|
||||
|
||||
// we don't know the id we should expect, so insert another row
|
||||
$result2 = OC_DB::executeAudited($query, array('insertid 2','uri_2'));
|
||||
$id2 = OC_DB::insertid('*PREFIX*'.$this->table2);
|
||||
// now we can check if the two ids are in correct order
|
||||
$this->assertInternalType('int', $id2);
|
||||
$this->assertGreaterThan($id1, $id2);
|
||||
}
|
||||
|
||||
public function testinsertIfNotExist() {
|
||||
$categoryentries = array(
|
||||
array('user' => 'test', 'type' => 'contact', 'category' => 'Family', 'expectedResult' => 1),
|
||||
|
|
Loading…
Reference in New Issue