Page MenuHomePhabricator

Semantic inline query by property that has non-english name returns nothing.
Closed, DeclinedPublic

Description

Author: 4d876b82

Description:
When I try to search by property that has non-english name,
inline query returns nothing.

The page "/wiki/Special:SearchByProperty/.../..." gives proper results.

English names also work fine.

This bug cannot be reproduced at http://sandbox.semantic-mediawiki.org/

SMW: 1.1.1 (converted from 0.7)
MediaWiki: 0.11.0rc1
PHP 5.2.0
MySQL: 5.0.32
OS: Debian 4.0 i586


Version: unspecified
Severity: normal
OS: Linux
Platform: PC

Details

Reference
bz13960

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 10:12 PM
bzimport set Reference to bz13960.
bzimport added a subscriber: Unknown Object (MLST).

4d876b82 wrote:

That patch seems to solve the issue

Columns in temporary tables need to be created as 'character set utf8 collate utf8_bin' instead of 'binary'.

attachment smw.diff.gz ignored as obsolete

Please attach unzipped patch.

We create all SMW tables with "binary", while "utf8" is an experimental setting used on some MediaWiki installations. The new SMW store will hardly rely on any MediaWiki tables, so it should be fine to use "binary". Otherwise, the code has to know what format the MediaWiki tables are in (or there would probably be a MySQL collation error). Setting the format to hardcoded utf8 is not an option.

I set this bug to WORKSFORME since I believe it should work in the new storage engine (it has no string fields in the temporary tables at all). This new store will be released with the next SMW version. If you run the development version of SMW, you can try this out already as follows:

(1) Run the maintenance script

SMW_setup.php -b SMWSQLStore2

(2) Run the maintenance scripts

SMW_refreshData.php -vtpb SMWSQLStore2
SMW_refreshData.php -vb SMWSQLStore2

These are long-running scripts. Please check your memory use while using them (there are PHP memory leaks in PHP 5 that consume much memory). Use the parameters -s and -e to refresh your wiki in chunks if needed.

(3) Insert the line

$smwgDefaultStore = 'SMWSQLStore2';

into your LocalSettings.php. Only this switches your storage engine. Try some pages afterwards, and comment out the line again if you wish to use the old SMWSQLStore engine again. Please report any troubles here or on the support mainling list semediawiki-user.