Class SubqueryAwareEvaluator
- java.lang.Object
-
- org.teiid.query.eval.Evaluator
-
- org.teiid.query.processor.relational.SubqueryAwareEvaluator
-
public class SubqueryAwareEvaluator extends Evaluator
This utility handles the work of processing a subquery; certain types of processor nodes will use an instance of this class to do that work.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SubqueryAwareEvaluator.SubqueryState
-
Nested classes/interfaces inherited from class org.teiid.query.eval.Evaluator
Evaluator.NameValuePair<T>
-
-
Field Summary
-
Fields inherited from class org.teiid.query.eval.Evaluator
context, dataMgr, elements, REGEX_RESERVED, SIMILAR_TO_REGEX
-
-
Constructor Summary
Constructors Constructor Description SubqueryAwareEvaluator(Map elements, ProcessorDataManager dataMgr, CommandContext context, BufferManager manager)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
protected Object
evaluateProcedure(Function function, List<?> tuple, Object[] values)
Implements procedure function handling.protected Object
evaluatePushdown(Function function, List<?> tuple, Object[] values)
Implements must pushdown function handling if supported by the source.protected ValueIterator
evaluateSubquery(SubqueryContainer<?> container, List<?> tuple)
void
reset()
-
Methods inherited from class org.teiid.query.eval.Evaluator
compare, evaluate, evaluate, evaluate, evaluate, evaluateParameters, evaluateTVL, getInputStreamFactory, initialize, internalEvaluate, jsonArray
-
-
-
-
Constructor Detail
-
SubqueryAwareEvaluator
public SubqueryAwareEvaluator(Map elements, ProcessorDataManager dataMgr, CommandContext context, BufferManager manager)
-
-
Method Detail
-
reset
public void reset()
-
close
public void close()
-
evaluateSubquery
protected ValueIterator evaluateSubquery(SubqueryContainer<?> container, List<?> tuple) throws TeiidProcessingException, BlockedException, TeiidComponentException
- Overrides:
evaluateSubquery
in classEvaluator
- Returns:
- Throws:
TeiidProcessingException
BlockedException
TeiidComponentException
-
evaluateProcedure
protected Object evaluateProcedure(Function function, List<?> tuple, Object[] values) throws TeiidComponentException, TeiidProcessingException
Implements procedure function handling. TODO: cache results- Overrides:
evaluateProcedure
in classEvaluator
- Throws:
TeiidComponentException
TeiidProcessingException
-
evaluatePushdown
protected Object evaluatePushdown(Function function, List<?> tuple, Object[] values) throws TeiidComponentException, TeiidProcessingException
Implements must pushdown function handling if supported by the source. The basic strategy is to create a dummy subquery to represent the evaluation- Overrides:
evaluatePushdown
in classEvaluator
- Throws:
TeiidComponentException
TeiidProcessingException
-
-