Class IndexColumnOrder
- java.lang.Object
-
- org.apache.derby.impl.sql.execute.IndexColumnOrder
-
- All Implemented Interfaces:
java.io.Externalizable
,java.io.Serializable
,Formatable
,TypedFormat
,ColumnOrdering
public class IndexColumnOrder extends java.lang.Object implements ColumnOrdering, Formatable
Basic implementation of ColumnOrdering. Not sure what to tell callers about 0-based versus 1-based numbering. Assume 0-based for now.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description (package private) boolean
ascending
(package private) int
colNum
This class implements Formatable.(package private) boolean
nullsOrderedLow
indicate whether NULL values should sort low.
-
Constructor Summary
Constructors Constructor Description IndexColumnOrder()
Niladic constructor for formatableIndexColumnOrder(int colNum)
IndexColumnOrder(int colNum, boolean ascending)
IndexColumnOrder(int colNum, boolean ascending, boolean nullsLow)
constructor used by the ORDER BY clause.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getColumnId()
boolean
getIsAscending()
boolean
getIsNullsOrderedLow()
Indicate whether NULL values should be ordered below non-NULL.int
getTypeFormatId()
Get the formatID which corresponds to this class.void
readExternal(java.io.ObjectInput in)
Read this object from a stream of stored objects.java.lang.String
toString()
void
writeExternal(java.io.ObjectOutput out)
Write this object out
-
-
-
Field Detail
-
colNum
int colNum
This class implements Formatable. That means that it can write itself to and from a formatted stream. If you add more fields to this class, make sure that you also write/read them with the writeExternal()/readExternal() methods. If, inbetween releases, you add more fields to this class, then you should bump the version number emitted by the getTypeFormatId() method.
-
ascending
boolean ascending
-
nullsOrderedLow
boolean nullsOrderedLow
indicate whether NULL values should sort low. nullsOrderedLow is usually false, because generally Derby defaults to have NULL values compare higher than non-null values, but if the user specifies an ORDER BY clause with aspecification that indicates that NULL values should be ordered lower than non-NULL values, thien nullsOrderedLow is set to true.
-
-
Constructor Detail
-
IndexColumnOrder
public IndexColumnOrder()
Niladic constructor for formatable
-
IndexColumnOrder
public IndexColumnOrder(int colNum)
-
IndexColumnOrder
public IndexColumnOrder(int colNum, boolean ascending)
-
IndexColumnOrder
public IndexColumnOrder(int colNum, boolean ascending, boolean nullsLow)
constructor used by the ORDER BY clause. This version of the constructor is used by the compiler when it processes an ORDER BY clause in a SQL statement. For such statements, the user gets to control whether NULL values are ordered as lower than all non-NULL values, or higher than all non-NULL values.- Parameters:
colNum
- number of this columnascending
- whether the ORDER BY is ascendeing or descendingnullsLow
- whether nulls should be ordered low
-
-
Method Detail
-
getColumnId
public int getColumnId()
- Specified by:
getColumnId
in interfaceColumnOrdering
-
getIsAscending
public boolean getIsAscending()
- Specified by:
getIsAscending
in interfaceColumnOrdering
-
getIsNullsOrderedLow
public boolean getIsNullsOrderedLow()
Indicate whether NULL values should be ordered below non-NULL. This function returns TRUE if the user has specified, via theclause in the ORDER BY clause, that NULL values of this column should sort lower than non-NULL values. - Specified by:
getIsNullsOrderedLow
in interfaceColumnOrdering
- Returns:
- whether nulls should sort low
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
Write this object out- Specified by:
writeExternal
in interfacejava.io.Externalizable
- Parameters:
out
- write bytes here- Throws:
java.io.IOException
- thrown on error
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException
Read this object from a stream of stored objects.- Specified by:
readExternal
in interfacejava.io.Externalizable
- Parameters:
in
- read this.- Throws:
java.io.IOException
- thrown on errorjava.lang.ClassNotFoundException
- thrown on error
-
getTypeFormatId
public int getTypeFormatId()
Get the formatID which corresponds to this class.- Specified by:
getTypeFormatId
in interfaceTypedFormat
- Returns:
- the formatID of this class
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-