[Mediawiki-l] DPL Database Error

Baker, David W David.W.Baker at conocophillips.com
Fri Feb 6 20:26:22 UTC 2009


Hello all,

I just moved my wiki database (character set latin1, collation latin1_swedish_ci, engine InnoDB) to another database server using a MySQL dump (with the --default-character-set=latin1 option).  I also upgraded the MediaWiki version from 1.11.2 to 1.13.3 at the same time (so I've been using the MediaWiki update.php script from the maintenance directory).

Now any page that uses the DynamicPageList extension produces variations of the following errors:

The DPL extension (version 1.7.4) produced a SQL statement which lead to a Database error.
The reason may be an internal error of DPL or an error which you made,
especially when using DPL options like titleregexp.
Query text is:
SELECT DISTINCT `page`.page_namespace as page_namespace,`page`.page_title as page_title, REPLACE(REPLACE(CONCAT( IF(`page`.page_namespace=0, , CONCAT(CASE `page`.page_namespace WHEN 1 THEN 'Talk' WHEN 2 THEN 'User' WHEN 3 THEN 'User_talk' WHEN 4 THEN 'SST_Wiki' WHEN 5 THEN 'SST_Wiki_talk' WHEN 6 THEN 'Image' WHEN 7 THEN 'Image_talk' WHEN 8 THEN 'MediaWiki' WHEN 9 THEN 'MediaWiki_talk' WHEN 10 THEN 'Template' WHEN 11 THEN 'Template_talk' WHEN 12 THEN 'Help' WHEN 13 THEN 'Help_talk' WHEN 14 THEN 'Category' WHEN 15 THEN 'Category_talk' WHEN 100 THEN 'Portal' WHEN 101 THEN 'Portal_talk' END, ':')), `page`.page_title), '_', ' '),'♣','⣣') COLLATE utf8_general_ci as sortkey FROM `page` INNER JOIN `categorylinks` AS cl0 ON `page`.page_id=cl0.cl_from AND (cl0.cl_to='Geomodeling') WHERE 1=1 AND `page`.page_is_redirect=0 ORDER BY sortkey ASC LIMIT 0, 500 
Error message is:
Illegal mix of collations (utf8_general_ci,COERCIBLE) and (latin1_bin,IMPLICIT) for operation 'concat' (server) 

Or:

Error in numRows(): Illegal mix of collations (utf8_general_ci,COERCIBLE) and (latin1_bin,IMPLICIT) for operation 'concat' (hotce10)
Backtrace:
#0 /d/web01/wiki/shared_wiki/extensions/DynamicPageList/DynamicPageList2.php(2942): Database->numRows(false)
#1 /d/web01/wiki/shared_wiki/extensions/DynamicPageList/DynamicPageList2.php(856): ExtDynamicPageList2::dynamicPageList('?uses=Template:...', Array, Object(Parser), Array, 'tag')
#2 [internal function]: ExtDynamicPageList2::dplTag('?uses=Template:...', Array, Object(Parser))
#3 /d/web01/wiki/shared_wiki/includes/parser/Parser.php(3287): call_user_func_array(Array, Array)
#4 /d/web01/wiki/shared_wiki/includes/parser/Preprocessor_DOM.php(982): Parser->extensionSubstitution(Array, Object(PPFrame_DOM))
#5 /d/web01/wiki/shared_wiki/includes/parser/Parser.php(2678): PPFrame_DOM->expand(Object(PPNode_DOM), 0)
#6 /d/web01/wiki/shared_wiki/includes/parser/Parser.php(966): Parser->replaceVariables('<table border="...')
#7 /d/web01/wiki/shared_wiki/includes/parser/Parser.php(321): Parser->internalParse('<table border="...')
#8 /d/web01/wiki/shared_wiki/includes/Article.php(3384): Parser->parse('<table border="...', Object(Title), Object(ParserOptions), true, true, 16287)
#9 /d/web01/wiki/shared_wiki/includes/Article.php(865): Article->outputWikiText('<table border="...')
#10 /d/web01/wiki/shared_wiki/includes/Wiki.php(437): Article->view()
#11 /d/web01/wiki/shared_wiki/includes/Wiki.php(59): MediaWiki->performAction(Object(OutputPage), Object(Article), Object(Title), Object(User), Object(WebRequest))
#12 /d/web01/wiki/shared_wiki/index.php(93): MediaWiki->initialize(Object(Title), Object(Article), Object(OutputPage), Object(User), Object(WebRequest))
#13 {main}

I've tried changing the database character set to utf8 (which is the default for the new database server), and even changing the engine to MyISAM.  My $wgDBmysql5 variable is set to false in LocalSettings.php

I've been working on this issue for a couple of days and would really appreciate any help you could offer.

Thanks!
David Baker



More information about the MediaWiki-l mailing list