Uses of Class
org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor
Packages that use AbstractSqmFunctionDescriptor
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 AbstractSqmFunctionDescriptor in org.hibernate.dialect.function
Subclasses of AbstractSqmFunctionDescriptor in org.hibernate.dialect.functionModifier 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).classclassThe HQLstr()function is now considered a synonym forcast(x as String).classA chr implementation that translates integer literals to string literals.classclassA 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.classclassclassEmulates the ANSI SQL-standardoverlay()function usinginsert()substring(), andconcat().classUsed in place ofTimestampaddFunctionfor databases which don't support fractional seconds in thetimestampadd()function.classclassclassA length function with separate patterns for string and clob argument.classclassclassclassEmulates the ANSI SQL-standardposition()function usinglocate().classHQL function inspired by the ANSI SQL trim function, with a funny syntax involving aTrimSpec.classMost databases don't have a function likeevery()orany().classclassOracle 8i had nocoalesce()function, so we emulate it using chainednvl()s.classCustomTruncFunctionfor Oracle which uses emulation when truncating datetimes to secondsclassPostgreSQL doesn't support min/max for uuid yet, but since that type is comparable we want to support this operation.classCustomTruncFunctionfor PostgreSQL which uses the dialect-specific function for numeric truncationclassPostgreSQL only supports the two-argumenttruncandroundfunctions with the following signatures:trunc(numeric, integer)round(numeric, integer)classclassclassA function to pass through a SQL fragment.classCustomTruncFunctionfor SQL Server versions before 16, which uses the customSqlServerConvertTruncFunction.DateTruncConvertEmulationclassSQL 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.classCustomTruncFunctionfor Sybase which uses a dialect-specific emulation function for datetimesclassThetimestampadd()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).classCustom function that manages both numeric and datetime truncation -
Uses of AbstractSqmFunctionDescriptor in org.hibernate.dialect.function.array
Subclasses of AbstractSqmFunctionDescriptor in org.hibernate.dialect.function.arrayModifier 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 AbstractSqmFunctionDescriptor in org.hibernate.envers.function
Subclasses of AbstractSqmFunctionDescriptor in org.hibernate.envers.functionModifier and TypeClassDescriptionclassEnvers specific FunctionContributor -
Uses of AbstractSqmFunctionDescriptor in org.hibernate.query.sqm.function
Subclasses of AbstractSqmFunctionDescriptor in org.hibernate.query.sqm.functionModifier and TypeClassDescriptionclassclassActs as a wrapper to anotherSqmFunctionDescriptor, rendering the standard JDBC escape sequence{fn f(x, y)}around the invocation syntax generated by its delegate.classSupport for overloaded functions defined in terms of a list of patterns, one for each possible function arity.classProvides 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.