Uses of Interface
org.hibernate.query.sqm.function.SqmFunctionDescriptor
Package
Description
This package contains the interfaces that make up the bootstrap API
for Hibernate.
A range of SPIs allowing integration with—and customization of—the process of building metadata.
This package defines APIs for configuring Hibernate.
Contains implementations of
SqmFunctionDescriptor
describing a range of relatively-sophisticated SQL functions available in various dialects.Contains a range of internal abstractions for dealing with query execution,
query plans, query options, and query parameters.
An SPI for defining, registering, and rendering functions in HQL.
Package defining support for
SqmFunctionDescriptor
handling.Nodes representing expressions in the SQM tree.
-
Uses of SqmFunctionDescriptor in org.hibernate.boot
Modifier and TypeMethodDescriptionMetadataBuilder.applySqlFunction
(String functionName, SqmFunctionDescriptor function) Contribute aSqmFunctionDescriptor
to HQL.SessionFactoryBuilder.applySqlFunction
(String registrationName, SqmFunctionDescriptor functionDescriptor) Register aSQL function
with the underlyingSqmFunctionRegistry
. -
Uses of SqmFunctionDescriptor in org.hibernate.boot.internal
Modifier and TypeMethodDescriptionSessionFactoryOptionsBuilder.getCustomSqlFunctionMap()
InFlightMetadataCollectorImpl.getSqlFunctionMap()
MetadataImpl.getSqlFunctionMap()
BootstrapContextImpl.getSqlFunctions()
Modifier and TypeMethodDescriptionvoid
BootstrapContextImpl.addSqlFunction
(String functionName, SqmFunctionDescriptor function) MetadataBuilderImpl.applySqlFunction
(String functionName, SqmFunctionDescriptor function) SessionFactoryBuilderImpl.applySqlFunction
(String registrationName, SqmFunctionDescriptor functionDescriptor) void
SessionFactoryOptionsBuilder.applySqlFunction
(String registrationName, SqmFunctionDescriptor sqlFunction) -
Uses of SqmFunctionDescriptor in org.hibernate.boot.spi
Modifier and TypeMethodDescriptionAbstractDelegatingSessionFactoryOptions.getCustomSqlFunctionMap()
AbstractDelegatingMetadata.getSqlFunctionMap()
BootstrapContext.getSqlFunctions()
Access to any SQL functions explicitly registered with theMetadataBuilder
.Modifier and TypeMethodDescriptionAbstractDelegatingMetadataBuilderImplementor.applySqlFunction
(String functionName, SqmFunctionDescriptor function) AbstractDelegatingSessionFactoryBuilder.applySqlFunction
(String registrationName, SqmFunctionDescriptor sqlFunction) -
Uses of SqmFunctionDescriptor in org.hibernate.cfg
Modifier and TypeMethodDescriptionConfiguration.getSqlFunctions()
Deprecated, for removal: This API element is subject to removal in a future version.Modifier and TypeMethodDescriptionConfiguration.addSqlFunction
(String functionName, SqmFunctionDescriptor function) Adds a function descriptor to this configuration. -
Uses of SqmFunctionDescriptor in org.hibernate.dialect.function
Modifier and TypeClassDescriptionclass
class
Some databases don't have a function likeleast()
orgreatest()
, and on those platforms we emulate the function usingcase
.class
ANSI SQL-inspiredcast()
function, where the target types are enumerated byCastType
, and portability is achieved by delegating toDialect.castPattern(CastType, CastType)
.class
class
The HQLstr()
function is now considered a synonym forcast(x as String)
.class
A chr implementation that translates integer literals to string literals.class
class
A concat function with a pattern for clob arguments.class
class
A "function" with no parameters that returns the current date, time, or timestamp.class
Emulation oftrunc(datetime, temporal_unit)
function that leverages formatting the datetime to string and back to truncate itclass
DB2's varchar_format() can't handle quoted literal strings in the format pattern.class
DB2's position() function always requires a code unit before version 11.class
DB2's substring() function requires a code unit and substr() can't optionally take it, so we render substr() by default.class
A derby implementation for lpad.class
A derby implementation for rpad.class
A function that dynamically dispatches to other functions, depending on which function validates successfully first.class
Most databases don't have a function likeevery()
orany()
.class
ANSI SQL-inspiredextract()
function, where the date/time fields are enumerated byTemporalUnit
, and portability is achieved by delegating toDialect.extractPattern(TemporalUnit)
.class
A format function with support for composite temporal expressions.class
class
class
Emulates the ANSI SQL-standardoverlay()
function usinginsert()
substring()
, andconcat()
.class
Used in place ofTimestampaddFunction
for databases which don't support fractional seconds in thetimestampadd()
function.class
class
class
A length function with separate patterns for string and clob argument.class
class
class
class
Emulates the ANSI SQL-standardposition()
function usinglocate()
.class
HQL function inspired by the ANSI SQL trim function, with a funny syntax involving aTrimSpec
.class
Most databases don't have a function likeevery()
orany()
.class
class
Oracle 8i had nocoalesce()
function, so we emulate it using chainednvl()
s.class
CustomTruncFunction
for Oracle which uses emulation when truncating datetimes to secondsclass
PostgreSQL doesn't support min/max for uuid yet, but since that type is comparable we want to support this operation.class
CustomTruncFunction
for PostgreSQL which uses the dialect-specific function for numeric truncationclass
PostgreSQL only supports the two-argumenttrunc
andround
functions with the following signatures:trunc(numeric, integer)
round(numeric, integer)
class
class
class
A function to pass through a SQL fragment.class
CustomTruncFunction
for SQL Server versions before 16, which uses the customSqlServerConvertTruncFunction.DateTruncConvertEmulation
class
SQL Server doesn't have a function likeevery()
orany()
.class
SQL Server behaves strangely when the first argument to format is of the type time, so we cast to datetime.class
Simplified API allowing users to contributeSqmFunctionDescriptor
s to HQL.class
CustomTruncFunction
for Sybase which uses a dialect-specific emulation function for datetimesclass
Thetimestampadd()
ordateadd()
function has a funny syntax which accepts aTemporalUnit
as the first argument, and the actual set of accepted units varies widely.class
Thetimestampdiff()
ordatediff()
function has a funny syntax which accepts aTemporalUnit
as the first argument, and the actual set of accepted units varies widely.class
A special function that renders a T-SQLstr()
function if more than a single argument is given, or otherwise renders acast()
expression just likeCastStrEmulation
.class
ANSI SQL-standardtrim()
function, which has a funny syntax involving aTrimSpec
, and portability is achieved usingDialect.trimPattern(TrimSpec, boolean)
.class
Custom function that manages both numeric and datetime truncationModifierConstructorDescriptionFormatSqmFunction
(SqmFunctionDescriptor descriptor, FunctionRenderer renderer, List<? extends SqmTypedNode<?>> arguments, ReturnableType<T> impliedResultType, ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, boolean supportsPatternLiterals, QueryEngine queryEngine) FormatSqmFunction
(SqmFunctionDescriptor descriptor, FunctionRenderingSupport renderingSupport, List<? extends SqmTypedNode<?>> arguments, ReturnableType<T> impliedResultType, ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, boolean supportsPatternLiterals, QueryEngine queryEngine) Deprecated, for removal: This API element is subject to removal in a future version. -
Uses of SqmFunctionDescriptor in org.hibernate.dialect.function.array
Modifier and TypeClassDescriptionclass
Encapsulates the validator, return type and argument type resolvers for the array_contains function.class
Encapsulates the validator, return type and argument type resolvers for the array_contains function.class
Encapsulates the validator, return type and argument type resolvers for the array_includes function.class
Encapsulates the validator, return type and argument type resolvers for the array_intersects function.class
Encapsulates the validator, return type and argument type resolvers for the array_position functions.class
Encapsulates the validator, return type and argument type resolvers for the array_positions functions.class
Encapsulates the validator, return type and argument type resolvers for the array_remove functions.class
Encapsulates the validator, return type and argument type resolvers for the array_remove functions.class
class
Concatenation function for array and an element.class
Concatenation function for arrays.class
class
Special array contains function that also applies a cast to the element argument.class
Implement the array contains function by usingunnest
.class
Implement the array get function by usingunnest
.class
Special array includes implementation that uses the PostgreSQL@>
operator.class
Implement the array includes function by usingunnest
.class
Array intersects function that uses the PostgreSQL&&
operator.class
Implement the intersects function by usingunnest
.class
Implement the array remove index function by usingunnest
.class
Implement the array replace function by usingunnest
.class
Implement the array set function by usingunnest
.class
Implement the array slice function by usingunnest
.class
class
Implement the array fill function by usinggenerate_series
.class
H2 requires a very special emulation, becauseunnest
is pretty much useless, due to https://github.com/h2database/h2database/issues/1815.class
Implement the array fill function by usingsystem_range
.class
H2 requires a very special emulation, becauseunnest
is pretty much useless, due to https://github.com/h2database/h2database/issues/1815.class
H2 requires a very special emulation, becauseunnest
is pretty much useless, due to https://github.com/h2database/h2database/issues/1815.class
H2 requires a very special emulation, becauseunnest
is pretty much useless, due to https://github.com/h2database/h2database/issues/1815.class
H2 requires a very special emulation, becauseunnest
is pretty much useless, due to https://github.com/h2database/h2database/issues/1815.class
H2 requires a very special emulation, becauseunnest
is pretty much useless, due to https://github.com/h2database/h2database/issues/1815.class
H2 requires a very special emulation, becauseunnest
is pretty much useless, due to https://github.com/h2database/h2database/issues/1815.class
H2 requires a very special emulation, becauseunnest
is pretty much useless, due to https://github.com/h2database/h2database/issues/1815.class
H2 requires a very special emulation, becauseunnest
is pretty much useless, due to https://github.com/h2database/h2database/issues/1815.class
H2 requires a very special emulation, becauseunnest
is pretty much useless, due to https://github.com/h2database/h2database/issues/1815.class
class
Implement the array fill function by usingsequence_array
.class
HSQLDB has a special syntax.class
HSQLDB has a special syntax.class
HSQLDB array_remove function.class
HSQLDB array_set function.class
HSQLDB has a special syntax.class
class
Oracle concatenation function for array and an element.class
Oracle concatenation function for arrays.class
class
class
Oracle array_fill function.class
Oracle array_get function.class
class
class
class
class
class
Oracle array_remove function.class
Oracle array_remove_index function.class
Oracle array_replace function.class
Oracle array_set function.class
Oracle array_slice function.class
Oracle array_to_string function.class
Oracle array_trim function.class
PostgreSQL variant of the function to properly returnnull
when the array argument is null.class
PostgreSQL variant of the function to properly returnnull
when one of the arguments is null.class
Special array constructor function that also applies a cast to the array literal, based on the inferred result type.class
Custom casting for the array fill function.class
PostgreSQL variant of the function.class
PostgreSQL variant of the function.class
PostgreSQL array_trim emulation, since the function was only introduced in version 14. -
Uses of SqmFunctionDescriptor in org.hibernate.envers.function
Modifier and TypeClassDescriptionclass
Envers specific FunctionContributor -
Uses of SqmFunctionDescriptor in org.hibernate.query.spi
Modifier and TypeMethodDescriptionQueryEngineOptions.getCustomSqlFunctionMap()
User defined SQM functions available for use in HQL and Criteria. -
Uses of SqmFunctionDescriptor in org.hibernate.query.sqm.function
Modifier and TypeClassDescriptionclass
class
class
Acts as a wrapper to anotherSqmFunctionDescriptor
, rendering the standard JDBC escape sequence{fn f(x, y)}
around the invocation syntax generated by its delegate.class
Support for overloaded functions defined in terms of a list of patterns, one for each possible function arity.class
Provides a standard implementation that supports the majority of the HQL functions that are translated to SQL.class
Support for HQL functions that have different representations in different SQL dialects, where the difference can be handled via a pattern template.Modifier and TypeMethodDescriptionSqmFunctionRegistry.findFunctionDescriptor
(String functionName) Find a SqmFunctionTemplate by name.MultipatternSqmFunctionDescriptor.getFunction
(int argumentCount) SqmFunctionRegistry.register
(String registrationKey, SqmFunctionDescriptor function) Register a function descriptor by nameSqmFunctionRegistry.registerNamed
(String name) Register a named descriptor by name.SqmFunctionRegistry.registerNamed
(String name, BasicType returnType) Register a named descriptor by name and invariant return type.SqmFunctionRegistry.registerNoArgs
(String name) Specialized registration method for registering a named descriptor for functions expecting zero arguments.SqmFunctionRegistry.registerNoArgs
(String registrationKey, String name) SqmFunctionRegistry.registerNoArgs
(String registrationKey, String name, BasicType returnType) SqmFunctionRegistry.registerNoArgs
(String name, BasicType returnType) SqmFunctionRegistry.registerPattern
(String name, String pattern) Register a pattern-based descriptor by name.SqmFunctionRegistry.registerPattern
(String name, String pattern, BasicType returnType) Register a pattern-based descriptor by name and invariant return type.SqmFunctionRegistry.wrapInJdbcEscape
(String name, SqmFunctionDescriptor wrapped) Modifier and TypeMethodDescriptionSqmFunctionRegistry.getFunctionsByName()
Useful for diagnostics - not efficient: do not use in production code.Modifier and TypeMethodDescriptionSqmFunctionRegistry.register
(String registrationKey, SqmFunctionDescriptor function) Register a function descriptor by nameSqmFunctionRegistry.wrapInJdbcEscape
(String name, SqmFunctionDescriptor wrapped) ModifierConstructorDescriptionJdbcEscapeFunctionDescriptor
(String name, SqmFunctionDescriptor wrapped) MultipatternSqmFunctionDescriptor
(String name, SqmFunctionDescriptor[] functions, BasicType<?> type, TypeConfiguration typeConfiguration, FunctionParameterType... parameterTypes) Construct an instance with the given function templates where the position of each function template in the given array corresponds to the arity of the function template.MultipatternSqmFunctionDescriptor
(String name, SqmFunctionDescriptor[] functions, TypeConfiguration typeConfiguration, FunctionParameterType... parameterTypes) Construct an instance with the given function templates where the position of each function template in the given array corresponds to the arity of the function template.SelfRenderingSqmAggregateFunction
(SqmFunctionDescriptor descriptor, FunctionRenderer renderer, List<? extends SqmTypedNode<?>> arguments, SqmPredicate filter, ReturnableType<T> impliedResultType, ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name) SelfRenderingSqmAggregateFunction
(SqmFunctionDescriptor descriptor, FunctionRenderingSupport renderingSupport, List<? extends SqmTypedNode<?>> arguments, SqmPredicate filter, ReturnableType<T> impliedResultType, ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name) Deprecated, for removal: This API element is subject to removal in a future version.SelfRenderingSqmFunction
(SqmFunctionDescriptor descriptor, FunctionRenderer renderer, List<? extends SqmTypedNode<?>> arguments, @Nullable ReturnableType<T> impliedResultType, @Nullable ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name) SelfRenderingSqmFunction
(SqmFunctionDescriptor descriptor, FunctionRenderingSupport renderingSupport, List<? extends SqmTypedNode<?>> arguments, @Nullable ReturnableType<T> impliedResultType, @Nullable ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name) Deprecated, for removal: This API element is subject to removal in a future version.SelfRenderingSqmOrderedSetAggregateFunction
(SqmFunctionDescriptor descriptor, FunctionRenderer renderer, List<? extends SqmTypedNode<?>> arguments, SqmPredicate filter, SqmOrderByClause withinGroupClause, ReturnableType<T> impliedResultType, ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name) SelfRenderingSqmOrderedSetAggregateFunction
(SqmFunctionDescriptor descriptor, FunctionRenderingSupport renderingSupport, List<? extends SqmTypedNode<?>> arguments, SqmPredicate filter, SqmOrderByClause withinGroupClause, ReturnableType<T> impliedResultType, ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name) Deprecated, for removal: This API element is subject to removal in a future version.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) SelfRenderingSqmWindowFunction
(SqmFunctionDescriptor descriptor, FunctionRenderingSupport renderingSupport, List<? extends SqmTypedNode<?>> arguments, SqmPredicate filter, Boolean respectNulls, Boolean fromFirst, ReturnableType<T> impliedResultType, ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name) Deprecated, for removal: This API element is subject to removal in a future version. -
Uses of SqmFunctionDescriptor in org.hibernate.query.sqm.produce.function
Modifier and TypeMethodDescriptionNamedFunctionDescriptorBuilder.descriptor()
PatternFunctionDescriptorBuilder.descriptor()
NamedFunctionDescriptorBuilder.register()
PatternFunctionDescriptorBuilder.register()
-
Uses of SqmFunctionDescriptor in org.hibernate.query.sqm.tree.expression
Modifier and TypeMethodDescriptionSqmCoalesce.getFunctionDescriptor()
SqmFunction.getFunctionDescriptor()
ModifierConstructorDescriptionSqmFunction
(String functionName, SqmFunctionDescriptor functionDescriptor, @Nullable SqmExpressible<T> type, List<? extends SqmTypedNode<?>> arguments, NodeBuilder criteriaBuilder) -
Uses of SqmFunctionDescriptor in org.hibernate.spatial
Modifier and TypeFieldDescriptionprotected final Map<FunctionKey,
SqmFunctionDescriptor> BaseSqmFunctionDescriptors.map
-
Uses of SqmFunctionDescriptor in org.hibernate.spatial.dialect.hana
-
Uses of SqmFunctionDescriptor in org.hibernate.spatial.dialect.oracle
Modifier and TypeClassDescriptionclass
class
class
class
class
class
-
Uses of SqmFunctionDescriptor in org.hibernate.testing.boot
Configuration.addSqlFunction(String, SqmFunctionDescriptor)