本文整理汇总了C#中Db4objects.Db4o.Internal.Btree.BTree.GetID方法的典型用法代码示例。如果您正苦于以下问题:C# BTree.GetID方法的具体用法?C# BTree.GetID怎么用?C# BTree.GetID使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Db4objects.Db4o.Internal.Btree.BTree
的用法示例。
在下文中一共展示了BTree.GetID方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CycleIntKeys
/// <exception cref="System.Exception"></exception>
private BTree CycleIntKeys(BTree btree)
{
AddKeys(btree);
ExpectKeys(btree, _sortedKeys);
btree.Commit(Trans());
ExpectKeys(btree, _sortedKeys);
RemoveKeys(btree);
ExpectKeys(btree, _keysOnRemoval);
btree.Rollback(Trans());
ExpectKeys(btree, _sortedKeys);
var id = btree.GetID();
Reopen();
btree = BTreeAssert.CreateIntKeyBTree(Container(), id, BtreeNodeSize);
ExpectKeys(btree, _sortedKeys);
RemoveKeys(btree);
ExpectKeys(btree, _keysOnRemoval);
btree.Commit(Trans());
ExpectKeys(btree, _keysOnRemoval);
// remove all but 1
for (var i = 1; i < _keysOnRemoval.Length; i++)
{
btree.Remove(Trans(), _keysOnRemoval[i]);
}
ExpectKeys(btree, _one);
btree.Commit(Trans());
ExpectKeys(btree, _one);
btree.Remove(Trans(), 1);
btree.Rollback(Trans());
ExpectKeys(btree, _one);
btree.Remove(Trans(), 1);
btree.Commit(Trans());
ExpectKeys(btree, _none);
return btree;
}
示例2: Initialize
private void Initialize()
{
int idToTimestampIndexId = _container.SystemData().IdToTimestampIndexId();
int timestampToIdIndexId = _container.SystemData().TimestampToIdIndexId();
_idToTimestamp = new BTree(_container.SystemTransaction(), idToTimestampIndexId,
new CommitTimestampSupport.TimestampEntryById());
_timestampToId = new BTree(_container.SystemTransaction(), timestampToIdIndexId,
new CommitTimestampSupport.IdEntryByTimestamp());
if (idToTimestampIndexId != _idToTimestamp.GetID())
{
StoreBtreesIds();
}
EventRegistryFactory.ForObjectContainer(_container).Committing += new System.EventHandler<Db4objects.Db4o.Events.CommitEventArgs>
(new _IEventListener4_69(this).OnEvent);
}
示例3: CycleIntKeys
/// <exception cref="System.Exception"></exception>
private BTree CycleIntKeys(BTree btree, int[] values)
{
for (int i = 0; i < values.Length; i++)
{
btree.Add(Trans(), values[i]);
}
ExpectKeysSearch(Trans(), btree, values);
btree.Commit(Trans());
int id = btree.GetID();
Container().Commit(Trans());
Reopen();
btree = BTreeAssert.CreateIntKeyBTree(Container(), id, BtreeNodeSize);
ExpectKeysSearch(Trans(), btree, values);
for (int i = 0; i < values.Length; i++)
{
btree.Remove(Trans(), values[i]);
}
BTreeAssert.AssertEmpty(Trans(), btree);
btree.Commit(Trans());
BTreeAssert.AssertEmpty(Trans(), btree);
return btree;
}
示例4: RegisterBTreeInTransaction
private void RegisterBTreeInTransaction(BTree tree)
{
AssertValidBTreeId(tree.GetID());
BTreesIn(_transaction)[tree.GetID()] = tree;
}
示例5: 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()));
}
示例6: InitializeNew
private void InitializeNew()
{
_bTree = new BTree(Transaction(), BTreeConfiguration(), new BTreeIdSystem.IdSlotMappingHandler
());
int idGeneratorValue = _container.Handlers.LowestValidId() - 1;
_persistentState = new PersistentIntegerArray(SlotChangeFactory.IdSystem, _transactionalIdSystem
, new int[] { _bTree.GetID(), idGeneratorValue, 0 });
_persistentState.Write(Transaction());
_parentIdSystem.ChildId(_persistentState.GetID());
}
示例7: RegisterBTreeIDs
public virtual void RegisterBTreeIDs(BTree btree, IDMappingCollector collector)
{
collector.CreateIDMapping(this, btree.GetID(), false);
TraverseAllIndexSlots(btree, new _IVisitor4_244(this, collector));
}
示例8: Initialize
private void Initialize()
{
var idToTimestampIndexId = _container.SystemData().IdToTimestampIndexId();
var timestampToIdIndexId = _container.SystemData().TimestampToIdIndexId();
if (_container.Config().IsReadOnly())
{
if (idToTimestampIndexId == 0)
{
return;
}
}
_idToTimestamp = new BTree(_container.SystemTransaction(), idToTimestampIndexId,
new TimestampEntryById());
_timestampToId = new BTree(_container.SystemTransaction(), timestampToIdIndexId,
new IdEntryByTimestamp());
if (idToTimestampIndexId != _idToTimestamp.GetID())
{
StoreBtreesIds();
}
EventRegistryFactory.ForObjectContainer(_container).Committing += new _IEventListener4_65(this).OnEvent;
}
示例9: 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;
}
示例10: 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;
}