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

Re: Plea for Server Side Sorting

First, what SQL does or doesn't do is quite off-topic.

Second, there are good reasons why sorted results control
remains unimplemented in slapd(8).

1) even properly implemented, the sorted results control
adds little value.  Clients simply cannot rely on the
servers sorting the results (even where the servers used
support this control), nor rely terribly on the order of
results where the servers do sort the result (order in
many X.500/LDAP match rules is "a local matter"). To
prove the point, I committed to HEAD a conformant
implementation of the sorted results control extension
which doesn't sort a thing.

2) simple implementations (no indexing support) of this
control won't scale past a small number of entries, especially
where other extensions (such as paged results) are involved.

3) complex implementations (with indexing support) won't
scale to multiple databases and/or multiple servers because
of required merging.

I would have serious doubts of any LDAP client which relied
on LDAP sorted results control.


At 04:41 PM 3/31/2005, Owen DeLong wrote:
>--On Friday, April 1, 2005 9:37 AM +1000 Dave Horsfall <daveh@ci.com.au>
>> On Thu, 31 Mar 2005, Eric Nichols wrote:
>>> Server side sorting is a huge gain for LDAP application programmers 
>>> (like myself).  It saves the effort of having to store the results (in 
>>> memory) in order for them to be sorted.  I guess the equivalent would be 
>>> like not having sorted results for SQL queries.
>> Except the client (SQL) performs the sorting, not the server...
>Huh?  I think not, given that the client can request the first N results
>from the server in sorted order.  Also, the client can request grouping,
>and other things from the server that require server side sorting.  In fact,
>SQL can even subtotal columns by groups for you on the server side.
>Sure, you can get unsorted result sets and sort them yourself from SQL, but,
>SQL does require server side sorting in a complete implementation.  Oracle,
>Sybase, and MySQL all provide server side sorting.
>> -- 
>> Dave Horsfall  DTM  VK2KFU  daveh@ci.com.au  Ph: +61 2 8425-5508 (d)
>> -5500 (sw) Corinthian Engineering, Level 1, 401 Pacific Hwy, Artarmon,
>> NSW 2064, Australia
>If it wasn't crypto-signed, it probably didn't come from me.
>Version: GnuPG v1.2.2 (Darwin)