Class H2ArrayReplaceFunction
java.lang.Object
org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor
org.hibernate.query.sqm.function.AbstractSqmSelfRenderingFunctionDescriptor
org.hibernate.dialect.function.array.ArrayReplaceUnnestFunction
org.hibernate.dialect.function.array.H2ArrayReplaceFunction
- All Implemented Interfaces:
FunctionRenderer,SqmFunctionDescriptor
H2 requires a very special emulation, because
unnest is pretty much useless,
due to https://github.com/h2database/h2database/issues/1815.
This emulation uses array_get, array_length and system_range functions to roughly achieve the same.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidrender(SqlAppender sqlAppender, List<? extends SqlAstNode> sqlAstArguments, ReturnableType<?> returnType, SqlAstTranslator<?> walker) Methods inherited from class org.hibernate.query.sqm.function.AbstractSqmSelfRenderingFunctionDescriptor
filterClauseSupported, generateSqmAggregateFunctionExpression, generateSqmFunctionExpression, generateSqmOrderedSetAggregateFunctionExpression, generateSqmWindowFunctionExpression, getFunctionKindMethods inherited from class org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor
generateAggregateSqmExpression, generateOrderedSetAggregateSqmExpression, generateSqmExpression, generateWindowSqmExpression, getArgumentListSignature, getArgumentsValidator, getArgumentTypeResolver, getName, getReturnSignature, getReturnTypeResolver, getSignatureMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.hibernate.query.sqm.function.FunctionRenderer
render, render, render, renderMethods inherited from interface org.hibernate.query.sqm.function.SqmFunctionDescriptor
alwaysIncludesParentheses, generateSqmExpression, generateSqmExpression, isPredicate
-
Constructor Details
-
H2ArrayReplaceFunction
public H2ArrayReplaceFunction(int maximumArraySize)
-
-
Method Details
-
render
public void render(SqlAppender sqlAppender, List<? extends SqlAstNode> sqlAstArguments, ReturnableType<?> returnType, SqlAstTranslator<?> walker) - Specified by:
renderin interfaceFunctionRenderer- Overrides:
renderin classArrayReplaceUnnestFunction
-