[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: indexing of Attributes for presence (ITS#1486)



At 03:07 AM 2001-12-08, georg.knittel@volkswagen.de wrote:
>Full_Name: Georg Knittel
>Version: 2.0.15
>OS: solaris 2.8
>URL: ftp://ftp.openldap.org/incoming/
>Submission from: (NULL) (193.23.96.12)
>
>
>I am working now with about 70.000 instance of one object in one Directory
>Server. I am using
>openldap 2.0.15
>java 1.2 / jndi 1.2.1
>All operations to and from the Directory Server are done via java/jndi.
>
>
>In the index file I included the following line:
>index default pres,eq
>Therefore every attribute should be indexed by presence.

No. Read slapd.conf(5).  But the lack of indexing should
not affect results returned.

>In the schema file I have somehat like:
>objectclass o1 ...
>  MUST (Att_must1 $ Att_must2)
>  MAY  (Att_may1 $ Att_may2 ... Att_mayn)
>
>Now I am going to write 100 instances of o1, by setting the values Att_must1, 
>Att_must2 and for example Att_May1. Att_may2 is not set.
>
>Thereafter I filter by (&(objectclass=o1)(Att_may1))

That's an invalid filter.  ldapsearch(1) should complain:
  ldapsearch: ldap_search_ext: Bad search filter (87)

I assume you meant (&(objectclass=o1)(Att_may1=*))

>and I will get back 100
>Objects.
>That is fine.
>
>Then I filter by (&(objectclass=o1)(Att_may2))

And likewise with this filter.

>and still I will get back 100
>Objects.
>That is not so fine.

Well, assuming that's what you actually did, I'd have to agree.
If att_may2 is not present in these 100 entries, they shouldn't
be returned.

I suggest you provide a sample of one of these returned entries.


>Does it sounds OK like that?

The server should behave in accordance with the X.500 data
model.   In this model, an attribute has a type and one or
more values.  This is expected and enforced by the server.