Subject: Re: matched values 05

From: "Jim Sermersheim" <[email-masked]>
Date: Wed, 20 Dec 2000 12:29:46 -0700

>It is perfectly reasonable
>for the MVO control to extend search operations extended by a sort
>control and to depend the semantics upon sequencing of controls
>(it is a sequence after all).

The problem with this statement is that nothing in RFC 2251 ties the order in which controls are processed to the ordering of the controls in the controls sequence. Thus, either 
1) 2251 needs to be fixed, 
2) every control spec needs to specify it's relationship with all other related controls (which is impossible), or
3) we just settle for interoperability problems.

Jim

>>> "Kurt D. Zeilenga" <[email-masked]> 12/19/00 7:37:43 PM >>>
At 03:33 PM 12/19/00 -0800, Bruce Greenblatt wrote:
>If you process sort then MVO:  You sort entries based on certain attribute values which may be subsequently deleted by the MVO control processing.

Yes.

>If you process MVO the sort: The sorting is always done on the remaining entries.

Yes.

>It appears to me that there is the possibility that the search results will come back in a different order depending on how the MVO and sort controls are processed.

Yes.

>Section 4 states: "This control acts independently of other LDAP controls such as server side sorting".  To me if the controls were independent, I would get exactly the same data back in exactly the same order.  So, I don't think that MVO and the sort control are "independent".

I would say that each control acts independently upon a set of inputs
provided to it but that the input to the control is dependent on
what factors proceed it in the processing of the operation. 

>Note that RFC 2891 requires the following processing method for multi-valued attributes: when an entry happens to have multiple values for that attribute and no other controls are present that affect the sorting order, then the server SHOULD use the least value (according to the ORDERING rule for that attribute).

This issue can be resolved by simply stating that the MVO control
may affect sort ordering in the presence of sort controls as it
may alter results after the sort has been completed.

>So, I would require the MVO to be processed BEFORE the sort control.  Otherwise, the sorted entries may turn out to be no longer sorted.

I disagree.  The sort control, like any other control, is subject
to other factors including extension.  It is perfectly reasonable
for the MVO control to extend search operations extended by a sort
control and to depend the semantics upon sequencing of controls
(it is a sequence after all).

Kurt

---

From: "Kurt D. Zeilenga" <[email-masked]>
Date: Wed, 20 Dec 2000 12:16:32 -0800

At 12:29 PM 12/20/00 -0700, Jim Sermersheim wrote:
>The problem with this statement is that nothing in RFC 2251 ties the order in which controls are processed to the ordering of the controls in the controls sequence.

Nor does RFC 2251 state how control interact, period.  This is
left to the control specification.  However, as RFC 2251 uses
a SEQUENCE OF controls instead of a SET OF controls, it is clear
that RFC 2251 allows for behavior to be described not only be
which controls are present but order in the sequence.

>Thus, either 

In regards to SEQUENCE OF, no.

>2) every control spec needs to specify it's relationship with all other related controls (which is impossible), or

Regardless of whether you believe there can or should be order
dependent behavior, behavior of operations extended by multiple
controls must be clearly defined.

It's not impossible.  It's just difficult.  But the difficulty
is not due to whether or not the controls are orderred or not,
the difficulty comes from combining new controls with existing
controls where the existing control TS could not possible
invision the impact of all new controls.

>3) we just settle for interoperability problems.

If you the combination of controls has no specification, then
there will be huge interoperability problems.

However, I do believe RFC 2251 does need a clarification.
  "Controls SHOULD NOT be combined unless the semantics of the
  combination has been specified.  The semantics of control
  combinations, if specified, are generally defined is the
  control specification most recently published.  In the
  absence of such a specification, the behavior of the operation
  is not defined."