org.apache.derby.impl.sql.execute
Class GenericScanQualifier

java.lang.Object
  extended byorg.apache.derby.impl.sql.execute.GenericScanQualifier
All Implemented Interfaces:
Qualifier, ScanQualifier

public class GenericScanQualifier
extends java.lang.Object
implements ScanQualifier

This is the implementation for ScanQualifier. It is used for system and user scans.

Version:
0.1
Author:
Jerry Brenner

Field Summary
private  int columnId
           
private  boolean negateCR
           
private  int operator
           
private  DataValueDescriptor orderable
           
private  boolean orderedNulls
           
private  boolean properInit
           
private  boolean unknownRV
           
 
Fields inherited from interface org.apache.derby.iapi.store.access.Qualifier
CONSTANT, QUERY_INVARIANT, SCAN_INVARIANT, VARIANT
 
Constructor Summary
GenericScanQualifier()
           
 
Method Summary
 void clearOrderableCache()
          Clear the DataValueDescriptor cache, if one exists.
 int getColumnId()
          Get the (zero based) id of the column to be qualified.
 int getOperator()
          Get the operator to use in the comparison.
 DataValueDescriptor getOrderable()
          Get the value that the column is to be compared to.
 boolean getOrderedNulls()
          Get the getOrderedNulls argument to use in the comparison.
 boolean getUnknownRV()
          Get the getOrderedNulls argument to use in the comparison.
 boolean negateCompareResult()
          Should the result from the compare operation be negated?
 void reinitialize()
          This method reinitializes all the state of the Qualifier.
 void setQualifier(int columnId, DataValueDescriptor orderable, int operator, boolean negateCR, boolean orderedNulls, boolean unknownRV)
          Set the info in a ScanQualifier
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

columnId

private int columnId

orderable

private DataValueDescriptor orderable

operator

private int operator

negateCR

private boolean negateCR

orderedNulls

private boolean orderedNulls

unknownRV

private boolean unknownRV

properInit

private boolean properInit
Constructor Detail

GenericScanQualifier

public GenericScanQualifier()
Method Detail

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 interface Qualifier
See Also:
Qualifier.getColumnId()

getOrderable

public DataValueDescriptor getOrderable()
Description copied from interface: Qualifier
Get the value that the column is to be compared to.

Specified by:
getOrderable in interface Qualifier
See Also:
Qualifier.getOrderable()

getOperator

public int getOperator()
Get the operator to use in the comparison.

Specified by:
getOperator in interface Qualifier
See Also:
Qualifier.getOperator()

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 interface Qualifier
See Also:
Qualifier.negateCompareResult()

getOrderedNulls

public boolean getOrderedNulls()
Get the getOrderedNulls argument to use in the comparison.

Specified by:
getOrderedNulls in interface Qualifier
See Also:
Qualifier.getOrderedNulls()

getUnknownRV

public boolean getUnknownRV()
Get the getOrderedNulls argument to use in the comparison.

Specified by:
getUnknownRV in interface Qualifier
See Also:
Qualifier.getUnknownRV()

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 - immutable

Specified by:
clearOrderableCache in interface Qualifier
See Also:
Qualifier.getUnknownRV()

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 interface Qualifier

setQualifier

public void setQualifier(int columnId,
                         DataValueDescriptor orderable,
                         int operator,
                         boolean negateCR,
                         boolean orderedNulls,
                         boolean unknownRV)
Description copied from interface: ScanQualifier
Set the info in a ScanQualifier

Specified by:
setQualifier in interface ScanQualifier
See Also:
ScanQualifier.setQualifier(int, org.apache.derby.iapi.types.DataValueDescriptor, int, boolean, boolean, boolean)


Apache Derby V10.0 Engine Documentation - Copyright © 1997,2004 The Apache Software Foundation or its licensors, as applicable.