[
https://issues.apache.org/jira/browse/DIRSERVER-1974?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13987506#comment-13987506
]
Emmanuel Lecharny edited comment on DIRSERVER-1974 at 5/2/14 8:48 AM:
----------------------------------------------------------------------
The move and rename operation on the backend should look like :
moveAndRename = move + rename
move :
\-m\- check that the parent exist
-m- check that the new entry does not exist
-m- drop the alias indices for old entry
-m- update RDN index removing the old entry
-m- update RDN index adding the new entry
-m- update the alias index for the new entry
-m- update the entry and update the master table
rename :
-r- update the user's indexes for the added RDN attribute
-r- same thing for the presence index
-r- if the old rdn has to be removed
-r- drop the old rdn from the user index
-r- same thing for the presence index
-r- remove the old rdn from the entry
-r- update the master table
-r- drop the old rdn from the rdn index
-r- add the new rdn into the rdn index
moveAndRename :
-m- check that the parent exist
-m- check that the new entry does not exist
-m- drop the alias indices for old entry
-m- update RDN index removing the old entry
-m- update RDN index adding the new entry
-m- update the alias index for the new entry
-r- update the user's indexes for the added RDN attribute
-r- same thing for the presence index
-r- if the old rdn has to be removed
-r- drop the old rdn from the user index
-r- same thing for the presence index
-r- remove the old rdn from the entry
-mr- update the master table
-r- drop the old rdn from the rdn index
-r- add the new rdn into the rdn index
was (Author: elecharny):
The move and rename operation on the backend should look like :
moveAndRename = move + rename
move :
_m_ check that the parent exist
-m- check that the new entry does not exist
-m- drop the alias indices for old entry
-m- update RDN index removing the old entry
-m- update RDN index adding the new entry
-m- update the alias index for the new entry
-m- update the entry and update the master table
rename :
-r- update the user's indexes for the added RDN attribute
-r- same thing for the presence index
-r- if the old rdn has to be removed
-r- drop the old rdn from the user index
-r- same thing for the presence index
-r- remove the old rdn from the entry
-r- update the master table
-r- drop the old rdn from the rdn index
-r- add the new rdn into the rdn index
moveAndRename :
-m- check that the parent exist
-m- check that the new entry does not exist
-m- drop the alias indices for old entry
-m- update RDN index removing the old entry
-m- update RDN index adding the new entry
-m- update the alias index for the new entry
-r- update the user's indexes for the added RDN attribute
-r- same thing for the presence index
-r- if the old rdn has to be removed
-r- drop the old rdn from the user index
-r- same thing for the presence index
-r- remove the old rdn from the entry
-mr- update the master table
-r- drop the old rdn from the rdn index
-r- add the new rdn into the rdn index
> Rename Operation Issue - ApacheDS
> ---------------------------------
>
> Key: DIRSERVER-1974
> URL: https://issues.apache.org/jira/browse/DIRSERVER-1974
> Project: Directory ApacheDS
> Issue Type: Bug
> Components: ldap
> Affects Versions: 2.0.0-M15
> Environment: Window server 2008 R2
> Reporter: Mohd Usman
> Assignee: Kiran Ayyagari
> Labels: build, features, patch
> Attachments: ApacheDSSchemaBrowser.png, CNAttributeInSchema.png,
> PostRename.png, PreRename.png, SchemaViewerLDAPAdminTool.png
>
> Original Estimate: 168h
> Remaining Estimate: 168h
>
> Whenever we perform Rename operation on an object entry (let’s say Person
> object), the person gets renamed successfully but the issue is that the old
> value of the person object still remains.
> The ‘cn’ attribute contains two values now - old value and also the new value.
>
> Example:
> I have created a person object with DN
> "cn=person,ou=Apache,dc=example,dc=com" and I want to rename this entry to
> "cn=person_Rename,ou=Apache,dc=example,dc=com".
> The rename operation executes successfully and the person is renamed to
> "cn=person_Rename,ou=Apache,dc=example,dc=com".
> But, the ‘cn’ attribute now contains
> “person”
> “person_Rename”.
> When verified the schema, ‘cn’ attribute show as ‘single valued’ but after
> performing the rename operation – the ‘cn’ becomes ‘multi-valued’ and
> contains two values.
> This an issue with Apache directory which needs to be resolved. Also find the
> screenshots attached for your reference. Please look into the same.
--
This message was sent by Atlassian JIRA
(v6.2#6252)