Interface Convention

    • 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 to toConvention. Used by ConventionTraitDef.
        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 from
        toTraits - Target traits
        Returns:
        Whether we should add converters