private void CollectClassSlots(ClassMetadata clazz) { if (!clazz.HasClassIndex()) { return; } BTreeClassIndexStrategy index = (BTreeClassIndexStrategy)clazz.Index(); index.TraverseIds(_db.SystemTransaction(), new _IVisitor4_184(this)); }
private FileUsageStatsCollector.InstanceUsage ClassSlotUsage(ClassMetadata clazz) { if (!clazz.HasClassIndex()) { return(new FileUsageStatsCollector.InstanceUsage(0, 0, 0)); } IMiscCollector miscCollector = ((IMiscCollector)MiscCollectors[clazz.GetName()]); LongByRef slotUsage = new LongByRef(); LongByRef miscUsage = new LongByRef(); IntByRef numInstances = new IntByRef(); BTreeClassIndexStrategy index = (BTreeClassIndexStrategy)clazz.Index(); index.TraverseIds(_db.SystemTransaction(), new _IVisitor4_167(this, numInstances, slotUsage, miscCollector, miscUsage)); return(new FileUsageStatsCollector.InstanceUsage(slotUsage.value, miscUsage.value , numInstances.value)); }
private IList CheckClassIndices() { IList invalidIds = new ArrayList(); IIdSystem idSystem = _db.IdSystem(); if (!(idSystem is BTreeIdSystem)) { return(invalidIds); } ClassMetadataIterator clazzIter = _db.ClassCollection().Iterator(); while (clazzIter.MoveNext()) { ClassMetadata clazz = clazzIter.CurrentClass(); if (!clazz.HasClassIndex()) { continue; } BTreeClassIndexStrategy index = (BTreeClassIndexStrategy)clazz.Index(); index.TraverseIds(_db.SystemTransaction(), new _IVisitor4_64(this, invalidIds, clazz )); } return(invalidIds); }