Does it behave the same way with an explicit collation option on the call to cts:element-attribute-values that matches the one in the range index definition?
http://developer.marklogic.com/pubs/4.2/apidocs/Lexicons.html#cts:element-attribute-values On Jun 6, 2011, at 9:29 AM, Steve Mallen wrote: > Hi folks, > > I have another mystery for the lexicon experts :) > > I've been fetching values out of a string attribute range index in item > order and processing them a batch at a time. But I have noticed that > occasionally I get duplicate values out of the index. This is causing > conflicting updates (since I use the URI-encoded name as the basis for > document URIs and insert many documents per query). > > I would have expected the cts:element-attribute-values() to return a > list of unique string values - I don't really want to have to do > fn:distinct-values() over them, and wouldn't have thought this necessary. > > I have checked the exact character strings returned by the function and > they are identical - I checked this by doing a string-to-codepoints() on > the suspect values. Here is an example of what I'm calling and getting > back from the server: > > cts:element-attribute-values(xs:QName('lexi'), > xs:QName('formatted_name'), "Pia, H.", ("limit=50")) > > Pia, H. W. > Pia, Hans Werner > Piacente, V. > Piacente, Vincenzo > Piacenti, Marcello > Piacentini-Sorbi, Sylvia > Piacentini, A. > Piacentini, Dario > Piacentini, Giuseppe > Piacentini, I. > Piacentini, John C. > Piacentini, Leonardo > Piacentini, Lucia > Piacentini, M. > Piacentini, Mauro > Piacentini, Paola > Piacentino, Filippo > Piacentino, G. > Piacere, A > Piačková, Veronika > Piacquadio, A. M. > Piacquadio, Piera > Piaditis, George > Piaget, A. > Piaget, Gerald W. > Piaget, Jean > Piaggesi, A. > Piaggi, GianCarlo > Piaggi, Stefania > Piaggio, G. > Piaggio, Gilda > Piaggio, Maurizio > Piagnani, C. > Piagnani, Maria Claudia > Piagnerelli, M > Piagnerelli, M. > Piagnerelli, Michael > Piaia, F. > Piaia, Rosamari > Piálek, Jaroslav > Piall, E. M. > Pialot, Olivier > Pialoux, G. > Pialoux, Vincent > Pia, F. > Pia, H. W. > Pia, Hans Werner > Pia, Julius > Pia, M. G. > Pia, S. > > Notice that "Pia, H.W." is returned from the top of the list and also > near the bottom. Now this suggests to me that either: > > a) There is only one value in the index and the function call is > returning it twice in different locations. > > or > > b) There are actually two values in the index, but they are somehow > being normalised and returned as the same string value. > > I am using the "Root Collation" for the range index. Could that be the > issue? This seems like it may be a bug to me, but perhaps I'm doing > something silly. > > Many thanks for your thoughts, > > -Steve > > _______________________________________________ > General mailing list > [email protected] > http://developer.marklogic.com/mailman/listinfo/general --- Ron Hitchens {mailto:[email protected]} Ronsoft Technologies +44 7879 358 212 (voice) http://www.ronsoft.com +1 707 924 3878 (fax) Bit Twiddling At Its Finest "No amount of belief establishes any fact." -Unknown _______________________________________________ General mailing list [email protected] http://developer.marklogic.com/mailman/listinfo/general
