Exemplo n.º 1
0
        public virtual void Run()
        {
            _transaction.CheckSynchronization();
            if (DTrace.enabled)
            {
                DTrace.WriteUpdateAdjustIndexes.Log(_id);
            }
            if (AlreadyHandled())
            {
                return;
            }
            // TODO: Try to get rid of getting the slot here because it
            //       will invoke reading a pointer from the file system.
            //       It may be possible to figure out the readd case
            //       by asking the IdSystem in a smarter way.
            Slot slot = _transaction.IdSystem().CurrentSlot(_id);

            if (HandledAsReAdd(slot))
            {
                return;
            }
            if (_clazz.CanUpdateFast())
            {
                return;
            }
            StatefulBuffer objectBytes = Container().ReadStatefulBufferBySlot(_transaction, _id
                                                                              , slot);

            DeleteMembers(objectBytes);
        }