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) booleanascending(package private) intcolNumThis class implements Formatable.(package private) booleannullsOrderedLowindicate 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 intgetColumnId()booleangetIsAscending()booleangetIsNullsOrderedLow()Indicate whether NULL values should be ordered below non-NULL.intgetTypeFormatId()Get the formatID which corresponds to this class.voidreadExternal(java.io.ObjectInput in)Read this object from a stream of stored objects.java.lang.StringtoString()voidwriteExternal(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:
getColumnIdin interfaceColumnOrdering
-
getIsAscending
public boolean getIsAscending()
- Specified by:
getIsAscendingin 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:
getIsNullsOrderedLowin interfaceColumnOrdering- Returns:
- whether nulls should sort low
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOExceptionWrite this object out- Specified by:
writeExternalin 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.ClassNotFoundExceptionRead this object from a stream of stored objects.- Specified by:
readExternalin 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:
getTypeFormatIdin interfaceTypedFormat- Returns:
- the formatID of this class
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-