Skip to content

Commit 2f2c223

Browse files
MoadElfatihigavinking
authored andcommitted
HHH-19934 simplify H2Dialect and move H2V1SequenceSupport to community dialect
1 parent cda3934 commit 2f2c223

File tree

3 files changed

+12
-26
lines changed

3 files changed

+12
-26
lines changed

hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/H2LegacyDialect.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
import org.hibernate.dialect.pagination.LimitHandler;
3232
import org.hibernate.dialect.pagination.LimitOffsetLimitHandler;
3333
import org.hibernate.dialect.pagination.OffsetFetchLimitHandler;
34-
import org.hibernate.dialect.sequence.H2V1SequenceSupport;
34+
import org.hibernate.community.dialect.sequence.H2V1SequenceSupport;
3535
import org.hibernate.dialect.sequence.H2V2SequenceSupport;
3636
import org.hibernate.dialect.sequence.SequenceSupport;
3737
import org.hibernate.dialect.temptable.StandardLocalTemporaryTableStrategy;

hibernate-core/src/main/java/org/hibernate/dialect/sequence/H2V1SequenceSupport.java renamed to hibernate-community-dialects/src/main/java/org/hibernate/community/dialect/sequence/H2V1SequenceSupport.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@
22
* SPDX-License-Identifier: Apache-2.0
33
* Copyright Red Hat Inc. and Hibernate Authors
44
*/
5-
package org.hibernate.dialect.sequence;
5+
package org.hibernate.community.dialect.sequence;
66

77
import org.hibernate.MappingException;
8+
import org.hibernate.dialect.sequence.SequenceSupport;
89

910
/**
1011
* Sequence support for {@link org.hibernate.dialect.H2Dialect}.

hibernate-core/src/main/java/org/hibernate/dialect/H2Dialect.java

Lines changed: 9 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import org.hibernate.dialect.lock.spi.LockingSupport;
2121
import org.hibernate.dialect.pagination.LimitHandler;
2222
import org.hibernate.dialect.pagination.OffsetFetchLimitHandler;
23-
import org.hibernate.dialect.sequence.H2V1SequenceSupport;
2423
import org.hibernate.dialect.sequence.H2V2SequenceSupport;
2524
import org.hibernate.dialect.sequence.SequenceSupport;
2625
import org.hibernate.dialect.sql.ast.H2SqlAstTranslator;
@@ -131,10 +130,6 @@
131130
public class H2Dialect extends Dialect {
132131
private static final DatabaseVersion MINIMUM_VERSION = DatabaseVersion.make( 2, 1, 214 );
133132

134-
private final boolean ansiSequence;
135-
private final boolean cascadeConstraints;
136-
private final boolean useLocalTime;
137-
138133
private final SequenceInformationExtractor sequenceInformationExtractor;
139134
private final String querySequenceString;
140135
private final UniqueDelegate uniqueDelegate = new CreateTableUniqueDelegate(this);
@@ -151,15 +146,6 @@ public H2Dialect() {
151146
public H2Dialect(DatabaseVersion version) {
152147
super( version );
153148

154-
// Prior to 1.4.200 there was no support for 'current value for sequence_name'
155-
// After 2.0.202 there is no support for 'sequence_name.nextval' and 'sequence_name.currval'
156-
ansiSequence = true;
157-
158-
// Prior to 1.4.200 the 'cascade' in 'drop table' was implicit
159-
cascadeConstraints = true;
160-
// 1.4.200 introduced changes in current_time and current_timestamp
161-
useLocalTime = true;
162-
163149
sequenceInformationExtractor = SequenceInformationExtractorLegacyImpl.INSTANCE;
164150
querySequenceString = "select * from INFORMATION_SCHEMA.SEQUENCES";
165151
}
@@ -307,9 +293,9 @@ public void initializeFunctionRegistry(FunctionContributions functionContributio
307293
functionFactory.dayOfWeekMonthYear();
308294
functionFactory.weekQuarter();
309295
functionFactory.daynameMonthname();
310-
if ( useLocalTime ) {
311-
functionFactory.localtimeLocaltimestamp();
312-
}
296+
297+
functionFactory.localtimeLocaltimestamp();
298+
313299
functionFactory.trunc_dateTrunc();
314300
functionFactory.dateTrunc();
315301
functionFactory.bitLength();
@@ -466,12 +452,12 @@ public int getMaxVarcharLength() {
466452

467453
@Override
468454
public String currentTime() {
469-
return useLocalTime ? "localtime" : super.currentTime();
455+
return "localtime";
470456
}
471457

472458
@Override
473459
public String currentTimestamp() {
474-
return useLocalTime ? "localtimestamp" : super.currentTimestamp();
460+
return "localtimestamp";
475461
}
476462

477463
@Override
@@ -713,12 +699,12 @@ public boolean supportsIfExistsAfterTableName() {
713699

714700
@Override
715701
public boolean supportsIfExistsBeforeTableName() {
716-
return cascadeConstraints;
702+
return true;
717703
}
718704

719705
@Override
720706
public boolean supportsIfExistsAfterAlterTable() {
721-
return cascadeConstraints;
707+
return true;
722708
}
723709

724710
@Override
@@ -728,8 +714,7 @@ public boolean supportsIfExistsBeforeConstraintName() {
728714

729715
@Override
730716
public String getCascadeConstraintsString() {
731-
return cascadeConstraints ? " cascade "
732-
: super.getCascadeConstraintsString();
717+
return " cascade ";
733718
}
734719

735720
@Override
@@ -756,7 +741,7 @@ public boolean dropConstraints() {
756741

757742
@Override
758743
public SequenceSupport getSequenceSupport() {
759-
return ansiSequence ? H2V2SequenceSupport.INSTANCE: H2V1SequenceSupport.INSTANCE;
744+
return H2V2SequenceSupport.INSTANCE;
760745
}
761746

762747
@Override

0 commit comments

Comments
 (0)