jenkins-bot has submitted this change and it was merged.
Change subject: Use one query per entity id in getUsedEntityIdStrings
......................................................................
Use one query per entity id in getUsedEntityIdStrings
Bug: T137539
Change-Id: I74bc1c024bf287618879f0805b647ebd6731c254
---
M client/includes/Usage/Sql/EntityUsageTable.php
M client/tests/phpunit/includes/Usage/Sql/EntityUsageTableTest.php
2 files changed, 21 insertions(+), 9 deletions(-)
Approvals:
Daniel Kinzler: Looks good to me, approved
jenkins-bot: Verified
diff --git a/client/includes/Usage/Sql/EntityUsageTable.php
b/client/includes/Usage/Sql/EntityUsageTable.php
index e6392d5..62f25b6 100644
--- a/client/includes/Usage/Sql/EntityUsageTable.php
+++ b/client/includes/Usage/Sql/EntityUsageTable.php
@@ -356,15 +356,27 @@
* @return string[]
*/
private function getUsedEntityIdStrings( array $idStrings ) {
- $where = array( 'eu_entity_id' => $idStrings );
+ $subQueries = [];
- return $this->connection->selectFieldValues(
- $this->tableName,
- 'eu_entity_id',
- $where,
- __METHOD__,
- array( 'DISTINCT' )
- );
+ foreach ( $idStrings as $idString ) {
+ $subQueries[] = $this->connection->selectSQLText(
+ $this->tableName,
+ 'eu_entity_id',
+ [ 'eu_entity_id' => $idString ],
+ '',
+ [ 'LIMIT' => 1 ]
+ );
+ }
+
+ $values = [];
+ foreach ( $subQueries as $sql ) {
+ $res = $this->connection->query( $sql, __METHOD__ );
+ if ( $res->numRows() ) {
+ $values[] = $res->current()->eu_entity_id;
+ }
+ }
+
+ return $values;
}
/**
diff --git a/client/tests/phpunit/includes/Usage/Sql/EntityUsageTableTest.php
b/client/tests/phpunit/includes/Usage/Sql/EntityUsageTableTest.php
index 8c490bf..31d6d35 100644
--- a/client/tests/phpunit/includes/Usage/Sql/EntityUsageTableTest.php
+++ b/client/tests/phpunit/includes/Usage/Sql/EntityUsageTableTest.php
@@ -306,7 +306,7 @@
$unused = $usageTable->getUnusedEntities( array( $q4, $q6 ) );
$this->assertCount( 1, $unused );
- $this->assertEquals( $q6, reset( $unused ), 'Q6 shouold be
unused' );
+ $this->assertEquals( $q6, reset( $unused ), 'Q6 should be
unused' );
}
/**
--
To view, visit https://gerrit.wikimedia.org/r/293736
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I74bc1c024bf287618879f0805b647ebd6731c254
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Hoo man <[email protected]>
Gerrit-Reviewer: Aude <[email protected]>
Gerrit-Reviewer: Daniel Kinzler <[email protected]>
Gerrit-Reviewer: JanZerebecki <[email protected]>
Gerrit-Reviewer: Jcrespo <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits