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); } }
private void StoreBtreesIds() { _container.SystemData().IdToTimestampIndexId(_idToTimestamp.GetID()); _container.SystemData().TimestampToIdIndexId(_timestampToId.GetID()); _container.GetFileHeader().WriteVariablePart(_container); }