[Chandler-dev] Index ordering and case sensitivity

Bryan Stearns stearns at osafoundation.org
Wed Nov 15 12:10:56 PST 2006


OK, after a conversation in IRC, Grant, Andi, and I have a strategy:

- I'll use 'method' indexes for the dashboard columns that involve 
string indexing (they take two UUIDs and return -1|0|1, so avoid item 
loading overhead, but still not bad when the items are already loaded); 
this fits in well with the IndexDefinition items I'm already creating 
for each column, so that's where I can put the method.

- 'method' indexes allow me to do locale-based case-insensitive comparison.

- I'll add code to detect a locale change at startup, and either force 
--repair (which rebuilds indexes), or just remove all the dashboard 
indexes (they'll be lazily recreated as needed).

...Bryan

Grant Baillie wrote:
> On 15 Nov, 2006, at 11:09, Bryan Stearns wrote:
>
>> In looking into bug 5718, I noticed that string comparison for 
>> indexing is done without ignoring case.
>>
>> This probably isn't what users expect, but the fix for this isn't 
>> simple: case-insensitive comparison is locale-sensitive, which would 
>> indicate that we'd need to reindex when the user changes locales, 
>> which could be expensive.
>>
>> Any ideas on how to deal with this problem?
>
> I'd vote for locale-aware sorting, and reindexing when the user 
> changes locales. Changing locales isn't a particularly frequent 
> operation, and AFAIK it's only supported via relaunch of Chandler for 
> Preview.
>
> --Grant
>
>
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> Open Source Applications Foundation "chandler-dev" mailing list
> http://lists.osafoundation.org/mailman/listinfo/chandler-dev



More information about the chandler-dev mailing list