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

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Open Source Applications Foundation "chandler-dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/chandler-dev

Reply via email to