Package org.hibernate.dialect.function
Class CurrentFunction
- java.lang.Object
-
- org.hibernate.query.sqm.function.AbstractSqmFunctionDescriptor
-
- org.hibernate.query.sqm.function.AbstractSqmSelfRenderingFunctionDescriptor
-
- org.hibernate.dialect.function.CurrentFunction
-
- All Implemented Interfaces:
FunctionRenderer
,FunctionRenderingSupport
,SqmFunctionDescriptor
public class CurrentFunction extends AbstractSqmSelfRenderingFunctionDescriptor
A "function" with no parameters that returns the current date, time, or timestamp. For example,current_date
.
-
-
Constructor Summary
Constructors Constructor Description CurrentFunction(String name, String sql, BasicType<?> type)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
alwaysIncludesParentheses()
Will a call to the described function always include parentheses?String
getArgumentListSignature()
void
render(SqlAppender sqlAppender, List<? extends SqlAstNode> arguments, ReturnableType<?> returnType, SqlAstTranslator<?> walker)
-
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.FunctionRenderingSupport
render, render, render
-
Methods inherited from interface org.hibernate.query.sqm.function.SqmFunctionDescriptor
generateSqmExpression, generateSqmExpression
-
-
-
-
Method Detail
-
render
public void render(SqlAppender sqlAppender, List<? extends SqlAstNode> arguments, ReturnableType<?> returnType, SqlAstTranslator<?> walker)
- Specified by:
render
in interfaceFunctionRenderer
- Specified by:
render
in interfaceFunctionRenderingSupport
- Overrides:
render
in classAbstractSqmSelfRenderingFunctionDescriptor
-
getArgumentListSignature
public String getArgumentListSignature()
- Overrides:
getArgumentListSignature
in classAbstractSqmFunctionDescriptor
-
alwaysIncludesParentheses
public boolean alwaysIncludesParentheses()
Description copied from interface:SqmFunctionDescriptor
Will a call to the described function always include parentheses?Instances of this interface are usually used for rendering of functions. However, there are cases where Hibernate needs to consume a fragment and decide if a token represents a function name. In cases where the token is followed by an opening parenthesis, we can safely assume the token is a function name. Bur if the next token is not an opening parenthesis, the token might still represent a function if the function has a "no paren" form in the case of no arguments.
For example, many databases do not require parentheses for functions like
current_timestamp
and friends. This method helps account for those cases.- Returns:
true
by default
-
-