Physikerwelt has uploaded a new change for review. https://gerrit.wikimedia.org/r/134591
Change subject: WIP: Fix: numFields wrong for sqlite ...................................................................... WIP: Fix: numFields wrong for sqlite * Sqlite returned a doubled number of fields. Bug: 65578 Change-Id: I399c7c857dcbd774cc4eb6102bbfe8a8764b07c9 --- M includes/db/DatabaseSqlite.php M tests/phpunit/includes/db/DatabaseSqliteTest.php 2 files changed, 17 insertions(+), 2 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/91/134591/1 diff --git a/includes/db/DatabaseSqlite.php b/includes/db/DatabaseSqlite.php index 468ed6d..39a74f8 100644 --- a/includes/db/DatabaseSqlite.php +++ b/includes/db/DatabaseSqlite.php @@ -342,8 +342,8 @@ */ function numFields( $res ) { $r = $res instanceof ResultWrapper ? $res->result : $res; - - return is_array( $r ) ? count( $r[0] ) : 0; + // The size of the result array is twice the number of fields. (Bug: 65578) + return is_array( $r ) ? count( $r[0] ) / 2 : 0; } /** diff --git a/tests/phpunit/includes/db/DatabaseSqliteTest.php b/tests/phpunit/includes/db/DatabaseSqliteTest.php index b4c1953..29b6a4e 100644 --- a/tests/phpunit/includes/db/DatabaseSqliteTest.php +++ b/tests/phpunit/includes/db/DatabaseSqliteTest.php @@ -431,4 +431,19 @@ $row = $res->fetchRow(); $this->assertFalse( (bool)$row['a'] ); } + + /** + * @covers DatabaseSqlite::numFields + */ + public function testNumFields() { + $db = new DatabaseSqliteStandalone( ':memory:' ); + + $databaseCreation = $db->query( 'CREATE TABLE a ( a_1 )', __METHOD__ ); + $this->assertInstanceOf( 'ResultWrapper', $databaseCreation, "Failed to create table a" ); + + $res = $db->select( 'a' , '*'); + $this->assertEquals( 1, $db->numFields($res), "wrong number of fields" ); + + $this->assertTrue( $db->close(), "closing database" ); + } } -- To view, visit https://gerrit.wikimedia.org/r/134591 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I399c7c857dcbd774cc4eb6102bbfe8a8764b07c9 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Physikerwelt <w...@physikerwelt.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits