org.objectweb.medor.optim.rdb
Class GroupSameDBRule.SplitQueries

java.lang.Object
  extended byorg.objectweb.medor.optim.rdb.GroupSameDBRule.SplitQueries
Enclosing class:
GroupSameDBRule

protected static final class GroupSameDBRule.SplitQueries
extends java.lang.Object

This class represents the result of splitting the children of a given QueryTree qt in presence of MemberOf operators in qt's query filter.

The splitting process is performed by the splitQueries and recurseSplit methods.


Field Summary
 java.util.ArrayList outerQts
          An ArrayList of QueryTrees corresponding to the left part of the MemberOf.
 java.util.ArrayList subQts
          Inner QueryTree: it is an ArrayList of ArrayLists.
 
Constructor Summary
protected GroupSameDBRule.SplitQueries()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

outerQts

public java.util.ArrayList outerQts
An ArrayList of QueryTrees corresponding to the left part of the MemberOf.


subQts

public java.util.ArrayList subQts
Inner QueryTree: it is an ArrayList of ArrayLists.

There is one such ArrayList for each subquery. Indeed, if there are several MemberOf operators in the QueryTree's filter, MEDOR has to generate as many subqueries as there are MemberOf operators. Each such ArrayList may contain several QueryTrees, namely in case of a multiple MemberOf. For example, if we have (a, b) MemberOf (c, d), and c and d are FieldOperands of different QueryTrees, then there will be an ArrayList containing the two QueryTrees for c and d.s

Constructor Detail

GroupSameDBRule.SplitQueries

protected GroupSameDBRule.SplitQueries()