From: Christian Aistleitner Date: Fri, 6 Apr 2012 18:54:24 +0000 (+0200) Subject: Correcting type of DatabaseSqlite::insertId() X-Git-Tag: 1.31.0-rc.0~23999^2 X-Git-Url: http://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/categories/modifier.php?a=commitdiff_plain;h=02c05b9d0e682eba74b087dfda681bfb5293546e;p=lhc%2Fweb%2Fwiklou.git Correcting type of DatabaseSqlite::insertId() Change-Id: I37ebe291cf8c4fd66a1ee236fcfa063016efbc8d --- diff --git a/includes/db/DatabaseSqlite.php b/includes/db/DatabaseSqlite.php index 3aa21b84fe..dc086b4a32 100644 --- a/includes/db/DatabaseSqlite.php +++ b/includes/db/DatabaseSqlite.php @@ -342,7 +342,8 @@ class DatabaseSqlite extends DatabaseBase { * @return int */ function insertId() { - return $this->mConn->lastInsertId(); + // PDO::lastInsertId yields a string :( + return intval( $this->mConn->lastInsertId() ); } /** diff --git a/tests/phpunit/includes/db/DatabaseSqliteTest.php b/tests/phpunit/includes/db/DatabaseSqliteTest.php index 067c731aaa..d226598bf5 100644 --- a/tests/phpunit/includes/db/DatabaseSqliteTest.php +++ b/tests/phpunit/includes/db/DatabaseSqliteTest.php @@ -250,6 +250,16 @@ class DatabaseSqliteTest extends MediaWikiTestCase { } } + public function testInsertIdType() { + $db = new DatabaseSqliteStandalone( ':memory:' ); + $this->assertInstanceOf( 'ResultWrapper', + $db->query( 'CREATE TABLE a ( a_1 )', __METHOD__ ), "Database creationg" ); + $this->assertTrue( $db->insert( 'a', array( 'a_1' => 10 ), __METHOD__ ), + "Insertion worked" ); + $this->assertEquals( "integer", gettype( $db->insertId() ), "Actual typecheck" ); + $this->assertTrue( $db->close(), "closing database" ); + } + private function prepareDB( $version ) { static $maint = null; if ( $maint === null ) {