|
||||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.objectweb.medor.optim.lib.BasicRule
org.objectweb.medor.optim.rdb.GroupSameDBRule
This class groups together as a single RbdExpQueryLeaf the RdbQueryLeaves working on the same data store. TODO: Known limitation : This rule does not reorganize a QueryTree Another rule should be developed to put close together leaves working on the same data store.
Nested Class Summary | |
---|---|
protected static class |
GroupSameDBRule.RdbQuery
The RdbQuery class represents the result of rewriting a QueryTree. |
protected static class |
GroupSameDBRule.SplitQueries
This class represents the result of splitting the children of a given QueryTree qt in presence of MemberOf operators in qt's query filter. |
Nested classes inherited from class org.objectweb.medor.optim.lib.BasicRule |
---|
BasicRule.ModifiedExpression |
Field Summary |
---|
Fields inherited from class org.objectweb.medor.optim.lib.BasicRule |
---|
debug, log |
Constructor Summary | |
---|---|
GroupSameDBRule()
|
Method Summary | |
---|---|
protected GroupSameDBRule.SplitQueries |
recurseSplit(GroupSameDBRule.SplitQueries split,
Expression e)
Performs the actual work of splitting a QueryTree starting from its expression. |
QueryTree |
rewrite(QueryTree qt,
QueryNode parent)
Implementation of the RewriteRule interface. |
Methods inherited from class org.objectweb.medor.optim.lib.BasicRule |
---|
replaceUsage, rewrite |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.objectweb.medor.optim.api.RewriteRule |
---|
rewrite |
Constructor Detail |
public GroupSameDBRule()
Method Detail |
public QueryTree rewrite(QueryTree qt, QueryNode parent) throws MedorException
It groups together the RdbQueryLeaves if they are on the same data store.
rewrite
in interface RewriteRule
qt
- the QueryTree to be rewritten by this rule.parent
- the parent QueryNode for which modification of propagated
field, if they are replaced in the qt, should be done.
MedorException
- if all RdbQueryLeaves are not on the same data
store.RewriteRule
protected GroupSameDBRule.SplitQueries recurseSplit(GroupSameDBRule.SplitQueries split, Expression e)
split
- the input SplitQueries objecte
- the Expression from which to build the SplitQueries
GroupSameDBRule.SplitQueries
|
||||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |