2020import org .hibernate .dialect .lock .spi .LockingSupport ;
2121import org .hibernate .dialect .pagination .LimitHandler ;
2222import org .hibernate .dialect .pagination .OffsetFetchLimitHandler ;
23- import org .hibernate .dialect .sequence .H2V1SequenceSupport ;
2423import org .hibernate .dialect .sequence .H2V2SequenceSupport ;
2524import org .hibernate .dialect .sequence .SequenceSupport ;
2625import org .hibernate .dialect .sql .ast .H2SqlAstTranslator ;
131130public 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