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 intBITAND() (non-standard).static final intBITCOUNT() (non-standard).static final intBITGET() (non-standard).static final intBITNAND() (non-standard).static final intBITNOR() (non-standard).static final intBITNOT() (non-standard).static final intBITOR() (non-standard).static final intBITXNOR() (non-standard).static final intBITXOR() (non-standard).private final intstatic final intLSHIFT() (non-standard).private static final String[]static final intROTATELEFT() (non-standard).static final intROTATERIGHT() (non-standard).static final intRSHIFT() (non-standard).static final intULSHIFT() (non-standard).static final intURSHIFT() (non-standard).Fields inherited from class org.h2.expression.Operation1_2
left, right, typeFields inherited from class org.h2.expression.Expression
AUTO_PARENTHESES, MAP_IN_AGGREGATE, MAP_IN_WINDOW, MAP_INITIAL, WITH_PARENTHESES, WITHOUT_PARENTHESESFields 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 ValueBigintprivate static ValueBooleanstatic TypeInfocheckArgType(Expression arg) private static ValuegetBinaryString(int function, TypeInfo type, Value v1, Value v2) static ValuegetBitwise(int function, TypeInfo type, Value v1, Value v2) Computes the value of bitwise function.private static TypeInfogetCommonType(Expression arg1, Expression arg2) getName()Get the name.private static ValuegetNumeric(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 ExpressionoptimizeNot(SessionLocal session) private static Valueprivate static ValueMethods inherited from class org.h2.expression.function.Function1_2
getUnenclosedSQL, getValueMethods inherited from class org.h2.expression.Operation1_2
getCost, getSubexpression, getSubexpressionCount, getType, isEverything, mapColumns, setEvaluatable, updateAggregateMethods 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, writeExpressionsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods 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_2Returns the value of this function.- Overrides:
getValuein 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:ExpressionTry to optimize the expression.- Specified by:
optimizein 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:NamedExpressionGet the name.- Returns:
- the name in uppercase
-