void backsql_init_search(backsql_srch_info *bsi,backsql_info *bi,char *nbase,int scope,
int slimit,int tlimit,time_t stoptime,Filter *filter,
- SQLHDBC dbh,BackendDB *be,Connection *conn,Operation *op,struct berval **attrs)
+ SQLHDBC dbh,BackendDB *be,Connection *conn,Operation *op,AttributeName *attrs)
{
- struct berval **p;
+ AttributeName *p;
bsi->base_dn=nbase;
bsi->scope=scope;
bsi->slimit=slimit;
{
bsi->attrs=(char**)ch_calloc(1,sizeof(char*));
bsi->attrs[0]=NULL;
- for(p=attrs;*p!=NULL;p++)
- backsql_attrlist_add(bsi,(*p)->bv_val);
+ for(p=attrs;p->an_name.bv_val;p++)
+ backsql_attrlist_add(bsi,p->an_name.bv_val);
}
else
- bsi->attrs=attrs;
+ bsi->attrs=NULL;
bsi->abandon=0;
bsi->id_list=NULL;
bsi->stoptime=stoptime;
int backsql_search(BackendDB *be,Connection *conn,Operation *op,
const char *base, const char *nbase, int scope,int deref,int slimit,int tlimit,
- Filter *filter, const char *filterstr,struct berval **attrs,int attrsonly)
+ Filter *filter, const char *filterstr,AttributeName *attrs,int attrsonly)
{
backsql_info *bi=(backsql_info*)be->be_private;
SQLHDBC dbh;
for(eid=srch_info.id_list;eid!=NULL;eid=eid->next)
{
/* check for abandon */
- ldap_pvt_thread_mutex_lock(&op->o_abandonmutex);
if (op->o_abandon)
{
- ldap_pvt_thread_mutex_unlock(&op->o_abandonmutex);
break;
}
- ldap_pvt_thread_mutex_unlock(&op->o_abandonmutex);
/* check time limit */
if ( tlimit != -1 && slap_get_time() > stoptime)