Interface Hintable

    • Method Detail

      • attachHints

        default RelNode attachHints​(List<RelHint> hintList)
        Attaches list of hints to this relational expression.

        This method is only for internal use during sql-to-rel conversion.

        Sub-class should return a new copy of the relational expression.

        The default implementation merges the given hints with existing ones, put them in one list and eliminate the duplicates; then returns a new copy of this relational expression with the merged hints.

        Parameters:
        hintList - The hints to attach to this relational expression
        Returns:
        Relational expression with the hints hintList attached
      • withHints

        default RelNode withHints​(List<RelHint> hintList)
        Returns a new relational expression with the specified hints hintList.

        This method should be overridden by every logical node that supports hint. It is only for internal use during decorrelation.

        Sub-class should return a new copy of the relational expression.

        The default implementation returns the relational expression directly only because not every kind of relational expression supports hints.

        Returns:
        Relational expression with set up hints
      • getHints

        com.google.common.collect.ImmutableList<RelHint> getHints()
        Returns the hints of this relational expressions as an immutable list.