Package org.h2.expression.function
Class RandFunction
- java.lang.Object
-
- org.h2.expression.Expression
-
- org.h2.expression.function.Function0_1
-
- org.h2.expression.function.RandFunction
-
- All Implemented Interfaces:
NamedExpression
,HasSQL
,Typed
public final class RandFunction extends Function0_1
A RAND, SECURE_RAND, or RANDOM_UUID function.
-
-
Field Summary
Fields Modifier and Type Field Description private int
function
private static java.lang.String[]
NAMES
static int
RAND
RAND() (non-standard).static int
RANDOM_UUID
RANDOM_UUID() (non-standard).static int
SECURE_RAND
SECURE_RAND() (non-standard).-
Fields inherited from class org.h2.expression.function.Function0_1
arg, type
-
Fields inherited from class org.h2.expression.Expression
AUTO_PARENTHESES, MAP_IN_AGGREGATE, MAP_IN_WINDOW, MAP_INITIAL, WITH_PARENTHESES, WITHOUT_PARENTHESES
-
Fields inherited from interface org.h2.util.HasSQL
ADD_PLAN_INFORMATION, DEFAULT_SQL_FLAGS, NO_CASTS, QUOTE_ONLY_WHEN_REQUIRED, REPLACE_LOBS_FOR_TRACE, TRACE_SQL_FLAGS
-
-
Constructor Summary
Constructors Constructor Description RandFunction(Expression arg, int function)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getName()
Get the name.Value
getValue(SessionLocal session)
Return the resulting value for the current row.boolean
isEverything(ExpressionVisitor visitor)
Check if this expression and all sub-expressions can fulfill a criteria.Expression
optimize(SessionLocal session)
Try to optimize the expression.-
Methods inherited from class org.h2.expression.function.Function0_1
getCost, getSubexpression, getSubexpressionCount, getType, getUnenclosedSQL, mapColumns, setEvaluatable, updateAggregate
-
Methods inherited from class org.h2.expression.Expression
addFilterConditions, createIndexConditions, getAlias, getBooleanValue, getColumnName, getColumnNameForView, getEnclosedSQL, getNonAliasExpression, getNotIfPossible, getNullable, getSchemaName, getSQL, getSQL, getSQL, getSQL, getTableAlias, getTableName, getWhenSQL, getWhenValue, isConstant, isIdentity, isNullConstant, isValueSet, isWhenConditionOperand, needParentheses, optimizeCondition, toString, writeExpressions, writeExpressions
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.h2.util.HasSQL
getTraceSQL
-
-
-
-
Field Detail
-
RAND
public static final int RAND
RAND() (non-standard).- See Also:
- Constant Field Values
-
SECURE_RAND
public static final int SECURE_RAND
SECURE_RAND() (non-standard).- See Also:
- Constant Field Values
-
RANDOM_UUID
public static final int RANDOM_UUID
RANDOM_UUID() (non-standard).- See Also:
- Constant Field Values
-
NAMES
private static final java.lang.String[] NAMES
-
function
private final int function
-
-
Constructor Detail
-
RandFunction
public RandFunction(Expression arg, int function)
-
-
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 classExpression
- Parameters:
session
- the session- Returns:
- the result
-
optimize
public Expression optimize(SessionLocal session)
Description copied from class:Expression
Try to optimize the expression.- Specified by:
optimize
in classExpression
- Parameters:
session
- the session- Returns:
- the optimized expression
-
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.- Overrides:
isEverything
in classFunction0_1
- Parameters:
visitor
- the visitor- Returns:
- if the criteria can be fulfilled
-
getName
public java.lang.String getName()
Description copied from interface:NamedExpression
Get the name.- Returns:
- the name in uppercase
-
-