다음을 통해 공유


ReservationCollection.Add(Int64) 메서드

정의

예약을 할당하고 컬렉션에 추가합니다. 이 메서드는 상속될 수 없습니다.

public:
 virtual void Add(long size);
public void Add (long size);
abstract member Add : int64 -> unit
override this.Add : int64 -> unit
Public Sub Add (size As Long)

매개 변수

size
Int64

요청된 예약의 크기(바이트)입니다.

구현

예외

archiveTail이 이 시퀀스의 기준 시퀀스 번호와 마지막 시퀀스 번호 사이에 있지 않은 경우

size가 잘못되었거나 최대 예약 크기를 초과하는 경우

아카이브 스냅샷을 만들 때 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);  

적용 대상