GBaseXDMCluster开发接口JavaAPI提供了对查询结果进行排序的方法:
从服务器接收到查询结果后,可以在自己的客户端对其进行排序。要实现这一点,需要指定用来排序的属性名称,还需要指定是按升序还是按降序排列。可以在客户端调用LDAPSearchResult对象的sort方法对查询结果进行排序。
调用这个方法时,必须传递一个比较器对象作为参数,这是一个可以实现LDAPEntryComparator接口的类的对象。GBaseXDMCluster开发接口JavaAPI中的LDAPCompareAttrName类可以实现这个接口,这个类指定条目之间如何比较和排序。
在构造一个LDAPCompareAttrName对象时,需要指定要用于排序的条目,
也可以指定排序依据的规则。
例如,下面的代码段按姓sn'升序排列:
lsetShardingFlag(tru;//设置分片开关,集群需要
lsetShardingValue(dc,s;//设置分片信息。参数:库类型、sn码,集
//群需要
String[]sortAttrs={'sn'};
boolean[]ascending={true,false};
注意:由于这里介绍的排序是在客户端进行的,所以作为排序依据的属性值必
须在查询结果中返回,如果返回的只是属性集的一个子集,必须确认其中包括
要在LDAPCompareAttrName构造函数中指定的属性。
如果还有未返回到客户端的查询结果,则sort方法会等到所有查询结果返
回后才进行排序,这之前它自动挂起。
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点