| org.apache.derby.impl.store.access.conglomerate.GenericConglomerateController org.apache.derby.impl.store.access.heap.HeapController
Method Summary | |
final protected void | getRowPositionFromRowLocation(RowLocation row_loc, RowPosition pos) | protected Page | getUserPageNoWait(long pageno) | protected Page | getUserPageWait(long pageno) | public int | insert(DataValueDescriptor[] row) | public void | insertAndFetchLocation(DataValueDescriptor[] row, RowLocation templateRowLocation) | protected long | load(TransactionManager xact_manager, Heap heap, boolean createConglom, RowLocationRetRowSource rowSource) | protected boolean | lockRow(RecordHandle rh, int lock_oper, boolean wait, int lock_duration) | public boolean | lockRow(RowLocation loc, int lock_operation, boolean wait, int lock_duration) Lock the given row location. | public boolean | lockRow(long page_num, int record_id, int lock_operation, boolean wait, int lock_duration) Lock the given record id/page num pair.
Should only be called by access, to lock "special" locks formed from
the Recordhandle.* reserved constants for page specific locks.
This call can be made on a ConglomerateController that was opened
for locking only.
RESOLVE (mikem) - move this call to ConglomerateManager so it is
obvious that non-access clients should not call this.
true if lock was granted, only can be false if wait was false. Parameters: page_num - Page number of row to lock. Parameters: record_id - Record id of row on page_num to lock. Parameters: lock_operation - Desc of what to lock for, ie. | protected boolean | lockRowAtSlotNoWaitExclusive(RecordHandle rh) | public RowLocation | newRowLocationTemplate() | final protected boolean | purgeCommittedDeletes(Page page) Check and purge committed deleted rows on a page.
true, if no purging has been done on page, and thus latchcan be released before end transaction. | protected void | queueDeletePostCommitWork(RowPosition pos) | protected void | removePage(Page page) | public void | unlockRowAfterRead(RowLocation loc, boolean forUpdate, boolean row_qualified) UnLock the given row location. |
getRowPositionFromRowLocation | final protected void getRowPositionFromRowLocation(RowLocation row_loc, RowPosition pos) throws StandardException(Code) | | Protected concrete impl of abstract methods of
GenericConglomerateController class:
|
lockRow | public boolean lockRow(RowLocation loc, int lock_operation, boolean wait, int lock_duration) throws StandardException(Code) | | Lock the given row location.
Should only be called by access.
This call can be made on a ConglomerateController that was opened
for locking only.
RESOLVE (mikem) - move this call to ConglomerateManager so it is
obvious that non-access clients should not call this.
true if lock was granted, only can be false if wait was false. Parameters: loc - The "RowLocation" which describes the exact row to lock. Parameters: wait - Should the lock call wait to be granted? exception: StandardException - Standard exception policy. |
lockRow | public boolean lockRow(long page_num, int record_id, int lock_operation, boolean wait, int lock_duration) throws StandardException(Code) | | Lock the given record id/page num pair.
Should only be called by access, to lock "special" locks formed from
the Recordhandle.* reserved constants for page specific locks.
This call can be made on a ConglomerateController that was opened
for locking only.
RESOLVE (mikem) - move this call to ConglomerateManager so it is
obvious that non-access clients should not call this.
true if lock was granted, only can be false if wait was false. Parameters: page_num - Page number of row to lock. Parameters: record_id - Record id of row on page_num to lock. Parameters: lock_operation - Desc of what to lock for, ie. update, insert ... Parameters: wait - Should the lock call wait to be granted? exception: StandardException - Standard exception policy. |
purgeCommittedDeletes | final protected boolean purgeCommittedDeletes(Page page) throws StandardException(Code) | | Check and purge committed deleted rows on a page.
true, if no purging has been done on page, and thus latchcan be released before end transaction. Otherwise the latchon the page can not be released before commit. Parameters: page - A non-null, latched page must be passed in. If allrows on page are purged, then page will be removed andlatch released. exception: StandardException - Standard exception policy. |
unlockRowAfterRead | public void unlockRowAfterRead(RowLocation loc, boolean forUpdate, boolean row_qualified) throws StandardException(Code) | | UnLock the given row location.
Should only be called by access.
This call can be made on a ConglomerateController that was opened
for locking only.
RESOLVE (mikem) - move this call to ConglomerateManager so it is
obvious that non-access clients should not call this.
Parameters: loc - The "RowLocation" which describes the row to unlock. Parameters: forUpdate - Row was previously Locked the record for read or update. exception: StandardException - Standard exception policy. |
|
|