Package org.h2.expression.function
Class BitFunction
java.lang.Object
org.h2.expression.Expression
org.h2.expression.Operation1_2
org.h2.expression.function.Function1_2
org.h2.expression.function.BitFunction
- All Implemented Interfaces:
NamedExpression
,HasSQL
,Typed
A bitwise function.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
BITAND() (non-standard).static final int
BITCOUNT() (non-standard).static final int
BITGET() (non-standard).static final int
BITNAND() (non-standard).static final int
BITNOR() (non-standard).static final int
BITNOT() (non-standard).static final int
BITOR() (non-standard).static final int
BITXNOR() (non-standard).static final int
BITXOR() (non-standard).private final int
static final int
LSHIFT() (non-standard).private static final String[]
static final int
ROTATELEFT() (non-standard).static final int
ROTATERIGHT() (non-standard).static final int
RSHIFT() (non-standard).static final int
ULSHIFT() (non-standard).static final int
URSHIFT() (non-standard).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 -
Method Summary
Modifier and TypeMethodDescriptionprivate static ValueBigint
private static ValueBoolean
static TypeInfo
checkArgType
(Expression arg) private static Value
getBinaryString
(int function, TypeInfo type, Value v1, Value v2) static Value
getBitwise
(int function, TypeInfo type, Value v1, Value v2) Computes the value of bitwise function.private static TypeInfo
getCommonType
(Expression arg1, Expression arg2) getName()
Get the name.private static Value
getNumeric
(int function, TypeInfo type, Value v1, Value v2) getValue
(SessionLocal session, Value v1, Value v2) Returns the value of this function.optimize
(SessionLocal session) Try to optimize the expression.private Expression
optimizeNot
(SessionLocal session) private static Value
private static Value
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 Details
-
BITAND
public static final int BITANDBITAND() (non-standard).- See Also:
-
BITOR
public static final int BITORBITOR() (non-standard).- See Also:
-
BITXOR
public static final int BITXORBITXOR() (non-standard).- See Also:
-
BITNOT
public static final int BITNOTBITNOT() (non-standard).- See Also:
-
BITNAND
public static final int BITNANDBITNAND() (non-standard).- See Also:
-
BITNOR
public static final int BITNORBITNOR() (non-standard).- See Also:
-
BITXNOR
public static final int BITXNORBITXNOR() (non-standard).- See Also:
-
BITGET
public static final int BITGETBITGET() (non-standard).- See Also:
-
BITCOUNT
public static final int BITCOUNTBITCOUNT() (non-standard).- See Also:
-
LSHIFT
public static final int LSHIFTLSHIFT() (non-standard).- See Also:
-
RSHIFT
public static final int RSHIFTRSHIFT() (non-standard).- See Also:
-
ULSHIFT
public static final int ULSHIFTULSHIFT() (non-standard).- See Also:
-
URSHIFT
public static final int URSHIFTURSHIFT() (non-standard).- See Also:
-
ROTATELEFT
public static final int ROTATELEFTROTATELEFT() (non-standard).- See Also:
-
ROTATERIGHT
public static final int ROTATERIGHTROTATERIGHT() (non-standard).- See Also:
-
NAMES
-
function
private final int function
-
-
Constructor Details
-
BitFunction
-
-
Method Details
-
getValue
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
-
bitGet
-
bitCount
-
shift
-
rotate
-
getBitwise
Computes the value of bitwise function. -
getBinaryString
-
getNumeric
-
optimize
Description copied from class:Expression
Try to optimize the expression.- Specified by:
optimize
in classExpression
- Parameters:
session
- the session- Returns:
- the optimized expression
-
optimizeNot
-
getCommonType
-
checkArgType
Checks the type of an argument of bitwise function (one ofBITAND
,BITOR
,BITXOR
,BITNOT
,BITNAND
,BITNOR
,BITXNOR
).- Parameters:
arg
- the argument- Returns:
- the type of the specified argument
- Throws:
DbException
- if argument type is not supported by bitwise functions
-
getName
Description copied from interface:NamedExpression
Get the name.- Returns:
- the name in uppercase
-