[Mediawiki-l] Sudden SQL Error When Sharing "user" Table Across 2 Wikis

John Thomson thomsonj at stonewayconsulting.ca
Sun Mar 22 16:14:22 UTC 2009


Hello,

I have two wikis, with two databases (no prefixes), sharing the *user* 
and *user_groups* tables using a VIEW.  To accomplish this, I created 
wiki1 as one normally would, nothing special there.  When wiki2 came on 
board, I dropped the tables "user" and "user_groups" for wiki2 and 
granted a view for those tables into wiki1:

mysql> CREATE VIEW wiki2:user_groups AS SELECT * From wiki1:user_groups

and

mysql> CREATE VIEW wiki2:user AS SELECT * From wiki2:user

(Solution borrowed from http://www.mwusers.com/forums/showthread.php?t=2092)

Now, this has been working very well for about 6 months in 2 different 
environments (PROD and DEV).  I recently received a report that the 
"List Users" special page in wiki2 (in PROD, of course) is no longer 
working, and is throwing an error.:

A database query syntax error has occurred. This may indicate a bug in 
the software. The last attempted database query was:

    (SQL query hidden)

from within function "IndexPager::reallyDoQuery (UsersPager)". MySQL 
returned error "1221: Incorrect usage of index hints and VIEW (localhost)".

The rest of the wiki works just fine.  Standard SQL queries on the 
tables work just fine.  The List Users special page loads just fine for 
wiki1, and there are no other (apparent) problems with wiki2.  DEV is 
ticking along just fine.  Same extensions, same code, same versions, 
same host...aside from content, there is no other difference between 
these wikis.

Another thing to consider is that I am consolidating the wikis shortly, 
within a couple of months, but I need to explain this, if nothing 
else.   :-)

Does anyone have any insight into what could have happened here?

Versions:
MW - 1.13.1
MySQL - 5.1.30-community
PHP 5.2.6

Many thanks!!

John




More information about the MediaWiki-l mailing list