Hello,
I'm trying to use pcache overlay to cache queries done by dynlist overlay. This is the configuration I have:
database hdb suffix <userSuffix> ... overylay dynlist dynlist-attrset labeledURIObject labeledURI
# This is because, data obtained by dynlist is in another ldap directory database ldap suffix dc=mydomain,dc=com access ... uri ldap:/<anotherldap> ... overlay pcache pcache hdb 1000 1 10 60 pcacheAttrset 0 irisClassifCode sn1 givenName pcacheMaxQueries 10000 pcacheTemplate (&(objectClass=)(irisPersonalUniqueId=)) 0 3600 directory /var/lib/ldap/cachepublica cachesize 100
The pcacheTemplate is because labeledURI attributes are in the form:
labeledURI: ldap:///dc=mydomain,dc=com?irisClassifCode,sn1,givenName?one? (irisPersonalUniqueID=<someCode>)
The final search done in the final ldap directory is:
filter="(&(!(objectClass=labeledURIObject))(irisPersonalUniqueID=<someCode>))"
so I think I need to negate the search in the pcacheTemplate, but I can't because I get the error:
/etc/ldap/slapd.conf: line 419: unable to parse template: AttributeDescription contains inappropriate characters.
whenever I try to put the '!' in the template.
Is there any way to cache this kind of query?