private void EnsureIndex(Transaction transaction)
        {
            if (null == transaction)
            {
                throw new ArgumentNullException();
            }
            if (null != base.GetIndex(transaction))
            {
                return;
            }
            LocalObjectContainer file = ((LocalObjectContainer)transaction.Container());
            SystemData           sd   = file.SystemData();

            if (sd == null)
            {
                // too early, in new file, try again later.
                return;
            }
            InitIndex(transaction, sd.UuidIndexId());
            if (sd.UuidIndexId() == 0)
            {
                sd.UuidIndexId(base.GetIndex(transaction).GetID());
                file.GetFileHeader().WriteVariablePart(file);
            }
        }
Пример #2
0
 private void StoreBtreesIds()
 {
     _container.SystemData().IdToTimestampIndexId(_idToTimestamp.GetID());
     _container.SystemData().TimestampToIdIndexId(_timestampToId.GetID());
     _container.GetFileHeader().WriteVariablePart(_container);
 }