Interface RelWriter

  • All Known Implementing Classes:
    RelJsonWriter, RelWriterImpl, RelXmlWriter

    public interface RelWriter
    Callback for an expression to dump itself to.

    It is used for generating EXPLAIN PLAN output, and also for serializing a tree of relational expressions to JSON.

    • Method Detail

      • getDetailLevel

        SqlExplainLevel getDetailLevel()
        Returns detail level at which plan should be generated.
      • input

        default RelWriter input​(String term,
                                RelNode input)
        Adds an input to the explanation of the current node.
        Parameters:
        term - Term for input, e.g. "left" or "input #1".
        input - Input relational expression
      • item

        RelWriter item​(String term,
                       Object value)
        Adds an attribute to the explanation of the current node.
        Parameters:
        term - Term for attribute, e.g. "joinType"
        value - Attribute value
      • itemIf

        default RelWriter itemIf​(String term,
                                 Object value,
                                 boolean condition)
        Adds an input to the explanation of the current node, if a condition holds.
      • nest

        default boolean nest()
        Returns whether the writer prefers nested values. Traditional explain writers prefer flattened values.