org.apache.derby.iapi.store.raw
Interface RecordHandle

All Superinterfaces:
Lockable
All Known Implementing Classes:
RecordId

public interface RecordHandle
extends Lockable

A handle to a record within a container. This interface does not provide an information about the data of the record, it is only used to perform updates, deletes and allow ordered record manipulation. MT - immutable

See Also:
Page

Field Summary
static int DEALLOCATE_PROTECTION_HANDLE
          A lock with this recordHandle protects this deallocated page from being freed and reallocated.
static int FIRST_RECORD_ID
          First recordId that is used to identify a record.
static int INVALID_RECORD_HANDLE
          An invalid record handle
static int PREVIOUS_KEY_HANDLE
          A lock with this recordHandle is used to lock the range of keys between the first key in a btree and keys previous to it.
static int RESERVED1_RECORD_HANDLE
          Reserved for future use - name it and define it when you have a need to use one.
static int RESERVED4_RECORD_HANDLE
          Reserve for future use - name it and define it when you have a need to use one
static int RESERVED5_RECORD_HANDLE
           
 
Method Summary
 ContainerKey getContainerId()
          Return the identity of my container.
 int getId()
          Obtain the page-unique identifier for this record.
 java.lang.Object getPageId()
          Return the identity of my Page.
 long getPageNumber()
          Obtain the page number this record lives on.
 int getSlotNumberHint()
          What slot number might the record be at?
 
Methods inherited from interface org.apache.derby.iapi.services.locks.Lockable
lockAttributes, lockerAlwaysCompatible, lockEvent, requestCompatible, unlockEvent
 

Field Detail

INVALID_RECORD_HANDLE

static final int INVALID_RECORD_HANDLE
An invalid record handle

See Also:
Constant Field Values

RESERVED1_RECORD_HANDLE

static final int RESERVED1_RECORD_HANDLE
Reserved for future use - name it and define it when you have a need to use one.

See Also:
Constant Field Values

DEALLOCATE_PROTECTION_HANDLE

static final int DEALLOCATE_PROTECTION_HANDLE
A lock with this recordHandle protects this deallocated page from being freed and reallocated. This lock is released when the transaction that deallocated the page terminates, at which point the page can be freed if the transaction committed.

See Also:
Constant Field Values

PREVIOUS_KEY_HANDLE

static final int PREVIOUS_KEY_HANDLE
A lock with this recordHandle is used to lock the range of keys between the first key in a btree and keys previous to it.

See Also:
Constant Field Values

RESERVED4_RECORD_HANDLE

static final int RESERVED4_RECORD_HANDLE
Reserve for future use - name it and define it when you have a need to use one

See Also:
Constant Field Values

RESERVED5_RECORD_HANDLE

static final int RESERVED5_RECORD_HANDLE
See Also:
Constant Field Values

FIRST_RECORD_ID

static final int FIRST_RECORD_ID
First recordId that is used to identify a record.

See Also:
Constant Field Values
Method Detail

getId

int getId()
Obtain the page-unique identifier for this record. This id combined with a page number is guaranteed to be unique within a container.


getPageNumber

long getPageNumber()
Obtain the page number this record lives on.


getSlotNumberHint

int getSlotNumberHint()
What slot number might the record be at?

The raw store guarantees that the record handle of a record will not change, but it's slot number may. An implementation of a record handle may provide a hint of the slot number, which may help routines like Page.getSlotNumber() perform better.

If an implementation does not track slot numbers at all the implementation should just always return Page.FIRST_SLOT_NUMBER.

Returns:
The slot number the record handle may be at.

getContainerId

ContainerKey getContainerId()
Return the identity of my container.


getPageId

java.lang.Object getPageId()
Return the identity of my Page.


Built on Thu 2012-03-29 21:53:33+0000, from revision ???

Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.