Another argument in favor of a built-in function would be performance gain, if 
that is likely. In case you need/want to migrate a complete database 
(potentially billions of documents or more)..

Adding the code of David to commons could help out in mean time though..

Kind regards,
Geert

-----Oorspronkelijk bericht-----
Van: [email protected] 
[mailto:[email protected]] Namens Ron Hitchens
Verzonden: woensdag 29 juni 2011 18:45
Aan: General MarkLogic Developer Discussion
Onderwerp: Re: [MarkLogic Dev General] Renaming a document


   Umm, no.  My contention is that this should be
a basic builtin, not an exercise left to the coder.
It's too common and too easy to get wrong.

On Jun 29, 2011, at 5:05 PM, Eric Bloch wrote:

> Ron/David,
> 
> I'd encourage you to fork and make a pull request on the commons library at 
> http://github.com/marklogic/commons where we've been keeping useful community 
> library functions like this one.  
> 
> E
> 
> ________________________________________
> From: [email protected] 
> [[email protected]] On Behalf Of Justin Makeig 
> [[email protected]]
> Sent: Wednesday, June 29, 2011 6:26 AM
> To: General MarkLogic Developer Discussion
> Subject: Re: [MarkLogic Dev General] Renaming a document
> 
> Thanks for the feedback. I've noted the request and will be tracking it. As 
> always, the input of the community is much appreciated.
> 
> Justin
> 
> 
> Justin Makeig
> Senior Product Manager
> MarkLogic Corporation
> [email protected]
> Phone: +1 650 655 2387
> www.marklogic.com
> 
> This e-mail and any accompanying attachments are confidential. The 
> information is intended solely for the use of the individual to whom it is 
> addressed. Any review, disclosure, copying, distribution, or use of this 
> e-mail communication by others is strictly prohibited. If you are not the 
> intended recipient, please notify us immediately by returning this message to 
> the sender and delete all copies. Thank you for your cooperation.
> 
> 
> On Jun 29, 2011, at 8:56 AM, Geert Josten wrote:
> 
>> +1 :)
>> 
>> -----Oorspronkelijk bericht-----
>> Van: [email protected] 
>> [mailto:[email protected]] Namens Ron Hitchens
>> Verzonden: woensdag 29 juni 2011 14:50
>> Aan: General MarkLogic Developer Discussion
>> Onderwerp: Re: [MarkLogic Dev General] Renaming a document
>> 
>> 
>>  New Feature Request:
>> 
>>    xdmp:document-rename ($old-uri, $new-uri)
>> 
>>  This is a very common requirement and is an
>> intuitively obvious thing to do.  It should not
>> require that a user research, write and debug a
>> 23 line XQuery function to accomplish such a
>> simple task.
>> 
>> On Jun 29, 2011, at 12:20 PM, Lee, David wrote:
>> 
>>> You may also want to copy the properties of the document and the properties 
>>> object itself.
>>> A full rename is a little complex.
>>> 
>>> Here's the query I use to implement rename in the xmlsh MarkLogic extension 
>>> ... I got most of this off an older post -
>>> I am not 100% sure its completely correct but it does appear to work.
>>> 
>>> --------------------  rename.xquery
>>> 
>>> xquery version "1.0-ml";
>>> declare variable $src as xs:string external ;
>>> declare variable $target as xs:string external ;
>>> 
>>> declare function local:document-rename(
>>>  $old-uri as xs:string, $new-uri as xs:string)
>>> as empty-sequence()
>>> {
>>>   xdmp:document-delete($old-uri)
>>>   ,
>>>   let $permissions := xdmp:document-get-permissions($old-uri)
>>>   let $collections := xdmp:document-get-collections($old-uri)
>>>   return xdmp:document-insert(
>>>     $new-uri, doc($old-uri),
>>>     if ($permissions) then $permissions
>>>     else xdmp:default-permissions(),
>>>     if ($collections) then $collections
>>>     else xdmp:default-collections(),
>>>     xdmp:document-get-quality($old-uri)
>>>   )
>>>   ,
>>>   let $prop-ns := namespace-uri(<prop:properties/>)
>>>   let $properties :=
>>>     xdmp:document-properties($old-uri)/node()
>>>       [ namespace-uri(.) ne $prop-ns ]
>>>   return xdmp:document-set-properties($new-uri, $properties)
>>> };
>>> 
>>> local:document-rename($src,$target)
>>> 
>>> 
>>> 
>>> 
>>> ----------------------------------------
>>> David A. Lee
>>> Senior Principal Software Engineer
>>> Epocrates, Inc.
>>> [email protected]
>>> 812-482-5224
>>> 
>>> From: [email protected] 
>>> [mailto:[email protected]] On Behalf Of Abhishek53 S
>>> Sent: Tuesday, June 28, 2011 7:58 AM
>>> To: General MarkLogic Developer Discussion
>>> Subject: Re: [MarkLogic Dev General] Renaming a document
>>> 
>>> 
>>> Hi Ambike,
>>> 
>>> It is not possible to update the URI of the document.  For that you need to 
>>> get the content of existing and then insert the content with new 
>>> document-uri and then delete the older content.
>>> 
>>> Regards
>>> Abhishek Srivastav
>>> Systems Engineer
>>> Tata Consultancy Services
>>> Cell:- +91-9883389968
>>> Mailto: [email protected]
>>> Website: http://www.tcs.com
>>> ____________________________________________
>>> Experience certainty.        IT Services
>>>                      Business Solutions
>>>                      Outsourcing
>>> ____________________________________________
>>> 
>>> 
>>> From:
>>> ambika arumugam <[email protected]>
>>> To:
>>> General MarkLogic Developer Discussion <[email protected]>
>>> Date:
>>> 06/28/2011 05:20 PM
>>> Subject:
>>> [MarkLogic Dev General] Renaming a document
>>> Sent by:
>>> [email protected]
>>> 
>>> 
>>> 
>>> 
>>> Hi all,
>>> 
>>> Is it possible in Marklogic to rename a document without really deleting 
>>> the old document and then inserting the document with the required document 
>>> name?
>>> 
>>> 
>>> Regards
>>> Ambika_______________________________________________
>>> General mailing list
>>> [email protected]
>>> http://developer.marklogic.com/mailman/listinfo/general
>>> 
>>> 
>>> =====-----=====-----=====
>>> Notice: The information contained in this e-mail
>>> message and/or attachments to it may contain
>>> confidential or privileged information. If you are
>>> not the intended recipient, any dissemination, use,
>>> review, distribution, printing or copying of the
>>> information contained in this e-mail message
>>> and/or attachments to it are strictly prohibited. If
>>> you have received this communication in error,
>>> please notify us by reply e-mail or telephone and
>>> immediately and permanently delete the message
>>> and any attachments. Thank you
>>> 
>>> _______________________________________________
>>> 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
>> _______________________________________________
>> General mailing list
>> [email protected]
>> http://developer.marklogic.com/mailman/listinfo/general
> 
> _______________________________________________
> General mailing list
> [email protected]
> http://developer.marklogic.com/mailman/listinfo/general
> _______________________________________________
> 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
_______________________________________________
General mailing list
[email protected]
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to