Lines Matching refs:qc
1051 add_query_on_top (query_manager* qm, CachedQuery* qc)
1055 qc->in_lru = 1;
1056 qm->lru_top = qc;
1059 top->lru_up = qc;
1061 qm->lru_bottom = qc;
1063 qc->lru_down = top;
1064 qc->lru_up = NULL;
1066 qc->qbase->base.bv_val );
1072 remove_query (query_manager* qm, CachedQuery* qc)
1077 if (!qc || !qc->in_lru)
1080 qc->in_lru = 0;
1081 up = qc->lru_up;
1082 down = qc->lru_down;
1096 qc->lru_up = qc->lru_down = NULL;
1295 CachedQuery cq, *qc;
1314 qc = ptr->avl_data;
1316 fs = qc->filter;
1322 qc->first->f_choice != LDAP_FILTER_SUBSTRINGS )
1330 if ( qc->first->f_choice != LDAP_FILTER_EQUALITY ) {
1337 if ( qc->first->f_choice != LDAP_FILTER_SUBSTRINGS )
1440 return qc;
1454 CachedQuery* qc;
1462 Debug( pcache_debug, "Lock QC index = %p\n",
1516 qc = find_filter( op, qbptr->scopes[tscope],
1518 if ( qc ) {
1519 if ( qc->q_sizelimit ) {
1524 if (qm->lru_top != qc) {
1525 remove_query(qm, qc);
1526 add_query_on_top(qm, qc);
1529 return qc;
1542 "Not answerable: Unlock QC index=%p\n",
1550 free_query (CachedQuery* qc)
1552 free(qc->q_uuid.bv_val);
1553 filter_free(qc->filter);
1554 ldap_pvt_thread_mutex_destroy(&qc->answerable_cnt_mutex);
1555 ldap_pvt_thread_rdwr_destroy( &qc->rwlock );
1556 memset(qc, 0, sizeof(*qc));
1557 free(qc);
1683 remove_from_template (CachedQuery* qc, QueryTemplate* template)
1685 if (!qc->prev && !qc->next) {
1687 } else if (qc->prev == NULL) {
1688 qc->next->prev = NULL;
1689 template->query = qc->next;
1690 } else if (qc->next == NULL) {
1691 qc->prev->next = NULL;
1692 template->query_last = qc->prev;
1694 qc->next->prev = qc->prev;
1695 qc->prev->next = qc->next;
1697 ldap_tavl_delete( &qc->qbase->scopes[qc->scope], qc, pcache_query_cmp );
1698 qc->qbase->queries--;
1699 if ( qc->qbase->queries == 0 ) {
1700 ldap_avl_delete( &template->qbase, qc->qbase, pcache_dn_cmp );
1701 ch_free( qc->qbase );
1702 qc->qbase = NULL;
2387 CachedQuery *qc = qm->addfunc(op, qm, &si->query,
2390 if ( qc != NULL ) {
2393 cache_entries( op, &qc->q_uuid );
2395 qc->bind_refcnt++;
2396 si->pbi->bi_cq = qc;
2401 qc->q_sizelimit = rs->sr_nentries;
2411 ldap_pvt_thread_rdwr_wunlock(&qc->rwlock);
2642 CachedQuery *qc;
2652 CachedQuery *qc = bci->qc;
2655 ldap_pvt_thread_rdwr_wlock( &qc->rwlock );
2656 if ( qc->bind_refcnt-- ) {
2659 bci->qc->bindref_time = op->o_time + bci->qc->qtemp->bindttr;
2661 bci->qc = NULL;
2664 ldap_pvt_thread_rdwr_wunlock( &qc->rwlock );
2665 if ( delete ) free_query(qc);
2955 bci->qc = bi.bi_cq;
3057 Debug( pcache_debug, "Entering QC, querystr = %s\n",
4851 CachedQuery *qc;
4871 for ( qc = tm->query; qc; qc = qc->next ) {
4874 if ( query2url( op, qc, &bv, 0 ) == 0 ) {
4949 CachedQuery *qc, *qn;
4951 for ( qc = tm->query; qc; qc = qn ) {
4952 qn = qc->next;
4953 free_query( qc );
5429 CachedQuery *qc;
5439 for ( qc = tm->query; qc; qc = qc->next ) {
5442 if ( query2url( op, qc, &bv, 1 ) == 0 ) {