Package org.apache.calcite.plan
Interface Convention
-
- All Superinterfaces:
RelTrait
- All Known Implementing Classes:
BindableConvention
,Convention.Impl
,EnumerableConvention
,InterpretableConvention
,JdbcConvention
public interface Convention extends RelTrait
Calling convention trait.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
Convention.Impl
Default implementation.
-
Field Summary
Fields Modifier and Type Field Description static Convention
NONE
Convention that for a relational expression that does not support any convention.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
canConvertConvention(Convention toConvention)
Returns whether we should convert from this convention totoConvention
.java.lang.Class
getInterface()
java.lang.String
getName()
boolean
useAbstractConvertersForConversion(RelTraitSet fromTraits, RelTraitSet toTraits)
Returns whether we should convert from this trait set to the other trait set.
-
-
-
Field Detail
-
NONE
static final Convention NONE
Convention that for a relational expression that does not support any convention. It is not implementable, and has to be transformed to something else in order to be implemented.Relational expressions generally start off in this form.
Such expressions always have infinite cost.
-
-
Method Detail
-
getInterface
java.lang.Class getInterface()
-
getName
java.lang.String getName()
-
canConvertConvention
boolean canConvertConvention(Convention toConvention)
Returns whether we should convert from this convention totoConvention
. Used byConventionTraitDef
.- Parameters:
toConvention
- Desired convention to convert to- Returns:
- Whether we should convert from this convention to toConvention
-
useAbstractConvertersForConversion
boolean useAbstractConvertersForConversion(RelTraitSet fromTraits, RelTraitSet toTraits)
Returns whether we should convert from this trait set to the other trait set.The convention decides whether it wants to handle other trait conversions, e.g. collation, distribution, etc. For a given convention, we will only add abstract converters to handle the trait (convention, collation, distribution, etc.) conversions if this function returns true.
- Parameters:
fromTraits
- Traits of the RelNode that we are converting fromtoTraits
- Target traits- Returns:
- Whether we should add converters
-
-