Hi, Just to close this off in case anyone else has a similar problem, I found that if, after installing the overlay, I also specify a Matching Rule ID for the sort key, I get the ordering I want
> SortKey sk = new SortKey( "sn", SchemaConstants.NUMERIC_STRING_ORDERING_MATCH_MR_OID); Cheers, Tamsin On Thu, Mar 7, 2019 at 9:36 PM Tamsin Slinn <tam.sl...@gmail.com> wrote: > Hi > Thanks for the reply. > I tried with both 1.0.2 and 2.0.0.AM2 with the same outcome. > The output from the Java code was as below (I just have a local ldap with > a few users for testing) > > sn: Trainee > sn: Admin > sn: User > sn: Supervisor > > I did not know about the slapo-sssvlv overlay, my LDAP knowledge is basic > - I am running OpenLDAP from the docker image openfrontier/openldap-server > I tried to install it - I successfully loaded the ldif below. Now when I > run the original code I get no results at all. If I remove the SortRequest > control from the SearchRequest it returns me the expected results. > > > dn: cn=module{0}, cn=config > > changetype: modify > > add: olcModuleLoad > > olcModuleLoad: sssvlv.la > > > > dn: olcOverlay=sssvlv,olcDatabase={1}hdb,cn=config > > changetype: add > > objectClass: olcSssVlvConfig > > olcSssVlvMax: 10 > > olcSssVlvMaxKeys: 5 > > Is this the correct way to install the slapo-sssvlv overlay? I am not sure > how to provide it's configuration sorry. > > Thanks > > > > > On Thu, Mar 7, 2019 at 4:08 PM Emmanuel Lécharny <elecha...@gmail.com> > wrote: > >> >> On 07/03/2019 10:40, Tamsin Slinn wrote: >> > Hi, >> > I hope this is an OK question to post to the list. >> >> >> That's fine. >> >> >> > >> > I'm running the code below against OpenLDAP 2.4.40. I based the code on >> an >> > integration test for SortRequestControl. However, this code does not >> return >> > the entries in the order I expect (alphabetical by sn). Can you tell me >> > what I am missing? >> > Thanks for any help! >> > >> > SearchRequest req = new SearchRequestImpl(); >> > req.setScope(SearchScope.ONELEVEL); >> > req.addAttributes("*"); >> > req.setTimeLimit(0); >> > req.setBase(searchDn); >> > req.setFilter("(objectclass=posixAccount)"); >> > >> > SortRequest sortRequest = new SortRequestControlImpl(); >> > sortRequest.addSortKey(new SortKey("sn")); >> > req.addControl(sortRequest); >> > >> > try (SearchCursor cursor = connection.search(req)) { >> > while (cursor.next()) { >> > SearchResultEntry se = (SearchResultEntry) >> cursor.get(); >> > Entry entry = se.getEntry(); >> > System.out.println("sn: " + >> entry.get("sn").getString()); >> > >> > } >> > } >> >> First, which version of the API are you using ? >> >> >> Then, can you provide the result you get ? >> >> >> Last, not least, are you sure your OpenLDAP server has the slapo-sssvlv >> overlay installed ? >> >> If so, can you provide its configuration ? >> >> >>