https://bugzilla.wikimedia.org/show_bug.cgi?id=30972

       Web browser: ---
             Bug #: 30972
           Summary: GenderCache does not cached gender for non-existing
                    users
           Product: MediaWiki
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: Unprioritized
         Component: Internationalization
        AssignedTo: [email protected]
        ReportedBy: [email protected]
                CC: [email protected], [email protected]
    Classification: Unclassified


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.

-- 
Configure bugmail: https://bugzilla.wikimedia.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are on the CC list for the bug.

_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to