org.objectweb.medor.query.lib
Class Unnest
java.lang.Object
|
+--org.objectweb.medor.lib.BasicTupleStructure
|
+--org.objectweb.medor.query.lib.BasicQueryTree
|
+--org.objectweb.medor.query.lib.BasicQueryNode
|
+--org.objectweb.medor.query.lib.Unnest
- All Implemented Interfaces:
- java.lang.Cloneable, Cloneable, FilteredQueryTree, QueryNode, QueryTree, TupleStructure, UnnestQueryNode
- public class Unnest
- extends BasicQueryNode
- implements UnnestQueryNode
Methods inherited from class org.objectweb.medor.query.lib.BasicQueryNode |
addCalculatedField, addChild, addField, addPropagatedField, clone, getChildren, getDistinct, getFieldName, getName, getOptimizationMetaData, getQueryFilter, getTupleLoader, getTupleStructure, removeField, replace, setDistinct, setTupleLoader, updateCalculatedField, updateChildren, updatePropagatedField |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
unnestedField
protected NestedField unnestedField
- It lists the fields which have been grouped.
projectedFields
protected PropagatedField[] projectedFields
Unnest
public Unnest(QueryTreeField[] queryTreeFields,
Field field,
java.lang.String nodeName,
OptimizationMetaData optimizationMD)
throws MedorException
getUnnestedField
public NestedField getUnnestedField()
- Description copied from interface:
UnnestQueryNode
- It give the field wich will be de-grouped.
The field is the old field.
- Specified by:
getUnnestedField
in interface UnnestQueryNode
- Returns:
- a field
getProjectedFields
public PropagatedField[] getProjectedFields()
- Description copied from interface:
UnnestQueryNode
- It give the fields wich will be projected
with the fields of the nestedField
- Specified by:
getProjectedFields
in interface UnnestQueryNode
- Returns:
- a field[]
getType
public short getType()
- Description copied from interface:
QueryNode
- It retrieves the operation type of the current QueryNode.
- Specified by:
getType
in interface QueryNode
- Specified by:
getType
in class BasicQueryNode
setQueryFilter
public void setQueryFilter(Expression e)
- Description copied from interface:
FilteredQueryTree
- Sets the filter associated to the FilteredQueryTree. This filter is
represented by an Expression.
For a QueryNode:
This method also updates the list of QueryTree children of the current
QueryNode according to the FieldOperands present in the Expression.
Usage constraint: if the QueryNode already has an associated
Expression, and if this Expression has been modified, the user is
requested to call the setQueryFilter method after the modification.
For a RbdQueryLeaf:
It sets the filter associated to the RbdQueryLeaf. This filter is
represented by an Expression. Unlike the filter of a QueryNode, is
applies to its own Fields, instead of the Fields of its children.
- Specified by:
setQueryFilter
in interface FilteredQueryTree
- Overrides:
setQueryFilter
in class BasicQueryNode
- Parameters:
e
- is the Expression representing the query filter of the current
QueryNode.- See Also:
Expression