org.objectweb.medor.query.api
Interface QueryNode
- Cloneable, FilteredQueryTree, QueryTree
- NestQueryNode, UnnestQueryNode
- AggregateRdbQueryNode, BasicQueryNode, Cartesian, Intersection, JoinProject, Nest, Project, SelectProject, Union, Unnest
public interface QueryNode
- Sebastien Chassande-Barrioz
addCalculatedField
public CalculatedField addCalculatedField(String name,
PType type,
Expression exp)
throws MedorException
Creates and adds a CalculatedField to the TupleStructure of the
QueryNode.
name
- is the name of the Field to be added.type
- is the PType of the Field to be added.exp
- is the Expression for calculating the new Field.
- the newly created CalculatedField
MedorException
- when a Field with the same name already exists.
addPropagatedField
public PropagatedField addPropagatedField(String name,
PType type,
QueryTreeField anc)
throws MedorException
Creates and adds a PropagatedField to the TupleStructure of the
QueryNode.
name
- is the name of the Field to be added. If null, the name is
computed from the origin Fields (parameter anc).type
- is the PType of the Field to be added. If null, the type is
computed from the origin Fields (parameter anc).anc
- are the origin Fields for the PropagatedField to be created.
- the newly created PropagatedField
MedorException
- when a Field with the same name already exists.
getChildren
public QueryTree[] getChildren()
It retreives the array of the QueryTree used by this QueryNode.
getTupleLoader
public TupleLoader getTupleLoader()
Returns the TupleLoader currently associated with this QueryNode.
Note that TupleLoaders are only used at evaluation time.
getType
public short getType()
It retrieves the operation type of the current QueryNode.
isOuter
public boolean isOuter(QueryTree child)
Indicates whether a row of nulls should be inserted for the
given child if the filter condition fails for all rows in
that child.
removeField
public QueryTreeField removeField(String name)
throws MedorException
Removes a Field.
name
- is the name of the Field to be removed.
- the Field which has been removed, or null if no such Field could
be removed.
MedorException
- when no Field with such name exist.
setOuter
public void setOuter(QueryTree child,
boolean outer)
setTupleLoader
public void setTupleLoader(TupleLoader loader)
Associates a TupleLoader with this QueryNode.
updateCalculatedField
public void updateCalculatedField(String name,
Expression e)
throws MedorException