Class SequenceValue

  • All Implemented Interfaces:
    HasSQL, Typed

    public final class SequenceValue
    extends Operation0
    Wraps a sequence when used in a statement.
    • Field Detail

      • sequence

        private final Sequence sequence
      • current

        private final boolean current
      • prepared

        private final Prepared prepared
    • Constructor Detail

      • SequenceValue

        public SequenceValue​(Sequence sequence,
                             Prepared prepared)
        Creates new instance of NEXT VALUE FOR expression.
        Parameters:
        sequence - the sequence
        prepared - the owner command, or null
      • SequenceValue

        public SequenceValue​(Sequence sequence)
        Creates new instance of CURRENT VALUE FOR expression.
        Parameters:
        sequence - the sequence
    • Method Detail

      • getValue

        public Value getValue​(SessionLocal session)
        Description copied from class: Expression
        Return the resulting value for the current row.
        Specified by:
        getValue in class Expression
        Parameters:
        session - the session
        Returns:
        the result
      • getType

        public TypeInfo getType()
        Description copied from class: Expression
        Returns the data type. The data type may be unknown before the optimization phase.
        Specified by:
        getType in interface Typed
        Specified by:
        getType in class Expression
        Returns:
        the data type
      • getUnenclosedSQL

        public java.lang.StringBuilder getUnenclosedSQL​(java.lang.StringBuilder builder,
                                                        int sqlFlags)
        Description copied from class: Expression
        Get the SQL statement of this expression. This may not always be the original SQL statement, especially after optimization. Enclosing '(' and ')' are never appended.
        Specified by:
        getUnenclosedSQL in class Expression
        Parameters:
        builder - string builder
        sqlFlags - formatting flags
        Returns:
        the specified string builder
      • isEverything

        public boolean isEverything​(ExpressionVisitor visitor)
        Description copied from class: Expression
        Check if this expression and all sub-expressions can fulfill a criteria. If any part returns false, the result is false.
        Specified by:
        isEverything in class Expression
        Parameters:
        visitor - the visitor
        Returns:
        if the criteria can be fulfilled
      • getCost

        public int getCost()
        Description copied from class: Expression
        Estimate the cost to process the expression. Used when optimizing the query, to calculate the query plan with the lowest estimated cost.
        Specified by:
        getCost in class Expression
        Returns:
        the estimated cost