Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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}.
Expand Down
33 changes: 9 additions & 24 deletions hibernate-core/src/main/java/org/hibernate/dialect/H2Dialect.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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);
Expand All @@ -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";
}
Expand Down Expand Up @@ -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();
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -713,12 +699,12 @@ public boolean supportsIfExistsAfterTableName() {

@Override
public boolean supportsIfExistsBeforeTableName() {
return cascadeConstraints;
return true;
}

@Override
public boolean supportsIfExistsAfterAlterTable() {
return cascadeConstraints;
return true;
}

@Override
Expand All @@ -728,8 +714,7 @@ public boolean supportsIfExistsBeforeConstraintName() {

@Override
public String getCascadeConstraintsString() {
return cascadeConstraints ? " cascade "
: super.getCascadeConstraintsString();
return " cascade ";
}

@Override
Expand All @@ -756,7 +741,7 @@ public boolean dropConstraints() {

@Override
public SequenceSupport getSequenceSupport() {
return ansiSequence ? H2V2SequenceSupport.INSTANCE: H2V1SequenceSupport.INSTANCE;
return H2V2SequenceSupport.INSTANCE;
}

@Override
Expand Down