|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eigenbase.sarg.SargSetExpr
public class SargSetExpr
SargSetExpr represents the application of a set
operator
to zero or more child sarg expressions
.
Nested Class Summary | |
---|---|
private static class |
SargSetExpr.IntervalComparator
Comparator used in evaluateUnionOp. |
Field Summary | |
---|---|
private List<SargExpr> |
children
|
private RelDataType |
dataType
|
private SargFactory |
factory
|
private SargSetOperator |
setOp
|
Constructor Summary | |
---|---|
SargSetExpr(SargFactory factory,
RelDataType dataType,
SargSetOperator setOp)
|
Method Summary | |
---|---|
void |
addChild(SargExpr child)
Adds a child to this expression. |
void |
collectDynamicParams(Set<RexDynamicParam> dynamicParams)
Collects all dynamic parameters referenced by this expression. |
SargIntervalSequence |
evaluate()
Resolves this expression into a fixed SargIntervalSequence . |
private List<SargIntervalSequence> |
evaluateChildren(SargSetExpr setExpr)
|
SargIntervalSequence |
evaluateComplemented()
Resolves the complement of this expression into a fixed SargIntervalSequence . |
private SargIntervalSequence |
evaluateIntersection(List<SargIntervalSequence> list)
|
private SargIntervalSequence |
evaluateUnion(List<SargIntervalSequence> list)
|
List<SargExpr> |
getChildren()
|
RelDataType |
getDataType()
|
SargFactory |
getFactory()
|
private void |
intersectSequences(SargIntervalSequence targetSeq,
SargIntervalSequence sourceSeq)
|
String |
toString()
Overrides the default Object.toString. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private final SargFactory factory
private final RelDataType dataType
private final SargSetOperator setOp
private final List<SargExpr> children
Constructor Detail |
---|
SargSetExpr(SargFactory factory, RelDataType dataType, SargSetOperator setOp)
SargFactory.newSetExpr(org.eigenbase.reltype.RelDataType, org.eigenbase.sarg.SargSetOperator)
Method Detail |
---|
public List<SargExpr> getChildren()
public void addChild(SargExpr child)
child
- child to addpublic SargFactory getFactory()
getFactory
in interface SargExpr
public RelDataType getDataType()
getDataType
in interface SargExpr
public String toString()
SargExpr
toString
in interface SargExpr
toString
in class Object
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
private List<SargIntervalSequence> evaluateChildren(SargSetExpr setExpr)
public void collectDynamicParams(Set<RexDynamicParam> dynamicParams)
SargExpr
collectDynamicParams
in interface SargExpr
dynamicParams
- receives dynamic parameter referencesprivate SargIntervalSequence evaluateUnion(List<SargIntervalSequence> list)
private SargIntervalSequence evaluateIntersection(List<SargIntervalSequence> list)
private void intersectSequences(SargIntervalSequence targetSeq, SargIntervalSequence sourceSeq)
public SargIntervalSequence evaluateComplemented()
SargExpr
SargIntervalSequence
.
evaluateComplemented
in interface SargExpr
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |