|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.d2rq.db.op.util.OpMutator
org.d2rq.algebra.NodeRelationProjecter
public class NodeRelationProjecter
Projects a NodeRelation
.
Projections are pushed down over LimitOp
and
EmptyOp
, merged with other ProjectOp
s,
done over a sub-SELECT
for DistinctOp
s,
and simply wrapped around all other kinds of DatabaseOp
s.
Constructor Summary | |
---|---|
NodeRelationProjecter(NodeRelation original,
Set<ProjectionSpec> projections)
|
Method Summary | |
---|---|
NodeRelation |
getNodeRelation()
|
DatabaseOp |
visit(SQLOp original)
|
DatabaseOp |
visit(TableOp original)
|
boolean |
visitEnter(AliasOp original)
|
boolean |
visitEnter(DistinctOp original)
|
boolean |
visitEnter(InnerJoinOp original)
|
boolean |
visitEnter(OrderOp original)
|
boolean |
visitEnter(ProjectOp original)
|
boolean |
visitEnter(SelectOp original)
|
DatabaseOp |
visitLeave(AliasOp original,
DatabaseOp child)
|
DatabaseOp |
visitLeave(DistinctOp original,
DatabaseOp child)
We have a DISTINCT clause; adding or removing columns would change the result. |
DatabaseOp |
visitLeave(InnerJoinOp original,
Collection<NamedOp> newChildren)
TODO: Can we push parts of the projection down into the join? |
DatabaseOp |
visitLeave(OrderOp original,
DatabaseOp child)
TODO: Can we push the projection down over the ordering? |
DatabaseOp |
visitLeave(ProjectOp original,
DatabaseOp child)
Merge the projection lists. |
DatabaseOp |
visitLeave(SelectOp original,
DatabaseOp child)
TODO: Can we push the projection down over the selection? |
DatabaseOp |
visitOpTrue()
|
Methods inherited from class org.d2rq.db.op.util.OpMutator |
---|
getResult, visitEnter, visitEnter, visitEnter, visitLeave, visitLeave, visitLeave |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public NodeRelationProjecter(NodeRelation original, Set<ProjectionSpec> projections)
Method Detail |
---|
public NodeRelation getNodeRelation()
public boolean visitEnter(InnerJoinOp original)
visitEnter
in class OpMutator
public DatabaseOp visitLeave(InnerJoinOp original, Collection<NamedOp> newChildren)
visitLeave
in class OpMutator
public boolean visitEnter(SelectOp original)
visitEnter
in class OpMutator
public DatabaseOp visitLeave(SelectOp original, DatabaseOp child)
visitLeave
in class OpMutator
public boolean visitEnter(ProjectOp original)
visitEnter
in class OpMutator
public DatabaseOp visitLeave(ProjectOp original, DatabaseOp child)
visitLeave
in class OpMutator
public boolean visitEnter(AliasOp original)
visitEnter
in class OpMutator
public DatabaseOp visitLeave(AliasOp original, DatabaseOp child)
visitLeave
in class OpMutator
public boolean visitEnter(OrderOp original)
visitEnter
in class OpMutator
public DatabaseOp visitLeave(OrderOp original, DatabaseOp child)
visitLeave
in class OpMutator
public boolean visitEnter(DistinctOp original)
visitEnter
in class OpMutator
public DatabaseOp visitLeave(DistinctOp original, DatabaseOp child)
visitLeave
in class OpMutator
public DatabaseOp visit(TableOp original)
visit
in class OpMutator
public DatabaseOp visit(SQLOp original)
visit
in class OpMutator
public DatabaseOp visitOpTrue()
visitOpTrue
in class OpMutator
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |