Class GenericQualifier
java.lang.Object
org.apache.derby.impl.sql.execute.GenericQualifier
- All Implemented Interfaces:
Qualifier
This is the implementation for Qualifier. It is used for generated scans.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Activation
private int
private boolean
private int
private DataValueDescriptor
private GeneratedMethod
private boolean
private boolean
protected int
Fields inherited from interface org.apache.derby.iapi.store.access.Qualifier
CONSTANT, QUERY_INVARIANT, SCAN_INVARIANT, VARIANT
-
Constructor Summary
ConstructorsConstructorDescriptionGenericQualifier
(int columnId, int operator, GeneratedMethod orderableGetter, Activation activation, boolean orderedNulls, boolean unknownRV, boolean negateCompareResult, int variantType) -
Method Summary
Modifier and TypeMethodDescriptionvoid
Clear the DataValueDescriptor cache, if one exists.int
Get the (zero based) id of the column to be qualified.int
Get the operator to use in the comparison.Get the value that the column is to be compared to.boolean
Get the getOrderedNulls argument to use in the comparison.boolean
Get the getOrderedNulls argument to use in the comparison.boolean
Should the result from the compare operation be negated?void
This method reinitializes all the state of the Qualifier.toString()
-
Field Details
-
columnId
private int columnId -
operator
private int operator -
orderableGetter
-
activation
-
orderedNulls
private boolean orderedNulls -
unknownRV
private boolean unknownRV -
negateCompareResult
private boolean negateCompareResult -
variantType
protected int variantType -
orderableCache
-
-
Constructor Details
-
GenericQualifier
public GenericQualifier(int columnId, int operator, GeneratedMethod orderableGetter, Activation activation, boolean orderedNulls, boolean unknownRV, boolean negateCompareResult, int variantType)
-
-
Method Details
-
getColumnId
public int getColumnId()Description copied from interface:Qualifier
Get the (zero based) id of the column to be qualified.This id is the column number of the column in the table, no matter whether a partial column set is being retrieved by the actual fetch. Note that the column being specified in the qualifier must appear in the column list being fetched.
- Specified by:
getColumnId
in interfaceQualifier
- See Also:
-
getOrderable
Description copied from interface:Qualifier
Get the value that the column is to be compared to.- Specified by:
getOrderable
in interfaceQualifier
- Throws:
StandardException
- Thrown on error- See Also:
-
getOperator
public int getOperator()Get the operator to use in the comparison.- Specified by:
getOperator
in interfaceQualifier
- See Also:
-
negateCompareResult
public boolean negateCompareResult()Should the result from the compare operation be negated? If true then only rows which fail the compare operation will qualify.- Specified by:
negateCompareResult
in interfaceQualifier
- See Also:
-
getOrderedNulls
public boolean getOrderedNulls()Get the getOrderedNulls argument to use in the comparison.- Specified by:
getOrderedNulls
in interfaceQualifier
- See Also:
-
getUnknownRV
public boolean getUnknownRV()Get the getOrderedNulls argument to use in the comparison.- Specified by:
getUnknownRV
in interfaceQualifier
- See Also:
-
clearOrderableCache
public void clearOrderableCache()Clear the DataValueDescriptor cache, if one exists. (The DataValueDescriptor can be 1 of 3 types: o VARIANT - cannot be cached as its value can vary within a scan o SCAN_INVARIANT - can be cached within a scan as its value will not change within a scan o QUERY_INVARIANT- can be cached across the life of the query as its value will never change o CONSTANT - never changes- Specified by:
clearOrderableCache
in interfaceQualifier
- See Also:
-
reinitialize
public void reinitialize()This method reinitializes all the state of the Qualifier. It is used to distinguish between resetting something that is query invariant and something that is constant over every execution of a query. Basically, clearOrderableCache() will only clear out its cache if it is a VARIANT or SCAN_INVARIANT value. However, each time a query is executed, the QUERY_INVARIANT qualifiers need to be reset.- Specified by:
reinitialize
in interfaceQualifier
-
toString
-