Class H2ArrayPositionFunction
java.lang.Object
org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor
org.hibernate.query.sqm.function.AbstractSqmSelfRenderingFunctionDescriptor
org.hibernate.dialect.function.array.AbstractArrayPositionFunction
org.hibernate.dialect.function.array.H2ArrayPositionFunction
- 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
ConstructorsConstructorDescriptionH2ArrayPositionFunction
(int maximumArraySize, TypeConfiguration typeConfiguration) -
Method Summary
Modifier and TypeMethodDescriptionvoid
render
(SqlAppender sqlAppender, List<? extends SqlAstNode> sqlAstArguments, ReturnableType<?> returnType, SqlAstTranslator<?> walker) Methods inherited from class org.hibernate.dialect.function.array.AbstractArrayPositionFunction
getArgumentListSignature
Methods inherited from class org.hibernate.query.sqm.function.AbstractSqmSelfRenderingFunctionDescriptor
generateSqmAggregateFunctionExpression, generateSqmFunctionExpression, generateSqmOrderedSetAggregateFunctionExpression, generateSqmWindowFunctionExpression, getFunctionKind
Methods inherited from class org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor
generateAggregateSqmExpression, generateOrderedSetAggregateSqmExpression, generateSqmExpression, generateWindowSqmExpression, getArgumentsValidator, getArgumentTypeResolver, getName, getReturnSignature, getReturnTypeResolver, getSignature
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.hibernate.query.sqm.function.FunctionRenderer
render, render, render, render
Methods inherited from interface org.hibernate.query.sqm.function.SqmFunctionDescriptor
alwaysIncludesParentheses, generateSqmExpression, generateSqmExpression, isPredicate
-
Constructor Details
-
H2ArrayPositionFunction
-
-
Method Details
-
render
public void render(SqlAppender sqlAppender, List<? extends SqlAstNode> sqlAstArguments, ReturnableType<?> returnType, SqlAstTranslator<?> walker) - Specified by:
render
in interfaceFunctionRenderer
- Overrides:
render
in classAbstractSqmSelfRenderingFunctionDescriptor
-