The GenderCache (added in r82029) does not store the default value for non-existing users.
Set contentlanguage = de and put the link "[[User:Non-existing]]" in a edit box and show the preview.
That results in the following sql queries (and many more)
SELECT user_name,up_value FROM user LEFT JOIN user_properties ON ((user_id = up_user) AND up_property = 'gender') WHERE user_name = 'Non-existing' (MediaWiki::run/MediaWiki::main/MediaWiki::performRequest/MediaWiki::performAction/EditPage::submit/EditPage::edit/EditPage::showEditForm/EditPage::getPreviewText/StubObject::parse/StubObject::__call/StubObject::_call/call_user_func_array/Parser::parse/Parser::internalParse/Parser::replaceInternalLinks/Parser::replaceInternalLinks2/Title::getPrefixedText/Title::prefix/Title::getNsText/GenderCache::getGenderOf/GenderCache::doQuery)
SELECT user_name,up_value FROM user LEFT JOIN user_properties ON ((user_id = up_user) AND up_property = 'gender') WHERE user_name = 'Non-existing' (MediaWiki::run/MediaWiki::main/MediaWiki::performRequest/MediaWiki::performAction/EditPage::submit/EditPage::edit/EditPage::showEditForm/EditPage::getPreviewText/StubObject::parse/StubObject::__call/StubObject::_call/call_user_func_array/Parser::parse/Parser::internalParse/Parser::replaceInternalLinks/Parser::replaceInternalLinks2/LinkHolderArray::makeHolder/Title::getPrefixedDBkey/Title::prefix/Title::getNsText/GenderCache::getGenderOf/GenderCache::doQuery)
SELECT page_id,page_namespace,page_title,page_is_redirect,page_len,page_latest FROM page WHERE (page_namespace = '2' AND page_title = 'Non-existing') (MediaWiki::run/MediaWiki::main/MediaWiki::performRequest/MediaWiki::performAction/EditPage::submit/EditPage::edit/EditPage::showEditForm/EditPage::getPreviewText/StubObject::parse/StubObject::__call/StubObject::_call/call_user_func_array/Parser::parse/Parser::replaceLinkHolders/LinkHolderArray::replace/LinkHolderArray::replaceInternal)
SELECT user_name,up_value FROM user LEFT JOIN user_properties ON ((user_id = up_user) AND up_property = 'gender') WHERE user_name = 'Non-existing' (MediaWiki::run/MediaWiki::main/MediaWiki::performRequest/MediaWiki::performAction/EditPage::submit/EditPage::edit/EditPage::showEditForm/EditPage::getPreviewText/StubObject::parse/StubObject::__call/StubObject::_call/call_user_func_array/Parser::parse/Parser::replaceLinkHolders/LinkHolderArray::replace/LinkHolderArray::replaceInternal/LinkCache::addBadLinkObj/Title::getPrefixedDBkey/Title::prefix/Title::getNsText/GenderCache::getGenderOf/GenderCache::doQuery)
SELECT user_name,up_value FROM user LEFT JOIN user_properties ON ((user_id = up_user) AND up_property = 'gender') WHERE user_name = 'Non-existing' (MediaWiki::run/MediaWiki::main/MediaWiki::performRequest/MediaWiki::performAction/EditPage::submit/EditPage::edit/EditPage::showEditForm/EditPage::getPreviewText/StubObject::parse/StubObject::__call/StubObject::_call/call_user_func_array/Parser::parse/Parser::replaceLinkHolders/LinkHolderArray::replace/LinkHolderArray::replaceInternal/Linker::link/Linker::linkUrl/Title::getLinkUrl/Title::getLocalURL/Title::getPrefixedDBkey/Title::prefix/Title::getNsText/GenderCache::getGenderOf/GenderCache::doQuery)
One call for the LinkBatch (ok), but 4 calls inside the GenderCache, that is not needed in my opinion.
Having the link [[User:Admin]] (a existing user) in the preview gives:
SELECT user_name,up_value FROM user LEFT JOIN user_properties ON ((user_id = up_user) AND up_property = 'gender') WHERE user_name = 'Admin' (MediaWiki::run/MediaWiki::main/MediaWiki::performRequest/MediaWiki::performAction/EditPage::submit/EditPage::edit/EditPage::showEditForm/EditPage::getPreviewText/StubObject::parse/StubObject::__call/StubObject::_call/call_user_func_array/Parser::parse/Parser::internalParse/Parser::replaceInternalLinks/Parser::replaceInternalLinks2/Title::getPrefixedText/Title::prefix/Title::getNsText/GenderCache::getGenderOf/GenderCache::doQuery)
SELECT page_id,page_namespace,page_title,page_is_redirect,page_len,page_latest FROM page WHERE (page_namespace = '2' AND page_title = 'Admin') (MediaWiki::run/MediaWiki::main/MediaWiki::performRequest/MediaWiki::performAction/EditPage::submit/EditPage::edit/EditPage::showEditForm/EditPage::getPreviewText/StubObject::parse/StubObject::__call/StubObject::_call/call_user_func_array/Parser::parse/Parser::replaceLinkHolders/LinkHolderArray::replace/LinkHolderArray::replaceInternal)
Which looks ok.
Version: 1.20.x
Severity: normal