다음을 통해 공유


ReservationCollection.Remove(Int64) 메서드

정의

예약이 만들어진 경우 지정된 크기의 예약을 해제합니다. 이 메서드는 상속될 수 없습니다.

public:
 virtual bool Remove(long item);
public bool Remove (long item);
abstract member Remove : int64 -> bool
override this.Remove : int64 -> bool
Public Function Remove (item As Long) As Boolean

매개 변수

item
Int64

해제할 예약의 크기입니다.

반환

지정된 크기의 예약이 발견되어 제거되면 true이고, 그렇지 않으면 false입니다.

구현

예외

지정된 예약 컬렉션에서 제공된 레코드에 적합한 크기의 예약을 찾을 수 없는 경우

아카이브 스냅샷을 만들 때 I/O 오류가 발생한 경우

시퀀스가 삭제된 후 메서드가 호출된 경우

메모리가 부족하여 프로그램을 계속 실행할 수 없는 경우

레코드 시퀀스가 꽉 찼습니다.

지정된 로그 저장소에 대한 액세스가 운영 체제에서 거부된 경우

예제

다음 예제에서는 수동으로 예약하는 방법을 보여 줍니다. 이 작업은 CLFS 기반 LogRecordSequence 클래스를 사용할 때만 수행할 수 있습니다.

ReservationCollection reservations = recordSequence.CreateReservationCollection();  
reservations.Add(lengthOfUndoRecord);  
try  
{  
   recordSequence.Append(recordData, userSqn, previousSqn, RecordAppendOptions.None);  
}  
catch (Exception)  
{  
   reservations.Remove(lengthOfUndoRecord);  
   throw;  
}  

recordSequence.Append(undoRecordData, userSqn, previousSqn, RecordAppendOptions.ForceFlush, reservations);  

적용 대상