Package org.h2.expression.function
Class StringFunction
- java.lang.Object
-
- org.h2.expression.Expression
-
- org.h2.expression.OperationN
-
- org.h2.expression.function.FunctionN
-
- org.h2.expression.function.StringFunction
-
- All Implemented Interfaces:
ExpressionWithVariableParameters
,NamedExpression
,HasSQL
,Typed
public final class StringFunction extends FunctionN
An string function with multiple arguments.
-
-
Field Summary
Fields Modifier and Type Field Description private int
function
static int
INSERT
INSERT() (non-standard).static int
LOCATE
LOCATE() (non-standard).static int
LPAD
LPAD() (non-standard).private static java.lang.String[]
NAMES
static int
REPLACE
REPLACE() (non-standard).static int
RPAD
RPAD() (non-standard).static int
TRANSLATE
TRANSLATE() (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 StringFunction(Expression[] args, int function)
StringFunction(Expression arg1, Expression arg2, Expression arg3, int function)
StringFunction(Expression arg1, Expression arg2, Expression arg3, Expression arg4, int function)
-
Method Summary
All Methods Static 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.private static java.lang.String
insert(java.lang.String s1, int start, int length, java.lang.String s2)
private static int
locate(java.lang.String search, java.lang.String s, int start)
Expression
optimize(SessionLocal session)
Try to optimize the expression.private static java.lang.String
translate(java.lang.String original, java.lang.String findChars, java.lang.String replaceChars)
-
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
-
LOCATE
public static final int LOCATE
LOCATE() (non-standard).- See Also:
- Constant Field Values
-
INSERT
public static final int INSERT
INSERT() (non-standard).- See Also:
- Constant Field Values
-
REPLACE
public static final int REPLACE
REPLACE() (non-standard).- See Also:
- Constant Field Values
-
LPAD
public static final int LPAD
LPAD() (non-standard).- See Also:
- Constant Field Values
-
RPAD
public static final int RPAD
RPAD() (non-standard).- See Also:
- Constant Field Values
-
TRANSLATE
public static final int TRANSLATE
TRANSLATE() (non-standard).- See Also:
- Constant Field Values
-
NAMES
private static final java.lang.String[] NAMES
-
function
private final int function
-
-
Constructor Detail
-
StringFunction
public StringFunction(Expression arg1, Expression arg2, Expression arg3, int function)
-
StringFunction
public StringFunction(Expression arg1, Expression arg2, Expression arg3, Expression arg4, int function)
-
StringFunction
public StringFunction(Expression[] args, int function)
-
-
Method Detail
-
getValue
public Value getValue(SessionLocal session)
Description copied from class:Expression
Return the resulting value for the current row.
-
locate
private static int locate(java.lang.String search, java.lang.String s, int start)
-
insert
private static java.lang.String insert(java.lang.String s1, int start, int length, java.lang.String s2)
-
translate
private static java.lang.String translate(java.lang.String original, java.lang.String findChars, java.lang.String replaceChars)
-
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
-
-