diff --git a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/H2LegacyDialect.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/H2LegacyDialect.java index f1b4a0f183ed..8df31e5d4d5d 100644 --- a/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/H2LegacyDialect.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/H2LegacyDialect.java @@ -31,7 +31,7 @@ import org.hibernate.dialect.pagination.LimitHandler; import org.hibernate.dialect.pagination.LimitOffsetLimitHandler; import org.hibernate.dialect.pagination.OffsetFetchLimitHandler; -import org.hibernate.dialect.sequence.H2V1SequenceSupport; +import org.hibernate.community.dialect.sequence.H2V1SequenceSupport; import org.hibernate.dialect.sequence.H2V2SequenceSupport; import org.hibernate.dialect.sequence.SequenceSupport; import org.hibernate.dialect.temptable.StandardLocalTemporaryTableStrategy; diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/sequence/H2V1SequenceSupport.java b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/sequence/H2V1SequenceSupport.java similarity index 88% rename from hibernate-core/src/main/java/org/hibernate/dialect/sequence/H2V1SequenceSupport.java rename to hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/sequence/H2V1SequenceSupport.java index 36ede225587a..0cce73c291ab 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/sequence/H2V1SequenceSupport.java +++ b/hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/sequence/H2V1SequenceSupport.java @@ -2,9 +2,10 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright Red Hat Inc. and Hibernate Authors */ -package org.hibernate.dialect.sequence; +package org.hibernate.community.dialect.sequence; import org.hibernate.MappingException; +import org.hibernate.dialect.sequence.SequenceSupport; /** * Sequence support for {@link org.hibernate.dialect.H2Dialect}. diff --git a/hibernate-core/src/main/java/org/hibernate/dialect/H2Dialect.java b/hibernate-core/src/main/java/org/hibernate/dialect/H2Dialect.java index 6cccf6bff990..dffce552b7aa 100644 --- a/hibernate-core/src/main/java/org/hibernate/dialect/H2Dialect.java +++ b/hibernate-core/src/main/java/org/hibernate/dialect/H2Dialect.java @@ -20,7 +20,6 @@ import org.hibernate.dialect.lock.spi.LockingSupport; import org.hibernate.dialect.pagination.LimitHandler; import org.hibernate.dialect.pagination.OffsetFetchLimitHandler; -import org.hibernate.dialect.sequence.H2V1SequenceSupport; import org.hibernate.dialect.sequence.H2V2SequenceSupport; import org.hibernate.dialect.sequence.SequenceSupport; import org.hibernate.dialect.sql.ast.H2SqlAstTranslator; @@ -131,10 +130,6 @@ public class H2Dialect extends Dialect { private static final DatabaseVersion MINIMUM_VERSION = DatabaseVersion.make( 2, 1, 214 ); - private final boolean ansiSequence; - private final boolean cascadeConstraints; - private final boolean useLocalTime; - private final SequenceInformationExtractor sequenceInformationExtractor; private final String querySequenceString; private final UniqueDelegate uniqueDelegate = new CreateTableUniqueDelegate(this); @@ -151,15 +146,6 @@ public H2Dialect() { public H2Dialect(DatabaseVersion version) { super( version ); - // Prior to 1.4.200 there was no support for 'current value for sequence_name' - // After 2.0.202 there is no support for 'sequence_name.nextval' and 'sequence_name.currval' - ansiSequence = true; - - // Prior to 1.4.200 the 'cascade' in 'drop table' was implicit - cascadeConstraints = true; - // 1.4.200 introduced changes in current_time and current_timestamp - useLocalTime = true; - sequenceInformationExtractor = SequenceInformationExtractorLegacyImpl.INSTANCE; querySequenceString = "select * from INFORMATION_SCHEMA.SEQUENCES"; } @@ -307,9 +293,9 @@ public void initializeFunctionRegistry(FunctionContributions functionContributio functionFactory.dayOfWeekMonthYear(); functionFactory.weekQuarter(); functionFactory.daynameMonthname(); - if ( useLocalTime ) { - functionFactory.localtimeLocaltimestamp(); - } + + functionFactory.localtimeLocaltimestamp(); + functionFactory.trunc_dateTrunc(); functionFactory.dateTrunc(); functionFactory.bitLength(); @@ -466,12 +452,12 @@ public int getMaxVarcharLength() { @Override public String currentTime() { - return useLocalTime ? "localtime" : super.currentTime(); + return "localtime"; } @Override public String currentTimestamp() { - return useLocalTime ? "localtimestamp" : super.currentTimestamp(); + return "localtimestamp"; } @Override @@ -713,12 +699,12 @@ public boolean supportsIfExistsAfterTableName() { @Override public boolean supportsIfExistsBeforeTableName() { - return cascadeConstraints; + return true; } @Override public boolean supportsIfExistsAfterAlterTable() { - return cascadeConstraints; + return true; } @Override @@ -728,8 +714,7 @@ public boolean supportsIfExistsBeforeConstraintName() { @Override public String getCascadeConstraintsString() { - return cascadeConstraints ? " cascade " - : super.getCascadeConstraintsString(); + return " cascade "; } @Override @@ -756,7 +741,7 @@ public boolean dropConstraints() { @Override public SequenceSupport getSequenceSupport() { - return ansiSequence ? H2V2SequenceSupport.INSTANCE: H2V1SequenceSupport.INSTANCE; + return H2V2SequenceSupport.INSTANCE; } @Override