GreedyDatabaseBackend
Read onlyYes
Fetches all records of a single table of one / multiple PID(s) in one DB query, and stores them in a runtime cache.
The records are neither grouped nor do we care about
- sorting
 - limit / offset
 - or BE User permissions.
 
It is "greedy" because it is meant to do simple query in a fast way, to reduce overlays on a "per record" basis.
The records are fetched depending on
- fe_group permissions
 - language (incl. overlays etc)
 - workspace
 - visibility restrictions (starttime / endtime / hidden / deleted)
 
The class returns an array and does not handle objects, as it is very "lowlevel" and thus: internal.
not part of public API, as this needs to be streamlined and proven
Table of Contents
Properties
- $connectionPool : ConnectionPool
 - $recordAccessVoter : RecordAccessVoter
 - $runtimeCache : FrontendInterface
 
Methods
- __construct() : mixed
 - getRows() : array<string|int, mixed>
 - createRuntimeCacheIdentifier() : string
 - handleOverlays() : array<string|int, mixed>
 
Properties
$connectionPool
        protected
            ConnectionPool
    $connectionPool
    
    
    
    
    
    
$recordAccessVoter
        protected
            RecordAccessVoter
    $recordAccessVoter
    
    
    
    
    
    
$runtimeCache
        protected
            FrontendInterface
    $runtimeCache
    
    
    
    
    
    Attributes
- #[Autowire]
 - $service: 'cache.runtime'
 
Methods
__construct()
    public
                    __construct(FrontendInterface $runtimeCache, RecordAccessVoter $recordAccessVoter, ConnectionPool $connectionPool) : mixed
    Parameters
- $runtimeCache : FrontendInterface
 - $recordAccessVoter : RecordAccessVoter
 - $connectionPool : ConnectionPool
 
getRows()
    public
                    getRows(string $tableName, array<string|int, mixed> $uids, Context $context) : array<string|int, mixed>
    Parameters
- $tableName : string
 - $uids : array<string|int, mixed>
 - $context : Context
 
Return values
array<string|int, mixed>createRuntimeCacheIdentifier()
    protected
                    createRuntimeCacheIdentifier(string $tableName, array<string|int, mixed> $uids, Context $context) : string
    Parameters
- $tableName : string
 - $uids : array<string|int, mixed>
 - $context : Context
 
Return values
stringhandleOverlays()
    protected
                    handleOverlays(array<string|int, mixed> $rows, string $dbTable, Context $context) : array<string|int, mixed>
    Parameters
- $rows : array<string|int, mixed>
 - $dbTable : string
 - $context : Context