Page MenuHomePhabricator

TemplateData queries a page prop in OutputPageBeforeHTML even if it's not even necessary
Closed, ResolvedPublic

Description

TemplateData queries a page prop here every time the OutputPageBeforeHTML hook is run. TemplateDataHtmlFormatter::replaceEditLink() will then perform a string replacement using preg_replace_callback().
However, we could just avoid the unnecessary DB query in most cases (when there's no template data on the page) by checking if the string that's being replaced is even present in the text before querying the page prop.

Event Timeline

Change #1290882 had a related patch set uploaded (by SomeRandomDeveloper; author: SomeRandomDeveloper):

[mediawiki/extensions/TemplateData@master] Hooks: Skip page prop check if there is no edit link to replace

https://gerrit.wikimedia.org/r/1290882

Change #1290882 merged by jenkins-bot:

[mediawiki/extensions/TemplateData@master] Hooks: Skip page prop check if there is no edit link to replace

https://gerrit.wikimedia.org/r/1290882