Package org.h2.expression.function
Class RegexpFunction
- java.lang.Object
-
- org.h2.expression.Expression
-
- org.h2.expression.OperationN
-
- org.h2.expression.function.FunctionN
-
- org.h2.expression.function.RegexpFunction
-
- All Implemented Interfaces:
ExpressionWithVariableParameters,NamedExpression,HasSQL,Typed
public final class RegexpFunction extends FunctionN
A regular expression function.
-
-
Field Summary
Fields Modifier and Type Field Description private intfunctionprivate static java.lang.String[]NAMESstatic intREGEXP_LIKEREGEXP_LIKE() (non-standard).static intREGEXP_REPLACEREGEXP_REPLACE() (non-standard).static intREGEXP_SUBSTRREGEXP_SUBSTR() (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 RegexpFunction(int function)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetName()Get the name.ValuegetValue(SessionLocal session)Return the resulting value for the current row.private static intmakeRegexpFlags(java.lang.String stringFlags, boolean ignoreGlobalFlag)Expressionoptimize(SessionLocal session)Try to optimize the expression.private static ValueregexpReplace(SessionLocal session, java.lang.String input, java.lang.String regexp, java.lang.String replacement, int position, int occurrence, java.lang.String regexpMode)private static ValueregexpSubstr(Value inputString, Value regexpArg, Value positionArg, Value occurrenceArg, Value regexpModeArg, Value subexpressionArg, SessionLocal session)-
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
-
REGEXP_LIKE
public static final int REGEXP_LIKE
REGEXP_LIKE() (non-standard).- See Also:
- Constant Field Values
-
REGEXP_REPLACE
public static final int REGEXP_REPLACE
REGEXP_REPLACE() (non-standard).- See Also:
- Constant Field Values
-
REGEXP_SUBSTR
public static final int REGEXP_SUBSTR
REGEXP_SUBSTR() (non-standard).- See Also:
- Constant Field Values
-
NAMES
private static final java.lang.String[] NAMES
-
function
private final int function
-
-
Method Detail
-
getValue
public Value getValue(SessionLocal session)
Description copied from class:ExpressionReturn the resulting value for the current row.
-
regexpReplace
private static Value regexpReplace(SessionLocal session, java.lang.String input, java.lang.String regexp, java.lang.String replacement, int position, int occurrence, java.lang.String regexpMode)
-
regexpSubstr
private static Value regexpSubstr(Value inputString, Value regexpArg, Value positionArg, Value occurrenceArg, Value regexpModeArg, Value subexpressionArg, SessionLocal session)
-
makeRegexpFlags
private static int makeRegexpFlags(java.lang.String stringFlags, boolean ignoreGlobalFlag)
-
optimize
public Expression optimize(SessionLocal session)
Description copied from class:ExpressionTry to optimize the expression.- Specified by:
optimizein classExpression- Parameters:
session- the session- Returns:
- the optimized expression
-
getName
public java.lang.String getName()
Description copied from interface:NamedExpressionGet the name.- Returns:
- the name in uppercase
-
-