Package org.h2.expression.function
Class HashFunction
- java.lang.Object
-
- org.h2.expression.Expression
-
- org.h2.expression.OperationN
-
- org.h2.expression.function.FunctionN
-
- org.h2.expression.function.HashFunction
-
- All Implemented Interfaces:
ExpressionWithVariableParameters
,NamedExpression
,HasSQL
,Typed
public final class HashFunction extends FunctionN
A HASH or ORA_HASH function.
-
-
Field Summary
Fields Modifier and Type Field Description private int
function
static int
HASH
HASH() (non-standard).private static java.lang.String[]
NAMES
static int
ORA_HASH
ORA_HASH() (non-standard).-
Fields inherited from class org.h2.expression.OperationN
args, argsCount, 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 HashFunction(Expression arg, int function)
HashFunction(Expression arg1, Expression arg2, Expression arg3, int function)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static Value
getHash(java.lang.String algorithm, Value value, int iterations)
java.lang.String
getName()
Get the name.Value
getValue(SessionLocal session, Value v1, Value v2, Value v3)
Returns the value of this function.private static java.security.MessageDigest
hashImpl(Value value, java.lang.String algorithm)
private static java.security.MessageDigest
hashImpl(Value value, java.security.MessageDigest md)
Expression
optimize(SessionLocal session)
Try to optimize the expression.private static Value
oraHash(Value value, long bucket, long seed)
-
Methods inherited from class org.h2.expression.function.FunctionN
getUnenclosedSQL, getValue
-
Methods inherited from class org.h2.expression.OperationN
addParameter, doneWithParameters, getCost, getSubexpression, getSubexpressionCount, getType, isEverything, mapColumns, optimizeArguments, 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
-
HASH
public static final int HASH
HASH() (non-standard).- See Also:
- Constant Field Values
-
ORA_HASH
public static final int ORA_HASH
ORA_HASH() (non-standard).- See Also:
- Constant Field Values
-
NAMES
private static final java.lang.String[] NAMES
-
function
private final int function
-
-
Constructor Detail
-
HashFunction
public HashFunction(Expression arg, int function)
-
HashFunction
public HashFunction(Expression arg1, Expression arg2, Expression arg3, int function)
-
-
Method Detail
-
getValue
public Value getValue(SessionLocal session, Value v1, Value v2, Value v3)
Description copied from class:FunctionN
Returns the value of this function.
-
hashImpl
private static java.security.MessageDigest hashImpl(Value value, java.lang.String algorithm)
-
hashImpl
private static java.security.MessageDigest hashImpl(Value value, java.security.MessageDigest md)
-
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
-
getName
public java.lang.String getName()
Description copied from interface:NamedExpression
Get the name.- Returns:
- the name in uppercase
-
-