|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.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 SargExprpublic RelDataType getDataType()
getDataType in interface SargExprpublic String toString()
SargExpr
toString in interface SargExprtoString in class Objectpublic SargIntervalSequence evaluate()
SargExprSargIntervalSequence.
TODO jvs 17-Jan-2006: add binding for dynamic params so they can be evaluated as well
evaluate in interface SargExprprivate List<SargIntervalSequence> evaluateChildren(SargSetExpr setExpr)
public void collectDynamicParams(Set<RexDynamicParam> dynamicParams)
SargExpr
collectDynamicParams in interface SargExprdynamicParams - 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()
SargExprSargIntervalSequence.
evaluateComplemented in interface SargExpr
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||