Last modified: 2014-05-05 12:43:38 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T49632, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 47632 - Use case sensitive collation in wb_items_by_site
Use case sensitive collation in wb_items_by_site
Status: NEW
Product: MediaWiki extensions
Classification: Unclassified
WikidataRepo (Other open bugs)
unspecified
All All
: Low normal (vote)
: ---
Assigned To: Wikidata bugs
u=dev c=backend p=0
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2013-04-25 09:49 UTC by Daniel Kinzler
Modified: 2014-05-05 12:43 UTC (History)
2 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Daniel Kinzler 2013-04-25 09:49:13 UTC
In the wb_items_by_site, the ips_page_title field is declared to be a VARCHAR. Per default, MySQL will apply case insensitive collation to fields with that type, removing the distinction between Foo, FOO and FoO. That distinction however is quite important, we might have distinct links to all of these.

Note that this doesn't happen when setting up mediawiki in "binary" database mode, since then VARCHAR gets changed to VARBINARY automatically. But this should still work correctly for people using utf-8 mode. So:

We can either declare this field to use binary collation, like we do for term_text in the wb_terms table: ips_page_title VARCHAR(255) BINARY NOT NULL. Or we could declare it to use case *sensitive* UTF-8 collation:  ips_page_title VARCHAR(255) COLLATE utf8_unicode_520_ci NOT NULL.

However, it must be tested how well schema conversion works with these, for the different MySQL modes as well as for SQLite, PostGreSQL, etc

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links