|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eigenbase.lurql.LurqlPlan
public class LurqlPlan
LurqlPlan represents a prepared plan for executing a LURQL query.
Field Summary | |
---|---|
private Map<String,LurqlPathBranch> |
aliasToBranchMap
Map from alias name to corresponding LurqlPathBranch |
private int |
existsDepth
|
private Set<LurqlPlanVertex> |
existsSet
For select *, all vertices which are defined inside of exists (meaning they should not contribute to the final result). |
private org.jgrapht.DirectedGraph<LurqlPlanVertex,LurqlPlanEdge> |
graph
Directed acyclic graph of LurqlPlanVertex es. |
private int |
idGen
|
private JmiModelView |
modelView
The model view we are querying |
private Map<String,Class> |
paramMap
|
private Set<String> |
projectSet
All project elements, keyed by alias |
private LurqlQuery |
query
Query we've planned to execute |
private Set |
recVars
All variables part of a recursion |
Constructor Summary | |
---|---|
LurqlPlan(JmiModelView modelView,
LurqlQuery query)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final Map<String,LurqlPathBranch> aliasToBranchMap
private final Set recVars
private final JmiModelView modelView
private final LurqlQuery query
private final org.jgrapht.DirectedGraph<LurqlPlanVertex,LurqlPlanEdge> graph
LurqlPlanVertex
es.
private Set<String> projectSet
private Set<LurqlPlanVertex> existsSet
private int idGen
private Map<String,Class> paramMap
private int existsDepth
Constructor Detail |
---|
public LurqlPlan(JmiModelView modelView, LurqlQuery query) throws JmiQueryException
JmiQueryException
Method Detail |
---|
public JmiModelView getModelView()
public boolean isSelectAll()
public boolean isSelected(LurqlPlanVertex vertex)
public void explain(PrintWriter pw)
void prepareQuery() throws JmiQueryException
JmiQueryException
private boolean isStar(List<String> selectList)
public org.jgrapht.DirectedGraph<LurqlPlanVertex,LurqlPlanEdge> getGraph()
public Map<String,Class> getParamMap()
private void prepareRoot(LurqlRoot root, List<LurqlPlanVertex> leafVertexList) throws JmiQueryException
JmiQueryException
private LurqlPlanVertex newPlanVertex(LurqlPathBranch branch, Set<String> rootObjectIds) throws JmiQueryException
JmiQueryException
private void preparePathSpec(List<LurqlPlanVertex> parentVertexList, LurqlPathSpec pathSpec, List<LurqlPlanVertex> leafVertexList) throws JmiQueryException
JmiQueryException
private void prepareRecurse(LurqlRecurse recurse, List<LurqlPlanVertex> parentVertexList, List<LurqlPlanVertex> leafVertexList) throws JmiQueryException
JmiQueryException
private void prepareFollow(LurqlFollow follow, List<LurqlPlanVertex> parentVertexList, List<LurqlPlanVertex> leafVertexList) throws JmiQueryException
JmiQueryException
private void prepareFollowEdges(LurqlPlanVertex sourceVertex, LurqlPlanVertex targetVertex, LurqlFollow follow) throws JmiQueryException
JmiQueryException
private Collection<JmiAssocEdge> filterEdgeSet(Collection<JmiAssocEdge> edgeSet, Collection<JmiAssocEdge> filterEdgeSet)
private void addTraversals(LurqlPlanVertex sourceVertex, LurqlPlanVertex targetVertex, LurqlFollow follow, Collection<JmiAssocEdge> assocEdges, JmiClassVertex destinationClassVertex, int iOriginEnd) throws JmiQueryException
JmiQueryException
private JmiClassVertex findClassVertex(String className) throws JmiQueryException
JmiQueryException
private boolean testAssocEnd(AssociationEnd end, String endFilterValue)
private boolean testAssocFilter(String filterValue, String actualValue)
JmiQueryException newException(String err)
JmiQueryException newException(String err, Throwable cause)
private void addFilters(LurqlPlanVertex planVertex, List<LurqlFilter> filters) throws JmiQueryException
JmiQueryException
private void prepareExists(LurqlPlanVertex planVertex, LurqlExists exists, boolean isNegated) throws JmiQueryException
JmiQueryException
private void addParam(LurqlDynamicParam param, Class paramType) throws JmiQueryException
JmiQueryException
private String validateAlias(LurqlPathBranch branch) throws JmiQueryException
JmiQueryException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |