Package org.h2.expression.function
Class SoundexFunction
- java.lang.Object
-
- org.h2.expression.Expression
-
- org.h2.expression.Operation1_2
-
- org.h2.expression.function.Function1_2
-
- org.h2.expression.function.SoundexFunction
-
- All Implemented Interfaces:
NamedExpression
,HasSQL
,Typed
public final class SoundexFunction extends Function1_2
A SOUNDEX or DIFFERENCE function.
-
-
Field Summary
Fields Modifier and Type Field Description static int
DIFFERENCE
DIFFERENCE() (non-standard).private int
function
private static java.lang.String[]
NAMES
static int
SOUNDEX
SOUNDEX() (non-standard).private static byte[]
SOUNDEX_INDEX
-
Fields inherited from class org.h2.expression.Operation1_2
left, right, 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 SoundexFunction(Expression arg1, Expression arg2, int function)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static int
getDifference(java.lang.String s1, java.lang.String s2)
java.lang.String
getName()
Get the name.private static byte[]
getSoundex(java.lang.String s)
Value
getValue(SessionLocal session, Value v1, Value v2)
Returns the value of this function.Expression
optimize(SessionLocal session)
Try to optimize the expression.-
Methods inherited from class org.h2.expression.function.Function1_2
getUnenclosedSQL, getValue
-
Methods inherited from class org.h2.expression.Operation1_2
getCost, getSubexpression, getSubexpressionCount, getType, isEverything, 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
-
SOUNDEX
public static final int SOUNDEX
SOUNDEX() (non-standard).- See Also:
- Constant Field Values
-
DIFFERENCE
public static final int DIFFERENCE
DIFFERENCE() (non-standard).- See Also:
- Constant Field Values
-
NAMES
private static final java.lang.String[] NAMES
-
SOUNDEX_INDEX
private static final byte[] SOUNDEX_INDEX
-
function
private final int function
-
-
Constructor Detail
-
SoundexFunction
public SoundexFunction(Expression arg1, Expression arg2, int function)
-
-
Method Detail
-
getValue
public Value getValue(SessionLocal session, Value v1, Value v2)
Description copied from class:Function1_2
Returns the value of this function.- Overrides:
getValue
in classFunction1_2
- Parameters:
session
- the sessionv1
- the value of first argumentv2
- the value of second argument, ornull
- Returns:
- the resulting value
-
getDifference
private static int getDifference(java.lang.String s1, java.lang.String s2)
-
getSoundex
private static byte[] getSoundex(java.lang.String s)
-
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
-
-