Here's what I found. When Mediawiki upgrades, it doesnt seem to care to update the
table schemes properly. Here's a sample of what I found:
Old table row specs, for mw_image (this is after the upgrade has been applied from 1.9.3
to 1.13.0):
img_size int(8)
img_width int(5)
img_height int(5)
New table row specs for the same table, mw_image (for a brand new 1.13.0 installation):
img_size int(10)
img_width int(11)
img_height int(11)
The field sizes are different as you can see. New tables have bigger fields but the old
ones still contain short fields after the upgrade is applied.This is just an example. The
bug that I was getting (illegal mix of collations), was fixed due to the Collation fields
being different in the cases for an upgraded MW and a new MW. I also noticed differences
in all the other fields as well (Default, Type, Binary, Attributes) for tables rows.
Sometimes the differences were significant. Here are some real examples:
- length of data field doubled for example, int(5) to int (10)
- the Type changed in an upgraded version from "varbinary(255)" to
"blob", in a new installation
Usually, Collate was empty for a brand new 1.13.0, while it was latin_bin or
latin1_swedish_ci for an upgraded version.
There must be important reasons why changes were made to the rows as versions progressed.
So i guess this is something that should be fixed for upgrading? That means, when an
upgrade is being applied, it should update all the row data for each table as well.
Erik
--- On Sat, 8/23/08, Eric K <ek79501(a)yahoo.com> wrote:
From: Eric K <ek79501(a)yahoo.com>
Subject: [Mediawiki-l] Upgraded from 1.9.3 to 1.13.0- got error: Illegal mix of
collations
To: mediawiki-l(a)lists.wikimedia.org
Date: Saturday, August 23, 2008, 11:30 AM
Everything works on my wiki, except when I view the logs for a page, I get this
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 "LinkCache::addLinkObj". MySQL returned error
"1267: Illegal mix of collations (latin1_bin,IMPLICIT) and
(utf8_general_ci,COERCIBLE) for operation '=' (localhost)".
Any ideas on how to fix this? I can go into myPhPAdmin and manipulate tables if
needed.
thanks
Eric
_______________________________________________
MediaWiki-l mailing list
MediaWiki-l(a)lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-l