Hi Emmanuel, On Mon, Dec 5, 2011 at 11:00 AM, Emmanuel Lecharny <[email protected]>wrote:
> On 12/4/11 8:23 PM, Göktürk Gezer wrote: > >> BTW, >> >> If passing null as CoreSession is ok on AbstractBTreePartition(Schema and >> Config Partitions.) operations, i might use some pointers about how to use >> them best. >> >> Pointers on SearchEngine usage could save me lots of hours also. >> > > From the top of my head, you need a CoreSession because you need a > reference on the SchemaManager which is hold by the Session (in fact, we > use an OperationContext, which contains a Session). > > The Partition will manipulate indexes, and for that, we need the > SchemaManager, as it is the only place we have information about > AttributeType names and OIDs, as Index are referring AT names or OID. > Yeah Partition uses schemaManager heavily, but it is not getting the SchemaManager instance from the OperationContext, it is using the SchemaManager instance which is set by AbstractPartition.setSchemaManager(SchemaManager) method at the Partition init time. I looked at both partition( schema partition and config partition ) and this is what i saw. Am i missing something? > Now, you should not need the DirectoryService instance to query the > SchemaPartition. > > I have to check what could happen if you pass a null value as the > CoreSession for this partition... As what i saw, OperationContextes are only used for their getEntry(), getDn() ext... methods by the AbstractBTreePartition. But if i'm missing something i can always create a CoreSession which contains only the needed fields set. Right? > > > > -- > Regards, > Cordialement, > Emmanuel Lécharny > www.iktek.com > > Regards, Gokturk
