public class MergeScan extends SortScan
Modifier and Type | Field and Description |
---|---|
protected java.util.Vector<java.lang.Long> |
mergeRuns
The merge runs.
|
protected StreamContainerHandle[] |
openScans
Array of scan controllers for the merge runs.
|
protected SortBuffer |
sortBuffer
The sort buffer we will use.
|
private SortObserver |
sortObserver |
current, hold, sort, tran
GE, GT, NA
Constructor and Description |
---|
MergeScan(MergeSort sort,
TransactionManager tran,
SortBuffer sortBuffer,
java.util.Vector<java.lang.Long> mergeRuns,
SortObserver sortObserver,
boolean hold) |
Modifier and Type | Method and Description |
---|---|
void |
close()
Close the scan.
|
boolean |
closeForEndTransaction(boolean closeHeldScan)
Close the scan.
|
boolean |
init(TransactionManager tran)
Initialize the scan, returning false if there
was some error.
|
(package private) void |
mergeARow(int scanindex)
Insert rows while we keep getting duplicates
from the merge run whose scan is in the
open scan array entry indexed by scanindex.
|
boolean |
next()
Move to the next position in the scan.
|
fetch, fetchNext, fetchWithoutQualify
delete, didNotQualify, doesCurrentPositionQualify, fetchLocation, fetchNextGroup, fetchNextGroup, fetchSet, getAllScanInfo, getEstimatedRowCount, getScanInfo, isCurrentPositionDeleted, isHeldAfterCommit, isKeyed, isTableLocked, newRowLocationTemplate, positionAtRowLocation, reopenScan, reopenScanByRowLocation, replace, setEstimatedRowCount
protected SortBuffer sortBuffer
protected java.util.Vector<java.lang.Long> mergeRuns
protected StreamContainerHandle[] openScans
private SortObserver sortObserver
MergeScan(MergeSort sort, TransactionManager tran, SortBuffer sortBuffer, java.util.Vector<java.lang.Long> mergeRuns, SortObserver sortObserver, boolean hold)
public boolean next() throws StandardException
StandardException
- Standard exception policy.ScanController.next()
public void close()
close
in interface GenericScanController
close
in class SortScan
GenericScanController.close()
public boolean closeForEndTransaction(boolean closeHeldScan)
closeHeldScan
- If true, means to close scan even if it has been
opened to be kept opened across commit. This is
used to close these scans on abort.ScanManager.closeForEndTransaction(boolean)
public boolean init(TransactionManager tran) throws StandardException
StandardException
void mergeARow(int scanindex) throws StandardException
StandardException
Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.