Class H2ArrayPositionsFunction
java.lang.Object
org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor
org.hibernate.query.sqm.function.AbstractSqmSelfRenderingFunctionDescriptor
org.hibernate.dialect.function.array.AbstractArrayPositionsFunction
org.hibernate.dialect.function.array.H2ArrayPositionsFunction
- 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
ConstructorsConstructorDescriptionH2ArrayPositionsFunction(boolean list, int maximumArraySize, TypeConfiguration typeConfiguration) -
Method Summary
Modifier and TypeMethodDescriptionvoidrender(SqlAppender sqlAppender, List<? extends SqlAstNode> sqlAstArguments, ReturnableType<?> returnType, SqlAstTranslator<?> walker) Methods inherited from class org.hibernate.dialect.function.array.AbstractArrayPositionsFunction
getArgumentListSignatureMethods 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, 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
-
H2ArrayPositionsFunction
public H2ArrayPositionsFunction(boolean list, int maximumArraySize, TypeConfiguration typeConfiguration)
-
-
Method Details
-
render
public void render(SqlAppender sqlAppender, List<? extends SqlAstNode> sqlAstArguments, ReturnableType<?> returnType, SqlAstTranslator<?> walker) - Specified by:
renderin interfaceFunctionRenderer- Overrides:
renderin classAbstractSqmSelfRenderingFunctionDescriptor
-