Class ExprAggregator

  • All Implemented Interfaces:
    Expr

    public class ExprAggregator
    extends ExprNode
    Group aggregation functions calculated a value during grouping and placed in the output binding. This class is relationship of an aggregation expression and that variable. Evaluation returns the variable's bound value.
    • Constructor Detail

      • ExprAggregator

        public ExprAggregator​(Var v,
                              Aggregator agg)
    • Method Detail

      • getVar

        public Var getVar()
      • setVar

        public void setVar​(Var v)
      • getAggregator

        public Aggregator getAggregator()
      • hashCode

        public int hashCode()
        Description copied from interface: Expr
        Expr are used in both syntax and algebra. There is no syntax to algebra translation step because the parser uses operator precedence to build the right evaluation structure directly.

        The exceptions to this are the NOT EXISTS and EXISTS expressions which involve a query pattern. As a result there are different ways in syntax to produce the same algebra form.

        Two Expr are considered equal if they are equal as algebra expressions. hashCode and equals must implement that.

        There is also equalsBySyntax. Because two different syntax forms can yield the same algebra, but two different algebra forms must be different syntax, equalsBySyntax implies equals (by alegbra).

        Hence, different hashCode => not equalsBySyntax.

        Specified by:
        hashCode in interface Expr
        Specified by:
        hashCode in class ExprNode
      • equals

        public boolean equals​(Expr other,
                              boolean bySyntax)
        Description copied from interface: Expr
        General equality operation - consider this to be 'protected'
        Specified by:
        equals in interface Expr
        Specified by:
        equals in class ExprNode
      • asVar

        public Var asVar()
        Description copied from interface: Expr
        Convert to a Var variable.
        Specified by:
        asVar in interface Expr
        Overrides:
        asVar in class ExprNode
      • getAggVar

        public ExprVar getAggVar()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class ExprNode
      • copy

        public Expr copy​(Var v)