All Implemented Interfaces:
NamedWriteable, Writeable, Resolvable

public class StubRelation extends LeafPlan
Synthetic LogicalPlan used by the planner that the child plan is referred elsewhere. Essentially this means referring to another node in the plan and acting as a relationship. Used for duplicating parts of the plan without having to clone the nodes.
  • Field Details

  • Constructor Details

  • Method Details

    • computeOutput

      public static List<Attribute> computeOutput(LogicalPlan source, LogicalPlan target)
    • writeTo

      public void writeTo(StreamOutput out) throws IOException
      Throws:
      IOException
    • output

      public List<Attribute> output()
      Description copied from class: QueryPlan
      The ordered list of attributes (i.e. columns) this plan produces when executed. Must be called only on resolved plans, otherwise may throw an exception or return wrong results.
      Specified by:
      output in class QueryPlan<LogicalPlan>
    • expressionsResolved

      public boolean expressionsResolved()
      Specified by:
      expressionsResolved in class LogicalPlan
    • info

      protected NodeInfo<StubRelation> info()
      Description copied from class: Node
      Normally, you want to use one of the static create methods to implement this.

      For QueryPlans, it is very important that the properties contain all of the expressions and references relevant to this node, and that all the properties are used in the provided constructor; otherwise query plan transformations like QueryPlan#transformExpressionsOnly(Function) will not have an effect.

      Specified by:
      info in class Node<LogicalPlan>
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in class LogicalPlan
    • getWriteableName

      public String getWriteableName()
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in class LogicalPlan