Package org.apache.calcite.rel
Interface RelCommonExpressionSuggester
- All Known Implementing Classes:
RelCommonExpressionBasicSuggester
@API(since="1.41.0",
status=EXPERIMENTAL)
public interface RelCommonExpressionSuggester
Suggester for finding and returning interesting expressions that appear more than once in a
query. The notion of "interesting" is specific to the actual implementation of this interface.
In some cases the interesting expressions may be readily available in the input query while in others they could be revealed after applying various transformations and algebraic equivalences.
The final decision about using (or not) the suggestions provided by this class lies to the query optimizer. For various reasons (e.g, incorrect or expensive expressions) the optimizer may choose to reject/ignore the results provided by this class.
Implementations of this interface must have a public no argument constructor to allow instantiation via reflection.
The interface is experimental and subject to change without notice.
-
Method Summary
Modifier and TypeMethodDescriptionSuggests interesting expressions for the specified input expression and context.
-
Method Details
-
suggest
Suggests interesting expressions for the specified input expression and context.- Parameters:
input- a relational expression representing the query under compilation.context- a context for tuning aspects of the suggestion process.- Returns:
- a collection with interesting expressions for the specified relational expression
-