|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eigenbase.sarg.SargIntervalBase org.eigenbase.sarg.SargIntervalExpr
public class SargIntervalExpr
SargIntervalExpr represents an expression which can be resolved to a fixed
SargInterval
.
Null values require special treatment in expressions. Normally, for
intervals of any kind, nulls are not considered to be within the domain of
search values. This behavior can be modified by setting the SqlNullSemantics
to a value other than the default. This happens implicitly
when a point interval is created matching the null value. When null values
are considered to be part of the domain, the ordering is defined as for
SargInterval
.
Field Summary | |
---|---|
private SqlNullSemantics |
nullSemantics
|
Fields inherited from class org.eigenbase.sarg.SargIntervalBase |
---|
factory, lowerBound, upperBound |
Constructor Summary | |
---|---|
SargIntervalExpr(SargFactory factory,
RelDataType dataType,
SqlNullSemantics nullSemantics)
|
Method Summary | |
---|---|
void |
collectDynamicParams(Set<RexDynamicParam> dynamicParams)
Collects all dynamic parameters referenced by this expression. |
SargIntervalSequence |
evaluate()
Resolves this expression into a fixed SargIntervalSequence . |
SargIntervalSequence |
evaluateComplemented()
Resolves the complement of this expression into a fixed SargIntervalSequence . |
SqlNullSemantics |
getNullSemantics()
|
void |
setEmpty()
Sets this interval to empty (matching nothing at all). |
void |
setLower(RexNode coordinate,
SargStrictness strictness)
Sets the lower bound for this interval. |
void |
setNull()
Sets this interval to represent a single point matching the null value. |
void |
setPoint(RexNode coordinate)
Sets this interval to represent a single point (possibly the null value). |
void |
setUnconstrained()
Sets this interval to unconstrained (matching everything, including null). |
void |
setUpper(RexNode coordinate,
SargStrictness strictness)
Sets the upper bound for this interval. |
String |
toString()
Overrides the default Object.toString. |
void |
unsetLower()
Removes the lower bound for this interval, setting it to -infinity. |
void |
unsetUpper()
Removes the upper bound for this interval, setting it to +infinity. |
Methods inherited from class org.eigenbase.sarg.SargIntervalBase |
---|
getDataType, getFactory, getLowerBound, getUpperBound, isEmpty, isPoint, isRange, isUnconstrained |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.eigenbase.sarg.SargExpr |
---|
getDataType, getFactory |
Field Detail |
---|
private SqlNullSemantics nullSemantics
Constructor Detail |
---|
SargIntervalExpr(SargFactory factory, RelDataType dataType, SqlNullSemantics nullSemantics)
SargFactory.newIntervalExpr(org.eigenbase.reltype.RelDataType)
Method Detail |
---|
public SqlNullSemantics getNullSemantics()
public void setPoint(RexNode coordinate)
SargIntervalBase
setPoint
in class SargIntervalBase
coordinate
- coordinate of point to set, or null for the null valuepublic void setNull()
SargIntervalBase
setNull
in class SargIntervalBase
public void setLower(RexNode coordinate, SargStrictness strictness)
SargIntervalBase
setLower
in class SargIntervalBase
coordinate
- coordinate of point to set, must not be nullstrictness
- strictnesspublic void setUpper(RexNode coordinate, SargStrictness strictness)
SargIntervalBase
setUpper
in class SargIntervalBase
coordinate
- coordinate of point to setstrictness
- boundary strictnesspublic void unsetLower()
SargIntervalBase
unsetLower
in class SargIntervalBase
public void unsetUpper()
SargIntervalBase
unsetUpper
in class SargIntervalBase
public void setUnconstrained()
SargIntervalBase
setUnconstrained
in class SargIntervalBase
public void setEmpty()
SargIntervalBase
setEmpty
in class SargIntervalBase
public String toString()
SargExpr
toString
in interface SargExpr
toString
in class SargIntervalBase
public SargIntervalSequence evaluate()
SargExpr
SargIntervalSequence
.
TODO jvs 17-Jan-2006: add binding for dynamic params so they can be evaluated as well
evaluate
in interface SargExpr
public void collectDynamicParams(Set<RexDynamicParam> dynamicParams)
SargExpr
collectDynamicParams
in interface SargExpr
dynamicParams
- receives dynamic parameter referencespublic SargIntervalSequence evaluateComplemented()
SargExpr
SargIntervalSequence
.
evaluateComplemented
in interface SargExpr
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |