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

           Summary: USE INDEX is inserted in the wrong place when left
                    joining in other tables
           Product: MediaWiki
           Version: 1.18-svn
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: Database
        AssignedTo: wikibugs-l@lists.wikimedia.org
        ReportedBy: s...@reedyboy.net


After r82659, the following query was created

SELECT user_name,MAX(user_id) AS user_id,MAX(user_editcount) AS
edits,COUNT(ug_group) AS numgroups,MAX(ug_group) AS
singlegroup,MIN(user_registration) AS creation,MAX(ipb_deleted) AS ipb_deleted
FROM `mw_user` LEFT JOIN `mw_user_groups` ON ((user_id=ug_user)) LEFT JOIN
`mw_ipblocks` ON ((user_id=ipb_user AND ipb_deleted=1 AND ipb_auto=0)) FORCE
INDEX (user_name) WHERE (ipb_deleted IS NULL) GROUP BY user_name ORDER BY
user_name LIMIT 51\G

It needs to be

SELECT user_name,MAX(user_id) AS user_id,MAX(user_editcount) AS
edits,COUNT(ug_group) AS numgroups,MAX(ug_group) AS
singlegroup,MIN(user_registration) AS creation,MAX(ipb_deleted) AS ipb_deleted
FROM `mw_user` FORCE INDEX (user_name) LEFT JOIN `mw_user_groups` ON
((user_id=ug_user)) LEFT JOIN `mw_ipblocks` ON ((user_id=ipb_user AND
ipb_deleted=1 AND ipb_auto=0))  WHERE (ipb_deleted IS NULL) GROUP BY user_name
ORDER BY user_name LIMIT 51\G

http://svn.wikimedia.org/viewvc/mediawiki/branches/REL1_17/phase3/includes/specials/SpecialListusers.php?view=annotate

^ It seems in 1.17 (I broke the index inclusion in r79699) it's done a bit
hackily...

-- 
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
Wikibugs-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to