[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