|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.derby.impl.store.raw.data.StoredRecordHeader
A class StoredPage uses to cache record headers by passing instances to BasePage, and to write stored versions of record headers. Format
1 byte - status compressed int - record identifier compressed long - overflow page } only if hasOverflow() is true compressed int - overflow id } " " " compressed int - first field } only if hasFirstField set - otherwise 0 compressed int - number of fields in this portion - only if hasOverflow() is false OR hasFirstField is true - otherwise 0
Field Summary | |
protected int |
firstField
if (hasFirstField()) then this field is the number of the column in the orginal row which is now stored as the first field in this row. |
protected RecordHandle |
handle
A record handle that can represent the record, may be null. |
protected int |
id
Actual identifier of the record MT - Mutable |
protected int |
numberFields
number of fields in the row. |
protected int |
overflowId
If (hasOverflow()) then this is the id of the row on page overflowPage where the next portion of the row can be found. |
protected long |
overflowPage
If (hasOverflow()) then this is the page where where the next portion of the row can be found. |
static int |
RECORD_DELETED
|
static int |
RECORD_HAS_FIRST_FIELD
|
static int |
RECORD_INITIAL
Status bits for the record header: RECORD_INITIAL - used when record header is first initialized RECORD_DELETED - used to indicate the record has been deleted RECORD_OVERFLOW - used to indicate the record has been overflowed, it will point to the overflow page and ID RECORD_HAS_FIRST_FIELD - used to indicate that firstField is stored will be stored. |
static int |
RECORD_OVERFLOW
|
static int |
RECORD_VALID_MASK
|
protected int |
status
Status of the record. |
Constructor Summary | |
StoredRecordHeader()
Constructors for This class: |
|
StoredRecordHeader(byte[] data,
int offset)
|
|
StoredRecordHeader(int id,
int numberFields)
|
|
StoredRecordHeader(StoredRecordHeader loadTargetFrom)
|
Method Summary | |
int |
getFirstField()
|
protected RecordHandle |
getHandle(PageKey pageId,
int current_slot)
Get a record handle for the record. |
int |
getId()
Get the record identifier MT - thread safe |
int |
getNumberFields()
|
int |
getOverflowId()
|
long |
getOverflowPage()
|
protected boolean |
hasFirstField()
|
boolean |
hasOverflow()
|
boolean |
isDeleted()
Get the deleted state of the record. |
private void |
read(byte[] data,
int offset)
|
void |
read(java.io.ObjectInput in)
|
private int |
readFirstField(byte[] data,
int offset)
|
private int |
readId(byte[] data,
int offset)
|
private void |
readNumberFields(byte[] data,
int offset)
|
private int |
readOverFlowId(byte[] data,
int offset)
|
private int |
readOverFlowPage(byte[] data,
int offset)
|
int |
setDeleted(boolean deleteTrue)
Set the deleted state of the record. |
void |
setFirstField(int firstField)
|
void |
setId(int id)
|
void |
setNumberFields(int numberFields)
|
void |
setOverflowDetails(RecordHandle overflowHandle)
|
void |
setOverflowFields(StoredRecordHeader loadFromTarget)
|
int |
size()
return the size of the record header. |
java.lang.String |
toString()
|
int |
write(java.io.OutputStream out)
Public Methods implmenting read/write of Storable Interface: |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final int RECORD_INITIAL
public static final int RECORD_DELETED
public static final int RECORD_OVERFLOW
public static final int RECORD_HAS_FIRST_FIELD
public static final int RECORD_VALID_MASK
protected int id
protected int status
protected int numberFields
protected RecordHandle handle
protected int overflowId
protected long overflowPage
protected int firstField
Constructor Detail |
public StoredRecordHeader()
public StoredRecordHeader(int id, int numberFields)
public StoredRecordHeader(byte[] data, int offset)
public StoredRecordHeader(StoredRecordHeader loadTargetFrom)
Method Detail |
protected RecordHandle getHandle(PageKey pageId, int current_slot)
MT - single thread required
public final int getId()
public int getNumberFields()
public long getOverflowPage()
public int getOverflowId()
public int getFirstField()
public final boolean hasOverflow()
protected final boolean hasFirstField()
public final boolean isDeleted()
MT - single thread required
public int size()
Calculates the size of the record header, mostly used to allow a reader to skip over the record header and position on the 1st field of the record.
This low level routine is performance critical to processing lots of rows, so calls to CompressNumber have been hand inlined.
StandardException
- Standard exception policy.public int setDeleted(boolean deleteTrue)
return 1, if delete status from not deleted to deleted
return -1, if delete status from deleted to not deleted
return 0, if status unchanged.
MT - single thread required
public void setFirstField(int firstField)
public final void setId(int id)
public void setOverflowDetails(RecordHandle overflowHandle)
public void setOverflowFields(StoredRecordHeader loadFromTarget)
public final void setNumberFields(int numberFields)
public int write(java.io.OutputStream out) throws java.io.IOException
java.io.IOException
public void read(java.io.ObjectInput in) throws java.io.IOException
java.io.IOException
private int readId(byte[] data, int offset)
private int readOverFlowPage(byte[] data, int offset)
private int readOverFlowId(byte[] data, int offset)
private int readFirstField(byte[] data, int offset)
private void readNumberFields(byte[] data, int offset)
private void read(byte[] data, int offset)
public java.lang.String toString()
|
Built on Mon 2007-06-04 09:58:47+0400, from revision ??? | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |