Interface RelTrait

    • Method Detail

      • getTraitDef

        RelTraitDef getTraitDef()
        Returns the RelTraitDef that defines this RelTrait.
        Returns:
        the RelTraitDef that defines this RelTrait
      • satisfies

        boolean satisfies​(RelTrait trait)
        Returns whether this trait satisfies a given trait.

        A trait satisfies another if it is the same or stricter. For example, ORDER BY x, y satisfies ORDER BY x.

        A trait's satisfies relation must be a partial order (reflexive, anti-symmetric, transitive). Many traits cannot be "loosened"; their satisfies is an equivalence relation, where only X satisfies X.

        If a trait has multiple values (see RelCompositeTrait) a collection (T0, T1, ...) satisfies T if any Ti satisfies T.

        Parameters:
        trait - Given trait
        Returns:
        Whether this trait subsumes a given trait
      • toString

        java.lang.String toString()
        Returns a succinct name for this trait. The planner may use this String to describe the trait.
        Overrides:
        toString in class java.lang.Object
      • register

        void register​(RelOptPlanner planner)
        Registers a trait instance with the planner.

        This is an opportunity to add rules that relate to that trait. However, typical implementations will do nothing.

        Parameters:
        planner - Planner