Denny Vrandecic has submitted this change and it was merged. Change subject: Implemented ValueSnakStore->removeSnaksOfSubject ......................................................................
Implemented ValueSnakStore->removeSnaksOfSubject Change-Id: I12700dc1e898fccf2f6254302fcefdfc2a127e57 --- M QueryEngine/includes/SQLStore/SnakStore/ValueSnakStore.php M QueryEngine/tests/phpunit/SQLStore/SnakStore/ValueSnakStoreTest.php 2 files changed, 31 insertions(+), 1 deletion(-) Approvals: Denny Vrandecic: Looks good to me, approved jenkins-bot: Verified diff --git a/QueryEngine/includes/SQLStore/SnakStore/ValueSnakStore.php b/QueryEngine/includes/SQLStore/SnakStore/ValueSnakStore.php index b0fcc15..4f3e80e 100644 --- a/QueryEngine/includes/SQLStore/SnakStore/ValueSnakStore.php +++ b/QueryEngine/includes/SQLStore/SnakStore/ValueSnakStore.php @@ -98,7 +98,12 @@ } public function removeSnaksOfSubject( $internalSubjectId ) { - + foreach ( $this->dataValueHandlers as $dvHandler ) { + $this->queryInterface->delete( + $dvHandler->getDataValueTable()->getTableDefinition()->getName(), + array( 'subject_id' => $internalSubjectId ) + ); + } } } diff --git a/QueryEngine/tests/phpunit/SQLStore/SnakStore/ValueSnakStoreTest.php b/QueryEngine/tests/phpunit/SQLStore/SnakStore/ValueSnakStoreTest.php index 61d3046..efe3a82 100644 --- a/QueryEngine/tests/phpunit/SQLStore/SnakStore/ValueSnakStoreTest.php +++ b/QueryEngine/tests/phpunit/SQLStore/SnakStore/ValueSnakStoreTest.php @@ -179,4 +179,29 @@ $store->storeSnakRow( $snakRow ); } + public function testRemoveSnaksOfSubject() { + $internalSubjectId = 4242; + + $stringHandler = $this->newStringHandler(); + + $queryInterface = $this->getMock( 'Wikibase\Database\QueryInterface' ); + + $queryInterface->expects( $this->atLeastOnce() ) + ->method( 'delete' ) + ->with( + $this->equalTo( $stringHandler->getDataValueTable()->getTableDefinition()->getName() ), + $this->equalTo( array( 'subject_id' => $internalSubjectId ) ) + ); + + $store = new ValueSnakStore( + $queryInterface, + array( + 'string' => $stringHandler + ), + SnakRole::MAIN_SNAK + ); + + $store->removeSnaksOfSubject( $internalSubjectId ); + } + } -- To view, visit https://gerrit.wikimedia.org/r/65553 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I12700dc1e898fccf2f6254302fcefdfc2a127e57 Gerrit-PatchSet: 3 Gerrit-Project: mediawiki/extensions/Wikibase Gerrit-Branch: master Gerrit-Owner: Jeroen De Dauw <jeroended...@gmail.com> Gerrit-Reviewer: Anja Jentzsch <a...@anjeve.de> Gerrit-Reviewer: Ataherivand <abraham.taheriv...@wikimedia.de> Gerrit-Reviewer: Aude <aude.w...@gmail.com> Gerrit-Reviewer: Daniel Kinzler <daniel.kinz...@wikimedia.de> Gerrit-Reviewer: Daniel Werner <daniel.wer...@wikimedia.de> Gerrit-Reviewer: Denny Vrandecic <denny.vrande...@wikimedia.de> Gerrit-Reviewer: Henning Snater <henning.sna...@wikimedia.de> Gerrit-Reviewer: Jens Ohlig <jens.oh...@wikimedia.de> Gerrit-Reviewer: Jeroen De Dauw <jeroended...@gmail.com> Gerrit-Reviewer: John Erling Blad <jeb...@gmail.com> Gerrit-Reviewer: Lydia Pintscher <lydia.pintsc...@wikimedia.de> Gerrit-Reviewer: Markus Kroetzsch <mar...@semantic-mediawiki.org> Gerrit-Reviewer: Nikola Smolenski <smole...@eunet.rs> Gerrit-Reviewer: Silke Meyer <silke.me...@wikimedia.de> Gerrit-Reviewer: Tobias Gritschacher <tobias.gritschac...@wikimedia.de> Gerrit-Reviewer: jenkins-bot _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits