| java.lang.Object org.apache.derby.impl.store.raw.data.BasePage org.apache.derby.impl.store.raw.data.CachedPage org.apache.derby.impl.store.raw.data.StoredPage org.apache.derby.impl.store.raw.data.AllocPage
AllocPage | public class AllocPage extends StoredPage (Code) | | An allocation page of the file container.
This class extends a normal Stored page, with the exception that a hunk of
space may be 'borrowed' by the file container to store the file header.
The borrowed space is not visible to the alloc page even though it is
present in the page data array. It is accessed directly by the
FileContainer. Any change made to the borrowed space is not managed or
seen by the allocation page.
Page Format
An allocation page extends a stored page, the on disk format is different
from a stored page in that N bytes are 'borrowed' by the container and the
page header of an allocation page will be slightly bigger than a normal
stored page. This N bytes are stored between the page header and the
record space.
The reason why this N bytes can't simply be a row is because it needs to be
statically accessible by the container object to avoid a chicken and egg
problem of the container object needing to instantiate an alloc page object
before it can be objectified, and an alloc page object needing to
instantiate a container object before it can be objectified. So this N
bytes must be stored outside of the normal record interface yet it must be
settable because only the first alloc page has this borrowed space. Other
(non-first) alloc page have N == 0.
<-- borrowed ->
+----------+-------------+---+---------+-------------------+-------------+--------+
| FormatId | page header | N | N bytes | alloc extend rows | slot offset |checksum|
+----------+-------------+---+---------+-------------------+-------------+--------+
N is a byte that indicates the size of the borrowed space. Once an alloc
page is initialized, the value of N cannot change.
The maximum space that can be borrowed by the container is 256 bytes.
The allocation page are of the same page size as any other pages in the
container. The first allocation page of the FileContainer starts at the
first physical byte of the container. Subsequent allocation pages are
chained via the nextAllocPageOffset. Each allocation page is expected to
manage at least 1000 user pages (for 1K page size) so this chaining may not
be a severe performance hit. The logical -> physical mapping of an
allocation page is stored in the previous allocation page. The container
object will need to maintain this mapping.
The following fields are stored in the page header
See Also: AllocExtent |
Method Summary | |
public static void | ReadContainerInfo(byte[] containerInfo, byte[] epage) Extract the container information from epage. | public static void | WriteContainerInfo(byte[] containerInfo, byte[] epage, boolean create) Write the container information into the container information area.
Parameters: containerInfo - the container information Parameters: epage - the allocation page data which may not be fully formed,but is guarenteed to be big enough to cover the area inhibited by thecontainer info Parameters: create - if create, write out the length of the container infoalso. | public void | addPage(FileContainer mycontainer, long newPageNumber, RawTransaction ntt, BaseContainerHandle userHandle) Add a page which is managed by this alloc page.
Return the page number of the newly added page.
MT - thread aware (latched)
Parameters: mycontainer - (future) allows the alloc page to call back to thecontainer to grow the container by creating and syncing multiplepages at once Parameters: ntt - the nested top action that is the allocation transaction.NTT will comit before the user transaction Parameters: userHandle - the container handle that is opened by the usertransaction. | public boolean | canAddFreePage(long lastAllocatedPage) | public void | chainNewAllocPage(BaseContainerHandle allocHandle, long newAllocPageNum, long newAllocPageOffset) | protected void | chainNextAllocPage(LogInstant instant, long newAllocPageNum, long newAllocPageOffset) | protected boolean | compress(RawTransaction ntt, FileContainer myContainer) compress out empty pages at end of container.
Call the extent to update the data structure make the bit map look
like contiguous free pages at the end of the extent no longer exist.
Similar to preallocate do the operation unlogged, need to force the
change to the extent before actually removing the space from the
file.
The sequence is:
1) update extent data structure
2) force extent changes to disk
3) truncate pages
If the system crashes between 1 and 2 then no changes are on disk.
If the system crashes between 2 and 3 then there are extra pages in
the file that extent does not know about, this is the same case
as preallocation which the code already handes. | protected void | compressSpace(LogInstant instant, int new_highest_page, int num_pages_truncated) Compress free pages.
Compress the free pages at the end of the range maintained by
this allocation page. | protected void | createPage(PageKey newIdentity, int[] args) Create a new alloc page. | public void | deallocatePage(BaseContainerHandle userHandle, long pageNumber) | protected AllocExtent | getAllocExtent() Return a copy of the allocExtent to be cached by the container. | public long | getLastPagenum() | protected long | getLastPreallocPagenum() | protected int | getMaxFreeSpace() | public long | getMaxPagenum() | public long | getNextAllocPageNumber() | public long | getNextAllocPageOffset() | protected int | getPageStatus(long pageNumber) | public int | getTypeFormatId() Return my format identifier. | protected void | initFromData(FileContainer myContainer, PageKey newIdentity) | public boolean | isLast() | public long | nextFreePageNumber(long pnum) | protected void | preAllocatePage(FileContainer myContainer, int preAllocThreshold, int preAllocSize) Preallocate user page if needed. | protected void | setPageStatus(LogInstant instant, long pageNumber, int newStatus) Do the actual page allocation/deallocation/ree underneath a log operation. | public String | toString() | protected void | undoCompressSpace(LogInstant instant, int new_highest_page, int num_pages_truncated) Handle undo of compress space operation. | protected void | updateUnfilledPageInfo(AllocExtent inputExtent) | protected void | writePage(PageKey identity) |
ALLOC_PAGE_HEADER_OFFSET | final protected static int ALLOC_PAGE_HEADER_OFFSET(Code) | | constants
|
ALLOC_PAGE_HEADER_SIZE | final protected static int ALLOC_PAGE_HEADER_SIZE(Code) | | |
BORROWED_SPACE_LEN | final protected static int BORROWED_SPACE_LEN(Code) | | |
BORROWED_SPACE_OFFSET | final protected static int BORROWED_SPACE_OFFSET(Code) | | |
FORMAT_NUMBER | final public static int FORMAT_NUMBER(Code) | | |
MAX_BORROWED_SPACE | final protected static int MAX_BORROWED_SPACE(Code) | | |
TEST_MULTIPLE_ALLOC_PAGE | final public static String TEST_MULTIPLE_ALLOC_PAGE(Code) | | Extent Testing
Use these strings to simulate error conditions for
testing purposes.
|
AllocPage | public AllocPage()(Code) | | |
ReadContainerInfo | public static void ReadContainerInfo(byte[] containerInfo, byte[] epage)(Code) | | Extract the container information from epage.
Parameters: containerInfo - where to put the extracted information Parameters: epage - the allocation page which has the container information.Epage may not be fully formed, but is guarenteed to be big enough tocover the area inhibited by the container info |
WriteContainerInfo | public static void WriteContainerInfo(byte[] containerInfo, byte[] epage, boolean create) throws StandardException(Code) | | Write the container information into the container information area.
Parameters: containerInfo - the container information Parameters: epage - the allocation page data which may not be fully formed,but is guarenteed to be big enough to cover the area inhibited by thecontainer info Parameters: create - if create, write out the length of the container infoalso. Else check to make sure epage's original container info is of thesame length exception: StandardException - Cloudscape standard error policy |
addPage | public void addPage(FileContainer mycontainer, long newPageNumber, RawTransaction ntt, BaseContainerHandle userHandle) throws StandardException(Code) | | Add a page which is managed by this alloc page.
Return the page number of the newly added page.
MT - thread aware (latched)
Parameters: mycontainer - (future) allows the alloc page to call back to thecontainer to grow the container by creating and syncing multiplepages at once Parameters: ntt - the nested top action that is the allocation transaction.NTT will comit before the user transaction Parameters: userHandle - the container handle that is opened by the usertransaction. Use the userHandle to latch the new page so thatit may remain latched after NTT is committed so the usertransaction can guarentee to have an empty page exception: StandardException - If the page cannot be added |
canAddFreePage | public boolean canAddFreePage(long lastAllocatedPage)(Code) | | |
chainNextAllocPage | protected void chainNextAllocPage(LogInstant instant, long newAllocPageNum, long newAllocPageOffset) throws StandardException(Code) | | Chain the next page number and offset underneath a log record
exception: StandardException - Standard Cloudscape error policy |
compress | protected boolean compress(RawTransaction ntt, FileContainer myContainer) throws StandardException(Code) | | compress out empty pages at end of container.
Call the extent to update the data structure make the bit map look
like contiguous free pages at the end of the extent no longer exist.
Similar to preallocate do the operation unlogged, need to force the
change to the extent before actually removing the space from the
file.
The sequence is:
1) update extent data structure
2) force extent changes to disk
3) truncate pages
If the system crashes between 1 and 2 then no changes are on disk.
If the system crashes between 2 and 3 then there are extra pages in
the file that extent does not know about, this is the same case
as preallocation which the code already handes. It will handle
any set of pages from 0 to all of the intended pages being
truncated. The next allocate looks at actual size of file as
does the right thing.
exception: StandardException - Standard exception policy. |
compressSpace | protected void compressSpace(LogInstant instant, int new_highest_page, int num_pages_truncated) throws StandardException(Code) | | Compress free pages.
Compress the free pages at the end of the range maintained by
this allocation page. All pages being compressed should be FREE.
Only pages in the last allocation page can be compressed.
Parameters: instant - log address for this operation. Parameters: new_highest_page - The new highest page on this allocation page. The number is the offset of the pagein the array of pages maintained by this allocation page, for instance a value of 0 indicates all page except the first one areto be truncated. If all pages are truncated then the offset is set to -1. Parameters: num_pages_truncated - The number of allocated pages in this allocation page prior to the truncate. Note that all pages from NewHighestPage+1 through newHighestPage+num_pages_truncated should be FREE. exception: StandardException - Standard exception policy. |
getAllocExtent | protected AllocExtent getAllocExtent()(Code) | | Return a copy of the allocExtent to be cached by the container.
the container must take care to maintain its coherency by
invalidating the cache before any update.
|
getLastPagenum | public long getLastPagenum()(Code) | | |
getLastPreallocPagenum | protected long getLastPreallocPagenum()(Code) | | |
getMaxFreeSpace | protected int getMaxFreeSpace()(Code) | | |
getMaxPagenum | public long getMaxPagenum()(Code) | | |
getNextAllocPageNumber | public long getNextAllocPageNumber()(Code) | | |
getNextAllocPageOffset | public long getNextAllocPageOffset()(Code) | | |
getPageStatus | protected int getPageStatus(long pageNumber)(Code) | | |
getTypeFormatId | public int getTypeFormatId()(Code) | | Return my format identifier.
|
isLast | public boolean isLast()(Code) | | |
nextFreePageNumber | public long nextFreePageNumber(long pnum)(Code) | | Return the next free page number after given page number
|
preAllocatePage | protected void preAllocatePage(FileContainer myContainer, int preAllocThreshold, int preAllocSize)(Code) | | Preallocate user page if needed.
Parameters: myContainer - the container object Parameters: preAllocThreshold - start preallocating after this threshold Parameters: preAllocSize - preallocate this number of pages |
setPageStatus | protected void setPageStatus(LogInstant instant, long pageNumber, int newStatus) throws StandardException(Code) | | Do the actual page allocation/deallocation/ree underneath a log operation.
Change the page status to new status
exception: StandardException - If the page cannot be allocated |
undoCompressSpace | protected void undoCompressSpace(LogInstant instant, int new_highest_page, int num_pages_truncated) throws StandardException(Code) | | Handle undo of compress space operation.
|
updateUnfilledPageInfo | protected void updateUnfilledPageInfo(AllocExtent inputExtent)(Code) | | |
Methods inherited from org.apache.derby.impl.store.raw.data.StoredPage | public boolean allowInsert()(Code)(Java Doc) public int appendOverflowFieldHeader(DynamicByteArrayOutputStream logBuffer, RecordHandle overflowHandle) throws StandardException, IOException(Code)(Java Doc) final protected void clearSection(int offset, int length)(Code)(Java Doc) protected void compactRecord(RawTransaction t, int slot, int id) throws StandardException(Code)(Java Doc) protected void createPage(PageKey newIdentity, int[] args) throws StandardException(Code)(Java Doc) public PageTimeStamp currentTimeStamp()(Code)(Java Doc) public void doUpdateAtSlot(RawTransaction t, int slot, int id, Object[] row, FormatableBitSet validColumns) throws StandardException(Code)(Java Doc) public boolean entireRecordOnPage(int slot) throws StandardException(Code)(Java Doc) public boolean equalTimeStamp(PageTimeStamp ts) throws StandardException(Code)(Java Doc) protected void expandPage(int startOffset, int requiredBytes) throws IOException(Code)(Java Doc) public int fetchNumFieldsAtSlot(int slot) throws StandardException(Code)(Java Doc) protected int getCurrentFreeSpace()(Code)(Java Doc) protected boolean getIsOverflow(int slot) throws IOException(Code)(Java Doc) protected int getMaxFreeSpace()(Code)(Java Doc) protected BasePage getNewOverflowPage() throws StandardException(Code)(Java Doc) protected StoredPage getOverflowPage(long pageNumber) throws StandardException(Code)(Java Doc) public BasePage getOverflowPageForInsert(int currentSlot, Object[] row, FormatableBitSet validColumns) throws StandardException(Code)(Java Doc) public BasePage getOverflowPageForInsert(int currentSlot, Object[] row, FormatableBitSet validColumns, int startColumn) throws StandardException(Code)(Java Doc) protected static int getOverflowSlot(BasePage overflowPage, StoredRecordHeader recordHeader) throws StandardException(Code)(Java Doc) final public int getPageSize()(Code)(Java Doc) public int getRecordLength(int slot) throws IOException(Code)(Java Doc) protected int getRecordPortionLength(int slot) throws IOException(Code)(Java Doc) public int getReservedCount(int slot) throws IOException(Code)(Java Doc) protected int getSlotsInUse()(Code)(Java Doc) public int getTotalSpace(int slot) throws StandardException(Code)(Java Doc) public int getTypeFormatId()(Code)(Java Doc) protected void initFromData(FileContainer myContainer, PageKey newIdentity) throws StandardException(Code)(Java Doc) public void initPage(LogInstant instant, byte status, int recordId, boolean overflow, boolean reuse) throws StandardException(Code)(Java Doc) protected void initialize()(Code)(Java Doc) public RecordHandle insertAtSlot(int slot, Object[] row, FormatableBitSet validColumns, LogicalUndo undo, byte insertFlag, int overflowThreshold) throws StandardException(Code)(Java Doc) protected int internalDeletedRecordCount()(Code)(Java Doc) public boolean isOverflowPage()(Code)(Java Doc) public void logAction(LogInstant instant) throws StandardException(Code)(Java Doc) public void logColumn(int slot, int fieldId, Object column, DynamicByteArrayOutputStream out, int overflowThreshold) throws StandardException, IOException(Code)(Java Doc) public void logField(int slot, int fieldNumber, OutputStream out) throws StandardException, IOException(Code)(Java Doc) public int logLongColumn(int slot, int recordId, Object column, DynamicByteArrayOutputStream out) throws StandardException, IOException(Code)(Java Doc) public void logRecord(int slot, int flag, int recordId, FormatableBitSet validColumns, OutputStream out, RecordHandle headRowHandle) throws StandardException, IOException(Code)(Java Doc) public int logRow(int slot, boolean forInsert, int recordId, Object[] row, FormatableBitSet validColumns, DynamicByteArrayOutputStream out, int startColumn, byte insertFlag, int realStartColumn, int realSpaceOnPage, int overflowThreshold) throws StandardException, IOException(Code)(Java Doc) public int moveRecordForCompressAtSlot(int slot, Object[] row, RecordHandle[] old_handle, RecordHandle[] new_handle) throws StandardException(Code)(Java Doc) public int newRecordId()(Code)(Java Doc) protected int newRecordId(int recordId)(Code)(Java Doc) public int newRecordIdAndBump()(Code)(Java Doc) protected void purgeOverflowAtSlot(int slot, RecordHandle headRowHandle, boolean needDataLogged) throws StandardException(Code)(Java Doc) public void purgeRecord(LogInstant instant, int slot, int recordId) throws StandardException, IOException(Code)(Java Doc) protected void purgeRowPieces(RawTransaction t, int slot, RecordHandle headRowHandle, boolean needDataLogged) throws StandardException(Code)(Java Doc) public StoredRecordHeader recordHeaderOnDemand(int slot)(Code)(Java Doc) protected void releaseExclusive()(Code)(Java Doc) void removeOrphanedColumnChain(ReclaimSpace work, ContainerHandle containerHdl) throws StandardException(Code)(Java Doc) public void reserveSpaceForSlot(LogInstant instant, int slot, int spaceToReserve) throws StandardException, IOException(Code)(Java Doc) public void restorePortionLongColumn(OverflowInputStream fetchStream) throws StandardException, IOException(Code)(Java Doc) protected boolean restoreRecordFromSlot(int slot, Object[] row, FetchDescriptor fetchDesc, RecordHandle recordToLock, StoredRecordHeader recordHeader, boolean isHeadRow) throws StandardException(Code)(Java Doc) public void restoreRecordFromStream(LimitObjectInput in, Object[] row) throws StandardException, IOException(Code)(Java Doc) public void setDeleteStatus(LogInstant instant, int slot, boolean delete) throws StandardException, IOException(Code)(Java Doc) public void setPageStatus(LogInstant instant, byte status) throws StandardException(Code)(Java Doc) public void setReservedSpace(LogInstant instant, int slot, int value) throws StandardException, IOException(Code)(Java Doc) public void setTimeStamp(PageTimeStamp ts) throws StandardException(Code)(Java Doc) public void skipField(ObjectInput in) throws IOException(Code)(Java Doc) public void skipRecord(ObjectInput in) throws IOException(Code)(Java Doc) public boolean spaceForCopy(int num_rows, int[] spaceNeeded)(Code)(Java Doc) protected boolean spaceForCopy(int spaceNeeded)(Code)(Java Doc) public boolean spaceForInsert() throws StandardException(Code)(Java Doc) public boolean spaceForInsert(Object[] row, FormatableBitSet validColumns, int overflowThreshold) throws StandardException(Code)(Java Doc) public void storeField(LogInstant instant, int slot, int fieldNumber, ObjectInput in) throws StandardException, IOException(Code)(Java Doc) public void storeRecord(LogInstant instant, int slot, boolean insert, ObjectInput in) throws StandardException, IOException(Code)(Java Doc) public String toString()(Code)(Java Doc) public boolean unfilled()(Code)(Java Doc) protected void updateChecksum() throws IOException(Code)(Java Doc) public RecordHandle updateFieldAtSlot(int slot, int fieldId, Object newValue, LogicalUndo undo) throws StandardException(Code)(Java Doc) public void updateFieldOverflowDetails(RecordHandle handle, RecordHandle overflowHandle) throws StandardException(Code)(Java Doc) public void updateOverflowDetails(RecordHandle handle, RecordHandle overflowHandle) throws StandardException(Code)(Java Doc) protected void updateOverflowed(RawTransaction t, int slot, Object[] row, FormatableBitSet validColumns, StoredRecordHeader recordHeader) throws StandardException(Code)(Java Doc) protected void usePageBuffer(byte[] pageBuffer)(Code)(Java Doc) protected void validateChecksum(PageKey id) throws StandardException(Code)(Java Doc) protected void writeFormatId(PageKey identity) throws StandardException(Code)(Java Doc) protected void writePage(PageKey identity) throws StandardException(Code)(Java Doc)
|
Methods inherited from org.apache.derby.impl.store.raw.data.BasePage | final public static RecordHandle MakeRecordHandle(PageKey pkey, int recordHandleConstant) throws StandardException(Code)(Java Doc) abstract public boolean allowInsert()(Code)(Java Doc) abstract public int appendOverflowFieldHeader(DynamicByteArrayOutputStream logBuffer, RecordHandle overflowHandle) throws StandardException, IOException(Code)(Java Doc) final protected long bumpPageVersion()(Code)(Java Doc) final protected void bumpRecordCount(int number)(Code)(Java Doc) protected void cleanPageForReuse()(Code)(Java Doc) public void clearIdentity()(Code)(Java Doc) final protected void clearLastLogInstant()(Code)(Java Doc) public void compactRecord(RecordHandle handle) throws StandardException(Code)(Java Doc) abstract protected void compactRecord(RawTransaction t, int slot, int recordId) throws StandardException(Code)(Java Doc) public void copyAndPurge(Page destPage, int src_slot, int num_rows, int dest_slot) throws StandardException(Code)(Java Doc) public void deallocatePage() throws StandardException(Code)(Java Doc) public boolean delete(RecordHandle handle, LogicalUndo undo) throws StandardException(Code)(Java Doc) public RecordHandle deleteAtSlot(int slot, boolean delete, LogicalUndo undo) throws StandardException(Code)(Java Doc) abstract public void doUpdateAtSlot(RawTransaction t, int slot, int id, Object[] row, FormatableBitSet validColumns) throws StandardException(Code)(Java Doc) abstract public boolean entireRecordOnPage(int slot) throws StandardException(Code)(Java Doc) public RecordHandle fetch(RecordHandle handle, Object[] row, FormatableBitSet validColumns, boolean forUpdate) throws StandardException(Code)(Java Doc) final public RecordHandle fetchFieldFromSlot(int slot, int fieldId, Object column) throws StandardException(Code)(Java Doc) public RecordHandle fetchFromSlot(RecordHandle rh, int slot, Object[] row, FetchDescriptor fetchDesc, boolean ignoreDelete) throws StandardException(Code)(Java Doc) final public int fetchNumFields(RecordHandle handle) throws StandardException(Code)(Java Doc) public int fetchNumFieldsAtSlot(int slot) throws StandardException(Code)(Java Doc) protected void fillInIdentity(PageKey key)(Code)(Java Doc) public int findRecordById(int recordId, int slotHint)(Code)(Java Doc) public AuxObject getAuxObject()(Code)(Java Doc) final public StoredRecordHeader getHeaderAtSlot(int slot)(Code)(Java Doc) public Object getIdentity()(Code)(Java Doc) final public RecordHandle getInvalidRecordHandle()(Code)(Java Doc) final public LogInstant getLastLogInstant()(Code)(Java Doc) abstract protected BasePage getNewOverflowPage() throws StandardException(Code)(Java Doc) final public int getNextSlotNumber(RecordHandle handle) throws StandardException(Code)(Java Doc) abstract public BasePage getOverflowPageForInsert(int slot, Object[] row, FormatableBitSet validColumns, int startColumn) throws StandardException(Code)(Java Doc) abstract protected byte[] getPageArray() throws StandardException(Code)(Java Doc) public PageKey getPageId()(Code)(Java Doc) final public long getPageNumber()(Code)(Java Doc) public byte getPageStatus()(Code)(Java Doc) final public long getPageVersion()(Code)(Java Doc) final public RecordHandle getRecordHandle(int recordId)(Code)(Java Doc) final public RecordHandle getRecordHandleAtSlot(int slot)(Code)(Java Doc) abstract public int getRecordLength(int slot) throws IOException(Code)(Java Doc) abstract public int getReservedCount(int slot) throws IOException(Code)(Java Doc) final public int getSlotNumber(RecordHandle handle) throws StandardException(Code)(Java Doc) abstract public int getTotalSpace(int slot) throws StandardException(Code)(Java Doc) public void initPage(int initFlag, long pageOffset) throws StandardException(Code)(Java Doc) abstract public void initPage(LogInstant instant, byte status, int recordId, boolean overflow, boolean reuse) throws StandardException(Code)(Java Doc) protected void initialize()(Code)(Java Doc) protected void initializeHeaders(int numRecords)(Code)(Java Doc) final public RecordHandle insert(Object[] row, FormatableBitSet validColumns, byte insertFlag, int overflowThreshold) throws StandardException(Code)(Java Doc) public RecordHandle insertAllowOverflow(int slot, Object[] row, FormatableBitSet validColumns, int startColumn, byte insertFlag, int overflowThreshold, RecordHandle nextPortionHandle) throws StandardException(Code)(Java Doc) public RecordHandle insertAtSlot(int slot, Object[] row, FormatableBitSet validColumns, LogicalUndo undo, byte insertFlag, int overflowThreshold) throws StandardException(Code)(Java Doc) protected RecordHandle insertLongColumn(BasePage mainChainPage, LongColumnException lce, byte insertFlag) throws StandardException(Code)(Java Doc) protected RecordHandle insertNoOverflow(int slot, Object[] row, FormatableBitSet validColumns, LogicalUndo undo, byte insertFlag, int overflowThreshold) throws StandardException(Code)(Java Doc) abstract protected int internalDeletedRecordCount()(Code)(Java Doc) protected int internalNonDeletedRecordCount()(Code)(Java Doc) public boolean isDeletedAtSlot(int slot) throws StandardException(Code)(Java Doc) final protected boolean isDeletedOnPage(int slot)(Code)(Java Doc) public boolean isLatched()(Code)(Java Doc) abstract public boolean isOverflowPage()(Code)(Java Doc) public boolean lockAttributes(int flag, Hashtable attributes)(Code)(Java Doc) public void lockEvent(Latch lockInfo)(Code)(Java Doc) public boolean lockerAlwaysCompatible()(Code)(Java Doc) abstract public void logColumn(int slot, int fieldId, Object column, DynamicByteArrayOutputStream out, int overflowThreshold) throws StandardException, IOException(Code)(Java Doc) abstract public void logField(int slot, int fieldNumber, OutputStream out) throws StandardException, IOException(Code)(Java Doc) abstract public int logLongColumn(int slot, int recordId, Object column, DynamicByteArrayOutputStream out) throws StandardException, IOException(Code)(Java Doc) abstract public void logRecord(int slot, int flag, int recordId, FormatableBitSet validColumns, OutputStream out, RecordHandle headRowHandle) throws StandardException, IOException(Code)(Java Doc) abstract public int logRow(int slot, boolean forInsert, int recordId, Object[] row, FormatableBitSet validColumns, DynamicByteArrayOutputStream out, int startColumn, byte insertFlag, int realStartColumn, int realSpaceOnPage, int overflowThreshold) throws StandardException, IOException(Code)(Java Doc) final public RecordHandle makeRecordHandle(int recordHandleConstant) throws StandardException(Code)(Java Doc) abstract public int newRecordId() throws StandardException(Code)(Java Doc) abstract protected int newRecordId(int recordId) throws StandardException(Code)(Java Doc) abstract public int newRecordIdAndBump() throws StandardException(Code)(Java Doc) public int nonDeletedRecordCount()(Code)(Java Doc) abstract public void preDirty()(Code)(Java Doc) public void purgeAtSlot(int slot, int numpurges, boolean needDataLogged) throws StandardException(Code)(Java Doc) abstract public void purgeRecord(LogInstant instant, int slot, int recordId) throws StandardException, IOException(Code)(Java Doc) abstract protected void purgeRowPieces(RawTransaction t, int slot, RecordHandle headRowHandle, boolean needDataLogged) throws StandardException(Code)(Java Doc) final public int recordCount()(Code)(Java Doc) final public boolean recordExists(RecordHandle handle, boolean ignoreDelete) throws StandardException(Code)(Java Doc) abstract public StoredRecordHeader recordHeaderOnDemand(int slot)(Code)(Java Doc) protected void releaseExclusive()(Code)(Java Doc) protected void removeAndShiftDown(int slot)(Code)(Java Doc) public boolean requestCompatible(Object requestedQualifier, Object grantedQualifier)(Code)(Java Doc) abstract public void reserveSpaceForSlot(LogInstant instant, int slot, int spaceToReserve) throws StandardException, IOException(Code)(Java Doc) abstract protected void restorePortionLongColumn(OverflowInputStream fetchStream) throws StandardException, IOException(Code)(Java Doc) abstract protected boolean restoreRecordFromSlot(int slot, Object[] row, FetchDescriptor fetchDesc, RecordHandle rh, StoredRecordHeader recordHeader, boolean isHeadRow) throws StandardException(Code)(Java Doc) abstract public void restoreRecordFromStream(LimitObjectInput in, Object[] row) throws StandardException, IOException(Code)(Java Doc) public void setAuxObject(AuxObject obj)(Code)(Java Doc) abstract public void setContainerRowCount(long count)(Code)(Java Doc) public int setDeleteStatus(int slot, boolean delete) throws StandardException, IOException(Code)(Java Doc) abstract public void setDeleteStatus(LogInstant instant, int slot, boolean delete) throws StandardException, IOException(Code)(Java Doc) public void setExclusive(BaseContainerHandle requester) throws StandardException(Code)(Java Doc) boolean setExclusiveNoWait(BaseContainerHandle requester) throws StandardException(Code)(Java Doc) final protected void setHeaderAtSlot(int slot, StoredRecordHeader rh)(Code)(Java Doc) protected void setPageStatus(byte status)(Code)(Java Doc) abstract public void setPageStatus(LogInstant instant, byte status) throws StandardException(Code)(Java Doc) final public void setPageVersion(long v)(Code)(Java Doc) abstract public void setReservedSpace(LogInstant instant, int slot, int value) throws StandardException, IOException(Code)(Java Doc) protected StoredRecordHeader shiftUp(int low)(Code)(Java Doc) public boolean shouldReclaimSpace(int num_non_deleted_rows, int slot_just_deleted) throws StandardException(Code)(Java Doc) abstract public void skipField(ObjectInput in) throws StandardException, IOException(Code)(Java Doc) abstract public void skipRecord(ObjectInput in) throws StandardException, IOException(Code)(Java Doc) protected String slotTableToString()(Code)(Java Doc) abstract public boolean spaceForCopy(int num_rows, int[] spaceNeeded) throws StandardException(Code)(Java Doc) abstract public void storeField(LogInstant instant, int slot, int fieldId, ObjectInput in) throws StandardException, IOException(Code)(Java Doc) abstract public void storeRecord(LogInstant instant, int slot, boolean forInsert, ObjectInput in) throws StandardException, IOException(Code)(Java Doc) abstract public boolean unfilled()(Code)(Java Doc) public void unlatch()(Code)(Java Doc) public void unlockEvent(Latch lockInfo)(Code)(Java Doc) final public boolean update(RecordHandle handle, Object[] row, FormatableBitSet validColumns) throws StandardException(Code)(Java Doc) public void update(Observable obj, Object arg)(Code)(Java Doc) final public RecordHandle updateAtSlot(int slot, Object[] row, FormatableBitSet validColumns) throws StandardException(Code)(Java Doc) public RecordHandle updateFieldAtSlot(int slot, int fieldId, Object newValue, LogicalUndo undo) throws StandardException(Code)(Java Doc) abstract public void updateFieldOverflowDetails(RecordHandle handle, RecordHandle overflowHandle) throws StandardException(Code)(Java Doc) final protected void updateLastLogInstant(LogInstant instant)(Code)(Java Doc) abstract public void updateOverflowDetails(RecordHandle handle, RecordHandle overflowHandle) throws StandardException(Code)(Java Doc)
|
|
|