Class ExpressionPlan


  • public class ExpressionPlan
    extends Object
    • Method Detail

      • isConstant

        public boolean isConstant()
        An expression with no inputs is a constant
      • getExpression

        public Expr getExpression()
        Gets the original expression that was planned
      • getAppliedExpression

        public Expr getAppliedExpression()
        If an expression uses a multi-valued input in a scalar manner, the expression can be automatically transformed to map these values across the expression, applying the original expression to every value.
        See Also:
        Parser.applyUnappliedBindings(Expr, Expr.BindingAnalysis, List)
      • getAppliedFoldExpression

        public Expr getAppliedFoldExpression​(String accumulatorId)
        If an expression uses a multi-valued input in a scalar manner, and the expression contains an accumulator such as for use as part of an aggregator, the expression can be automatically transformed to fold the accumulator across the values of the original expression.
        See Also:
        Parser.foldUnappliedBindings(Expr, Expr.BindingAnalysis, List, String)
      • getSingleInputType

        @Nullable
        public ColumnType getSingleInputType()
        If and only if the column has a single input, get the ValueType of that input
      • getSingleInputName

        public String getSingleInputName()
        If and only if the expression has a single input, get the name of that input
      • getUnknownInputs

        public Set<String> getUnknownInputs()
        Get set of inputs which were completely missing information, possibly a non-existent column or from a column selector factory with incomplete information
      • is

        public boolean is​(ExpressionPlan.Trait... flags)
        Returns true if all of the supplied traits are true in this plan
      • any

        public boolean any​(ExpressionPlan.Trait... flags)
        Returns true if any of the supplied traits are true in this plan