Class Parameter

All Implemented Interfaces:
ParameterInterface, HasSQL, Typed

public final class Parameter extends Operation0 implements ParameterInterface
A parameter of a prepared statement.
  • Field Details

    • value

      private Value value
    • column

      private Column column
    • index

      private final int index
  • Constructor Details

    • Parameter

      public Parameter(int index)
  • Method Details

    • getUnenclosedSQL

      public StringBuilder getUnenclosedSQL(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
    • setValue

      public void setValue(Value v, boolean closeOld)
      Description copied from interface: ParameterInterface
      Set the value of the parameter.
      Specified by:
      setValue in interface ParameterInterface
      Parameters:
      v - the new value
      closeOld - if the old value (if one is set) should be closed
    • setValue

      public void setValue(Value v)
    • getParamValue

      public Value getParamValue()
      Description copied from interface: ParameterInterface
      Get the value of the parameter if set.
      Specified by:
      getParamValue in interface ParameterInterface
      Returns:
      the value or null
    • 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 ParameterInterface
      Specified by:
      getType in interface Typed
      Specified by:
      getType in class Expression
      Returns:
      the data type
    • checkSet

      public void checkSet()
      Description copied from interface: ParameterInterface
      Check if the value is set.
      Specified by:
      checkSet in interface ParameterInterface
    • optimize

      public Expression optimize(SessionLocal session)
      Description copied from class: Expression
      Try to optimize the expression.
      Overrides:
      optimize in class Operation0
      Parameters:
      session - the session
      Returns:
      the optimized expression
    • isValueSet

      public boolean isValueSet()
      Description copied from class: Expression
      Is the value of a parameter set.
      Specified by:
      isValueSet in interface ParameterInterface
      Overrides:
      isValueSet in class Expression
      Returns:
      true if set
    • 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
    • getNotIfPossible

      public Expression getNotIfPossible(SessionLocal session)
      Description copied from class: Expression
      If it is possible, return the negated expression. This is used to optimize NOT expressions: NOT ID>10 can be converted to ID<=10. Returns null if negating is not possible.
      Overrides:
      getNotIfPossible in class Expression
      Parameters:
      session - the session
      Returns:
      the negated expression, or null
    • setColumn

      public void setColumn(Column column)
    • getIndex

      public int getIndex()