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 int
function
private static java.lang.String[]
NAMES
static int
REGEXP_LIKE
REGEXP_LIKE() (non-standard).static int
REGEXP_REPLACE
REGEXP_REPLACE() (non-standard).static int
REGEXP_SUBSTR
REGEXP_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.String
getName()
Get the name.Value
getValue(SessionLocal session)
Return the resulting value for the current row.private static int
makeRegexpFlags(java.lang.String stringFlags, boolean ignoreGlobalFlag)
Expression
optimize(SessionLocal session)
Try to optimize the expression.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)
private static Value
regexpSubstr(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:Expression
Return 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: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
-
-