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