public interface BinaryOrderable extends Orderable
Currently only supports linear (<, =, <=) operations. Eventually we may want to do other types of orderings, in which case there would probably be a number of interfaces for each "class" of ordering.
The implementation must handle the comparison of null values. This may require some changes to the interface, since (at least in some contexts) comparing a value with null should return unknown instead of true or false.
ORDER_OP_EQUALS, ORDER_OP_GREATEROREQUALS, ORDER_OP_GREATERTHAN, ORDER_OP_LESSOREQUALS, ORDER_OP_LESSTHAN
Modifier and Type | Method and Description |
---|---|
boolean |
binarycompare(java.io.ObjectInput in,
int op,
Orderable other,
boolean orderedNulls,
boolean unknownRV)
Compare this Orderable with a given Orderable for the purpose of
qualification and sorting.
|
int |
binarycompare(java.io.ObjectInput in,
Orderable other)
Compare this Orderable with a given Orderable for the purpose of
index positioning.
|
int binarycompare(java.io.ObjectInput in, Orderable other) throws java.io.IOException
other
- The Orderable to compare this one to.java.io.IOException
- Thrown on errorboolean binarycompare(java.io.ObjectInput in, int op, Orderable other, boolean orderedNulls, boolean unknownRV) throws java.io.IOException
op
- Orderable.ORDER_OP_EQUALS means do an = comparison.
Orderable.ORDER_OP_LESSTHAN means compare this < other.
Orderable.ORDER_OP_LESSOREQUALS means compare this <= other.other
- The Orderable to compare this one to.orderedNulls
- True means to treat nulls as ordered values,
that is, treat SQL null as equal to null, and less
than all other values.
False means to treat nulls as unknown values,
that is, the result of any comparison with a null
is the UNKNOWN truth value.unknownRV
- The return value to use if the result of the
comparison is the UNKNOWN truth value. In other
words, if orderedNulls is false, and a null is
involved in the comparison, return unknownRV.
This parameter is not used orderedNulls is true.java.io.IOException
- Thrown on errorApache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.