Package org.h2.expression.function
Class JsonConstructorFunction
java.lang.Object
org.h2.expression.Expression
org.h2.expression.OperationN
org.h2.expression.function.JsonConstructorFunction
- All Implemented Interfaces:
ExpressionWithFlags,ExpressionWithVariableParameters,NamedExpression,HasSQL,Typed
public final class JsonConstructorFunction
extends OperationN
implements ExpressionWithFlags, NamedExpression
JSON constructor function.
-
Field Summary
Fields inherited from class org.h2.expression.OperationN
args, argsCount, 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
ConstructorsConstructorDescriptionJsonConstructorFunction(boolean array) Creates a new instance of JSON constructor function. -
Method Summary
Modifier and TypeMethodDescriptionintgetFlags()Returns the flags.static StringBuildergetJsonFunctionFlagsSQL(StringBuilder builder, int flags, boolean forArray) Appends flags of a JSON function to the specified string builder.getName()Get the name.getUnenclosedSQL(StringBuilder builder, int sqlFlags) Get the SQL statement of this expression.getValue(SessionLocal session) Return the resulting value for the current row.optimize(SessionLocal session) Try to optimize the expression.voidsetFlags(int flags) Set the flags for this expression.Methods inherited from class org.h2.expression.OperationN
addParameter, doneWithParameters, getCost, getSubexpression, getSubexpressionCount, getType, isEverything, mapColumns, optimizeArguments, 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, getTypeIfStaticallyKnown, 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
-
Constructor Details
-
JsonConstructorFunction
public JsonConstructorFunction(boolean array) Creates a new instance of JSON constructor function.- Parameters:
array-falseforJSON_OBJECT,trueforJSON_ARRAY.
-
-
Method Details
-
setFlags
public void setFlags(int flags) Description copied from interface:ExpressionWithFlagsSet the flags for this expression.- Specified by:
setFlagsin interfaceExpressionWithFlags- Parameters:
flags- the flags to set
-
getFlags
public int getFlags()Description copied from interface:ExpressionWithFlagsReturns the flags.- Specified by:
getFlagsin interfaceExpressionWithFlags- Returns:
- the flags
-
getValue
Description copied from class:ExpressionReturn the resulting value for the current row.- Specified by:
getValuein classExpression- Parameters:
session- the session- Returns:
- the result
-
optimize
Description copied from class:ExpressionTry to optimize the expression.- Specified by:
optimizein classExpression- Parameters:
session- the session- Returns:
- the optimized expression
-
getUnenclosedSQL
Description copied from class:ExpressionGet the SQL statement of this expression. This may not always be the original SQL statement, especially after optimization. Enclosing '(' and ')' are never appended.- Specified by:
getUnenclosedSQLin classExpression- Parameters:
builder- string buildersqlFlags- formatting flags- Returns:
- the specified string builder
-
getJsonFunctionFlagsSQL
public static StringBuilder getJsonFunctionFlagsSQL(StringBuilder builder, int flags, boolean forArray) Appends flags of a JSON function to the specified string builder.- Parameters:
builder- string builder to append toflags- flags to appendforArray- whether the function is an array function- Returns:
- the specified string builder
-
getName
Description copied from interface:NamedExpressionGet the name.- Specified by:
getNamein interfaceNamedExpression- Returns:
- the name in uppercase
-