Last modified: 2007-12-28 14:21:52 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 T13689, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 11689 - Page names are compared case insensitively within queries
Page names are compared case insensitively within queries
Status: RESOLVED FIXED
Product: MediaWiki extensions
Classification: Unclassified
Semantic MediaWiki (Other open bugs)
unspecified
All All
: Normal major (vote)
: ---
Assigned To: Nobody - You can work on this!
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2007-10-17 05:32 UTC by Sergey Chernyshev
Modified: 2007-12-28 14:21 UTC (History)
1 user (show)

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


Attachments

Description Sergey Chernyshev 2007-10-17 05:32:25 UTC
In SMW 1.0 page names are not compared case sensitively withing queries.

When Page1 defines [[Some page property::CAPITALIZED]] and Page2 defines [[Some page property::DeCaPiTaLiZeD]] when "Property:Some page property" has type Type:Page, following query:

  <ask>[[Some page property::Capitalized]]</ask>

returns both Page1 and Page2 as a result.

While it might be fine to compare strings case insensitively, comparing page names must follow MediaWiki configuration described at http://meta.wikimedia.org/wiki/Help:Page_name#Case-sensitivity, which means that (according to *current* functionality) it must work case sensitively (including first letter if $wgCapitalLinks is set to false).
Comment 1 Markus Krötzsch 2007-12-28 14:21:52 UTC
I agree that this is a bug, though I do not see why exactly this problem is "major" ...

I have now changed all SMW created database tables to use "binary" for their VARCHAR fields, just as MediaWiki does. This should force collations to be case-sensitive on new installations.

Some old installations may not have this setting for their tables yet. To change this, these sites can now make a "full" refresh of their semantic data, which involves a complete rebuild of the DB tables. The following command should be issued to do that:

%  php SMW_refreshData.php -vpf  &&  php SMW_refreshData.php -v

This full refresh can also be used to repair/modify the collation of all SMW tables according to a changed dfault setting of the DB. It is of course also possible to issue the two command separately, or to use start (-s) and end (-e) settings to do refreshing in parallel or in smaller chunks.

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


Navigation
Links