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

This is a prefetching lookup that is aware of the migration plan of old to new term stores and encloses the business logic of selecting the right store to fetch items terms from based on where those items fall in the different ranges of migration stages. More...

+ Inheritance diagram for Wikibase\Lib\Store\Sql\Terms\TermStoresDelegatingPrefetchingItemTermLookup:
+ Collaboration diagram for Wikibase\Lib\Store\Sql\Terms\TermStoresDelegatingPrefetchingItemTermLookup:

Public Member Functions

 __construct (DataAccessSettings $dataAccessSettings, PrefetchingTermLookup $normalizedStorePrefetchingTermLookup, PrefetchingTermLookup $wbTermsStorePrefetchingTermLookup)
 
 prefetchTerms (array $entityIds, array $termTypes, array $languageCodes)
 Loads a set of terms into the buffer.
 
 getPrefetchedTerm (EntityId $entityId, $termType, $languageCode)
 Returns a term that was previously loaded by prefetchTerms.
 
 getLabel (EntityId $entityId, $languageCode)
 
 getLabels (EntityId $entityId, array $languageCodes)
 
 getDescription (EntityId $entityId, $languageCode)
 
 getDescriptions (EntityId $entityId, array $languageCodes)
 
 getPrefetchedAliases (EntityId $entityId, $languageCode)
 Returns terms that were previously loaded by prefetchTerms.
 

Private Member Functions

 splitIdsPerTargetTermsStore (array $entityIds)
 

Private Attributes

 $dataAccessSettings
 
 $normalizedStorePrefetchingTermLookup
 
 $wbTermsStorePrefetchingTermLookup
 

Detailed Description

This is a prefetching lookup that is aware of the migration plan of old to new term stores and encloses the business logic of selecting the right store to fetch items terms from based on where those items fall in the different ranges of migration stages.

Constructor & Destructor Documentation

◆ __construct()

Wikibase\Lib\Store\Sql\Terms\TermStoresDelegatingPrefetchingItemTermLookup::__construct ( DataAccessSettings  $dataAccessSettings,
PrefetchingTermLookup  $normalizedStorePrefetchingTermLookup,
PrefetchingTermLookup  $wbTermsStorePrefetchingTermLookup 
)

Member Function Documentation

◆ getDescription()

Wikibase\Lib\Store\Sql\Terms\TermStoresDelegatingPrefetchingItemTermLookup::getDescription ( EntityId  $entityId,
  $languageCode 
)

◆ getDescriptions()

Wikibase\Lib\Store\Sql\Terms\TermStoresDelegatingPrefetchingItemTermLookup::getDescriptions ( EntityId  $entityId,
array  $languageCodes 
)

◆ getLabel()

Wikibase\Lib\Store\Sql\Terms\TermStoresDelegatingPrefetchingItemTermLookup::getLabel ( EntityId  $entityId,
  $languageCode 
)

◆ getLabels()

Wikibase\Lib\Store\Sql\Terms\TermStoresDelegatingPrefetchingItemTermLookup::getLabels ( EntityId  $entityId,
array  $languageCodes 
)

◆ getPrefetchedAliases()

Wikibase\Lib\Store\Sql\Terms\TermStoresDelegatingPrefetchingItemTermLookup::getPrefetchedAliases ( EntityId  $entityId,
  $languageCode 
)

Returns terms that were previously loaded by prefetchTerms.

Parameters
EntityId$entityId
string$languageCode
Returns
string[]|false|null The aliases, or false of that entity has no aliases, or null if the term was not yet requested via prefetchTerms().

Implements Wikibase\DataAccess\AliasTermBuffer.

◆ getPrefetchedTerm()

Wikibase\Lib\Store\Sql\Terms\TermStoresDelegatingPrefetchingItemTermLookup::getPrefetchedTerm ( EntityId  $entityId,
  $termType,
  $languageCode 
)

Returns a term that was previously loaded by prefetchTerms.

Parameters
EntityId$entityId
string$termType
string$languageCode
Returns
string|false|null The term, or false of that term is known to not exist, or null if the term was not yet requested via prefetchTerms().

◆ prefetchTerms()

Wikibase\Lib\Store\Sql\Terms\TermStoresDelegatingPrefetchingItemTermLookup::prefetchTerms ( array  $entityIds,
array  $termTypes,
array  $languageCodes 
)

Loads a set of terms into the buffer.

The source from which to fetch would typically be supplied to the buffer's constructor.

Parameters
EntityId[]$entityIds
string[] | null$termTypesThe desired term types; null means all.
string[] | null$languageCodesThe desired languages; null means all.

◆ splitIdsPerTargetTermsStore()

Wikibase\Lib\Store\Sql\Terms\TermStoresDelegatingPrefetchingItemTermLookup::splitIdsPerTargetTermsStore ( array  $entityIds)
private
Parameters
ItemId[]$entityIds
Returns
array of two arrays: [ [ entity id to fetch from new store, ... ], [ entity id to fetch from old store, ... ] ]

Member Data Documentation

◆ $dataAccessSettings

Wikibase\Lib\Store\Sql\Terms\TermStoresDelegatingPrefetchingItemTermLookup::$dataAccessSettings
private

◆ $normalizedStorePrefetchingTermLookup

Wikibase\Lib\Store\Sql\Terms\TermStoresDelegatingPrefetchingItemTermLookup::$normalizedStorePrefetchingTermLookup
private

◆ $wbTermsStorePrefetchingTermLookup

Wikibase\Lib\Store\Sql\Terms\TermStoresDelegatingPrefetchingItemTermLookup::$wbTermsStorePrefetchingTermLookup
private

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