Skip to content

Commit

Permalink
HHH-18142 Add Oracle Database 23ai support for DROP SEQUENCE IF EXISTS
Browse files Browse the repository at this point in the history
  • Loading branch information
loiclefevre authored and beikov committed May 21, 2024
1 parent 6a764d7 commit cf23888
Showing 1 changed file with 16 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
package org.hibernate.dialect.sequence;

import org.hibernate.MappingException;
import org.hibernate.dialect.DatabaseVersion;
import org.hibernate.dialect.Dialect;

/**
Expand All @@ -18,25 +19,34 @@
* @see <a href="https://docs.oracle.com/en/database/oracle/oracle-database/23/sqlrf/CREATE-SEQUENCE.html">Oracle Database Documentation</a>
*/
public final class OracleSequenceSupport extends NextvalSequenceSupport {
/**
* @deprecated Construct instance based on version instead.
*/
@Deprecated(forRemoval = true)
public static final SequenceSupport INSTANCE = new OracleSequenceSupport( true, false );

public static SequenceSupport getInstance(final Dialect dialect) {
return new OracleSequenceSupport(dialect);
return new OracleSequenceSupport(dialect.getVersion());
}

private final boolean requiresFromDUAL;
private final boolean requiresFromDual;
private final boolean supportsIfExists;

// TODO: HHH-18144 - Support Oracle sequence optional KEEP for Application Continuity
// TODO: HHH-18143 - Support Oracle scalable sequences for RAC

public OracleSequenceSupport(final Dialect dialect) {
requiresFromDUAL = dialect.getVersion().isBefore(23);
supportsIfExists = dialect.getVersion().isSameOrAfter(23);
public OracleSequenceSupport(final DatabaseVersion version) {
this( version.isBefore( 23 ), version.isSameOrAfter( 23 ) );
}

OracleSequenceSupport(boolean requiresFromDual, boolean supportsIfExists) {
this.requiresFromDual = requiresFromDual;
this.supportsIfExists = supportsIfExists;
}

@Override
public String getFromDual() {
return requiresFromDUAL ? " from dual" : "";
return requiresFromDual ? " from dual" : "";
}

@Override
Expand Down

0 comments on commit cf23888

Please sign in to comment.