Uses of Interface
org.hibernate.query.sqm.function.FunctionRenderer
Packages that use FunctionRenderer
Package
Description
Contains implementations of
SqmFunctionDescriptor
describing a range of relatively-sophisticated SQL functions available in various dialects.An SPI for defining, registering, and rendering functions in HQL.
-
Uses of FunctionRenderer in org.hibernate.dialect.function
Classes in org.hibernate.dialect.function that implement FunctionRendererModifier and TypeClassDescriptionclassclassSome databases don't have a function likeleast()orgreatest(), and on those platforms we emulate the function usingcase.classANSI SQL-inspiredcast()function, where the target types are enumerated byCastType, and portability is achieved by delegating toDialect.castPattern(CastType, CastType).classclassA chr implementation that translates integer literals to string literals.classA concat function with a pattern for clob arguments.classclassA "function" with no parameters that returns the current date, time, or timestamp.classEmulation oftrunc(datetime, temporal_unit)function that leverages formatting the datetime to string and back to truncate itclassDB2's varchar_format() can't handle quoted literal strings in the format pattern.classDB2's position() function always requires a code unit before version 11.classDB2's substring() function requires a code unit and substr() can't optionally take it, so we render substr() by default.classA derby implementation for lpad.classA derby implementation for rpad.classMost databases don't have a function likeevery()orany().classANSI SQL-inspiredextract()function, where the date/time fields are enumerated byTemporalUnit, and portability is achieved by delegating toDialect.extractPattern(TemporalUnit).classA format function with support for composite temporal expressions.classclassclassUsed in place ofTimestampaddFunctionfor databases which don't support fractional seconds in thetimestampadd()function.classclassclassA length function with separate patterns for string and clob argument.classclassclassclassMost databases don't have a function likeevery()orany().classclassPostgreSQL doesn't support min/max for uuid yet, but since that type is comparable we want to support this operation.classPostgreSQL only supports the two-argumenttruncandroundfunctions with the following signatures:trunc(numeric, integer)round(numeric, integer)classclassclassA function to pass through a SQL fragment.classSQL Server doesn't have a function likeevery()orany().classSQL Server behaves strangely when the first argument to format is of the type time, so we cast to datetime.classSimplified API allowing users to contributeSqmFunctionDescriptors to HQL.classThetimestampadd()ordateadd()function has a funny syntax which accepts aTemporalUnitas the first argument, and the actual set of accepted units varies widely.classThetimestampdiff()ordatediff()function has a funny syntax which accepts aTemporalUnitas the first argument, and the actual set of accepted units varies widely.classA special function that renders a T-SQLstr()function if more than a single argument is given, or otherwise renders acast()expression just likeCastStrEmulation.classANSI SQL-standardtrim()function, which has a funny syntax involving aTrimSpec, and portability is achieved usingDialect.trimPattern(TrimSpec, boolean).protected static classConstructors in org.hibernate.dialect.function with parameters of type FunctionRendererModifierConstructorDescriptionFormatSqmFunction(SqmFunctionDescriptor descriptor, FunctionRenderer renderer, List<? extends SqmTypedNode<?>> arguments, ReturnableType<T> impliedResultType, ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, boolean supportsPatternLiterals, QueryEngine queryEngine) -
Uses of FunctionRenderer in org.hibernate.dialect.function.array
Classes in org.hibernate.dialect.function.array that implement FunctionRendererModifier and TypeClassDescriptionclassEncapsulates the validator, return type and argument type resolvers for the array_contains function.classEncapsulates the validator, return type and argument type resolvers for the array_contains function.classEncapsulates the validator, return type and argument type resolvers for the array_includes function.classEncapsulates the validator, return type and argument type resolvers for the array_intersects function.classEncapsulates the validator, return type and argument type resolvers for the array_position functions.classEncapsulates the validator, return type and argument type resolvers for the array_positions functions.classEncapsulates the validator, return type and argument type resolvers for the array_remove functions.classEncapsulates the validator, return type and argument type resolvers for the array_remove functions.classclassConcatenation function for array and an element.classConcatenation function for arrays.classclassSpecial array contains function that also applies a cast to the element argument.classImplement the array contains function by usingunnest.classImplement the array get function by usingunnest.classSpecial array includes implementation that uses the PostgreSQL@>operator.classImplement the array includes function by usingunnest.classArray intersects function that uses the PostgreSQL&&operator.classImplement the intersects function by usingunnest.classImplement the array remove index function by usingunnest.classImplement the array replace function by usingunnest.classImplement the array set function by usingunnest.classImplement the array slice function by usingunnest.classclassImplement the array fill function by usinggenerate_series.classH2 requires a very special emulation, becauseunnestis pretty much useless, due to https://github.com/h2database/h2database/issues/1815.classImplement the array fill function by usingsystem_range.classH2 requires a very special emulation, becauseunnestis pretty much useless, due to https://github.com/h2database/h2database/issues/1815.classH2 requires a very special emulation, becauseunnestis pretty much useless, due to https://github.com/h2database/h2database/issues/1815.classH2 requires a very special emulation, becauseunnestis pretty much useless, due to https://github.com/h2database/h2database/issues/1815.classH2 requires a very special emulation, becauseunnestis pretty much useless, due to https://github.com/h2database/h2database/issues/1815.classH2 requires a very special emulation, becauseunnestis pretty much useless, due to https://github.com/h2database/h2database/issues/1815.classH2 requires a very special emulation, becauseunnestis pretty much useless, due to https://github.com/h2database/h2database/issues/1815.classH2 requires a very special emulation, becauseunnestis pretty much useless, due to https://github.com/h2database/h2database/issues/1815.classH2 requires a very special emulation, becauseunnestis pretty much useless, due to https://github.com/h2database/h2database/issues/1815.classH2 requires a very special emulation, becauseunnestis pretty much useless, due to https://github.com/h2database/h2database/issues/1815.classclassImplement the array fill function by usingsequence_array.classHSQLDB has a special syntax.classHSQLDB has a special syntax.classHSQLDB array_remove function.classHSQLDB array_set function.classHSQLDB has a special syntax.classclassOracle concatenation function for array and an element.classOracle concatenation function for arrays.classclassclassOracle array_fill function.classOracle array_get function.classclassclassclassclassclassOracle array_remove function.classOracle array_remove_index function.classOracle array_replace function.classOracle array_set function.classOracle array_slice function.classOracle array_to_string function.classOracle array_trim function.classPostgreSQL variant of the function to properly returnnullwhen the array argument is null.classPostgreSQL variant of the function to properly returnnullwhen one of the arguments is null.classSpecial array constructor function that also applies a cast to the array literal, based on the inferred result type.classCustom casting for the array fill function.classPostgreSQL variant of the function.classPostgreSQL variant of the function.classPostgreSQL array_trim emulation, since the function was only introduced in version 14. -
Uses of FunctionRenderer in org.hibernate.metamodel.mapping.ordering.ast
Classes in org.hibernate.metamodel.mapping.ordering.ast that implement FunctionRendererModifier and TypeClassDescriptionclassRepresents a function used in an order-by fragment -
Uses of FunctionRenderer in org.hibernate.query.sqm.function
Classes in org.hibernate.query.sqm.function that implement FunctionRendererModifier and TypeClassDescriptionclassclassProvides a standard implementation that supports the majority of the HQL functions that are translated to SQL.classSupport for HQL functions that have different representations in different SQL dialects, where the difference can be handled via a pattern template.Methods in org.hibernate.query.sqm.function that return FunctionRendererModifier and TypeMethodDescriptionprotected FunctionRendererSelfRenderingFunctionSqlAstExpression.getFunctionRenderer()SelfRenderingSqmFunction.getFunctionRenderer()Constructors in org.hibernate.query.sqm.function with parameters of type FunctionRendererModifierConstructorDescriptionSelfRenderingAggregateFunctionSqlAstExpression(String functionName, FunctionRenderer renderer, List<? extends SqlAstNode> sqlAstArguments, Predicate filter, ReturnableType<?> type, JdbcMappingContainer expressible) SelfRenderingFunctionSqlAstExpression(String functionName, FunctionRenderer renderer, List<? extends SqlAstNode> sqlAstArguments, @Nullable ReturnableType<?> type, @Nullable JdbcMappingContainer expressible) SelfRenderingOrderedSetAggregateFunctionSqlAstExpression(String functionName, FunctionRenderer renderer, List<? extends SqlAstNode> sqlAstArguments, Predicate filter, List<SortSpecification> withinGroup, ReturnableType<?> type, JdbcMappingContainer expressible) SelfRenderingSqmAggregateFunction(SqmFunctionDescriptor descriptor, FunctionRenderer renderer, List<? extends SqmTypedNode<?>> arguments, SqmPredicate filter, ReturnableType<T> impliedResultType, ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name) SelfRenderingSqmFunction(SqmFunctionDescriptor descriptor, FunctionRenderer renderer, List<? extends SqmTypedNode<?>> arguments, @Nullable ReturnableType<T> impliedResultType, @Nullable ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name) SelfRenderingSqmOrderedSetAggregateFunction(SqmFunctionDescriptor descriptor, FunctionRenderer renderer, List<? extends SqmTypedNode<?>> arguments, SqmPredicate filter, SqmOrderByClause withinGroupClause, ReturnableType<T> impliedResultType, ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name) SelfRenderingSqmWindowFunction(SqmFunctionDescriptor descriptor, FunctionRenderer renderer, List<? extends SqmTypedNode<?>> arguments, SqmPredicate filter, Boolean respectNulls, Boolean fromFirst, ReturnableType<T> impliedResultType, ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name) SelfRenderingWindowFunctionSqlAstExpression(String functionName, FunctionRenderer renderer, List<? extends SqlAstNode> sqlAstArguments, Predicate filter, Boolean respectNulls, Boolean fromFirst, ReturnableType<?> type, JdbcMappingContainer expressible)