> Do you have a use case for this?  I'm implementing add-if-not-present to
> ease the implementation of the version number overlay, so I could
> implement softdel as well.
> 
> I think all of these could make sense also protocol-wise (including
> softadd), but I'm not in the mood right now to start the formalization
> process, so I'd leave it to a later time.

Yes.  I've had to implement this exact feature in application code before (via 
search + conditional mod).  It appears frequently in middleware stuff when 
you're merging data from multiple upstream account sources and a registry into 
LDAP.  The softdel case appears less often than softadd, but is extremely 
useful when trying to cleanup mistakes.

More concretely, middleware performing a multi-db reconciliation sweep can use 
it to assert implied constraints on each object.  For example, if some event 
happens, the entry must now have attr1=val1, and must not have attr2=val2, but 
might already be in that situation.  This allows for more cases of idempotent 
atomic changes without needing transactions.

A number of overlays will need to watch for this as it is particularly relevant 
for groups (memberOf, refint, etc).

Matthew Backes
Symas Corporation
mbac...@symas.com

Reply via email to