|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.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 SargIntervalBasecoordinate - 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 SargIntervalBasecoordinate - coordinate of point to set, must not be nullstrictness - strictness
public void setUpper(RexNode coordinate,
SargStrictness strictness)
SargIntervalBase
setUpper in class SargIntervalBasecoordinate - coordinate of point to setstrictness - boundary strictnesspublic void unsetLower()
SargIntervalBase
unsetLower in class SargIntervalBasepublic void unsetUpper()
SargIntervalBase
unsetUpper in class SargIntervalBasepublic void setUnconstrained()
SargIntervalBase
setUnconstrained in class SargIntervalBasepublic void setEmpty()
SargIntervalBase
setEmpty in class SargIntervalBasepublic String toString()
SargExpr
toString in interface SargExprtoString in class SargIntervalBasepublic SargIntervalSequence evaluate()
SargExprSargIntervalSequence.
TODO jvs 17-Jan-2006: add binding for dynamic params so they can be evaluated as well
evaluate in interface SargExprpublic void collectDynamicParams(Set<RexDynamicParam> dynamicParams)
SargExpr
collectDynamicParams in interface SargExprdynamicParams - receives dynamic parameter referencespublic SargIntervalSequence evaluateComplemented()
SargExprSargIntervalSequence.
evaluateComplemented in interface SargExpr
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||