本文整理汇总了C#中Db4objects.Db4o.Internal.Btree.BTree.AllNodeIds方法的典型用法代码示例。如果您正苦于以下问题:C# BTree.AllNodeIds方法的具体用法?C# BTree.AllNodeIds怎么用?C# BTree.AllNodeIds使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Db4objects.Db4o.Internal.Btree.BTree
的用法示例。
在下文中一共展示了BTree.AllNodeIds方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AssertAllSlotsFreed
/// <exception cref="System.Exception"></exception>
public static void AssertAllSlotsFreed(LocalTransaction trans, BTree bTree, ICodeBlock
block)
{
LocalObjectContainer container = (LocalObjectContainer)trans.Container();
ITransactionalIdSystem idSystem = trans.IdSystem();
IEnumerator allSlotIDs = bTree.AllNodeIds(trans.SystemTransaction());
Collection4 allSlots = new Collection4();
while (allSlotIDs.MoveNext())
{
int slotID = ((int)allSlotIDs.Current);
Slot slot = idSystem.CurrentSlot(slotID);
allSlots.Add(slot);
}
Slot bTreeSlot = idSystem.CurrentSlot(bTree.GetID());
allSlots.Add(bTreeSlot);
Collection4 freedSlots = new Collection4();
IFreespaceManager freespaceManager = container.FreespaceManager();
container.InstallDebugFreespaceManager(new FreespaceManagerForDebug(new _ISlotListener_99
(freedSlots)));
block.Run();
container.InstallDebugFreespaceManager(freespaceManager);
Assert.IsTrue(freedSlots.ContainsAll(allSlots.GetEnumerator()));
}
示例2: BTreeUsage
private static long BTreeUsage(Transaction transaction, IIdSystem idSystem, BTree
btree, ISlotMap slotMap)
{
IEnumerator nodeIter = btree.AllNodeIds(transaction);
Db4objects.Db4o.Internal.Slots.Slot btreeSlot = idSystem.CommittedSlot(btree.GetID
());
slotMap.Add(btreeSlot);
long usage = btreeSlot.Length();
while (nodeIter.MoveNext())
{
int curNodeId = ((int)nodeIter.Current);
Db4objects.Db4o.Internal.Slots.Slot slot = idSystem.CommittedSlot(curNodeId);
slotMap.Add(slot);
usage += slot.Length();
}
return usage;
}
示例3: TraverseAllIndexSlots
public virtual void TraverseAllIndexSlots(BTree btree, IVisitor4 command)
{
IEnumerator slotIDIter = btree.AllNodeIds(Sourcedb.Transaction(this));
while (slotIDIter.MoveNext())
{
command.Visit(slotIDIter.Current);
}
}
示例4: BTreeUsage
private static long BTreeUsage(Transaction transaction, IIdSystem idSystem, BTree
btree, ISlotMap slotMap)
{
var nodeIter = btree.AllNodeIds(transaction);
var btreeSlot = idSystem.CommittedSlot(btree.GetID
());
slotMap.Add(btreeSlot);
long usage = btreeSlot.Length();
while (nodeIter.MoveNext())
{
var curNodeId = ((int) nodeIter.Current);
var slot = idSystem.CommittedSlot(curNodeId);
slotMap.Add(slot);
usage += slot.Length();
}
return usage;
}