[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: VLV indices and multi-value attributes



Jim Sermersheim wrote:

> We're hearing similar requests.  If the SSS request control looked like this, we could have it both ways:
>
>      SortKeyList ::= SEQUENCE OF SEQUENCE {
>                 attributeType   AttributeDescription,
>                 orderingRule    [0] MatchingRuleId OPTIONAL,
>                 reverseOrder    [1] BOOLEAN DEFAULT FALSE
>                 allValues          [2] BOOLEAN DEFAULT FALSE }
>
> where allValues specifies whether or not all attribute values are used (which would result in possible duplicates).

This is at odds with the definition of the sort control, which is supposed to define
the ordering of the result set.  The search (base,scope,filter) tuple selects the set
of entries. Ignoring base and scope, a filter such as (sn=*) selects all the entries
that have an 'sn' attribute.  What's needed is a filter that will return an entry for
each and every 'sn' attribute value. Perhaps.... (sn#).

Examples:

All telephone numbers...

    Filter= (telephonenumber#)

All telephone numbers in building 10...

    Filter= (&(telephonenumber#)(building=10))

All telephone numbers in building 10 sorted by surname...

    Filter= (&(telephonenumber#)(building=10)) Sort= sn

All telephone numbers sorted by surname...

    Filter= (telephonenumber#) Sort = sn

A single telephone number for each surname...

    Filter= (&(telephonenumber=*)(sn#)) Sort= sn

All surnames with all their telephone numbers...

   Filter= (&(telephonenumber#)(sn#)) Sort= sn

The last one is probably the most interesting.

John