/// <exception cref="Db4objects.Db4o.CorruptionException"></exception>
		/// <exception cref="Db4objects.Db4o.Ext.Db4oIOException"></exception>
		private void RemoveIndexEntry(DeleteContextImpl context)
		{
			if (!HasIndex())
			{
				return;
			}
			int offset = context.Offset();
			object obj = ReadIndexEntry(context);
			RemoveIndexEntry(context.Transaction(), context.ObjectId(), obj);
			context.Seek(offset);
		}
Beispiel #2
0
 public override void Delete(DeleteContextImpl context, bool isUpdate)
 {
     if (isUpdate)
     {
         context.Seek(context.Offset() + LinkLength(context));
         return;
     }
     context.Seek(context.Offset() + Const4.IntLength);
     var longPart = context.ReadLong();
     if (longPart > 0)
     {
         if (context.Container().MaintainsIndices())
         {
             RemoveIndexEntry(context.Transaction(), context.ObjectId(), longPart);
         }
     }
 }