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