SortObserverAggregateSortObserver, UniqueIndexSortObserver, UniqueWithDuplicateNullsIndexSortObserverpublic class BasicSortObserver extends java.lang.Object implements SortObserver
| Modifier and Type | Field | Description |
|---|---|---|
protected boolean |
distinct |
|
protected boolean |
doClone |
|
private ExecRow |
execRow |
|
private boolean |
reuseWrappers |
|
private java.util.Vector<DataValueDescriptor[]> |
vector |
| Constructor | Description |
|---|---|
BasicSortObserver(boolean doClone,
boolean distinct,
ExecRow execRow,
boolean reuseWrappers) |
Simple constructor
|
| Modifier and Type | Method | Description |
|---|---|---|
void |
addToFreeList(DataValueDescriptor[] objectArray,
int maxFreeListSize) |
|
boolean |
deferrable() |
Overridden by subclasses that observe sorters with uniqueness checking.
|
boolean |
deferred() |
Overridden by subclasses that observe sorters with uniqueness checking.
|
DataValueDescriptor[] |
getArrayClone() |
|
private DataValueDescriptor[] |
getClone(DataValueDescriptor[] origArray) |
|
DataValueDescriptor[] |
insertDuplicateKey(DataValueDescriptor[] insertRow,
DataValueDescriptor[] existingRow) |
Called prior to inserting a duplicate sort
key.
|
DataValueDescriptor[] |
insertNonDuplicateKey(DataValueDescriptor[] insertRow) |
Called prior to inserting a distinct sort
key.
|
void |
rememberDuplicate(DataValueDescriptor[] row) |
Overridden by subclasses that observe sorters with uniqueness checking.
|
protected boolean doClone
protected boolean distinct
private boolean reuseWrappers
private ExecRow execRow
private java.util.Vector<DataValueDescriptor[]> vector
public BasicSortObserver(boolean doClone,
boolean distinct,
ExecRow execRow,
boolean reuseWrappers)
doClone - If true, then rows that are retained
by the sorter will be cloned. This is needed
if language is reusing row wrappers.distinct - If true, toss out duplicates.
Otherwise, retain them.execRow - ExecRow to use as source of clone for store.reuseWrappers - Whether or not we can reuse the wrapperspublic DataValueDescriptor[] insertNonDuplicateKey(DataValueDescriptor[] insertRow) throws StandardException
insertNonDuplicateKey in interface SortObserverinsertRow - the current row that the sorter
is on the verge of retainingStandardException - never thrownpublic DataValueDescriptor[] insertDuplicateKey(DataValueDescriptor[] insertRow, DataValueDescriptor[] existingRow) throws StandardException
insertDuplicateKey in interface SortObserverinsertRow - the current row that the sorter
is on the verge of retaining. It is a duplicate
of existingRow.existingRow - the row that is already in the
the sorter which is a duplicate of insertRowStandardException - never thrownpublic void addToFreeList(DataValueDescriptor[] objectArray, int maxFreeListSize)
addToFreeList in interface SortObserverpublic DataValueDescriptor[] getArrayClone() throws StandardException
getArrayClone in interface SortObserverStandardExceptionprivate DataValueDescriptor[] getClone(DataValueDescriptor[] origArray)
public boolean deferred()
SortObserverdeferred in interface SortObserverpublic boolean deferrable()
SortObserverdeferrable in interface SortObserverpublic void rememberDuplicate(DataValueDescriptor[] row) throws StandardException
SortObserverrememberDuplicate in interface SortObserverrow - data of offending keyStandardException - standard error policyApache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.