Hi Danny,
Are you talking about duplicate uri’s? That is normally not possible. If you mean some element value that occurs in more than one document, do something like this: xdmp:estimate(cts:search(doc(), cts:element-value-query(xs:QName(‘myelem’), ‘myid’))) Kind regards, Geert *Van:* [email protected] [mailto: [email protected]] *Namens *Danny Sinang *Verzonden:* donderdag 30 augustus 2012 21:13 *Aan:* MarkLogic Developer Discussion *Onderwerp:* Re: [MarkLogic Dev General] Performance of fn:exists(fn:doc($uri)) What I meant was, what's the fastest way to check for documents with duplicate id's ? On Thu, Aug 30, 2012 at 3:00 PM, Danny Sinang <[email protected]> wrote: Can anyone recommend a fast way to check for duplicate id's ? On Thu, Aug 30, 2012 at 2:06 PM, Geert Josten <[email protected]> wrote: That read-locks are URI locks, not fragment locks is something I didn't know. Sounds excellent, should have known earlier.. And now the internal code MarkLogic uses to generate id's for all its internal objects makes much more sense too.. Mike wrote: > To put it more simply: how are you going to guarantee the uniqueness of the URI, if not by checking to see if it exists? I can only think of one other way, by using a write lock on a fixed uri (or several fixed uri's), like always doing a xdmp:document-insert('/assets/lock', <x/>) before deriving a new uri. But that slows down creation processes, likely more than using the read-lock approach. :-/ That leaves perhaps only one thing that need attention. If you already have many documents, then the likeliness random comes up with an id that already exists increases. The average number of attempts it needs to take to find an unused number increases over time too. Luckely the range of random is very large (20 digits), so you really need quite a very lot of documents to even get close to 1/100000 of the space.. :) Grtz, Geert _______________________________________________ General mailing list [email protected] http://developer.marklogic.com/mailman/listinfo/general
_______________________________________________ General mailing list [email protected] http://developer.marklogic.com/mailman/listinfo/general
