protected internal override void UnRegister(object o, Int64 address) { var indexName = RecordIndex.GetIndexName <TObj>(this.Collection.Name, this.PropertyName, typeof(TAttribute)); var keys = this.GetKeys(o, address); foreach (var key in keys) { UnRegisterKey(key, address, this.Session, this.RecordManager, indexName); } }
BuildEnumerator(IEnumerable <BTreeWalkerRange <ValueWithAddressIndexKey <TAttribute> > > ranges, bool IsDescending = false) { var indexName = RecordIndex.GetIndexName <TObj>(this.Collection.Name, this.PropertyName, typeof(TAttribute)); var enumerator = new CollectionEnumerator <TObj, ValueWithAddressIndexKey <TAttribute> >( this.Collection, Session, RecordManager, Serializer, indexName, IsDescending); enumerator.SetRanges(ranges); return(enumerator); }
protected internal override void EnsureIndex() { var indexName = RecordIndex.GetIndexName <TObj> (this.Collection.Name, this.PropertyName, typeof(TAttribute)); var index = new RecordIndex <TAttribute> ( this.Session, this.RecordManager, indexName, this.Session.SerializerResolver.SerializerFor <Node <TAttribute> > () ); //Creating a walker makes sure the index is ready index.GetWalker(); }