Wikibase
MediaWiki Wikibase extension
Loading...
Searching...
No Matches
Wikibase\Lib\Store\Sql\Terms\DatabaseTermStoreWriterBase Class Reference

Base class for item/property TermStoreWriters. More...

+ Inheritance diagram for Wikibase\Lib\Store\Sql\Terms\DatabaseTermStoreWriterBase:

Public Member Functions

 __construct (RepoDomainDb $repoDb, JobQueueGroup $jobQueueGroup, TermInLangIdsAcquirer $termInLangIdsAcquirer, TermInLangIdsResolver $termInLangIdsResolver, StringNormalizer $stringNormalizer)
 

Protected Member Functions

 delete (Int32EntityId $entityId)
 
 store (Int32EntityId $entityId, Fingerprint $fingerprint)
 

Private Member Functions

 getDbw ()
 
 submitJobToCleanTermStorageRowsIfUnused (array $termInLangIdsToClean)
 
 acquireAndInsertTerms (Int32EntityId $entityId, Fingerprint $fingerprint)
 Acquire term in lang IDs for the given Fingerprint, store them in the table for the given entity ID, and return term in lang IDs that are no longer referenced and might now need to be cleaned up.
 
 deleteTermsWithoutClean (Int32EntityId $entityId)
 Delete rows for the given Int32EntityId, and return term in lang IDs that are no longer referenced and might now need to be cleaned up.
 

Private Attributes

 $repoDb
 
 $termInLangIdsAcquirer
 
 $termInLangIdsResolver
 
 $stringNormalizer
 
 $jobQueueGroup
 

Detailed Description

Base class for item/property TermStoreWriters.

See also
Item & Property Terms

Constructor & Destructor Documentation

◆ __construct()

Wikibase\Lib\Store\Sql\Terms\DatabaseTermStoreWriterBase::__construct ( RepoDomainDb  $repoDb,
JobQueueGroup  $jobQueueGroup,
TermInLangIdsAcquirer  $termInLangIdsAcquirer,
TermInLangIdsResolver  $termInLangIdsResolver,
StringNormalizer  $stringNormalizer 
)

Member Function Documentation

◆ acquireAndInsertTerms()

Wikibase\Lib\Store\Sql\Terms\DatabaseTermStoreWriterBase::acquireAndInsertTerms ( Int32EntityId  $entityId,
Fingerprint  $fingerprint 
)
private

Acquire term in lang IDs for the given Fingerprint, store them in the table for the given entity ID, and return term in lang IDs that are no longer referenced and might now need to be cleaned up.

Parameters
Int32EntityId$entityId
Fingerprint$fingerprint
Returns
int[] <prefix>term_in_lang_ids to that are no longer used by $entityId The returned term in lang IDs might still be used in wbt<entity>_terms rows for other entity IDs or elsewhere, and this should be checked just before cleanup. However, that may happen in a different transaction than this call.

◆ delete()

Wikibase\Lib\Store\Sql\Terms\DatabaseTermStoreWriterBase::delete ( Int32EntityId  $entityId)
protected

◆ deleteTermsWithoutClean()

Wikibase\Lib\Store\Sql\Terms\DatabaseTermStoreWriterBase::deleteTermsWithoutClean ( Int32EntityId  $entityId)
private

Delete rows for the given Int32EntityId, and return term in lang IDs that are no longer referenced and might now need to be cleaned up.

(The returned term in lang IDs might still be used in wbt_<entity>_terms rows for other entity IDs, and this should be checked just before cleanup. However, that may happen in a different transaction than this call.)

Parameters
Int32EntityId$entityId
Returns
int[]

◆ getDbw()

Wikibase\Lib\Store\Sql\Terms\DatabaseTermStoreWriterBase::getDbw ( )
private

◆ store()

Wikibase\Lib\Store\Sql\Terms\DatabaseTermStoreWriterBase::store ( Int32EntityId  $entityId,
Fingerprint  $fingerprint 
)
protected

◆ submitJobToCleanTermStorageRowsIfUnused()

Wikibase\Lib\Store\Sql\Terms\DatabaseTermStoreWriterBase::submitJobToCleanTermStorageRowsIfUnused ( array  $termInLangIdsToClean)
private

Member Data Documentation

◆ $jobQueueGroup

Wikibase\Lib\Store\Sql\Terms\DatabaseTermStoreWriterBase::$jobQueueGroup
private

◆ $repoDb

Wikibase\Lib\Store\Sql\Terms\DatabaseTermStoreWriterBase::$repoDb
private

◆ $stringNormalizer

Wikibase\Lib\Store\Sql\Terms\DatabaseTermStoreWriterBase::$stringNormalizer
private

◆ $termInLangIdsAcquirer

Wikibase\Lib\Store\Sql\Terms\DatabaseTermStoreWriterBase::$termInLangIdsAcquirer
private

◆ $termInLangIdsResolver

Wikibase\Lib\Store\Sql\Terms\DatabaseTermStoreWriterBase::$termInLangIdsResolver
private

The documentation for this class was generated from the following file: