https://bugs.openldap.org/show_bug.cgi?id=9079

--- Comment #4 from [email protected] <[email protected]> ---
> >   * Each URI defines a set of object attributes
> >   * One can have multiple olcUniqueURI attributes, _each of which_ creates a
> > 'domain'
> >   * This doesn't say what a 'domain' is
> 
> 
> The concept of a "domain" is a key part of the mathematical concept of 
> "sets". As this is clearly talking about sets, the definition of domain 
> follows.

We may be thinking of different set theories, but in the mathematical set
theory I'm familiar with, there is no notion of 'domain'.  Functions have
domains, codomains and ranges which are each sets, but that is part of the
theory of functions, not of sets.

Not that it matters, because 'domain' has a variety of meanings in computing
contexts, so it does no harm to be precise here.  Since the text just above
this in the manpage talks of 'scope', in a sense which appears to at least
overlap with 'domain' here, I merely suggest that the text explain what it
means by 'domain'.

For concreteness, can I suggest:

Each `unique_uri` option defines a 'uniqueness domain' consisting of the set of
attributes which would be returned by the specified (RFC 4516) LDAP URI, or the
union of the sets of attributes returned by the URIs, if there is more than
one.  The overlay ensures that no two attributes in this set have the same
value.  In a 'strict' uniqueness domain (when the keyword 'strict' is present),
at most one attribute in the domain may have a null value; in a non-strict
domain more than one attribute may have a null value.

This uniqueness constraint is imposed independently for the attributes in each
uniqueness domain.

...and delete the paragraph 'It is possible...'

[If 'scope' is a different notion from 'domain', then the text might benefit
from some clarification about what the difference is; if they are the same
notion, then it might be useful to use the same term for both, or else the
careful reader will worry that there is a distinction being made that they
don't understand.]


> >   * It's not clear where the quotes go, when combining with 'strict' or
> > 'ignore'
> > (I guess "strict ldap://...";).
> >   * Can 'strict' or 'ignore' be combined with the second or subsequent URIs?
> 
> 
> This is already explicitly answered in the man page:
> 
> "Strictness applies to all URIs within a uniqueness domain" thus it must be 
> combined with the full set of URIs in a given statement.

True.  As implied above, it might be useful to relocate the remark about what
'strict' means, but the answer to my question was indeed implicit in the text
as it stands.

To be clear, I reiterate that I'm not suggesting the text is inaccurate, simply
that it is not as clear as it could be, and I wouldn't bother suggesting
documentation edits if the OpenLDAP documentation were not already unusually
high quality.  Also, when I first read the manpage I largely got the point
pretty quickly (it's not a complicated notion), and it's only when I re-read
carefully that I started to have doubts.

-- 
You are receiving this mail because:
You are on the CC list for the issue.

Reply via email to