e68a455 Ticket 47988: Schema learning mechanism, in replication, unable to extend an existing definition

2 files Authored by tbordaz 4 years ago , Committed by nhosoi 4 years ago ,
    Ticket 47988: Schema learning mechanism, in replication, unable to extend an existing definition
    
    Bug Description:
    	At the beginning of a replication session, a supplier checks the status of remote schema vs
    	its own schema. If the remote schema contains new/extended definitions, the supplier learns
    	those definitions.
    	It learns through internal MOD_ADD operation on cn=schema.
    	For extending definition, this fails because the definition already exists.
    
    Fix Description:
    	It needs to MOD_DEL and MOD_ADD those extended definitions while it needs to do MOD_ADD for new definitions.
    	It uses the field 'old_value' in 'struct schema_mods_indexes' to determine if it needs to del some definitions.
    	Some definitions can not be deleted
    		- if an objectclass is standard or is a superior of others oc
    		- if an attribute is a standard definition or is used in objectclass
    	This was problematic for updating the schema, so the fix is relaxing those controls for
    	internal operations
    
    https://fedorahosted.org/389/ticket/47988
    
    Reviewed by: ?
    
    Platforms tested: F17
    
    Flag Day: no
    
    Doc impact: no
    
    (cherry picked from commit 51e05df9c37c66206041f026c9a67ec17bc9ea4a)
    (cherry picked from commit 107316806d291e584028e278c9ce1e0e99ff5617)
    
        
file modified
+292 -73