[TYPO3-dev] Are performance improvements part of maintaince	releases?
    Rupert Germann 
    rupi at gmx.li
       
    Wed Jun 24 16:19:43 CEST 2009
    
    
  
Ingmar Schlecht wrote:
> No, what I mean is a scenario like this:
> 
> A FE plugin does this:
>  - first fetches the page record with getPage_noCheck($uid)
>  - then it changes the record using an UPDATE SQL statement
>  - then it calls getPage_noCheck($uid) again to get the updated result
> 
> ...or something like this.
> 
> From my experience, that is the most frequent way in which such caches
> break something.
> 
> However, I agree that such a situation appears quite improbable for the
> specific function we're talking about.
ok, I think I got the point. In case I have a plugin which does this:
function main ($content,$conf) {
  $pid = $conf['pid'];
  $content = $this->renderManyLinksToTheSamePage($pid);
  $this->changePageRecord($pid);
  $content .= $this->renderManyLinksToTheSamePage($pid);
  return $content;
}
Then the resulting typolinks of the second call to
renderManyLinksToTheSamePage() will always have been wrong (at least in
TYPO3 4.2.x). tslib_content->typolink() also calls function
sys_page->getPage() which already caches its results during one page
request (introduced with rev 2626 published with 4.2.0).
besides the pageID this cache also takes some other parameters into account
but $this->where_groupAccess, $this->where_hid_del and
$this->sys_language_uid will not change after class t3lib_page is
initialized. So this function will not detect a possibly deleted page (and
also no versions and language overlays).
So adding another cache will not change the behaviour.
greets
Rupert
    
    
More information about the TYPO3-dev
mailing list