On Wed, Jun 15, 2011 at 2:07 PM, Stefan Seelmann <[email protected]> wrote: > On Wed, Jun 15, 2011 at 1:53 PM, Emmanuel Lecharny <[email protected]> > wrote: >> Hi, >> >> I'm wondering if the following code snippet is just a bug, or if this was >> intended : >> >> public PresenceEvaluator( PresenceNode node, Store<Entry, ID> db, >> SchemaManager schemaManager ) >> throws Exception >> { >> this.db = db; >> this.node = node; >> this.schemaManager = schemaManager; >> this.attributeType = node.getAttributeType(); >> >> if ( db.hasUserIndexOn( attributeType ) ) >> { >> idx = db.getPresenceIndex(); >> } >> else >> { >> idx = null; >> } >> } >> >> In my case, the AttributeType is ObjectClass, which is a System index. I >> find it extremely doubtful that we want to set idx to null in this very >> case. > > AFAIK we only add user attributes to the precence index. System > attributes (objectClass, entryUUID, entryCSN) are not added to the > precense index because they are always present in an entry so it would > be a waste of space to add them to the presence index. Instead in > another part of the PresenceEvaluator we check if the index is a > system index and return true. > > However I see that this is confusing because the logic is splitted > between different classes (Store, PresenceEvaluator, PrecenseCursor).
Damn ugly word, I mean "Presence" of course ;-)
