tests: Migrate some Database::select() calls to SQB

Done semi-automatically via migrateselect[1]. The script only accepted
ascii chars until I found out and fixed it and now I can run it in more
places.

[1] https://gitlab.wikimedia.org/ladsgroup/migrateselect

Bug: T344971
Change-Id: I3ffc8764d95600abd5c0ce00aaf2e83b2af9252d
This commit is contained in:
Amir Sarabadani 2023-09-13 20:29:16 +02:00
parent 5facc37435
commit 4471dace7f
3 changed files with 47 additions and 11 deletions

View file

@ -249,7 +249,11 @@ class WikiPageDbTest extends MediaWikiLangTestCase {
// TODO: test various options; needs temporary hooks
$dbr = wfGetDB( DB_REPLICA );
$res = $dbr->select( 'pagelinks', '*', [ 'pl_from' => $page->getId() ] );
$res = $dbr->newSelectQueryBuilder()
->select( '*' )
->from( 'pagelinks' )
->where( [ 'pl_from' => $page->getId() ] )
->fetchResultSet();
$n = $res->numRows();
$res->free();
@ -321,7 +325,11 @@ class WikiPageDbTest extends MediaWikiLangTestCase {
# ------------------------
$dbr = wfGetDB( DB_REPLICA );
$res = $dbr->select( 'pagelinks', '*', [ 'pl_from' => $id ] );
$res = $dbr->newSelectQueryBuilder()
->select( '*' )
->from( 'pagelinks' )
->where( [ 'pl_from' => $id ] )
->fetchResultSet();
$n = $res->numRows();
$res->free();
@ -384,7 +392,11 @@ class WikiPageDbTest extends MediaWikiLangTestCase {
# ------------------------
$dbr = wfGetDB( DB_REPLICA );
$res = $dbr->select( 'pagelinks', '*', [ 'pl_from' => $id ] );
$res = $dbr->newSelectQueryBuilder()
->select( '*' )
->from( 'pagelinks' )
->where( [ 'pl_from' => $id ] )
->fetchResultSet();
$n = $res->numRows();
$res->free();
@ -503,7 +515,11 @@ class WikiPageDbTest extends MediaWikiLangTestCase {
# ------------------------
$dbr = wfGetDB( DB_REPLICA );
$res = $dbr->select( 'pagelinks', '*', [ 'pl_from' => $id ] );
$res = $dbr->newSelectQueryBuilder()
->select( '*' )
->from( 'pagelinks' )
->where( [ 'pl_from' => $id ] )
->fetchResultSet();
$n = $res->numRows();
$res->free();

View file

@ -419,7 +419,11 @@ class MediaWikiIntegrationTestCaseTest extends MediaWikiIntegrationTestCase {
// Make sure the DB connection has all the test data
$this->copyTestData( $this->db, $db );
$value = $db->selectField( 'objectcache', 'value', [ 'keyname' => __METHOD__ ], __METHOD__ );
$value = $db->newSelectQueryBuilder()
->select( 'value' )
->from( 'objectcache' )
->where( [ 'keyname' => __METHOD__ ] )
->caller( __METHOD__ )->fetchField();
$this->assertSame( 'TEST', $value, 'Copied Data' );
$lb->closeAll( __METHOD__ );

View file

@ -528,8 +528,12 @@ class DatabaseMysqlBaseTest extends PHPUnit\Framework\TestCase {
/** @var IDatabase $db */
$db->setIndexAliases( [ 'a_b_idx' => 'a_c_idx' ] );
$sql = $db->selectSQLText(
'zend', 'field', [ 'a' => 'x' ], __METHOD__, [ 'USE INDEX' => 'a_b_idx' ] );
$sql = $db->newSelectQueryBuilder()
->select( 'field' )
->from( 'zend' )
->where( [ 'a' => 'x' ] )
->useIndex( 'a_b_idx' )
->caller( __METHOD__ )->getSQL();
$this->assertSameSql(
"SELECT field FROM `zend` FORCE INDEX (a_c_idx) WHERE a = 'x' ",
@ -537,8 +541,12 @@ class DatabaseMysqlBaseTest extends PHPUnit\Framework\TestCase {
);
$db->setIndexAliases( [] );
$sql = $db->selectSQLText(
'zend', 'field', [ 'a' => 'x' ], __METHOD__, [ 'USE INDEX' => 'a_b_idx' ] );
$sql = $db->newSelectQueryBuilder()
->select( 'field' )
->from( 'zend' )
->where( [ 'a' => 'x' ] )
->useIndex( 'a_b_idx' )
->caller( __METHOD__ )->getSQL();
$this->assertSameSql(
"SELECT field FROM `zend` FORCE INDEX (a_b_idx) WHERE a = 'x'",
@ -568,7 +576,11 @@ class DatabaseMysqlBaseTest extends PHPUnit\Framework\TestCase {
$db->setTableAliases( [
'meow' => [ 'dbname' => 'feline', 'schema' => null, 'prefix' => 'cat_' ]
] );
$sql = $db->selectSQLText( 'meow', 'field', [ 'a' => 'x' ], __METHOD__ );
$sql = $db->newSelectQueryBuilder()
->select( 'field' )
->from( 'meow' )
->where( [ 'a' => 'x' ] )
->caller( __METHOD__ )->getSQL();
$this->assertSameSql(
"SELECT field FROM `feline`.`cat_meow` WHERE a = 'x' ",
@ -576,7 +588,11 @@ class DatabaseMysqlBaseTest extends PHPUnit\Framework\TestCase {
);
$db->setTableAliases( [] );
$sql = $db->selectSQLText( 'meow', 'field', [ 'a' => 'x' ], __METHOD__ );
$sql = $db->newSelectQueryBuilder()
->select( 'field' )
->from( 'meow' )
->where( [ 'a' => 'x' ] )
->caller( __METHOD__ )->getSQL();
$this->assertSameSql(
"SELECT field FROM `meow` WHERE a = 'x' ",