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

Reply via email to