Class GaussDBMinMaxFunction
java.lang.Object
org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor
org.hibernate.query.sqm.function.AbstractSqmSelfRenderingFunctionDescriptor
org.hibernate.community.dialect.function.GaussDBMinMaxFunction
- All Implemented Interfaces:
org.hibernate.query.sqm.function.FunctionRenderer, org.hibernate.query.sqm.function.SqmFunctionDescriptor
public class GaussDBMinMaxFunction
extends org.hibernate.query.sqm.function.AbstractSqmSelfRenderingFunctionDescriptor
GaussDB doesn't support min/max for uuid yet,
but since that type is comparable we want to support this operation.
The workaround is to cast uuid to text and aggregate that, which preserves the ordering,
and finally cast the result back to uuid.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidrender(org.hibernate.sql.ast.spi.SqlAppender sqlAppender, List<? extends org.hibernate.sql.ast.tree.SqlAstNode> sqlAstArguments, org.hibernate.metamodel.model.domain.ReturnableType<?> returnType, org.hibernate.sql.ast.SqlAstTranslator<?> walker) voidrender(org.hibernate.sql.ast.spi.SqlAppender sqlAppender, List<? extends org.hibernate.sql.ast.tree.SqlAstNode> sqlAstArguments, org.hibernate.sql.ast.tree.predicate.Predicate filter, org.hibernate.metamodel.model.domain.ReturnableType<?> returnType, org.hibernate.sql.ast.SqlAstTranslator<?> translator) 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, getArgumentsValidator, getArgumentTypeResolver, getName, getReturnSignature, getReturnTypeResolver, getSignatureMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.hibernate.query.sqm.function.FunctionRenderer
render, render, renderMethods inherited from interface org.hibernate.query.sqm.function.SqmFunctionDescriptor
alwaysIncludesParentheses, generateSqmExpression, generateSqmExpression, isPredicate
-
Constructor Details
-
GaussDBMinMaxFunction
-
-
Method Details
-
render
public void render(org.hibernate.sql.ast.spi.SqlAppender sqlAppender, List<? extends org.hibernate.sql.ast.tree.SqlAstNode> sqlAstArguments, org.hibernate.metamodel.model.domain.ReturnableType<?> returnType, org.hibernate.sql.ast.SqlAstTranslator<?> walker) - Specified by:
renderin interfaceorg.hibernate.query.sqm.function.FunctionRenderer- Overrides:
renderin classorg.hibernate.query.sqm.function.AbstractSqmSelfRenderingFunctionDescriptor
-
render
public void render(org.hibernate.sql.ast.spi.SqlAppender sqlAppender, List<? extends org.hibernate.sql.ast.tree.SqlAstNode> sqlAstArguments, org.hibernate.sql.ast.tree.predicate.Predicate filter, org.hibernate.metamodel.model.domain.ReturnableType<?> returnType, org.hibernate.sql.ast.SqlAstTranslator<?> translator) -
getArgumentListSignature
- Overrides:
getArgumentListSignaturein classorg.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor
-