MysqlDialect register localtimeLocaltimestamp functions

This commit is contained in:
Andrea Boriero 2022-05-18 11:27:24 +02:00 committed by Andrea Boriero
parent 1ae61b3388
commit 298623d2cc
3 changed files with 11 additions and 3 deletions

View File

@ -61,6 +61,7 @@
import org.hibernate.sql.ast.spi.StandardSqlAstTranslatorFactory;
import org.hibernate.sql.ast.tree.Statement;
import org.hibernate.sql.exec.spi.JdbcOperation;
import org.hibernate.type.BasicTypeRegistry;
import org.hibernate.type.NullType;
import org.hibernate.type.SqlTypes;
import org.hibernate.type.StandardBasicTypes;
@ -491,6 +492,14 @@ public void initializeFunctionRegistry(QueryEngine queryEngine) {
functionFactory.adddateSubdateAddtimeSubtime();
functionFactory.format_dateFormat();
functionFactory.makedateMaketime();
functionFactory.localtimeLocaltimestamp();
BasicTypeRegistry basicTypeRegistry = queryEngine.getTypeConfiguration().getBasicTypeRegistry();
queryEngine.getSqmFunctionRegistry().noArgsBuilder( "localtime" )
.setInvariantType(basicTypeRegistry.resolve( StandardBasicTypes.TIMESTAMP ))
.setUseParenthesesWhenNoArgs( false )
.register();
if ( getMySQLVersion().isBefore( 5, 7 ) ) {
functionFactory.sysdateParens();

View File

@ -1205,7 +1205,7 @@ public static void prime(TypeConfiguration typeConfiguration) {
);
handle(
OBJECT_TYPE,
JavaObjectType.INSTANCE,
null,
basicTypeRegistry,
"object", Object.class.getName()

View File

@ -12,7 +12,6 @@
import org.hibernate.query.Query;
import org.hibernate.testing.TestForIssue;
import org.hibernate.testing.orm.domain.StandardDomainModel;
import org.hibernate.testing.orm.junit.DomainModel;
import org.hibernate.testing.orm.junit.RequiresDialect;
import org.hibernate.testing.orm.junit.ServiceRegistry;
@ -30,7 +29,7 @@
@TestForIssue( jiraKey = "HHH-8401")
@RequiresDialect( value = MySQLDialect.class, majorVersion = 5, minorVersion = 7)
@ServiceRegistry
@DomainModel( standardModels = StandardDomainModel.GAMBIT )
@DomainModel
@SessionFactory
public class MySQL57TimestampFspFunctionTest {