HHH-18207 remove deprecated Dialect classes (#8487)

Signed-off-by: Gavin King <gavin@hibernate.org>
This commit is contained in:
Gavin King 2024-05-31 15:44:19 +02:00 committed by Steve Ebersole
parent c4868bbdaf
commit 7e536a269e
108 changed files with 2158 additions and 3873 deletions

View File

@ -1,159 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
/**
* Cach&eacute; 2007.1 dialect.
*
* This class is required in order to use Hibernate with Intersystems Cach&eacute; SQL. Compatible with
* Cach&eacute; 2007.1.
*
* <h2>PREREQUISITES</h2>
* These setup instructions assume that both Cach&eacute; and Hibernate are installed and operational.
* <br>
* <h2>HIBERNATE DIRECTORIES AND FILES</h2>
* JBoss distributes the InterSystems Cache' dialect for Hibernate 3.2.1
* For earlier versions of Hibernate please contact
* <a href="http://www.intersystems.com/support/cache-support.html">InterSystems Worldwide Response Center</A> (WRC)
* for the appropriate source files.
* <br>
* <h2>CACH&Eacute; DOCUMENTATION</h2>
* Documentation for Cach&eacute; is available online when Cach&eacute; is running.
* It can also be obtained from the
* <a href="http://www.intersystems.com/cache/downloads/documentation.html">InterSystems</A> website.
* The book, "Object-oriented Application Development Using the Cach&eacute; Post-relational Database:
* is also available from Springer-Verlag.
* <br>
* <h2>HIBERNATE DOCUMENTATION</h2>
* Hibernate comes with extensive electronic documentation.
* In addition, several books on Hibernate are available from
* <a href="http://www.manning.com">Manning Publications Co</a>.
* Three available titles are "Hibernate Quickly", "Hibernate in Action", and "Java Persistence with Hibernate".
* <br>
* <h2>TO SET UP HIBERNATE FOR USE WITH CACH&Eacute;</h2>
* The following steps assume that the directory where Cach&eacute; was installed is C:\CacheSys.
* This is the default installation directory for Cach&eacute;.
* The default installation directory for Hibernate is assumed to be C:\Hibernate.
* <p>
* If either product is installed in a different location, the pathnames that follow should be modified appropriately.
* <p>
* Cach&eacute; version 2007.1 and above is recommended for use with
* Hibernate. The next step depends on the location of your
* CacheDB.jar depending on your version of Cach&eacute;.
* <ol>
* <li>Copy C:\CacheSys\dev\java\lib\JDK15\CacheDB.jar to C:\Hibernate\lib\CacheDB.jar.</li>
* <li>Insert the following files into your Java classpath:
* <p>
* <ul>
* <li>All jar files in the directory C:\Hibernate\lib</li>
* <li>The directory (or directories) where hibernate.properties and/or hibernate.cfg.xml are kept.</li>
* </ul>
* </li>
* <li>In the file, hibernate.properties (or hibernate.cfg.xml),
* specify the Cach&eacute; dialect and the Cach&eacute; version URL settings.</li>
* </ol>
* <p>
* For example, in Hibernate 3.2, typical entries in hibernate.properties would have the following
* "name=value" pairs:
* <p>
* <table border="">
* <caption>Properties</caption>
* <tr>
* <th>Property Name</th>
* <th>Property Value</th>
* </tr>
* <tr>
* <td>hibernate.dialect</td>
* <td>org.hibernate.community.dialect.Cache71Dialect</td>
* </tr>
* <tr>
* <td>hibernate.connection.driver_class</td>
* <td>com.intersys.jdbc.CacheDriver</td>
* </tr>
* <tr>
* <td>hibernate.connection.username</td>
* <td>(see note 1)</td>
* </tr>
* <tr>
* <td>hibernate.connection.password</td>
* <td>(see note 1)</td>
* </tr>
* <tr>
* <td>hibernate.connection.url</td>
* <td>jdbc:Cache://127.0.0.1:1972/USER</td>
* </tr>
* </table>
* <p>
* <b>NOTE:</b> Please contact your administrator for the userid and password you should use when
* attempting access via JDBC. By default, these are chosen to be "_SYSTEM" and "SYS" respectively
* as noted in the SQL standard.
* <br>
* <h2>CACH&Eacute; VERSION URL</h2>
* This is the standard URL for the JDBC driver.
* For a JDBC driver on the machine hosting Cach&eacute;, use the IP "loopback" address, 127.0.0.1.
* For 1972, the default port, specify the super server port of your Cach&eacute; instance.
* For USER, substitute the NAMESPACE which contains your Cach&eacute; database data.
* <br>
* <h2>CACH&Eacute; DIALECTS</h2>
* Choices for Dialect are:
* <br>
* <p>
* <ol>
* <li>org.hibernate.community.dialect.Cache71Dialect (requires Cach&eacute;
* 2007.1 or above)</li>
* </ol>
* <br>
* <h2>SUPPORT FOR IDENTITY COLUMNS</h2>
* Cach&eacute; 2007.1 or later supports identity columns. For
* Hibernate to use identity columns, specify "native" as the
* generator.
* <br>
* <h2>SEQUENCE DIALECTS SUPPORT SEQUENCES</h2>
* <p>
* To use Hibernate sequence support with Cach&eacute; in a namespace, you must FIRST load the following file into that namespace:
* <pre>
* etc\CacheSequences.xml
* </pre>
* For example, at the COS terminal prompt in the namespace, run the
* following command:
* <p>
* d LoadFile^%apiOBJ("c:\hibernate\etc\CacheSequences.xml","ck")
* <p>
* In your Hibernate mapping you can specify sequence use.
* <p>
* For example, the following shows the use of a sequence generator in a Hibernate mapping:
* <pre>
* &lt;id name="id" column="uid" type="long" unsaved-value="null"&gt;
* &lt;generator class="sequence"/&gt;
* &lt;/id&gt;
* </pre>
* <br>
* <p>
* Some versions of Hibernate under some circumstances call
* getSelectSequenceNextValString() in the dialect. If this happens
* you will receive the error message: new MappingException( "Dialect
* does not support sequences" ).
* <br>
* <h2>HIBERNATE FILES ASSOCIATED WITH CACH&Eacute; DIALECT</h2>
* The following files are associated with Cach&eacute; dialect:
* <p>
* <ol>
* <li>src\org\hibernate\dialect\Cache71Dialect.java</li>
* <li>src\org\hibernate\dialect\function\ConditionalParenthesisFunction.java</li>
* <li>src\org\hibernate\dialect\function\ConvertFunction.java</li>
* <li>src\org\hibernate\exception\CacheSQLStateConverter.java</li>
* <li>src\org\hibernate\sql\CacheJoinFragment.java</li>
* </ol>
* Cache71Dialect ships with Hibernate 3.2. All other dialects are distributed by InterSystems and subclass Cache71Dialect.
*
* @author Jonathan Levinson
*
* @deprecated use {@link CacheDialect}
*/
@Deprecated
public class Cache71Dialect extends CacheDialect {}

View File

@ -20,102 +20,34 @@ public class CommunityDialectSelector implements DialectSelector {
return null; return null;
} }
switch ( name ) { switch ( name ) {
case "DB297": case "Cache71":
return DB297Dialect.class;
case "DB2390":
return DB2390Dialect.class;
case "DB2390V8":
return DB2390V8Dialect.class;
case "Cache": case "Cache":
return CacheDialect.class; return CacheDialect.class;
case "Cache71":
return Cache71Dialect.class;
case "CUBRID": case "CUBRID":
return CUBRIDDialect.class; return CUBRIDDialect.class;
case "Altibase": case "Altibase":
return AltibaseDialect.class; return AltibaseDialect.class;
case "DerbyTenFive":
return DerbyTenFiveDialect.class;
case "DerbyTenSix":
return DerbyTenSixDialect.class;
case "DerbyTenSeven":
return DerbyTenSevenDialect.class;
case "Firebird": case "Firebird":
return FirebirdDialect.class; return FirebirdDialect.class;
case "Informix10":
case "Informix": case "Informix":
return InformixDialect.class; return InformixDialect.class;
case "Informix10": case "Ingres9":
return Informix10Dialect.class; case "Ingres10":
case "Ingres": case "Ingres":
return IngresDialect.class; return IngresDialect.class;
case "Ingres9":
return Ingres9Dialect.class;
case "Ingres10":
return Ingres10Dialect.class;
case "MariaDB53":
return MariaDB53Dialect.class;
case "MariaDB10":
return MariaDB10Dialect.class;
case "MariaDB102":
return MariaDB102Dialect.class;
case "MariaDB103":
return MariaDB103Dialect.class;
case "MimerSQL": case "MimerSQL":
return MimerSQLDialect.class; return MimerSQLDialect.class;
case "MySQL5":
return MySQL5Dialect.class;
case "MySQL55":
return MySQL55Dialect.class;
case "MySQL57":
return MySQL57Dialect.class;
case "Oracle8i":
return Oracle8iDialect.class;
case "Oracle9i":
return Oracle9iDialect.class;
case "Oracle10g":
return Oracle10gDialect.class;
case "Oracle12c":
return Oracle12cDialect.class;
case "PostgreSQL81":
return PostgreSQL81Dialect.class;
case "PostgreSQL82":
return PostgreSQL82Dialect.class;
case "PostgreSQL9":
return PostgreSQL9Dialect.class;
case "PostgreSQL91":
return PostgreSQL91Dialect.class;
case "PostgreSQL92":
return PostgreSQL92Dialect.class;
case "PostgreSQL93":
return PostgreSQL93Dialect.class;
case "PostgreSQL94":
return PostgreSQL94Dialect.class;
case "PostgreSQL95":
return PostgreSQL95Dialect.class;
case "PostgreSQL10":
return PostgreSQL10Dialect.class;
case "RDMSOS2200": case "RDMSOS2200":
return RDMSOS2200Dialect.class; return RDMSOS2200Dialect.class;
case "SAPDB": case "SAPDB":
return SAPDBDialect.class;
case "SQLServer2005":
return SQLServer2005Dialect.class;
case "SQLServer2008":
return SQLServer2008Dialect.class;
case "MaxDB": case "MaxDB":
return MaxDBDialect.class; return MaxDBDialect.class;
case "Sybase11":
return Sybase11Dialect.class;
case "SybaseAnywhere": case "SybaseAnywhere":
return SybaseAnywhereDialect.class; return SybaseAnywhereDialect.class;
case "SybaseASE15": case "Teradata14":
return SybaseASE15Dialect.class;
case "SybaseASE157":
return SybaseASE157Dialect.class;
case "Teradata": case "Teradata":
return TeradataDialect.class; return TeradataDialect.class;
case "Teradata14":
return Teradata14Dialect.class;
case "TimesTen": case "TimesTen":
return TimesTenDialect.class; return TimesTenDialect.class;
case "SingleStore": case "SingleStore":

View File

@ -1,69 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.identity.DB2zIdentityColumnSupport;
import org.hibernate.dialect.identity.IdentityColumnSupport;
import org.hibernate.dialect.pagination.FetchLimitHandler;
import org.hibernate.dialect.pagination.LimitHandler;
import org.hibernate.dialect.sequence.DB2zSequenceSupport;
import org.hibernate.dialect.sequence.NoSequenceSupport;
import org.hibernate.dialect.sequence.SequenceSupport;
import org.hibernate.engine.jdbc.dialect.spi.DialectResolutionInfo;
/**
* An SQL dialect for DB2/390. This class provides support for
* DB2 Universal Database for OS/390, also known as DB2/390.
*
* @author Kristoffer Dyrkorn
* @deprecated Use {@link DB2LegacyDialect}
*/
@Deprecated
public class DB2390Dialect extends DB2LegacyDialect {
private final int version;
int get390Version() {
return version;
}
public DB2390Dialect(DialectResolutionInfo info) {
this( info.getDatabaseMajorVersion() );
}
public DB2390Dialect() {
this(7);
}
public DB2390Dialect(int version) {
super();
this.version = version;
}
@Override
public SequenceSupport getSequenceSupport() {
return get390Version() < 8
? NoSequenceSupport.INSTANCE
: DB2zSequenceSupport.INSTANCE;
}
@Override
public String getQuerySequencesString() {
return get390Version() < 8 ? null : "select * from sysibm.syssequences";
}
@Override
public LimitHandler getLimitHandler() {
return FetchLimitHandler.INSTANCE;
}
@Override
public IdentityColumnSupport getIdentityColumnSupport() {
return DB2zIdentityColumnSupport.INSTANCE;
}
}

View File

@ -1,23 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
/**
* An SQL dialect for DB2/390 version 8.
*
* @author Tobias Sternvik
*
* @deprecated use {@code DB2LegacyDialect(8)}
*/
@Deprecated
public class DB2390V8Dialect extends DB2390Dialect {
public DB2390V8Dialect() {
super(8);
}
}

View File

@ -1,24 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* An SQL dialect for DB2 9.7.
*
* @author Gail Badner
* @deprecated use {@code DB2LegacyDialect(970)}
*/
@Deprecated
public class DB297Dialect extends DB2LegacyDialect {
public DB297Dialect() {
super( DatabaseVersion.make( 9, 7 ) );
}
}

View File

@ -1,25 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* Dialect for Derby/Cloudscape 10.5
*
* @author Simon Johnston
* @author Scott Marlow
*
* @deprecated use {@code DerbyLegacyDialect(1050)}
*/
@Deprecated
public class DerbyTenFiveDialect extends DerbyLegacyDialect {
public DerbyTenFiveDialect() {
super( DatabaseVersion.make( 10, 5 ) );
}
}

View File

@ -1,24 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* Dialect for Derby 10.7
*
* @author Strong Liu
*
* @deprecated use {@code DerbyLegacyDialect(1070)}
*/
@Deprecated
public class DerbyTenSevenDialect extends DerbyLegacyDialect {
public DerbyTenSevenDialect() {
super( DatabaseVersion.make( 10, 7 ) );
}
}

View File

@ -1,26 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* Dialect for Derby/Cloudscape 10.6
*
* @author Simon Johnston
* @author Scott Marlow
*
* @deprecated use {@code DerbyLegacyDialect(1060)}
*/
@Deprecated
public class DerbyTenSixDialect extends DerbyLegacyDialect {
public DerbyTenSixDialect() {
super( DatabaseVersion.make( 10, 6 ) );
}
}

View File

@ -1,23 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* Dialect for Informix 10
*
* @deprecated use {@code InformixDialect(10)}
*/
@Deprecated
public class Informix10Dialect extends InformixDialect {
public Informix10Dialect() {
super( DatabaseVersion.make( 10 ) );
}
}

View File

@ -1,31 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* A SQL dialect for Ingres 10 and later versions.
* <p>
* Changes:
* <ul>
* <li>Add native BOOLEAN type support</li>
* <li>Add identity column support</li>
* </ul>
*
* @author Raymond Fan
*
* @deprecated use {@code IngresDialect(1000)}
*/
@Deprecated
public class Ingres10Dialect extends IngresDialect {
public Ingres10Dialect() {
super( DatabaseVersion.make( 10 ) );
}
}

View File

@ -1,37 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* A SQL dialect for Ingres 9.3 and later versions.
* <p>
* Changes:
* <ul>
* <li>Support for the SQL functions current_time, current_timestamp and current_date added</li>
* <li>Type mapping of <code>Types.TIMESTAMP</code> changed from "timestamp with time zone" to "timestamp(9) with time zone"</li>
* <li>Improved handling of "SELECT...FOR UPDATE" statements</li>
* <li>Added support for pooled sequences</li>
* <li>Added support for SELECT queries with limit and offset</li>
* <li>Added getIdentitySelectString</li>
* <li>Modified concatination operator</li>
* </ul>
*
* @author Enrico Schenk
* @author Raymond Fan
*
* @deprecated use {@code IngresDialect(930)}
*/
@Deprecated
public class Ingres9Dialect extends IngresDialect {
public Ingres9Dialect() {
super( DatabaseVersion.make( 9, 3 ) );
}
}

View File

@ -133,7 +133,7 @@ public class IngresDialect extends Dialect {
protected String columnType(int sqlTypeCode) { protected String columnType(int sqlTypeCode) {
//TODO: should we be using nchar/nvarchar/long nvarchar //TODO: should we be using nchar/nvarchar/long nvarchar
// here? I think Ingres char/varchar types don't // here? I think Ingres char/varchar types don't
// support Unicode. Copy what AbstractHANADialect // support Unicode. Copy what HANADialect
// does with a Hibernate property to config this. // does with a Hibernate property to config this.
switch ( sqlTypeCode ) { switch ( sqlTypeCode ) {

View File

@ -1,21 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* @deprecated use {@code MariaDBLegacyDialect(1020)}
*/
@Deprecated
public class MariaDB102Dialect extends MariaDBLegacyDialect {
public MariaDB102Dialect() {
super( DatabaseVersion.make( 10, 2 ) );
}
}

View File

@ -1,39 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.LockOptions;
import org.hibernate.dialect.DatabaseVersion;
/**
* An SQL dialect for MariaDB 10.3 and later, provides sequence support, lock-timeouts, etc.
*
* @author Philippe Marschall
*
* @deprecated use {@code MariaDBLegacyDialect(1030)}
*/
@Deprecated
public class MariaDB103Dialect extends MariaDBLegacyDialect {
public MariaDB103Dialect() {
super( DatabaseVersion.make( 10, 3 ) );
}
@Override
public String getWriteLockString(int timeout) {
if ( timeout == LockOptions.NO_WAIT ) {
return getForUpdateNowaitString();
}
if ( timeout > 0 ) {
return getForUpdateString() + " wait " + getTimeoutInSeconds( timeout );
}
return getForUpdateString();
}
}

View File

@ -1,21 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* @deprecated use {@code MariaDBLegacyDialect(1000)}
*/
@Deprecated
public class MariaDB10Dialect extends MariaDBLegacyDialect {
public MariaDB10Dialect() {
super( DatabaseVersion.make( 10 ) );
}
}

View File

@ -1,23 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* @author Vlad Mihalcea
*
* @deprecated use {@code MariaDBLegacyDialect(530)}
*/
@Deprecated
public class MariaDB53Dialect extends MariaDBLegacyDialect {
public MariaDB53Dialect() {
super( DatabaseVersion.make( 5, 3 ) );
}
}

View File

@ -1,25 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* An SQL dialect for MySQL 5.5.x specific features.
*
* @author Vlad Mihalcea
*
* @deprecated use {@code MySQLLegacyDialect(550)}
*/
@Deprecated
public class MySQL55Dialect extends MySQLLegacyDialect {
public MySQL55Dialect() {
super( DatabaseVersion.make( 5, 5 ) );
}
}

View File

@ -1,23 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* @author Gail Badner
*
* @deprecated use {@code MySQLLegacyDialect(570)}
*/
@Deprecated
public class MySQL57Dialect extends MySQLLegacyDialect {
public MySQL57Dialect() {
super( DatabaseVersion.make( 5, 7 ) );
}
}

View File

@ -1,25 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* An SQL dialect for MySQL 5.x specific features.
*
* @author Steve Ebersole
*
* @deprecated use {@code MySQLLegacyDialect(500)}
*/
@Deprecated
public class MySQL5Dialect extends MySQLLegacyDialect {
public MySQL5Dialect() {
super( DatabaseVersion.make( 5 ) );
}
}

View File

@ -1,28 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* A dialect specifically for use with Oracle 10g.
* <p>
* The main difference between this dialect and
* {@link Oracle9iDialect} is the use of
* "ANSI join syntax".
*
* @author Steve Ebersole
*
* @deprecated use {@code OracleLegacyDialect(10)}
*/
@Deprecated
public class Oracle10gDialect extends OracleLegacyDialect {
public Oracle10gDialect() {
super( DatabaseVersion.make( 10 ) );
}
}

View File

@ -1,25 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
import org.hibernate.dialect.OracleDialect;
/**
* An SQL dialect for Oracle 12c.
*
* @author zhouyanming (zhouyanming@gmail.com)
*
* @deprecated use {@code OracleLegacyDialect(12)}
*/
@Deprecated
public class Oracle12cDialect extends OracleDialect {
public Oracle12cDialect() {
super( DatabaseVersion.make( 12 ) );
}
}

View File

@ -1,24 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* A dialect for Oracle 8i databases.
*
* @deprecated use {@code OracleLegacyDialect(8)}
*/
@Deprecated
public class Oracle8iDialect extends OracleLegacyDialect {
public Oracle8iDialect() {
super( DatabaseVersion.make( 8 ) );
}
}

View File

@ -1,28 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* A dialect for Oracle 9i databases.
* <p>
* Specifies to not use "ANSI join syntax" because 9i does not
* seem to properly handle it in all cases.
*
* @author Steve Ebersole
*
* @deprecated use {@code OracleLegacyDialect(9)}
*/
@Deprecated
public class Oracle9iDialect extends OracleLegacyDialect {
public Oracle9iDialect() {
super( DatabaseVersion.make( 9 ) );
}
}

View File

@ -1,25 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
import org.hibernate.dialect.PostgreSQLDialect;
/**
* An SQL dialect for Postgres 10 and later.
*
* @deprecated use {@code PostgreSQLLegacyDialect(1000)}
*/
@Deprecated
public class PostgreSQL10Dialect extends PostgreSQLDialect {
public PostgreSQL10Dialect() {
super( DatabaseVersion.make( 10 ) );
}
}

View File

@ -1,22 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* @deprecated use {@code PostgreSQLLegacyDialect(810)}
*/
@Deprecated
public class PostgreSQL81Dialect extends PostgreSQLLegacyDialect {
public PostgreSQL81Dialect() {
super( DatabaseVersion.make( 8, 1 ) );
}
}

View File

@ -1,25 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* An SQL dialect for Postgres 8.2 and later, adds support for "if exists" when dropping tables
*
* @author edalquist
*
* @deprecated use {@code PostgreSQLLegacyDialect(820)}
*/
@Deprecated
public class PostgreSQL82Dialect extends PostgreSQLLegacyDialect {
public PostgreSQL82Dialect() {
super( DatabaseVersion.make( 8, 2 ) );
}
}

View File

@ -1,26 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* An SQL dialect for Postgres 9.1 and later,
* adds support for PARTITION BY as a keyword.
*
* @author Mark Robinson
*
* @deprecated use {@code PostgreSQLLegacyDialect(910)}
*/
@Deprecated
public class PostgreSQL91Dialect extends PostgreSQLLegacyDialect {
public PostgreSQL91Dialect() {
super( DatabaseVersion.make( 9, 1 ) );
}
}

View File

@ -1,27 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* An SQL dialect for Postgres 9.2 and later,
* adds support for JSON data type, and IF EXISTS
* after ALTER TABLE.
*
* @author Mark Robinson
*
* @deprecated use {@code PostgreSQLLegacyDialect(920)}
*/
@Deprecated
public class PostgreSQL92Dialect extends PostgreSQLLegacyDialect {
public PostgreSQL92Dialect() {
super( DatabaseVersion.make( 9, 2 ) );
}
}

View File

@ -1,26 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* An SQL Dialect for PostgreSQL 9.3 and later.
* Adds support for Materialized view.
*
* @author Dionis Argiri
*
* @deprecated use {@code PostgreSQLLegacyDialect(810)}
*/
@Deprecated
public class PostgreSQL93Dialect extends PostgreSQLLegacyDialect {
public PostgreSQL93Dialect() {
super( DatabaseVersion.make( 9, 3 ) );
}
}

View File

@ -1,24 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* An SQL dialect for Postgres 9.4 and later.
* Adds support for various date and time functions
*
* @deprecated use {@code PostgreSQLLegacyDialect(940)}
*/
@Deprecated
public class PostgreSQL94Dialect extends PostgreSQLLegacyDialect {
public PostgreSQL94Dialect() {
super( DatabaseVersion.make( 9, 4 ) );
}
}

View File

@ -1,24 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* An SQL dialect for Postgres 9.5 and later.
* Adds support for SKIP LOCKED.
*
* @deprecated use {@code PostgreSQLLegacyDialect(950)}
*/
@Deprecated
public class PostgreSQL95Dialect extends PostgreSQLLegacyDialect {
public PostgreSQL95Dialect() {
super( DatabaseVersion.make( 9, 5 ) );
}
}

View File

@ -1,26 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* An SQL dialect for Postgres 9 and later.
* Adds support for "if exists" when dropping constraints
*
* @author edalquist
*
* @deprecated use {@code PostgreSQLLegacyDialect(900)}
*/
@Deprecated
public class PostgreSQL9Dialect extends PostgreSQLLegacyDialect {
public PostgreSQL9Dialect() {
super( DatabaseVersion.make( 9 ) );
}
}

View File

@ -1,13 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
/**
* @deprecated use {@link MaxDBDialect}
*/
@Deprecated
public class SAPDBDialect extends MaxDBDialect {}

View File

@ -1,26 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* A dialect for Microsoft SQL Server 2005.
*
* @author Yoryos Valotasios
* @author Lukasz Antoniak
*
* @deprecated use {@code SQLServerLegacyDialect(9)}
*/
@Deprecated
public class SQLServer2005Dialect extends SQLServerLegacyDialect {
public SQLServer2005Dialect() {
super( DatabaseVersion.make( 9 ) );
}
}

View File

@ -1,26 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
import org.hibernate.dialect.SQLServerDialect;
/**
* A dialect for Microsoft SQL Server 2008 with JDBC Driver 3.0 and above
*
* @author Gavin King
*
* @deprecated use {@code SQLServerLegacyDialect(10)}
*/
@Deprecated
public class SQLServer2008Dialect extends SQLServerDialect {
public SQLServer2008Dialect() {
super( DatabaseVersion.make( 10 ) );
}
}

View File

@ -1,23 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* A SQL dialect suitable for use with Sybase 11.9.2
* (specifically: avoids ANSI JOIN syntax)
*
* @author Colm O' Flaherty
* @deprecated use {@code SybaseASELegacyDialect( DatabaseVersion.make( 11 ) )}
*/
@Deprecated
public class Sybase11Dialect extends SybaseASELegacyDialect {
public Sybase11Dialect() {
super( DatabaseVersion.make( 11 ) );
}
}

View File

@ -1,25 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* An SQL dialect targeting Sybase Adaptive Server Enterprise (ASE) 15.7 and higher.
*
* @author Junyan Ren
*
* @deprecated use {@code SybaseASEDialect(1570)}
*/
@Deprecated
public class SybaseASE157Dialect extends SybaseASELegacyDialect {
public SybaseASE157Dialect() {
super( DatabaseVersion.make( 15, 7 ) );
}
}

View File

@ -1,26 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* An SQL dialect targeting Sybase Adaptive Server Enterprise (ASE) 15 and higher.
*
* @author Gavin King
*
* @deprecated use {@code SybaseASEDialect(1500)}
*/
@Deprecated
public class SybaseASE15Dialect extends SybaseASELegacyDialect {
public SybaseASE15Dialect() {
super( DatabaseVersion.make( 15 ) );
}
}

View File

@ -1,23 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.community.dialect;
import org.hibernate.dialect.DatabaseVersion;
/**
* A dialect for the Teradata 14
*
* @deprecated use {@code TeradataDialect(14)}
*/
@Deprecated
public class Teradata14Dialect extends TeradataDialect {
public Teradata14Dialect() {
super( DatabaseVersion.make( 14 ) );
}
}

View File

@ -17,58 +17,15 @@ public class CommunityDialectSelectorTest {
@Test @Test
public void verifyAllDialectNamingResolve() { public void verifyAllDialectNamingResolve() {
testDialectNamingResolution( DB297Dialect.class );
testDialectNamingResolution( DB2390Dialect.class );
testDialectNamingResolution( DB2390V8Dialect.class );
testDialectNamingResolution( Cache71Dialect.class );
testDialectNamingResolution( CUBRIDDialect.class ); testDialectNamingResolution( CUBRIDDialect.class );
testDialectNamingResolution( AltibaseDialect.class ); testDialectNamingResolution( AltibaseDialect.class );
testDialectNamingResolution( DerbyTenFiveDialect.class );
testDialectNamingResolution( DerbyTenSixDialect.class );
testDialectNamingResolution( DerbyTenSevenDialect.class );
testDialectNamingResolution( FirebirdDialect.class ); testDialectNamingResolution( FirebirdDialect.class );
testDialectNamingResolution( InformixDialect.class ); testDialectNamingResolution( InformixDialect.class );
testDialectNamingResolution( IngresDialect.class ); testDialectNamingResolution( IngresDialect.class );
testDialectNamingResolution( Ingres9Dialect.class );
testDialectNamingResolution( Ingres10Dialect.class );
testDialectNamingResolution( MimerSQLDialect.class ); testDialectNamingResolution( MimerSQLDialect.class );
testDialectNamingResolution( MariaDB53Dialect.class );
testDialectNamingResolution( MariaDB10Dialect.class );
testDialectNamingResolution( MariaDB102Dialect.class );
testDialectNamingResolution( MariaDB103Dialect.class );
testDialectNamingResolution( MySQL5Dialect.class );
testDialectNamingResolution( MySQL55Dialect.class );
testDialectNamingResolution( MySQL57Dialect.class );
testDialectNamingResolution( Oracle8iDialect.class );
testDialectNamingResolution( Oracle9iDialect.class );
testDialectNamingResolution( Oracle10gDialect.class );
testDialectNamingResolution( Oracle12cDialect.class );
testDialectNamingResolution( PostgreSQL81Dialect.class );
testDialectNamingResolution( PostgreSQL82Dialect.class );
testDialectNamingResolution( PostgreSQL9Dialect.class );
testDialectNamingResolution( PostgreSQL91Dialect.class );
testDialectNamingResolution( PostgreSQL92Dialect.class );
testDialectNamingResolution( PostgreSQL93Dialect.class );
testDialectNamingResolution( PostgreSQL94Dialect.class );
testDialectNamingResolution( PostgreSQL95Dialect.class );
testDialectNamingResolution( PostgreSQL10Dialect.class );
testDialectNamingResolution( SAPDBDialect.class );
testDialectNamingResolution( SQLServer2005Dialect.class );
testDialectNamingResolution( SQLServer2008Dialect.class );
testDialectNamingResolution( SybaseAnywhereDialect.class ); testDialectNamingResolution( SybaseAnywhereDialect.class );
testDialectNamingResolution( Sybase11Dialect.class );
testDialectNamingResolution( SybaseASE15Dialect.class );
testDialectNamingResolution( SybaseASE157Dialect.class );
testDialectNamingResolution( TeradataDialect.class ); testDialectNamingResolution( TeradataDialect.class );
testDialectNamingResolution( TimesTenDialect.class ); testDialectNamingResolution( TimesTenDialect.class );

View File

@ -6,37 +6,28 @@
*/ */
package org.hibernate.boot.registry.selector.internal; package org.hibernate.boot.registry.selector.internal;
import java.util.Objects;
import org.hibernate.boot.registry.selector.spi.DialectSelector; import org.hibernate.boot.registry.selector.spi.DialectSelector;
import org.hibernate.boot.registry.selector.spi.StrategySelectionException;
import org.hibernate.dialect.CockroachDialect; import org.hibernate.dialect.CockroachDialect;
import org.hibernate.dialect.DB2400Dialect;
import org.hibernate.dialect.DB2400V7R3Dialect;
import org.hibernate.dialect.DB2Dialect; import org.hibernate.dialect.DB2Dialect;
import org.hibernate.dialect.DB2iDialect; import org.hibernate.dialect.DB2iDialect;
import org.hibernate.dialect.DB2zDialect; import org.hibernate.dialect.DB2zDialect;
import org.hibernate.dialect.DerbyDialect; import org.hibernate.dialect.DerbyDialect;
import org.hibernate.dialect.Dialect; import org.hibernate.dialect.Dialect;
import org.hibernate.dialect.H2Dialect; import org.hibernate.dialect.H2Dialect;
import org.hibernate.dialect.HANACloudColumnStoreDialect;
import org.hibernate.dialect.HANAColumnStoreDialect;
import org.hibernate.dialect.HANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.dialect.HANARowStoreDialect;
import org.hibernate.dialect.HSQLDialect; import org.hibernate.dialect.HSQLDialect;
import org.hibernate.dialect.MariaDBDialect; import org.hibernate.dialect.MariaDBDialect;
import org.hibernate.dialect.MySQL8Dialect;
import org.hibernate.dialect.MySQLDialect; import org.hibernate.dialect.MySQLDialect;
import org.hibernate.dialect.OracleDialect; import org.hibernate.dialect.OracleDialect;
import org.hibernate.dialect.PostgreSQLDialect; import org.hibernate.dialect.PostgreSQLDialect;
import org.hibernate.dialect.PostgresPlusDialect; import org.hibernate.dialect.PostgresPlusDialect;
import org.hibernate.dialect.SQLServer2012Dialect;
import org.hibernate.dialect.SQLServer2016Dialect;
import org.hibernate.dialect.SQLServerDialect; import org.hibernate.dialect.SQLServerDialect;
import org.hibernate.dialect.SpannerDialect; import org.hibernate.dialect.SpannerDialect;
import org.hibernate.dialect.SybaseASEDialect; import org.hibernate.dialect.SybaseASEDialect;
import org.hibernate.dialect.SybaseDialect; import org.hibernate.dialect.SybaseDialect;
import java.util.Objects;
public class DefaultDialectSelector implements DialectSelector { public class DefaultDialectSelector implements DialectSelector {
@Override @Override
@ -48,65 +39,52 @@ public class DefaultDialectSelector implements DialectSelector {
switch ( name ) { switch ( name ) {
case "Cockroach": case "Cockroach":
return CockroachDialect.class; return CockroachDialect.class;
case "DB297":
case "DB2": case "DB2":
return DB2Dialect.class; return DB2Dialect.class;
case "DB2400V7R3":
case "DB2400":
case "DB2i": case "DB2i":
return DB2iDialect.class; return DB2iDialect.class;
case "DB2z":
return DB2zDialect.class;
case "DB297":
return findCommunityDialect( name );
case "DB2390": case "DB2390":
case "DB2390V8": case "DB2390V8":
return findCommunityDialect( name ); case "DB2z":
case "DB2400": return DB2zDialect.class;
return DB2400Dialect.class;
case "DB2400V7R3":
return DB2400V7R3Dialect.class;
case "Derby":
return DerbyDialect.class;
case "DerbyTenFive": case "DerbyTenFive":
case "DerbyTenSix": case "DerbyTenSix":
case "DerbyTenSeven": case "DerbyTenSeven":
return findCommunityDialect( name ); case "Derby":
return DerbyDialect.class;
case "H2": case "H2":
return H2Dialect.class; return H2Dialect.class;
case "HANARowStore":
case "HANAColumnStore":
case "HANACloudColumnStore":
case "HANA": case "HANA":
return HANADialect.class; return HANADialect.class;
case "HANACloudColumnStore":
return HANACloudColumnStoreDialect.class;
case "HANAColumnStore":
return HANAColumnStoreDialect.class;
case "HANARowStore":
return HANARowStoreDialect.class;
case "HSQL": case "HSQL":
return HSQLDialect.class; return HSQLDialect.class;
case "MariaDB":
return MariaDBDialect.class;
case "MariaDB53": case "MariaDB53":
case "MariaDB10": case "MariaDB10":
case "MariaDB102": case "MariaDB102":
case "MariaDB103": case "MariaDB103":
return findCommunityDialect( name ); case "MariaDB106":
case "MySQL": case "MariaDB":
return MySQLDialect.class; return MariaDBDialect.class;
case "MySQL5": case "MySQL5":
case "MySQL55": case "MySQL55":
case "MySQL57": case "MySQL57":
return findCommunityDialect( name );
case "MySQL8": case "MySQL8":
return MySQL8Dialect.class; case "MySQL":
case "Oracle": return MySQLDialect.class;
return OracleDialect.class;
case "Oracle8i": case "Oracle8i":
case "Oracle9i": case "Oracle9i":
case "Oracle10g": case "Oracle10g":
case "Oracle12c": case "Oracle12c":
return findCommunityDialect( name ); case "Oracle":
return OracleDialect.class;
case "PostgresPlus": case "PostgresPlus":
return PostgresPlusDialect.class; return PostgresPlusDialect.class;
case "PostgreSQL":
return PostgreSQLDialect.class;
case "PostgreSQL81": case "PostgreSQL81":
case "PostgreSQL82": case "PostgreSQL82":
case "PostgreSQL9": case "PostgreSQL9":
@ -116,48 +94,24 @@ public class DefaultDialectSelector implements DialectSelector {
case "PostgreSQL94": case "PostgreSQL94":
case "PostgreSQL95": case "PostgreSQL95":
case "PostgreSQL10": case "PostgreSQL10":
return findCommunityDialect( name ); case "PostgreSQL":
return PostgreSQLDialect.class;
case "Spanner": case "Spanner":
return SpannerDialect.class; return SpannerDialect.class;
case "SQLServer":
return SQLServerDialect.class;
case "SQLServer2005": case "SQLServer2005":
case "SQLServer2008": case "SQLServer2008":
return findCommunityDialect( name );
case "SQLServer2012": case "SQLServer2012":
return SQLServer2012Dialect.class;
case "SQLServer2016": case "SQLServer2016":
return SQLServer2016Dialect.class; case "SQLServer":
return SQLServerDialect.class;
case "Sybase": case "Sybase":
return SybaseDialect.class;
case "Sybase11": case "Sybase11":
return findCommunityDialect( name ); return SybaseDialect.class;
case "SybaseASE":
return SybaseASEDialect.class;
case "SybaseASE15": case "SybaseASE15":
case "SybaseASE157": case "SybaseASE157":
return findCommunityDialect( name ); case "SybaseASE":
return SybaseASEDialect.class;
} }
return null; return null;
} }
private static Class<? extends Dialect> findCommunityDialect(String name) {
try {
//noinspection unchecked
return (Class<? extends Dialect>) DefaultDialectSelector.class.getClassLoader().loadClass(
"org.hibernate.community.dialect." + name + "Dialect"
);
}
catch (ClassNotFoundException e) {
throw new StrategySelectionException(
"Couldn't load the dialect class for the `hibernate.dialect` short name [" + name + "], " +
"because the application is missing a dependency on the hibernate-community-dialects module. " +
"Hibernate 6.2 dropped support for database versions that are unsupported by vendors " +
"and code for old versions was moved to the hibernate-community-dialects module. " +
"For further information, read https://in.relation.to/2023/02/15/hibernate-orm-62-db-version-support/",
e
);
}
}
} }

View File

@ -1,58 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.dialect;
import org.hibernate.dialect.identity.DB2zIdentityColumnSupport;
import org.hibernate.dialect.identity.IdentityColumnSupport;
import org.hibernate.dialect.pagination.FetchLimitHandler;
import org.hibernate.dialect.pagination.LimitHandler;
import org.hibernate.dialect.sequence.NoSequenceSupport;
import org.hibernate.dialect.sequence.SequenceSupport;
/**
* An SQL dialect for DB2/400. This class provides support for
* DB2 Universal Database for iSeries, also known as DB2/400.
*
* @author Peter DeGregorio (pdegregorio)
* @deprecated Use {@link DB2iDialect}
*/
@Deprecated
public class DB2400Dialect extends DB2Dialect {
/**
* No support for sequences.
*/
@Override
public SequenceSupport getSequenceSupport() {
return NoSequenceSupport.INSTANCE;
}
@Override
public boolean supportsIfExistsBeforeTableName() {
return false;
}
@Override
public String getQuerySequencesString() {
return null;
}
@Override
public String getForUpdateString() {
return " for update with rs";
}
@Override
public LimitHandler getLimitHandler() {
return FetchLimitHandler.INSTANCE;
}
@Override
public IdentityColumnSupport getIdentityColumnSupport() {
return DB2zIdentityColumnSupport.INSTANCE;
}
}

View File

@ -1,55 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.dialect;
import org.hibernate.dialect.identity.DB2IdentityColumnSupport;
import org.hibernate.dialect.identity.IdentityColumnSupport;
import org.hibernate.dialect.sequence.DB2iSequenceSupport;
import org.hibernate.dialect.sequence.SequenceSupport;
import org.hibernate.dialect.unique.AlterTableUniqueDelegate;
import org.hibernate.dialect.unique.UniqueDelegate;
/**
* An SQL dialect for i. This class provides support for DB2 Universal Database for i V7R1 and
* later, also known as DB2/400.
*
* @author Pierrick Rouxel (pierrickrouxel)
* @deprecated Use {@link DB2iDialect}
*/
@Deprecated
public class DB2400V7R3Dialect extends DB2400Dialect {
private final UniqueDelegate uniqueDelegate;
public DB2400V7R3Dialect() {
super();
uniqueDelegate = new AlterTableUniqueDelegate(this);
}
@Override
public UniqueDelegate getUniqueDelegate() {
return uniqueDelegate;
}
@Override
public SequenceSupport getSequenceSupport() {
return DB2iSequenceSupport.INSTANCE;
}
@Override
public String getQuerySequencesString() {
return "select distinct sequence_name from qsys2.syssequences " +
"where current_schema='*LIBL' and sequence_schema in (select schema_name from qsys2.library_list_info) " +
"or sequence_schema=current_schema";
}
@Override
public IdentityColumnSupport getIdentityColumnSupport() {
return DB2IdentityColumnSupport.INSTANCE;
}
}

View File

@ -1,32 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.dialect;
/**
* An SQL dialect for the SAP HANA Cloud column store.
* <p>
* For more information on interacting with the SAP HANA Cloud database, refer to the
* <a href="https://help.sap.com/viewer/c1d3f60099654ecfb3fe36ac93c121bb/cloud/">SAP HANA Cloud SQL Reference Guide</a>
* and the <a href=
* "https://help.sap.com/viewer/0eec0d68141541d1b07893a39944924e/latest/en-US/434e2962074540e18c802fd478de86d6.html">SAP
* HANA Client Interface Programming Reference</a>.
* <p>
* Column tables are created by this dialect when using the auto-ddl feature.
*
* @author Jonathan Bregler
*
* @deprecated use {@link HANADialect} with {@code DatabaseVersion.make( 4 )} instead
*/
@Deprecated(forRemoval = true)
public class HANACloudColumnStoreDialect extends HANAColumnStoreDialect {
public HANACloudColumnStoreDialect() {
// No idea how the versioning scheme is here, but since this is deprecated anyway, keep it as is
super( new HANAServerConfiguration( DatabaseVersion.make( 4 ) ) );
}
}

View File

@ -1,60 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.dialect;
import org.hibernate.boot.model.FunctionContributions;
import org.hibernate.engine.jdbc.dialect.spi.DialectResolutionInfo;
import org.hibernate.metamodel.mapping.EntityMappingType;
import org.hibernate.metamodel.spi.RuntimeModelCreationContext;
import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableInsertStrategy;
import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableMutationStrategy;
import org.hibernate.dialect.temptable.TemporaryTable;
import org.hibernate.dialect.temptable.TemporaryTableKind;
import org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy;
import org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy;
import org.hibernate.type.StandardBasicTypes;
import org.hibernate.type.spi.TypeConfiguration;
import static org.hibernate.query.sqm.produce.function.FunctionParameterType.ANY;
/**
* An SQL dialect for the SAP HANA column store.
* <p>
* For more information on interacting with the SAP HANA database, refer to the
* <a href="https://help.sap.com/viewer/4fe29514fd584807ac9f2a04f6754767/">SAP HANA SQL and System Views Reference</a>
* and the <a href=
* "https://help.sap.com/viewer/0eec0d68141541d1b07893a39944924e/latest/en-US/434e2962074540e18c802fd478de86d6.html">SAP
* HANA Client Interface Programming Reference</a>.
* <p>
* Column tables are created by this dialect when using the auto-ddl feature.
*
* @author Andrew Clemons
* @author Jonathan Bregler
*
* @deprecated use {@link HANADialect} instead
*/
@Deprecated(forRemoval = true)
public class HANAColumnStoreDialect extends AbstractHANADialect {
public HANAColumnStoreDialect(DialectResolutionInfo info) {
this( HANAServerConfiguration.fromDialectResolutionInfo( info ) );
registerKeywords( info );
}
public HANAColumnStoreDialect() {
// SAP HANA 1.0 SP12 is the default
this( DatabaseVersion.make( 1, 0, 120 ) );
}
public HANAColumnStoreDialect(DatabaseVersion version) {
this( new HANAServerConfiguration( version ) );
}
public HANAColumnStoreDialect(HANAServerConfiguration configuration) {
super( configuration, true );
}
}

View File

@ -1,55 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.dialect;
import org.hibernate.engine.jdbc.dialect.spi.DialectResolutionInfo;
import org.hibernate.metamodel.mapping.EntityMappingType;
import org.hibernate.metamodel.spi.RuntimeModelCreationContext;
import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableInsertStrategy;
import org.hibernate.query.sqm.mutation.internal.temptable.GlobalTemporaryTableMutationStrategy;
import org.hibernate.dialect.temptable.TemporaryTable;
import org.hibernate.dialect.temptable.TemporaryTableKind;
import org.hibernate.query.sqm.mutation.spi.SqmMultiTableInsertStrategy;
import org.hibernate.query.sqm.mutation.spi.SqmMultiTableMutationStrategy;
/**
* An SQL dialect for the SAP HANA row store.
* <p>
* For more information on interacting with the SAP HANA database, refer to the
* <a href="https://help.sap.com/viewer/4fe29514fd584807ac9f2a04f6754767/">SAP HANA SQL and System Views Reference</a>
* and the <a href=
* "https://help.sap.com/viewer/0eec0d68141541d1b07893a39944924e/latest/en-US/434e2962074540e18c802fd478de86d6.html">SAP
* HANA Client Interface Programming Reference</a>.
* <p>
* Row tables are created by this dialect when using the auto-ddl feature.
*
* @author Andrew Clemons
* @author Jonathan Bregler
*
* @deprecated use {@link HANADialect} instead
*/
@Deprecated(forRemoval = true)
public class HANARowStoreDialect extends AbstractHANADialect {
public HANARowStoreDialect(DialectResolutionInfo info) {
this( HANAServerConfiguration.fromDialectResolutionInfo( info ) );
registerKeywords( info );
}
public HANARowStoreDialect() {
// SAP HANA 1.0 SPS12 R0 is the default
this( DatabaseVersion.make( 1, 0, 120 ) );
}
public HANARowStoreDialect(DatabaseVersion version) {
this( new HANAServerConfiguration( version ) );
}
public HANARowStoreDialect(HANAServerConfiguration configuration) {
super( configuration, false );
}
}

View File

@ -68,9 +68,8 @@ public class HANASqlAstTranslator<T extends JdbcOperation> extends AbstractSqlAs
render( expression, SqlAstNodeRenderingMode.NO_PLAIN_PARAMETER ); render( expression, SqlAstNodeRenderingMode.NO_PLAIN_PARAMETER );
} }
@SuppressWarnings("removal")
private boolean isHanaCloud() { private boolean isHanaCloud() {
return ( (AbstractHANADialect) getDialect() ).isCloud(); return ( (HANADialect) getDialect() ).isCloud();
} }
@Override @Override

View File

@ -1,27 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.dialect;
/**
* An SQL dialect for MariaDB 10.6 and later, provides skip locked support.
*
* @author Christian Beikov
*
* @deprecated use {@code MariaDBDialect(1060)}
*/
@Deprecated
public class MariaDB106Dialect extends MariaDBDialect {
public MariaDB106Dialect() {
super( DatabaseVersion.make( 10, 6 ) );
}
@Override
public boolean supportsSkipLocked() {
return true;
}
}

View File

@ -1,41 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.dialect;
/**
* @author Vlad Mihalcea
*
* @deprecated use {@code MySQLDialect(800)}
*/
@Deprecated
public class MySQL8Dialect extends MySQLDialect {
public MySQL8Dialect() {
super( DatabaseVersion.make( 8 ) );
// MySQL doesn't add the new reserved keywords to their JDBC driver to preserve backward compatibility.
registerKeyword("CUME_DIST");
registerKeyword("DENSE_RANK");
registerKeyword("EMPTY");
registerKeyword("EXCEPT");
registerKeyword("FIRST_VALUE");
registerKeyword("GROUPS");
registerKeyword("JSON_TABLE");
registerKeyword("LAG");
registerKeyword("LAST_VALUE");
registerKeyword("LEAD");
registerKeyword("NTH_VALUE");
registerKeyword("NTILE");
registerKeyword("PERSIST");
registerKeyword("PERCENT_RANK");
registerKeyword("PERSIST_ONLY");
registerKeyword("RANK");
registerKeyword("ROW_NUMBER");
}
}

View File

@ -1,23 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.dialect;
/**
* A dialect for Microsoft SQL Server 2012
*
* @author Brett Meyer
*
* @deprecated use {@code SQLServerDialect(11)}
*/
@Deprecated
public class SQLServer2012Dialect extends SQLServerDialect {
public SQLServer2012Dialect() {
super( DatabaseVersion.make( 11 ) );
}
}

View File

@ -1,34 +0,0 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
*/
package org.hibernate.dialect;
/**
* Microsoft SQL Server 2016 Dialect
* @deprecated use {@code SQLServerDialect(13)}
*/
@Deprecated
public class SQLServer2016Dialect extends SQLServerDialect {
public SQLServer2016Dialect() {
super( DatabaseVersion.make( 13 ) );
}
@Override
public boolean supportsIfExistsBeforeTableName() {
return true;
}
@Override
public boolean supportsIfExistsBeforeConstraintName() {
return true;
}
@Override
public String[] getDropSchemaCommand(String schemaName) {
return new String[] {"drop schema if exists " + schemaName};
}
}

View File

@ -7,7 +7,7 @@
package org.hibernate.dialect.sequence; package org.hibernate.dialect.sequence;
/** /**
* Sequence support for {@link org.hibernate.dialect.AbstractHANADialect}. * Sequence support for {@link org.hibernate.dialect.HANADialect}.
* *
* @author Gavin King * @author Gavin King
*/ */

View File

@ -18,7 +18,7 @@ import jakarta.persistence.ManyToOne;
import jakarta.persistence.PersistenceException; import jakarta.persistence.PersistenceException;
import org.hibernate.dialect.Dialect; import org.hibernate.dialect.Dialect;
import org.hibernate.dialect.SQLServer2012Dialect; import org.hibernate.dialect.SQLServerDialect;
import org.hibernate.testing.TestForIssue; import org.hibernate.testing.TestForIssue;
import org.hibernate.testing.orm.junit.DomainModel; import org.hibernate.testing.orm.junit.DomainModel;
import org.hibernate.testing.orm.junit.SessionFactory; import org.hibernate.testing.orm.junit.SessionFactory;
@ -34,7 +34,7 @@ import static org.junit.jupiter.api.Assertions.fail;
* getters and setters have been omitted for clarity of the code. A separate test has been made for * getters and setters have been omitted for clarity of the code. A separate test has been made for
* {@link GenerationType#SEQUENCE}, {@link GenerationType#TABLE}, and * {@link GenerationType#SEQUENCE}, {@link GenerationType#TABLE}, and
* {@link GenerationType#AUTO} since there are known complications with some {@link Dialect}s (e.g. * {@link GenerationType#AUTO} since there are known complications with some {@link Dialect}s (e.g.
* {@link SQLServer2012Dialect}) and the {@link GenerationType#IDENTITY} * {@link SQLServerDialect}) and the {@link GenerationType#IDENTITY}
* *
* @author Jason Pyeron <support@pdinc.us> * @author Jason Pyeron <support@pdinc.us>
* @see <a href='https://hibernate.atlassian.net/browse/HHH-10956'>HHH-10956</a> Persisting partially-generated * @see <a href='https://hibernate.atlassian.net/browse/HHH-10956'>HHH-10956</a> Persisting partially-generated

View File

@ -10,7 +10,7 @@ package org.hibernate.orm.test.annotations.generics;
import org.hibernate.Session; import org.hibernate.Session;
import org.hibernate.Transaction; import org.hibernate.Transaction;
import org.hibernate.cfg.Environment; import org.hibernate.cfg.Environment;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.testing.orm.junit.DomainModel; import org.hibernate.testing.orm.junit.DomainModel;
import org.hibernate.testing.orm.junit.ServiceRegistry; import org.hibernate.testing.orm.junit.ServiceRegistry;
@ -41,7 +41,7 @@ import static org.junit.jupiter.api.Assertions.assertFalse;
@ServiceRegistry(settings = @Setting(name = Environment.AUTO_CLOSE_SESSION, value = "true")) @ServiceRegistry(settings = @Setting(name = Environment.AUTO_CLOSE_SESSION, value = "true"))
public class GenericsTest { public class GenericsTest {
@SkipForDialect(dialectClass = AbstractHANADialect.class, matchSubTypes = true, reason = "known bug in HANA: rs.next() returns false for org.hibernate.id.enhanced.SequenceStructure$1.getNextValue() for this test") @SkipForDialect(dialectClass = HANADialect.class, matchSubTypes = true, reason = "known bug in HANA: rs.next() returns false for org.hibernate.id.enhanced.SequenceStructure$1.getNextValue() for this test")
@Test @Test
public void testManyToOneGenerics(SessionFactoryScope scope) { public void testManyToOneGenerics(SessionFactoryScope scope) {
Paper white = new Paper(); Paper white = new Paper();

View File

@ -8,7 +8,7 @@
// $Id$ // $Id$
package org.hibernate.orm.test.annotations.namingstrategy.charset; package org.hibernate.orm.test.annotations.namingstrategy.charset;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.engine.jdbc.spi.JdbcServices; import org.hibernate.engine.jdbc.spi.JdbcServices;
/** /**
@ -23,7 +23,7 @@ public class Iso88591CharsetNamingStrategyTest extends AbstractCharsetNamingStra
@Override @Override
protected String expectedUniqueKeyName() { protected String expectedUniqueKeyName() {
if ( this.serviceRegistry.getService( JdbcServices.class ).getDialect() instanceof AbstractHANADialect ) { if ( this.serviceRegistry.getService( JdbcServices.class ).getDialect() instanceof HANADialect ) {
return "UK38xspy14r49kkcmmyltias1j4"; // Non-ASCII, non-alphanumeric identifiers are quoted on HANA return "UK38xspy14r49kkcmmyltias1j4"; // Non-ASCII, non-alphanumeric identifiers are quoted on HANA
} }
else { else {
@ -33,7 +33,7 @@ public class Iso88591CharsetNamingStrategyTest extends AbstractCharsetNamingStra
@Override @Override
protected String expectedForeignKeyName() { protected String expectedForeignKeyName() {
if ( this.serviceRegistry.getService( JdbcServices.class ).getDialect() instanceof AbstractHANADialect ) { if ( this.serviceRegistry.getService( JdbcServices.class ).getDialect() instanceof HANADialect ) {
return "FKdvmx00nr88d03v6xhrjyujrq2"; // Non-ASCII, non-alphanumeric identifiers are quoted on HANA return "FKdvmx00nr88d03v6xhrjyujrq2"; // Non-ASCII, non-alphanumeric identifiers are quoted on HANA
} }
else { else {
@ -43,7 +43,7 @@ public class Iso88591CharsetNamingStrategyTest extends AbstractCharsetNamingStra
@Override @Override
protected String expectedIndexName() { protected String expectedIndexName() {
if ( this.serviceRegistry.getService( JdbcServices.class ).getDialect() instanceof AbstractHANADialect ) { if ( this.serviceRegistry.getService( JdbcServices.class ).getDialect() instanceof HANADialect ) {
return "IDX38xspy14r49kkcmmyltias1j4"; // Non-ASCII, non-alphanumeric identifiers are quoted on HANA return "IDX38xspy14r49kkcmmyltias1j4"; // Non-ASCII, non-alphanumeric identifiers are quoted on HANA
} }
else { else {

View File

@ -8,7 +8,7 @@
// $Id$ // $Id$
package org.hibernate.orm.test.annotations.namingstrategy.charset; package org.hibernate.orm.test.annotations.namingstrategy.charset;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.engine.jdbc.spi.JdbcServices; import org.hibernate.engine.jdbc.spi.JdbcServices;
/** /**
@ -23,7 +23,7 @@ public class Utf8CharsetNamingStrategyTest extends AbstractCharsetNamingStrategy
@Override @Override
protected String expectedUniqueKeyName() { protected String expectedUniqueKeyName() {
if ( this.serviceRegistry.getService( JdbcServices.class ).getDialect() instanceof AbstractHANADialect ) { if ( this.serviceRegistry.getService( JdbcServices.class ).getDialect() instanceof HANADialect ) {
return "UKinnacp0woeltj5l0k4vgabf8k"; // Non-ASCII, non-alphanumeric identifiers are quoted on HANA return "UKinnacp0woeltj5l0k4vgabf8k"; // Non-ASCII, non-alphanumeric identifiers are quoted on HANA
} }
else { else {
@ -33,7 +33,7 @@ public class Utf8CharsetNamingStrategyTest extends AbstractCharsetNamingStrategy
@Override @Override
protected String expectedForeignKeyName() { protected String expectedForeignKeyName() {
if ( this.serviceRegistry.getService( JdbcServices.class ).getDialect() instanceof AbstractHANADialect ) { if ( this.serviceRegistry.getService( JdbcServices.class ).getDialect() instanceof HANADialect ) {
return "FKe1lr9dd16cmmon53r7m736yev"; // Non-ASCII, non-alphanumeric identifiers are quoted on HANA return "FKe1lr9dd16cmmon53r7m736yev"; // Non-ASCII, non-alphanumeric identifiers are quoted on HANA
} }
else { else {
@ -43,7 +43,7 @@ public class Utf8CharsetNamingStrategyTest extends AbstractCharsetNamingStrategy
@Override @Override
protected String expectedIndexName() { protected String expectedIndexName() {
if ( this.serviceRegistry.getService( JdbcServices.class ).getDialect() instanceof AbstractHANADialect ) { if ( this.serviceRegistry.getService( JdbcServices.class ).getDialect() instanceof HANADialect ) {
return "IDXinnacp0woeltj5l0k4vgabf8k"; // Non-ASCII, non-alphanumeric identifiers are quoted on HANA return "IDXinnacp0woeltj5l0k4vgabf8k"; // Non-ASCII, non-alphanumeric identifiers are quoted on HANA
} }
else { else {

View File

@ -19,7 +19,7 @@ import org.hibernate.MappingException;
import org.hibernate.Transaction; import org.hibernate.Transaction;
import org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl; import org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl;
import org.hibernate.cfg.AvailableSettings; import org.hibernate.cfg.AvailableSettings;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.dialect.PostgreSQLDialect; import org.hibernate.dialect.PostgreSQLDialect;
import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.engine.spi.SessionFactoryImplementor;
import org.hibernate.query.NativeQuery; import org.hibernate.query.NativeQuery;
@ -124,7 +124,7 @@ public class QueryAndSQLTest {
} }
@Test @Test
@SkipForDialect(dialectClass = AbstractHANADialect.class, matchSubTypes = true, reason = "invalid name of function or procedure: SYSDATE") @SkipForDialect(dialectClass = HANADialect.class, matchSubTypes = true, reason = "invalid name of function or procedure: SYSDATE")
public void testNativeQueryWithFormulaAttributeWithoutAlias(SessionFactoryScope scope) { public void testNativeQueryWithFormulaAttributeWithoutAlias(SessionFactoryScope scope) {
scope.inTransaction( scope.inTransaction(
session -> { session -> {

View File

@ -7,7 +7,7 @@
package org.hibernate.orm.test.annotations.xml.hbm; package org.hibernate.orm.test.annotations.xml.hbm;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.testing.orm.junit.DialectFeatureChecks; import org.hibernate.testing.orm.junit.DialectFeatureChecks;
import org.hibernate.testing.orm.junit.DomainModel; import org.hibernate.testing.orm.junit.DomainModel;
@ -32,7 +32,7 @@ import org.junit.jupiter.api.Test;
@SessionFactory @SessionFactory
public class HbmWithIdentityTest { public class HbmWithIdentityTest {
@Test @Test
@SkipForDialect(dialectClass = AbstractHANADialect.class, matchSubTypes = true, reason = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(dialectClass = HANADialect.class, matchSubTypes = true, reason = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testManyToOneAndInterface(SessionFactoryScope scope) { public void testManyToOneAndInterface(SessionFactoryScope scope) {
scope.inTransaction( scope.inTransaction(
s -> { s -> {

View File

@ -14,14 +14,14 @@ import java.math.BigDecimal;
import org.hibernate.Session; import org.hibernate.Session;
import org.hibernate.Transaction; import org.hibernate.Transaction;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.query.Query; import org.hibernate.query.Query;
import org.hibernate.testing.RequiresDialect; import org.hibernate.testing.RequiresDialect;
import org.hibernate.testing.TestForIssue; import org.hibernate.testing.TestForIssue;
import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase; import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase;
import org.junit.Test; import org.junit.Test;
@RequiresDialect(AbstractHANADialect.class) @RequiresDialect(HANADialect.class)
public class HANAFunctionsTest extends BaseCoreFunctionalTestCase { public class HANAFunctionsTest extends BaseCoreFunctionalTestCase {
@Override @Override

View File

@ -17,7 +17,7 @@ import jakarta.persistence.Id;
import jakarta.persistence.PersistenceException; import jakarta.persistence.PersistenceException;
import org.hibernate.Session; import org.hibernate.Session;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.query.Query; import org.hibernate.query.Query;
import org.hibernate.testing.RequiresDialect; import org.hibernate.testing.RequiresDialect;
import org.hibernate.testing.TestForIssue; import org.hibernate.testing.TestForIssue;
@ -31,7 +31,7 @@ import org.junit.Test;
* *
* @author Jonathan Bregler * @author Jonathan Bregler
*/ */
@RequiresDialect(AbstractHANADialect.class) @RequiresDialect(HANADialect.class)
public class HANABooleanTest extends BaseCoreFunctionalTestCase { public class HANABooleanTest extends BaseCoreFunctionalTestCase {
private static final String ENTITY_NAME = "BooleanEntity"; private static final String ENTITY_NAME = "BooleanEntity";

View File

@ -20,14 +20,14 @@ import jakarta.persistence.criteria.CriteriaQuery;
import jakarta.persistence.criteria.Root; import jakarta.persistence.criteria.Root;
import org.hibernate.Session; import org.hibernate.Session;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.query.Query; import org.hibernate.query.Query;
import org.hibernate.testing.RequiresDialect; import org.hibernate.testing.RequiresDialect;
import org.hibernate.testing.TestForIssue; import org.hibernate.testing.TestForIssue;
import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase; import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase;
import org.junit.Test; import org.junit.Test;
@RequiresDialect(AbstractHANADialect.class) @RequiresDialect(HANADialect.class)
public class HANACalcViewTest extends BaseCoreFunctionalTestCase { public class HANACalcViewTest extends BaseCoreFunctionalTestCase {
private static final String CALC_VIEW_NAME = "DUMMY_CV_VIEW"; private static final String CALC_VIEW_NAME = "DUMMY_CV_VIEW";

View File

@ -17,7 +17,7 @@ import jakarta.persistence.Entity;
import jakarta.persistence.Id; import jakarta.persistence.Id;
import org.hibernate.Session; import org.hibernate.Session;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.query.Query; import org.hibernate.query.Query;
import org.hibernate.testing.RequiresDialect; import org.hibernate.testing.RequiresDialect;
import org.hibernate.testing.TestForIssue; import org.hibernate.testing.TestForIssue;
@ -31,7 +31,7 @@ import org.junit.Test;
* *
* @author Jonathan Bregler * @author Jonathan Bregler
*/ */
@RequiresDialect(AbstractHANADialect.class) @RequiresDialect(HANADialect.class)
public class HANADecimalTest extends BaseCoreFunctionalTestCase { public class HANADecimalTest extends BaseCoreFunctionalTestCase {
private static final String ENTITY_NAME = "DecimalEntity"; private static final String ENTITY_NAME = "DecimalEntity";

View File

@ -18,7 +18,7 @@ import org.hibernate.Session;
import org.hibernate.Transaction; import org.hibernate.Transaction;
import org.hibernate.collection.spi.PersistentSet; import org.hibernate.collection.spi.PersistentSet;
import org.hibernate.collection.spi.PersistentCollection; import org.hibernate.collection.spi.PersistentCollection;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.event.spi.AbstractCollectionEvent; import org.hibernate.event.spi.AbstractCollectionEvent;
import org.hibernate.testing.SkipForDialect; import org.hibernate.testing.SkipForDialect;
import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase; import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase;
@ -80,7 +80,7 @@ public abstract class AbstractCollectionEventTest extends BaseCoreFunctionalTest
public abstract Collection createCollection(); public abstract Collection createCollection();
@Test @Test
@SkipForDialect(value = AbstractHANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(value = HANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testSaveParentEmptyChildren() { public void testSaveParentEmptyChildren() {
CollectionListeners listeners = new CollectionListeners( sessionFactory() ); CollectionListeners listeners = new CollectionListeners( sessionFactory() );
ParentWithCollection parent = createParentWithNoChildren( "parent" ); ParentWithCollection parent = createParentWithNoChildren( "parent" );
@ -100,7 +100,7 @@ public abstract class AbstractCollectionEventTest extends BaseCoreFunctionalTest
} }
@Test @Test
@SkipForDialect(value = AbstractHANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(value = HANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testSaveParentOneChild() { public void testSaveParentOneChild() {
CollectionListeners listeners = new CollectionListeners( sessionFactory() ); CollectionListeners listeners = new CollectionListeners( sessionFactory() );
ParentWithCollection parent = createParentWithOneChild( "parent", "child" ); ParentWithCollection parent = createParentWithOneChild( "parent", "child" );
@ -116,7 +116,7 @@ public abstract class AbstractCollectionEventTest extends BaseCoreFunctionalTest
} }
@Test @Test
@SkipForDialect(value = AbstractHANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(value = HANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testUpdateParentNullToOneChild() { public void testUpdateParentNullToOneChild() {
CollectionListeners listeners = new CollectionListeners( sessionFactory() ); CollectionListeners listeners = new CollectionListeners( sessionFactory() );
ParentWithCollection parent = createParentWithNullChildren( "parent" ); ParentWithCollection parent = createParentWithNullChildren( "parent" );
@ -143,7 +143,7 @@ public abstract class AbstractCollectionEventTest extends BaseCoreFunctionalTest
} }
@Test @Test
@SkipForDialect(value = AbstractHANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(value = HANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testUpdateParentNoneToOneChild() { public void testUpdateParentNoneToOneChild() {
CollectionListeners listeners = new CollectionListeners( sessionFactory() ); CollectionListeners listeners = new CollectionListeners( sessionFactory() );
ParentWithCollection parent = createParentWithNoChildren( "parent" ); ParentWithCollection parent = createParentWithNoChildren( "parent" );
@ -169,7 +169,7 @@ public abstract class AbstractCollectionEventTest extends BaseCoreFunctionalTest
} }
@Test @Test
@SkipForDialect(value = AbstractHANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(value = HANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testUpdateParentOneToTwoChildren() { public void testUpdateParentOneToTwoChildren() {
CollectionListeners listeners = new CollectionListeners( sessionFactory() ); CollectionListeners listeners = new CollectionListeners( sessionFactory() );
ParentWithCollection parent = createParentWithOneChild( "parent", "child" ); ParentWithCollection parent = createParentWithOneChild( "parent", "child" );
@ -195,7 +195,7 @@ public abstract class AbstractCollectionEventTest extends BaseCoreFunctionalTest
} }
@Test @Test
@SkipForDialect(value = AbstractHANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(value = HANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testUpdateParentOneToTwoSameChildren() { public void testUpdateParentOneToTwoSameChildren() {
CollectionListeners listeners = new CollectionListeners( sessionFactory() ); CollectionListeners listeners = new CollectionListeners( sessionFactory() );
ParentWithCollection parent = createParentWithOneChild( "parent", "child" ); ParentWithCollection parent = createParentWithOneChild( "parent", "child" );
@ -234,7 +234,7 @@ public abstract class AbstractCollectionEventTest extends BaseCoreFunctionalTest
} }
@Test @Test
@SkipForDialect(value = AbstractHANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(value = HANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testUpdateParentNullToOneChildDiffCollection() { public void testUpdateParentNullToOneChildDiffCollection() {
CollectionListeners listeners = new CollectionListeners( sessionFactory() ); CollectionListeners listeners = new CollectionListeners( sessionFactory() );
ParentWithCollection parent = createParentWithNullChildren( "parent" ); ParentWithCollection parent = createParentWithNullChildren( "parent" );
@ -264,7 +264,7 @@ public abstract class AbstractCollectionEventTest extends BaseCoreFunctionalTest
} }
@Test @Test
@SkipForDialect(value = AbstractHANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(value = HANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testUpdateParentNoneToOneChildDiffCollection() { public void testUpdateParentNoneToOneChildDiffCollection() {
CollectionListeners listeners = new CollectionListeners( sessionFactory() ); CollectionListeners listeners = new CollectionListeners( sessionFactory() );
ParentWithCollection parent = createParentWithNoChildren( "parent" ); ParentWithCollection parent = createParentWithNoChildren( "parent" );
@ -294,7 +294,7 @@ public abstract class AbstractCollectionEventTest extends BaseCoreFunctionalTest
} }
@Test @Test
@SkipForDialect(value = AbstractHANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(value = HANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testUpdateParentOneChildDiffCollectionSameChild() { public void testUpdateParentOneChildDiffCollectionSameChild() {
CollectionListeners listeners = new CollectionListeners( sessionFactory() ); CollectionListeners listeners = new CollectionListeners( sessionFactory() );
ParentWithCollection parent = createParentWithOneChild( "parent", "child" ); ParentWithCollection parent = createParentWithOneChild( "parent", "child" );
@ -336,7 +336,7 @@ public abstract class AbstractCollectionEventTest extends BaseCoreFunctionalTest
} }
@Test @Test
@SkipForDialect(value = AbstractHANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(value = HANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testUpdateParentOneChildDiffCollectionDiffChild() { public void testUpdateParentOneChildDiffCollectionDiffChild() {
CollectionListeners listeners = new CollectionListeners( sessionFactory() ); CollectionListeners listeners = new CollectionListeners( sessionFactory() );
ParentWithCollection parent = createParentWithOneChild( "parent", "child" ); ParentWithCollection parent = createParentWithOneChild( "parent", "child" );
@ -378,7 +378,7 @@ public abstract class AbstractCollectionEventTest extends BaseCoreFunctionalTest
} }
@Test @Test
@SkipForDialect(value = AbstractHANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(value = HANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testUpdateParentOneChildToNoneByRemove() { public void testUpdateParentOneChildToNoneByRemove() {
CollectionListeners listeners = new CollectionListeners( sessionFactory() ); CollectionListeners listeners = new CollectionListeners( sessionFactory() );
ParentWithCollection parent = createParentWithOneChild( "parent", "child" ); ParentWithCollection parent = createParentWithOneChild( "parent", "child" );
@ -414,7 +414,7 @@ public abstract class AbstractCollectionEventTest extends BaseCoreFunctionalTest
} }
@Test @Test
@SkipForDialect(value = AbstractHANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(value = HANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testUpdateParentOneChildToNoneByClear() { public void testUpdateParentOneChildToNoneByClear() {
CollectionListeners listeners = new CollectionListeners( sessionFactory() ); CollectionListeners listeners = new CollectionListeners( sessionFactory() );
ParentWithCollection parent = createParentWithOneChild( "parent", "child" ); ParentWithCollection parent = createParentWithOneChild( "parent", "child" );
@ -450,7 +450,7 @@ public abstract class AbstractCollectionEventTest extends BaseCoreFunctionalTest
} }
@Test @Test
@SkipForDialect(value = AbstractHANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(value = HANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testUpdateParentTwoChildrenToOne() { public void testUpdateParentTwoChildrenToOne() {
CollectionListeners listeners = new CollectionListeners( sessionFactory() ); CollectionListeners listeners = new CollectionListeners( sessionFactory() );
ParentWithCollection parent = createParentWithOneChild( "parent", "child" ); ParentWithCollection parent = createParentWithOneChild( "parent", "child" );
@ -493,7 +493,7 @@ public abstract class AbstractCollectionEventTest extends BaseCoreFunctionalTest
} }
@Test @Test
@SkipForDialect(value = AbstractHANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(value = HANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testDeleteParentWithNullChildren() { public void testDeleteParentWithNullChildren() {
CollectionListeners listeners = new CollectionListeners( sessionFactory() ); CollectionListeners listeners = new CollectionListeners( sessionFactory() );
ParentWithCollection parent = createParentWithNullChildren( "parent" ); ParentWithCollection parent = createParentWithNullChildren( "parent" );
@ -512,7 +512,7 @@ public abstract class AbstractCollectionEventTest extends BaseCoreFunctionalTest
} }
@Test @Test
@SkipForDialect(value = AbstractHANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(value = HANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testDeleteParentWithNoChildren() { public void testDeleteParentWithNoChildren() {
CollectionListeners listeners = new CollectionListeners( sessionFactory() ); CollectionListeners listeners = new CollectionListeners( sessionFactory() );
ParentWithCollection parent = createParentWithNoChildren( "parent" ); ParentWithCollection parent = createParentWithNoChildren( "parent" );
@ -531,7 +531,7 @@ public abstract class AbstractCollectionEventTest extends BaseCoreFunctionalTest
} }
@Test @Test
@SkipForDialect(value = AbstractHANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(value = HANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testDeleteParentAndChild() { public void testDeleteParentAndChild() {
CollectionListeners listeners = new CollectionListeners( sessionFactory() ); CollectionListeners listeners = new CollectionListeners( sessionFactory() );
ParentWithCollection parent = createParentWithOneChild( "parent", "child" ); ParentWithCollection parent = createParentWithOneChild( "parent", "child" );
@ -565,7 +565,7 @@ public abstract class AbstractCollectionEventTest extends BaseCoreFunctionalTest
} }
@Test @Test
@SkipForDialect(value = AbstractHANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(value = HANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testMoveChildToDifferentParent() { public void testMoveChildToDifferentParent() {
CollectionListeners listeners = new CollectionListeners( sessionFactory() ); CollectionListeners listeners = new CollectionListeners( sessionFactory() );
ParentWithCollection parent = createParentWithOneChild( "parent", "child" ); ParentWithCollection parent = createParentWithOneChild( "parent", "child" );
@ -605,7 +605,7 @@ public abstract class AbstractCollectionEventTest extends BaseCoreFunctionalTest
} }
@Test @Test
@SkipForDialect(value = AbstractHANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(value = HANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testMoveAllChildrenToDifferentParent() { public void testMoveAllChildrenToDifferentParent() {
CollectionListeners listeners = new CollectionListeners( sessionFactory() ); CollectionListeners listeners = new CollectionListeners( sessionFactory() );
ParentWithCollection parent = createParentWithOneChild( "parent", "child" ); ParentWithCollection parent = createParentWithOneChild( "parent", "child" );
@ -645,7 +645,7 @@ public abstract class AbstractCollectionEventTest extends BaseCoreFunctionalTest
} }
@Test @Test
@SkipForDialect(value = AbstractHANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(value = HANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testMoveCollectionToDifferentParent() { public void testMoveCollectionToDifferentParent() {
CollectionListeners listeners = new CollectionListeners( sessionFactory() ); CollectionListeners listeners = new CollectionListeners( sessionFactory() );
ParentWithCollection parent = createParentWithOneChild( "parent", "child" ); ParentWithCollection parent = createParentWithOneChild( "parent", "child" );
@ -692,7 +692,7 @@ public abstract class AbstractCollectionEventTest extends BaseCoreFunctionalTest
} }
@Test @Test
@SkipForDialect(value = AbstractHANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(value = HANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testMoveCollectionToDifferentParentFlushMoveToDifferentParent() { public void testMoveCollectionToDifferentParentFlushMoveToDifferentParent() {
CollectionListeners listeners = new CollectionListeners( sessionFactory() ); CollectionListeners listeners = new CollectionListeners( sessionFactory() );
ParentWithCollection parent = createParentWithOneChild( "parent", "child" ); ParentWithCollection parent = createParentWithOneChild( "parent", "child" );

View File

@ -9,7 +9,7 @@ import org.junit.Test;
import org.hibernate.Session; import org.hibernate.Session;
import org.hibernate.Transaction; import org.hibernate.Transaction;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.orm.test.event.collection.AbstractCollectionEventTest; import org.hibernate.orm.test.event.collection.AbstractCollectionEventTest;
import org.hibernate.orm.test.event.collection.ChildEntity; import org.hibernate.orm.test.event.collection.ChildEntity;
import org.hibernate.orm.test.event.collection.CollectionListeners; import org.hibernate.orm.test.event.collection.CollectionListeners;
@ -23,7 +23,7 @@ import org.hibernate.testing.SkipForDialect;
*/ */
public abstract class AbstractAssociationCollectionEventTest extends AbstractCollectionEventTest { public abstract class AbstractAssociationCollectionEventTest extends AbstractCollectionEventTest {
@Test @Test
@SkipForDialect(value = AbstractHANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(value = HANADialect.class, comment = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testDeleteParentButNotChild() { public void testDeleteParentButNotChild() {
CollectionListeners listeners = new CollectionListeners( sessionFactory() ); CollectionListeners listeners = new CollectionListeners( sessionFactory() );
ParentWithCollection parent = createParentWithOneChild( "parent", "child" ); ParentWithCollection parent = createParentWithOneChild( "parent", "child" );

View File

@ -10,7 +10,7 @@ import java.sql.PreparedStatement;
import java.sql.Types; import java.sql.Types;
import org.hibernate.Session; import org.hibernate.Session;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.dialect.TiDBDialect; import org.hibernate.dialect.TiDBDialect;
import org.hibernate.engine.jdbc.spi.JdbcCoordinator; import org.hibernate.engine.jdbc.spi.JdbcCoordinator;
import org.hibernate.engine.jdbc.spi.ResultSetReturn; import org.hibernate.engine.jdbc.spi.ResultSetReturn;
@ -44,7 +44,7 @@ public class SQLExceptionConversionTest extends BaseCoreFunctionalTestCase {
} }
@Test @Test
@SkipForDialect(value = AbstractHANADialect.class, comment = "Hana do not support FK violation checking") @SkipForDialect(value = HANADialect.class, comment = "Hana do not support FK violation checking")
@SkipForDialect(value = TiDBDialect.class, comment = "TiDB do not support FK violation checking") @SkipForDialect(value = TiDBDialect.class, comment = "TiDB do not support FK violation checking")
public void testIntegrityViolation() { public void testIntegrityViolation() {
final Session session = openSession(); final Session session = openSession();

View File

@ -23,7 +23,7 @@ import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.AvailableSettings; import org.hibernate.cfg.AvailableSettings;
import org.hibernate.community.dialect.AltibaseDialect; import org.hibernate.community.dialect.AltibaseDialect;
import org.hibernate.community.dialect.FirebirdDialect; import org.hibernate.community.dialect.FirebirdDialect;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.dialect.CockroachDialect; import org.hibernate.dialect.CockroachDialect;
import org.hibernate.dialect.DB2Dialect; import org.hibernate.dialect.DB2Dialect;
import org.hibernate.dialect.DerbyDialect; import org.hibernate.dialect.DerbyDialect;
@ -101,7 +101,7 @@ public class FilterParameterTests extends AbstractStatefulStatelessFilterTest {
@SkipForDialect(dialectClass = MariaDBDialect.class, reason = "MariaDB silently converts a boolean to string types") @SkipForDialect(dialectClass = MariaDBDialect.class, reason = "MariaDB silently converts a boolean to string types")
@SkipForDialect(dialectClass = TiDBDialect.class, reason = "TiDB silently converts a boolean to string types") @SkipForDialect(dialectClass = TiDBDialect.class, reason = "TiDB silently converts a boolean to string types")
@SkipForDialect(dialectClass = SybaseDialect.class, matchSubTypes = true, reason = "Sybase silently converts a boolean to string types") @SkipForDialect(dialectClass = SybaseDialect.class, matchSubTypes = true, reason = "Sybase silently converts a boolean to string types")
@SkipForDialect(dialectClass = AbstractHANADialect.class, matchSubTypes = true, reason = "HANA silently converts a boolean to string types") @SkipForDialect(dialectClass = HANADialect.class, matchSubTypes = true, reason = "HANA silently converts a boolean to string types")
@SkipForDialect(dialectClass = CockroachDialect.class, matchSubTypes = true, reason = "Cockroach silently converts a boolean to string types") @SkipForDialect(dialectClass = CockroachDialect.class, matchSubTypes = true, reason = "Cockroach silently converts a boolean to string types")
@SkipForDialect(dialectClass = PostgresPlusDialect.class, reason = "PostgresPlus silently converts a boolean to string types") @SkipForDialect(dialectClass = PostgresPlusDialect.class, reason = "PostgresPlus silently converts a boolean to string types")
@SkipForDialect(dialectClass = FirebirdDialect.class, reason = "Firebird silently converts a boolean to string") @SkipForDialect(dialectClass = FirebirdDialect.class, reason = "Firebird silently converts a boolean to string")
@ -158,7 +158,7 @@ public class FilterParameterTests extends AbstractStatefulStatelessFilterTest {
@SkipForDialect(dialectClass = SQLServerDialect.class, reason = "SQL Server silently converts a boolean to integral types") @SkipForDialect(dialectClass = SQLServerDialect.class, reason = "SQL Server silently converts a boolean to integral types")
@SkipForDialect(dialectClass = AltibaseDialect.class, reason = "Altibase silently converts a boolean to integral types") @SkipForDialect(dialectClass = AltibaseDialect.class, reason = "Altibase silently converts a boolean to integral types")
@SkipForDialect(dialectClass = SybaseDialect.class, matchSubTypes = true, reason = "Sybase silently converts a boolean to integral types") @SkipForDialect(dialectClass = SybaseDialect.class, matchSubTypes = true, reason = "Sybase silently converts a boolean to integral types")
@SkipForDialect(dialectClass = AbstractHANADialect.class, matchSubTypes = true, reason = "HANA silently converts a boolean to integral types") @SkipForDialect(dialectClass = HANADialect.class, matchSubTypes = true, reason = "HANA silently converts a boolean to integral types")
@SkipForDialect(dialectClass = FirebirdDialect.class, matchSubTypes = true, reason = "Firebird silently converts a boolean to integral types") @SkipForDialect(dialectClass = FirebirdDialect.class, matchSubTypes = true, reason = "Firebird silently converts a boolean to integral types")
public void testNumericMismatch(BiConsumer<SessionFactoryScope, Consumer<? extends SharedSessionContract>> inTransaction) { public void testNumericMismatch(BiConsumer<SessionFactoryScope, Consumer<? extends SharedSessionContract>> inTransaction) {
scope.inTransaction( (session) -> { scope.inTransaction( (session) -> {

View File

@ -28,7 +28,7 @@ import org.hibernate.Transaction;
import org.hibernate.TypeMismatchException; import org.hibernate.TypeMismatchException;
import org.hibernate.cfg.Configuration; import org.hibernate.cfg.Configuration;
import org.hibernate.cfg.Environment; import org.hibernate.cfg.Environment;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.dialect.CockroachDialect; import org.hibernate.dialect.CockroachDialect;
import org.hibernate.dialect.DB2Dialect; import org.hibernate.dialect.DB2Dialect;
import org.hibernate.dialect.DerbyDialect; import org.hibernate.dialect.DerbyDialect;
@ -1061,7 +1061,7 @@ public class ASTParserLoadingTest extends BaseCoreFunctionalTestCase {
s.createQuery( "from Animal where lower(upper('foo') || upper(:bar)) like 'f%'" ).setParameter( "bar", "xyz" ).list(); s.createQuery( "from Animal where lower(upper('foo') || upper(:bar)) like 'f%'" ).setParameter( "bar", "xyz" ).list();
} }
if ( getDialect() instanceof AbstractHANADialect ) { if ( getDialect() instanceof HANADialect ) {
s.createQuery( "from Animal where abs(cast(1 as double) - cast(:param as double)) = 1.0" ).setParameter( "param", 1 ).list(); s.createQuery( "from Animal where abs(cast(1 as double) - cast(:param as double)) = 1.0" ).setParameter( "param", 1 ).list();
} }
else if ( !( getDialect() instanceof PostgreSQLDialect || getDialect() instanceof MySQLDialect ) ) { else if ( !( getDialect() instanceof PostgreSQLDialect || getDialect() instanceof MySQLDialect ) ) {
@ -1991,7 +1991,7 @@ public class ASTParserLoadingTest extends BaseCoreFunctionalTestCase {
// note: simply performing syntax and column/table resolution checking in the db // note: simply performing syntax and column/table resolution checking in the db
Session s = openSession(); Session s = openSession();
s.beginTransaction(); s.beginTransaction();
if ( getDialect() instanceof AbstractHANADialect ) { if ( getDialect() instanceof HANADialect ) {
s.createQuery( "from Animal where mother is null" ).list(); s.createQuery( "from Animal where mother is null" ).list();
} }
else { else {

View File

@ -9,7 +9,7 @@ package org.hibernate.orm.test.hql;
import org.hibernate.Hibernate; import org.hibernate.Hibernate;
import org.hibernate.ScrollMode; import org.hibernate.ScrollMode;
import org.hibernate.ScrollableResults; import org.hibernate.ScrollableResults;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.dialect.DB2Dialect; import org.hibernate.dialect.DB2Dialect;
import org.hibernate.dialect.DerbyDialect; import org.hibernate.dialect.DerbyDialect;
import org.hibernate.dialect.SybaseASEDialect; import org.hibernate.dialect.SybaseASEDialect;
@ -97,7 +97,7 @@ public class ScrollableCollectionFetchingTest {
@Test @Test
@SkipForDialect(dialectClass = SybaseASEDialect.class, majorVersion = 15, matchSubTypes = true, reason = "HHH-5229") @SkipForDialect(dialectClass = SybaseASEDialect.class, majorVersion = 15, matchSubTypes = true, reason = "HHH-5229")
@SkipForDialect(dialectClass = AbstractHANADialect.class, matchSubTypes = true, reason = "HANA only supports forward-only cursors.") @SkipForDialect(dialectClass = HANADialect.class, matchSubTypes = true, reason = "HANA only supports forward-only cursors.")
public void testScrollingJoinFetchesEmptyResultSet(SessionFactoryScope scope) { public void testScrollingJoinFetchesEmptyResultSet(SessionFactoryScope scope) {
scope.inTransaction( scope.inTransaction(
s -> { s -> {
@ -165,7 +165,7 @@ public class ScrollableCollectionFetchingTest {
@Test @Test
@RequiresDialectFeature(feature = DialectFeatureChecks.SupportsTemporaryTable.class) @RequiresDialectFeature(feature = DialectFeatureChecks.SupportsTemporaryTable.class)
@SkipForDialect(dialectClass = AbstractHANADialect.class, matchSubTypes = true, reason = "HANA only supports forward-only cursors") @SkipForDialect(dialectClass = HANADialect.class, matchSubTypes = true, reason = "HANA only supports forward-only cursors")
public void testScrollingJoinFetchesSingleRowResultSet(SessionFactoryScope scope) { public void testScrollingJoinFetchesSingleRowResultSet(SessionFactoryScope scope) {
scope.inTransaction( scope.inTransaction(
@ -316,7 +316,7 @@ public class ScrollableCollectionFetchingTest {
@Test @Test
@RequiresDialectFeature(feature = DialectFeatureChecks.SupportsTemporaryTable.class) @RequiresDialectFeature(feature = DialectFeatureChecks.SupportsTemporaryTable.class)
@SkipForDialect(dialectClass = AbstractHANADialect.class, matchSubTypes = true, reason = "HANA only supports forward-only cursors.") @SkipForDialect(dialectClass = HANADialect.class, matchSubTypes = true, reason = "HANA only supports forward-only cursors.")
public void testScrollingJoinFetchesReverse(SessionFactoryScope scope) { public void testScrollingJoinFetchesReverse(SessionFactoryScope scope) {
TestData data = new TestData(); TestData data = new TestData();
data.prepare( scope ); data.prepare( scope );
@ -344,7 +344,7 @@ public class ScrollableCollectionFetchingTest {
@Test @Test
@RequiresDialectFeature(feature = DialectFeatureChecks.SupportsTemporaryTable.class) @RequiresDialectFeature(feature = DialectFeatureChecks.SupportsTemporaryTable.class)
@SkipForDialect(dialectClass = AbstractHANADialect.class, matchSubTypes = true, reason = "HANA only supports forward-only cursors.") @SkipForDialect(dialectClass = HANADialect.class, matchSubTypes = true, reason = "HANA only supports forward-only cursors.")
public void testScrollingJoinFetchesPositioning(SessionFactoryScope scope) { public void testScrollingJoinFetchesPositioning(SessionFactoryScope scope) {
TestData data = new TestData(); TestData data = new TestData();
data.prepare( scope ); data.prepare( scope );

View File

@ -10,7 +10,7 @@ import static org.assertj.core.api.Assertions.assertThat;
import java.util.List; import java.util.List;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.dialect.DB2Dialect; import org.hibernate.dialect.DB2Dialect;
import org.hibernate.dialect.SybaseDialect; import org.hibernate.dialect.SybaseDialect;
import org.hibernate.dialect.TiDBDialect; import org.hibernate.dialect.TiDBDialect;
@ -92,7 +92,7 @@ public class WhereAnnotatedOneToManySizeTest extends BaseCoreFunctionalTestCase
@Test @Test
@SkipForDialect(value = DB2Dialect.class, comment = "DB2 does not support correlated subqueries in the ORDER BY clause") @SkipForDialect(value = DB2Dialect.class, comment = "DB2 does not support correlated subqueries in the ORDER BY clause")
@SkipForDialect(value = AbstractHANADialect.class, comment = "HANA db does not support correlated subqueries in the ORDER BY clause") @SkipForDialect(value = HANADialect.class, comment = "HANA db does not support correlated subqueries in the ORDER BY clause")
@SkipForDialect(value = TiDBDialect.class, comment = "TiDB db does not support correlated subqueries in the ORDER BY clause") @SkipForDialect(value = TiDBDialect.class, comment = "TiDB db does not support correlated subqueries in the ORDER BY clause")
@SkipForDialect(value = SybaseDialect.class, comment = "Sybase db does not support subqueries in the ORDER BY clause") @SkipForDialect(value = SybaseDialect.class, comment = "Sybase db does not support subqueries in the ORDER BY clause")
public void orderBy_sizeOf() { public void orderBy_sizeOf() {

View File

@ -11,7 +11,7 @@ import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType; import jakarta.persistence.GenerationType;
import jakarta.persistence.Id; import jakarta.persistence.Id;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.orm.test.jpa.BaseEntityManagerFunctionalTestCase; import org.hibernate.orm.test.jpa.BaseEntityManagerFunctionalTestCase;
import org.junit.Test; import org.junit.Test;
@ -36,7 +36,7 @@ import static org.junit.Assert.assertNotNull;
*/ */
@TestForIssue(jiraKey = "HHH-13104") @TestForIssue(jiraKey = "HHH-13104")
@RequiresDialectFeature(DialectChecks.SupportsIdentityColumns.class) @RequiresDialectFeature(DialectChecks.SupportsIdentityColumns.class)
@SkipForDialect(value=AbstractHANADialect.class, comment="SAP HANA requires at least value in insert value-list clause.") @SkipForDialect(value=HANADialect.class, comment="SAP HANA requires at least value in insert value-list clause.")
public class IdentityInsertSoleColumnTest extends BaseEntityManagerFunctionalTestCase { public class IdentityInsertSoleColumnTest extends BaseEntityManagerFunctionalTestCase {
@Override @Override
protected Class<?>[] getAnnotatedClasses() { protected Class<?>[] getAnnotatedClasses() {

View File

@ -19,7 +19,7 @@ import jakarta.persistence.criteria.Root;
import org.hibernate.query.Query; import org.hibernate.query.Query;
import org.hibernate.ScrollableResults; import org.hibernate.ScrollableResults;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.orm.test.jpa.BaseEntityManagerFunctionalTestCase; import org.hibernate.orm.test.jpa.BaseEntityManagerFunctionalTestCase;
import org.junit.Test; import org.junit.Test;
import org.hibernate.testing.SkipForDialect; import org.hibernate.testing.SkipForDialect;
@ -48,7 +48,7 @@ public class CriteriaToScrollableResultsFetchTest extends BaseEntityManagerFunct
} }
@Test @Test
@SkipForDialect(value = AbstractHANADialect.class, comment = "HANA only supports forward-only cursors") @SkipForDialect(value = HANADialect.class, comment = "HANA only supports forward-only cursors")
public void testWithScroll() { public void testWithScroll() {
// Creates data necessary for test // Creates data necessary for test
Long facilityId = populate(); Long facilityId = populate();

View File

@ -19,7 +19,7 @@ import jakarta.persistence.criteria.Root;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.dialect.DB2Dialect; import org.hibernate.dialect.DB2Dialect;
import org.hibernate.dialect.OracleDialect; import org.hibernate.dialect.OracleDialect;
import org.hibernate.dialect.SQLServerDialect; import org.hibernate.dialect.SQLServerDialect;
@ -150,7 +150,7 @@ public class CriteriaLiteralInSelectExpressionTest {
@SkipForDialect( dialectClass = DB2Dialect.class) @SkipForDialect( dialectClass = DB2Dialect.class)
@SkipForDialect( dialectClass = SQLServerDialect.class) @SkipForDialect( dialectClass = SQLServerDialect.class)
@SkipForDialect( dialectClass = SybaseDialect.class) @SkipForDialect( dialectClass = SybaseDialect.class)
@SkipForDialect( dialectClass = AbstractHANADialect.class) @SkipForDialect( dialectClass = HANADialect.class)
public void testStringLiteral2(EntityManagerFactoryScope scope) { public void testStringLiteral2(EntityManagerFactoryScope scope) {
scope.inTransaction( scope.inTransaction(
entityManager -> { entityManager -> {

View File

@ -22,7 +22,7 @@ import org.hibernate.TransactionException;
import org.hibernate.cfg.AvailableSettings; import org.hibernate.cfg.AvailableSettings;
import org.hibernate.community.dialect.AltibaseDialect; import org.hibernate.community.dialect.AltibaseDialect;
import org.hibernate.community.dialect.FirebirdDialect; import org.hibernate.community.dialect.FirebirdDialect;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.dialect.CockroachDialect; import org.hibernate.dialect.CockroachDialect;
import org.hibernate.dialect.DerbyDialect; import org.hibernate.dialect.DerbyDialect;
import org.hibernate.dialect.HSQLDialect; import org.hibernate.dialect.HSQLDialect;
@ -1186,7 +1186,7 @@ public class LockTest extends BaseEntityManagerFunctionalTestCase {
@SkipForDialect(value = MySQLDialect.class, strictMatching = true, comment = "With InnoDB, a FK constraint check acquires a shared lock that isn't compatible with an exclusive lock") @SkipForDialect(value = MySQLDialect.class, strictMatching = true, comment = "With InnoDB, a FK constraint check acquires a shared lock that isn't compatible with an exclusive lock")
@SkipForDialect(value = MariaDBDialect.class, strictMatching = true, comment = "With InnoDB, a FK constraint check acquires a shared lock that isn't compatible with an exclusive lock") @SkipForDialect(value = MariaDBDialect.class, strictMatching = true, comment = "With InnoDB, a FK constraint check acquires a shared lock that isn't compatible with an exclusive lock")
@SkipForDialect(value = HSQLDialect.class, comment = "Seems like FK constraint checks are not compatible with exclusive locks") @SkipForDialect(value = HSQLDialect.class, comment = "Seems like FK constraint checks are not compatible with exclusive locks")
@SkipForDialect(value = AbstractHANADialect.class, comment = "Seems like FK constraint checks are not compatible with exclusive locks") @SkipForDialect(value = HANADialect.class, comment = "Seems like FK constraint checks are not compatible with exclusive locks")
@SkipForDialect(value = CockroachDialect.class, comment = "Cockroach supports the 'for no key update' syntax but it doesn't work") @SkipForDialect(value = CockroachDialect.class, comment = "Cockroach supports the 'for no key update' syntax but it doesn't work")
@SkipForDialect(value = FirebirdDialect.class, comment = "Seems like FK constraint checks are not compatible with exclusive locks") @SkipForDialect(value = FirebirdDialect.class, comment = "Seems like FK constraint checks are not compatible with exclusive locks")
@SkipForDialect(value = AltibaseDialect.class, comment = "Seems like FK constraint checks are not compatible with exclusive locks") @SkipForDialect(value = AltibaseDialect.class, comment = "Seems like FK constraint checks are not compatible with exclusive locks")
@ -1225,7 +1225,7 @@ public class LockTest extends BaseEntityManagerFunctionalTestCase {
@SkipForDialect(value = MySQLDialect.class, strictMatching = true, comment = "With InnoDB, a FK constraint check acquires a shared lock that isn't compatible with an exclusive lock") @SkipForDialect(value = MySQLDialect.class, strictMatching = true, comment = "With InnoDB, a FK constraint check acquires a shared lock that isn't compatible with an exclusive lock")
@SkipForDialect(value = MariaDBDialect.class, strictMatching = true, comment = "With InnoDB, a FK constraint check acquires a shared lock that isn't compatible with an exclusive lock") @SkipForDialect(value = MariaDBDialect.class, strictMatching = true, comment = "With InnoDB, a FK constraint check acquires a shared lock that isn't compatible with an exclusive lock")
@SkipForDialect(value = HSQLDialect.class, comment = "Seems like FK constraint checks are not compatible with exclusive locks") @SkipForDialect(value = HSQLDialect.class, comment = "Seems like FK constraint checks are not compatible with exclusive locks")
@SkipForDialect(value = AbstractHANADialect.class, comment = "Seems like FK constraint checks are not compatible with exclusive locks") @SkipForDialect(value = HANADialect.class, comment = "Seems like FK constraint checks are not compatible with exclusive locks")
@SkipForDialect(value = CockroachDialect.class, comment = "Cockroach supports the 'for no key update' syntax but it doesn't work") @SkipForDialect(value = CockroachDialect.class, comment = "Cockroach supports the 'for no key update' syntax but it doesn't work")
@SkipForDialect(value = FirebirdDialect.class, comment = "Seems like FK constraint checks are not compatible with exclusive locks") @SkipForDialect(value = FirebirdDialect.class, comment = "Seems like FK constraint checks are not compatible with exclusive locks")
@SkipForDialect(value = AltibaseDialect.class, comment = "FK constraint checks are not compatible with exclusive locks") @SkipForDialect(value = AltibaseDialect.class, comment = "FK constraint checks are not compatible with exclusive locks")

View File

@ -7,7 +7,7 @@
package org.hibernate.orm.test.jpa.naturalid; package org.hibernate.orm.test.jpa.naturalid;
import org.hibernate.community.dialect.AltibaseDialect; import org.hibernate.community.dialect.AltibaseDialect;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.dialect.OracleDialect; import org.hibernate.dialect.OracleDialect;
import org.hibernate.testing.TestForIssue; import org.hibernate.testing.TestForIssue;
@ -24,7 +24,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
*/ */
@SkipForDialect(dialectClass = OracleDialect.class, matchSubTypes = true, @SkipForDialect(dialectClass = OracleDialect.class, matchSubTypes = true,
reason = "Oracle do not support identity key generation") reason = "Oracle do not support identity key generation")
@SkipForDialect(dialectClass = AbstractHANADialect.class, matchSubTypes = true, @SkipForDialect(dialectClass = HANADialect.class, matchSubTypes = true,
reason = "Hana do not support identity key generation") reason = "Hana do not support identity key generation")
@SkipForDialect(dialectClass = AltibaseDialect.class, @SkipForDialect(dialectClass = AltibaseDialect.class,
reason = "Altibase do not support identity key generation") reason = "Altibase do not support identity key generation")

View File

@ -26,7 +26,7 @@ import org.hibernate.annotations.Nationalized;
import org.hibernate.cfg.AvailableSettings; import org.hibernate.cfg.AvailableSettings;
import org.hibernate.community.dialect.AltibaseDialect; import org.hibernate.community.dialect.AltibaseDialect;
import org.hibernate.community.dialect.FirebirdDialect; import org.hibernate.community.dialect.FirebirdDialect;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.dialect.AbstractTransactSQLDialect; import org.hibernate.dialect.AbstractTransactSQLDialect;
import org.hibernate.dialect.CockroachDialect; import org.hibernate.dialect.CockroachDialect;
import org.hibernate.dialect.DB2Dialect; import org.hibernate.dialect.DB2Dialect;
@ -152,7 +152,7 @@ public class NativeQueryResultTypeAutoDiscoveryTest {
@SkipForDialect(dialectClass = DerbyDialect.class, reason = "No support for the tinyint datatype so we use smallint") @SkipForDialect(dialectClass = DerbyDialect.class, reason = "No support for the tinyint datatype so we use smallint")
@SkipForDialect(dialectClass = DB2Dialect.class, reason = "No support for the tinyint datatype so we use smallint") @SkipForDialect(dialectClass = DB2Dialect.class, reason = "No support for the tinyint datatype so we use smallint")
@SkipForDialect(dialectClass = AbstractTransactSQLDialect.class, matchSubTypes = true, reason = "No support for the tinyint datatype so we use smallint") @SkipForDialect(dialectClass = AbstractTransactSQLDialect.class, matchSubTypes = true, reason = "No support for the tinyint datatype so we use smallint")
@SkipForDialect(dialectClass = AbstractHANADialect.class, matchSubTypes = true, reason = "No support for the tinyint datatype so we use smallint") @SkipForDialect(dialectClass = HANADialect.class, matchSubTypes = true, reason = "No support for the tinyint datatype so we use smallint")
@SkipForDialect(dialectClass = OracleDialect.class, reason = "Oracle maps tinyint to number") @SkipForDialect(dialectClass = OracleDialect.class, reason = "Oracle maps tinyint to number")
@SkipForDialect(dialectClass = FirebirdDialect.class, reason = "No support for the tinyint datatype so we use smallint") @SkipForDialect(dialectClass = FirebirdDialect.class, reason = "No support for the tinyint datatype so we use smallint")
@SkipForDialect(dialectClass = AltibaseDialect.class, reason = "Altibase maps tinyint to smallint") @SkipForDialect(dialectClass = AltibaseDialect.class, reason = "Altibase maps tinyint to smallint")
@ -185,7 +185,7 @@ public class NativeQueryResultTypeAutoDiscoveryTest {
@SkipForDialect(dialectClass = DB2Dialect.class, reason = "Value is too big for the maximum allowed precision of DB2") @SkipForDialect(dialectClass = DB2Dialect.class, reason = "Value is too big for the maximum allowed precision of DB2")
@SkipForDialect(dialectClass = OracleDialect.class, reason = "Value is too big for the maximum allowed precision of Oracle") @SkipForDialect(dialectClass = OracleDialect.class, reason = "Value is too big for the maximum allowed precision of Oracle")
@SkipForDialect(dialectClass = AbstractTransactSQLDialect.class, matchSubTypes = true, reason = "Value is too big for the maximum allowed precision of SQL Server and Sybase") @SkipForDialect(dialectClass = AbstractTransactSQLDialect.class, matchSubTypes = true, reason = "Value is too big for the maximum allowed precision of SQL Server and Sybase")
@SkipForDialect(dialectClass = AbstractHANADialect.class, matchSubTypes = true, reason = "Value is too big for the maximum allowed precision of HANA") @SkipForDialect(dialectClass = HANADialect.class, matchSubTypes = true, reason = "Value is too big for the maximum allowed precision of HANA")
@SkipForDialect(dialectClass = FirebirdDialect.class, reason = "Value is too big for the maximum allowed precision of Firebird") @SkipForDialect(dialectClass = FirebirdDialect.class, reason = "Value is too big for the maximum allowed precision of Firebird")
@SkipForDialect(dialectClass = AltibaseDialect.class, reason = "Value is too big for the maximum allowed precision of Altibase") @SkipForDialect(dialectClass = AltibaseDialect.class, reason = "Value is too big for the maximum allowed precision of Altibase")
public void numericType() { public void numericType() {
@ -200,7 +200,7 @@ public class NativeQueryResultTypeAutoDiscoveryTest {
@SkipForDialect(dialectClass = DB2Dialect.class, reason = "Value is too big for the maximum allowed precision of DB2") @SkipForDialect(dialectClass = DB2Dialect.class, reason = "Value is too big for the maximum allowed precision of DB2")
@SkipForDialect(dialectClass = OracleDialect.class, reason = "Value is too big for the maximum allowed precision of Oracle") @SkipForDialect(dialectClass = OracleDialect.class, reason = "Value is too big for the maximum allowed precision of Oracle")
@SkipForDialect(dialectClass = AbstractTransactSQLDialect.class, matchSubTypes = true, reason = "Value is too big for the maximum allowed precision of SQL Server and Sybase") @SkipForDialect(dialectClass = AbstractTransactSQLDialect.class, matchSubTypes = true, reason = "Value is too big for the maximum allowed precision of SQL Server and Sybase")
@SkipForDialect(dialectClass = AbstractHANADialect.class, matchSubTypes = true, reason = "Value is too big for the maximum allowed precision of HANA") @SkipForDialect(dialectClass = HANADialect.class, matchSubTypes = true, reason = "Value is too big for the maximum allowed precision of HANA")
@SkipForDialect(dialectClass = FirebirdDialect.class, reason = "Value is too big for the maximum allowed precision of Firebird") @SkipForDialect(dialectClass = FirebirdDialect.class, reason = "Value is too big for the maximum allowed precision of Firebird")
@SkipForDialect(dialectClass = AltibaseDialect.class, reason = "Value is too big for the maximum allowed precision of Altibase") @SkipForDialect(dialectClass = AltibaseDialect.class, reason = "Value is too big for the maximum allowed precision of Altibase")
public void decimalType() { public void decimalType() {
@ -223,7 +223,7 @@ public class NativeQueryResultTypeAutoDiscoveryTest {
@SkipForDialect(dialectClass = OracleDialect.class, reason = "Oracle maps LONGVARCHAR to CLOB") @SkipForDialect(dialectClass = OracleDialect.class, reason = "Oracle maps LONGVARCHAR to CLOB")
@SkipForDialect(dialectClass = DB2Dialect.class, reason = "DB2 maps LONGVARCHAR to CLOB") @SkipForDialect(dialectClass = DB2Dialect.class, reason = "DB2 maps LONGVARCHAR to CLOB")
@SkipForDialect(dialectClass = SybaseDialect.class, matchSubTypes = true, reason = "Sybase maps LONGVARCHAR to CLOB") @SkipForDialect(dialectClass = SybaseDialect.class, matchSubTypes = true, reason = "Sybase maps LONGVARCHAR to CLOB")
@SkipForDialect(dialectClass = AbstractHANADialect.class, matchSubTypes = true, reason = "HANA maps LONGVARCHAR to CLOB") @SkipForDialect(dialectClass = HANADialect.class, matchSubTypes = true, reason = "HANA maps LONGVARCHAR to CLOB")
@SkipForDialect(dialectClass = AltibaseDialect.class, reason = "Altibase maps LONGVARCHAR to CLOB") @SkipForDialect(dialectClass = AltibaseDialect.class, reason = "Altibase maps LONGVARCHAR to CLOB")
public void longCharType() { public void longCharType() {
createEntityManagerFactory( createEntityManagerFactory(
@ -263,7 +263,7 @@ public class NativeQueryResultTypeAutoDiscoveryTest {
@SkipForDialect(dialectClass = DB2Dialect.class, reason = "DB2 maps LONGVARBINARY to BLOB") @SkipForDialect(dialectClass = DB2Dialect.class, reason = "DB2 maps LONGVARBINARY to BLOB")
@SkipForDialect(dialectClass = SybaseDialect.class, matchSubTypes = true, reason = "Sybase maps LONGVARBINARY to BLOB") @SkipForDialect(dialectClass = SybaseDialect.class, matchSubTypes = true, reason = "Sybase maps LONGVARBINARY to BLOB")
@SkipForDialect(dialectClass = AltibaseDialect.class, reason = "Altibase maps LONGVARBINARY to BLOB") @SkipForDialect(dialectClass = AltibaseDialect.class, reason = "Altibase maps LONGVARBINARY to BLOB")
@SkipForDialect(dialectClass = AbstractHANADialect.class, matchSubTypes = true, reason = "HANA maps LONGVARCHAR to BLOB") @SkipForDialect(dialectClass = HANADialect.class, matchSubTypes = true, reason = "HANA maps LONGVARCHAR to BLOB")
public void longBinaryType() { public void longBinaryType() {
createEntityManagerFactory( createEntityManagerFactory(
LongvarbinaryEntity.class LongvarbinaryEntity.class

View File

@ -6,7 +6,7 @@
*/ */
package org.hibernate.orm.test.locking; package org.hibernate.orm.test.locking;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import jakarta.persistence.Entity; import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue; import jakarta.persistence.GeneratedValue;
@ -34,7 +34,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
) )
@SessionFactory @SessionFactory
@TestForIssue(jiraKey = "HHH-11656") @TestForIssue(jiraKey = "HHH-11656")
@RequiresDialect(AbstractHANADialect.class) @RequiresDialect(HANADialect.class)
public class HANAOptimisticLockingTest { public class HANAOptimisticLockingTest {
@Test @Test

View File

@ -11,7 +11,7 @@ import java.sql.Types;
import org.hibernate.boot.model.FunctionContributions; import org.hibernate.boot.model.FunctionContributions;
import org.hibernate.boot.model.FunctionContributor; import org.hibernate.boot.model.FunctionContributor;
import org.hibernate.community.dialect.AltibaseDialect; import org.hibernate.community.dialect.AltibaseDialect;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.dialect.DB2Dialect; import org.hibernate.dialect.DB2Dialect;
import org.hibernate.dialect.OracleDialect; import org.hibernate.dialect.OracleDialect;
import org.hibernate.dialect.SQLServerDialect; import org.hibernate.dialect.SQLServerDialect;
@ -357,7 +357,7 @@ public class BooleanMappingTests {
@SkipForDialect(dialectClass = OracleDialect.class) @SkipForDialect(dialectClass = OracleDialect.class)
@SkipForDialect(dialectClass = SQLServerDialect.class) @SkipForDialect(dialectClass = SQLServerDialect.class)
@SkipForDialect(dialectClass = SybaseDialect.class, matchSubTypes = true) @SkipForDialect(dialectClass = SybaseDialect.class, matchSubTypes = true)
@SkipForDialect(dialectClass = AbstractHANADialect.class, matchSubTypes = true) @SkipForDialect(dialectClass = HANADialect.class, matchSubTypes = true)
@SkipForDialect(dialectClass = DB2Dialect.class, majorVersion = 10) @SkipForDialect(dialectClass = DB2Dialect.class, majorVersion = 10)
@SkipForDialect(dialectClass = AltibaseDialect.class) @SkipForDialect(dialectClass = AltibaseDialect.class)
public void testBooleanFunctionInPredicate(SessionFactoryScope scope) { public void testBooleanFunctionInPredicate(SessionFactoryScope scope) {

View File

@ -17,7 +17,7 @@ import jakarta.json.JsonValue;
import org.hibernate.annotations.JdbcTypeCode; import org.hibernate.annotations.JdbcTypeCode;
import org.hibernate.cfg.AvailableSettings; import org.hibernate.cfg.AvailableSettings;
import org.hibernate.community.dialect.AltibaseDialect; import org.hibernate.community.dialect.AltibaseDialect;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.dialect.DerbyDialect; import org.hibernate.dialect.DerbyDialect;
import org.hibernate.dialect.OracleDialect; import org.hibernate.dialect.OracleDialect;
import org.hibernate.dialect.PostgreSQLDialect; import org.hibernate.dialect.PostgreSQLDialect;
@ -192,7 +192,7 @@ public abstract class JsonMappingTests {
@Test @Test
@SkipForDialect(dialectClass = DerbyDialect.class, reason = "Derby doesn't support comparing CLOBs with the = operator") @SkipForDialect(dialectClass = DerbyDialect.class, reason = "Derby doesn't support comparing CLOBs with the = operator")
@SkipForDialect(dialectClass = AbstractHANADialect.class, matchSubTypes = true, reason = "HANA doesn't support comparing LOBs with the = operator") @SkipForDialect(dialectClass = HANADialect.class, matchSubTypes = true, reason = "HANA doesn't support comparing LOBs with the = operator")
@SkipForDialect(dialectClass = SybaseDialect.class, matchSubTypes = true, reason = "Sybase doesn't support comparing LOBs with the = operator") @SkipForDialect(dialectClass = SybaseDialect.class, matchSubTypes = true, reason = "Sybase doesn't support comparing LOBs with the = operator")
@SkipForDialect(dialectClass = OracleDialect.class, matchSubTypes = true, reason = "Oracle doesn't support comparing JSON with the = operator") @SkipForDialect(dialectClass = OracleDialect.class, matchSubTypes = true, reason = "Oracle doesn't support comparing JSON with the = operator")
@SkipForDialect(dialectClass = AltibaseDialect.class, reason = "Altibase doesn't support comparing CLOBs with the = operator") @SkipForDialect(dialectClass = AltibaseDialect.class, reason = "Altibase doesn't support comparing CLOBs with the = operator")

View File

@ -12,7 +12,7 @@ import java.util.Map;
import org.hibernate.annotations.JdbcTypeCode; import org.hibernate.annotations.JdbcTypeCode;
import org.hibernate.cfg.AvailableSettings; import org.hibernate.cfg.AvailableSettings;
import org.hibernate.community.dialect.AltibaseDialect; import org.hibernate.community.dialect.AltibaseDialect;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.dialect.DerbyDialect; import org.hibernate.dialect.DerbyDialect;
import org.hibernate.dialect.OracleDialect; import org.hibernate.dialect.OracleDialect;
import org.hibernate.dialect.SybaseDialect; import org.hibernate.dialect.SybaseDialect;
@ -138,7 +138,7 @@ public abstract class XmlMappingTests {
@Test @Test
@SkipForDialect(dialectClass = DerbyDialect.class, reason = "Derby doesn't support comparing CLOBs with the = operator") @SkipForDialect(dialectClass = DerbyDialect.class, reason = "Derby doesn't support comparing CLOBs with the = operator")
@SkipForDialect(dialectClass = AbstractHANADialect.class, matchSubTypes = true, reason = "HANA doesn't support comparing LOBs with the = operator") @SkipForDialect(dialectClass = HANADialect.class, matchSubTypes = true, reason = "HANA doesn't support comparing LOBs with the = operator")
@SkipForDialect(dialectClass = SybaseDialect.class, matchSubTypes = true, reason = "Sybase doesn't support comparing LOBs with the = operator") @SkipForDialect(dialectClass = SybaseDialect.class, matchSubTypes = true, reason = "Sybase doesn't support comparing LOBs with the = operator")
@SkipForDialect(dialectClass = OracleDialect.class, matchSubTypes = true, reason = "Oracle doesn't support comparing JSON with the = operator") @SkipForDialect(dialectClass = OracleDialect.class, matchSubTypes = true, reason = "Oracle doesn't support comparing JSON with the = operator")
@SkipForDialect(dialectClass = AltibaseDialect.class, reason = "Altibase doesn't support comparing CLOBs with the = operator") @SkipForDialect(dialectClass = AltibaseDialect.class, reason = "Altibase doesn't support comparing CLOBs with the = operator")

View File

@ -12,7 +12,7 @@ import java.util.Collection;
import jakarta.persistence.EntityExistsException; import jakarta.persistence.EntityExistsException;
import jakarta.persistence.PersistenceException; import jakarta.persistence.PersistenceException;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.exception.ConstraintViolationException; import org.hibernate.exception.ConstraintViolationException;
import org.hibernate.testing.orm.junit.DialectFeatureChecks; import org.hibernate.testing.orm.junit.DialectFeatureChecks;
@ -214,7 +214,7 @@ public class CreateTest extends AbstractOperationTestCase {
@Test @Test
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@SkipForDialect(dialectClass = AbstractHANADialect.class, reason = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(dialectClass = HANADialect.class, reason = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testBasic(SessionFactoryScope scope) throws Exception { public void testBasic(SessionFactoryScope scope) throws Exception {
Employer er = new Employer(); Employer er = new Employer();
Employee ee = new Employee(); Employee ee = new Employee();

View File

@ -8,7 +8,7 @@ package org.hibernate.orm.test.ops;
import org.hibernate.MappingException; import org.hibernate.MappingException;
import org.hibernate.boot.spi.MetadataImplementor; import org.hibernate.boot.spi.MetadataImplementor;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.engine.spi.SessionFactoryImplementor; import org.hibernate.engine.spi.SessionFactoryImplementor;
import org.hibernate.testing.orm.junit.BaseSessionFactoryFunctionalTest; import org.hibernate.testing.orm.junit.BaseSessionFactoryFunctionalTest;
@ -22,7 +22,7 @@ import static org.junit.jupiter.api.Assertions.fail;
/** /**
* @author Vlad Mihalcea * @author Vlad Mihalcea
*/ */
@RequiresDialect( value = AbstractHANADialect.class ) @RequiresDialect( value = HANADialect.class )
public class HANANoColumnInsertTest extends BaseSessionFactoryFunctionalTest { public class HANANoColumnInsertTest extends BaseSessionFactoryFunctionalTest {
@Override @Override

View File

@ -20,7 +20,7 @@ import org.hibernate.Hibernate;
import org.hibernate.NonUniqueObjectException; import org.hibernate.NonUniqueObjectException;
import org.hibernate.Session; import org.hibernate.Session;
import org.hibernate.StaleObjectStateException; import org.hibernate.StaleObjectStateException;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.testing.orm.junit.DialectFeatureChecks; import org.hibernate.testing.orm.junit.DialectFeatureChecks;
import org.hibernate.testing.orm.junit.RequiresDialectFeature; import org.hibernate.testing.orm.junit.RequiresDialectFeature;
@ -734,7 +734,7 @@ public class MergeTest extends AbstractOperationTestCase {
@Test @Test
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@SkipForDialect(dialectClass = AbstractHANADialect.class, reason = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(dialectClass = HANADialect.class, reason = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testRecursiveMergeTransient(SessionFactoryScope scope) { public void testRecursiveMergeTransient(SessionFactoryScope scope) {
scope.inTransaction( scope.inTransaction(
session -> { session -> {
@ -784,7 +784,7 @@ public class MergeTest extends AbstractOperationTestCase {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@Test @Test
@SkipForDialect(dialectClass = AbstractHANADialect.class, reason = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(dialectClass = HANADialect.class, reason = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testMergeManyToManyWithCollectionDeference(SessionFactoryScope scope) { public void testMergeManyToManyWithCollectionDeference(SessionFactoryScope scope) {
// setup base data... // setup base data...
Competition competition = new Competition(); Competition competition = new Competition();

View File

@ -22,7 +22,7 @@ import jakarta.persistence.ParameterMode;
import jakarta.persistence.StoredProcedureParameter; import jakarta.persistence.StoredProcedureParameter;
import jakarta.persistence.StoredProcedureQuery; import jakarta.persistence.StoredProcedureQuery;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.procedure.ProcedureCall; import org.hibernate.procedure.ProcedureCall;
import org.hibernate.query.procedure.ProcedureParameter; import org.hibernate.query.procedure.ProcedureParameter;
import org.hibernate.result.Output; import org.hibernate.result.Output;
@ -46,7 +46,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
/** /**
* @author Vlad Mihalcea, Jonathan Bregler * @author Vlad Mihalcea, Jonathan Bregler
*/ */
@RequiresDialect(AbstractHANADialect.class) @RequiresDialect(HANADialect.class)
@DomainModel( @DomainModel(
annotatedClasses = { annotatedClasses = {
Person.class, Person.class,

View File

@ -12,7 +12,7 @@ import jakarta.persistence.TupleElement;
import org.hibernate.ScrollMode; import org.hibernate.ScrollMode;
import org.hibernate.ScrollableResults; import org.hibernate.ScrollableResults;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.engine.spi.SessionImplementor; import org.hibernate.engine.spi.SessionImplementor;
import org.hibernate.query.Query; import org.hibernate.query.Query;
import org.hibernate.query.spi.QueryImplementor; import org.hibernate.query.spi.QueryImplementor;
@ -58,7 +58,7 @@ public class ScrollableResultsTests {
} }
@Test @Test
@SkipForDialect(dialectClass = AbstractHANADialect.class, matchSubTypes = true, reason = "HANA supports only ResultSet.TYPE_FORWARD_ONLY") @SkipForDialect(dialectClass = HANADialect.class, matchSubTypes = true, reason = "HANA supports only ResultSet.TYPE_FORWARD_ONLY")
public void testCursorPositioning(SessionFactoryScope scope) { public void testCursorPositioning(SessionFactoryScope scope) {
// create an extra row so we can better test cursor positioning // create an extra row so we can better test cursor positioning
scope.inTransaction( scope.inTransaction(
@ -269,7 +269,7 @@ public class ScrollableResultsTests {
final SessionImplementor session = (SessionImplementor) query.getSession(); final SessionImplementor session = (SessionImplementor) query.getSession();
// HANA supports only ResultSet.TYPE_FORWARD_ONLY // HANA supports only ResultSet.TYPE_FORWARD_ONLY
if ( !( session.getFactory().getJdbcServices().getDialect() instanceof AbstractHANADialect ) ) { if ( !( session.getFactory().getJdbcServices().getDialect() instanceof HANADialect ) ) {
try (final ScrollableResults<R> results = query.scroll( ScrollMode.SCROLL_INSENSITIVE )) { try (final ScrollableResults<R> results = query.scroll( ScrollMode.SCROLL_INSENSITIVE )) {
assertThat( results.next(), is( true ) ); assertThat( results.next(), is( true ) );
validator.accept( results.get() ); validator.accept( results.get() );

View File

@ -18,7 +18,7 @@ import jakarta.persistence.criteria.Join;
import jakarta.persistence.criteria.JoinType; import jakarta.persistence.criteria.JoinType;
import jakarta.persistence.criteria.Root; import jakarta.persistence.criteria.Root;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.query.Query; import org.hibernate.query.Query;
import org.hibernate.testing.orm.junit.DomainModel; import org.hibernate.testing.orm.junit.DomainModel;
@ -47,7 +47,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
annotatedClasses = { QueryHintHANATest.Employee.class, QueryHintHANATest.Department.class } annotatedClasses = { QueryHintHANATest.Employee.class, QueryHintHANATest.Department.class }
) )
@SessionFactory( useCollectingStatementInspector = true ) @SessionFactory( useCollectingStatementInspector = true )
@RequiresDialect(AbstractHANADialect.class) @RequiresDialect(HANADialect.class)
public class QueryHintHANATest { public class QueryHintHANATest {
@BeforeEach @BeforeEach

View File

@ -10,7 +10,6 @@ package org.hibernate.orm.test.queryhint;
import java.util.List; import java.util.List;
import org.hibernate.cfg.AvailableSettings; import org.hibernate.cfg.AvailableSettings;
import org.hibernate.dialect.SQLServer2012Dialect;
import org.hibernate.dialect.SQLServerDialect; import org.hibernate.dialect.SQLServerDialect;
import org.hibernate.query.Query; import org.hibernate.query.Query;
@ -166,7 +165,7 @@ public class QueryHintSQLServer2012Test {
* after completely processing it. Instead, use this ridiculous hack to ensure Loader actually calls Dialect. TODO: * after completely processing it. Instead, use this ridiculous hack to ensure Loader actually calls Dialect. TODO:
* This is terrible. Better ideas? * This is terrible. Better ideas?
*/ */
public static class QueryHintTestSQLServer2012Dialect extends SQLServer2012Dialect { public static class QueryHintTestSQLServer2012Dialect extends SQLServerDialect {
private static String processedSql; private static String processedSql;

View File

@ -8,7 +8,7 @@ package org.hibernate.orm.test.resulttransformer;
import org.hibernate.ScrollableResults; import org.hibernate.ScrollableResults;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.query.Query; import org.hibernate.query.Query;
import org.hibernate.transform.ResultTransformer; import org.hibernate.transform.ResultTransformer;
@ -63,7 +63,7 @@ public class ResultTransformerTest {
try (ScrollableResults sr = q.scroll()) { try (ScrollableResults sr = q.scroll()) {
// HANA supports only ResultSet.TYPE_FORWARD_ONLY and // HANA supports only ResultSet.TYPE_FORWARD_ONLY and
// does not support java.sql.ResultSet.first() // does not support java.sql.ResultSet.first()
if ( scope.getSessionFactory().getJdbcServices().getDialect() instanceof AbstractHANADialect ) { if ( scope.getSessionFactory().getJdbcServices().getDialect() instanceof HANADialect ) {
sr.next(); sr.next();
} }
else { else {

View File

@ -21,7 +21,7 @@ import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.spi.MetadataImplementor; import org.hibernate.boot.spi.MetadataImplementor;
import org.hibernate.cfg.Configuration; import org.hibernate.cfg.Configuration;
import org.hibernate.cfg.Environment; import org.hibernate.cfg.Environment;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.dialect.Dialect; import org.hibernate.dialect.Dialect;
import org.hibernate.service.ServiceRegistry; import org.hibernate.service.ServiceRegistry;
import org.hibernate.tool.hbm2ddl.SchemaExport; import org.hibernate.tool.hbm2ddl.SchemaExport;
@ -41,7 +41,7 @@ import static org.junit.Assert.fail;
/** /**
* @author Jonathan Bregler * @author Jonathan Bregler
*/ */
@RequiresDialect(value = AbstractHANADialect.class) @RequiresDialect(value = HANADialect.class)
public class HANASchemaMigrationTargetScriptCreationTest extends BaseCoreFunctionalTestCase { public class HANASchemaMigrationTargetScriptCreationTest extends BaseCoreFunctionalTestCase {
private File output; private File output;
@ -75,8 +75,8 @@ public class HANASchemaMigrationTargetScriptCreationTest extends BaseCoreFunctio
protected void afterSessionFactoryBuilt() { protected void afterSessionFactoryBuilt() {
super.afterSessionFactoryBuilt(); super.afterSessionFactoryBuilt();
final Dialect dialect = sessionFactory().getJdbcServices().getDialect(); final Dialect dialect = sessionFactory().getJdbcServices().getDialect();
this.varcharType = ( (AbstractHANADialect) dialect ).isUseUnicodeStringTypes() ? "nvarchar" : "varchar"; this.varcharType = ( (HANADialect) dialect ).isUseUnicodeStringTypes() ? "nvarchar" : "varchar";
this.clobType = ( (AbstractHANADialect) dialect ).isUseUnicodeStringTypes() ? "nclob" : "clob"; this.clobType = ( (HANADialect) dialect ).isUseUnicodeStringTypes() ? "nclob" : "clob";
} }
@After @After

View File

@ -24,7 +24,7 @@ import org.hibernate.Hibernate;
import org.hibernate.QueryException; import org.hibernate.QueryException;
import org.hibernate.Transaction; import org.hibernate.Transaction;
import org.hibernate.cfg.Environment; import org.hibernate.cfg.Environment;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.dialect.H2Dialect; import org.hibernate.dialect.H2Dialect;
import org.hibernate.dialect.MySQLDialect; import org.hibernate.dialect.MySQLDialect;
import org.hibernate.orm.test.sql.hand.Dimension; import org.hibernate.orm.test.sql.hand.Dimension;

View File

@ -10,7 +10,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.hibernate.cfg.Environment; import org.hibernate.cfg.Environment;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.query.NativeQuery; import org.hibernate.query.NativeQuery;
import org.hibernate.query.Query; import org.hibernate.query.Query;
@ -40,7 +40,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
public class StatelessSessionQueryTest { public class StatelessSessionQueryTest {
@Test @Test
@SkipForDialect(dialectClass = AbstractHANADialect.class, matchSubTypes = true, reason = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(dialectClass = HANADialect.class, matchSubTypes = true, reason = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testHQL(SessionFactoryScope scope) { public void testHQL(SessionFactoryScope scope) {
scope.inStatelessSession( scope.inStatelessSession(
session -> session ->
@ -53,7 +53,7 @@ public class StatelessSessionQueryTest {
@Test @Test
@TestForIssue(jiraKey = "HHH-13194") @TestForIssue(jiraKey = "HHH-13194")
@SkipForDialect(dialectClass = AbstractHANADialect.class, matchSubTypes = true, reason = " HANA doesn't support tables consisting of only a single auto-generated column") @SkipForDialect(dialectClass = HANADialect.class, matchSubTypes = true, reason = " HANA doesn't support tables consisting of only a single auto-generated column")
public void testNewQueryApis(SessionFactoryScope scope) { public void testNewQueryApis(SessionFactoryScope scope) {
final String queryString = "from Contact c join fetch c.org o join fetch o.country"; final String queryString = "from Contact c join fetch c.org o join fetch o.country";

View File

@ -7,13 +7,6 @@
package org.hibernate.orm.test.strategyselectors; package org.hibernate.orm.test.strategyselectors;
import org.hibernate.boot.registry.selector.internal.DefaultDialectSelector; import org.hibernate.boot.registry.selector.internal.DefaultDialectSelector;
import org.hibernate.community.dialect.DerbyTenFiveDialect;
import org.hibernate.community.dialect.DerbyTenSevenDialect;
import org.hibernate.community.dialect.DerbyTenSixDialect;
import org.hibernate.community.dialect.MySQL57Dialect;
import org.hibernate.community.dialect.MySQL5Dialect;
import org.hibernate.community.dialect.Oracle12cDialect;
import org.hibernate.community.dialect.SQLServer2008Dialect;
import org.hibernate.dialect.*; import org.hibernate.dialect.*;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
@ -28,34 +21,21 @@ public class DefaultDialectSelectorTest {
@Test @Test
public void verifyAllDialectNamingResolve() { public void verifyAllDialectNamingResolve() {
testDialectNamingResolution( DB2Dialect.class ); testDialectNamingResolution( DB2Dialect.class );
testDialectNamingResolution( DB2400Dialect.class );
testDialectNamingResolution( DB2400V7R3Dialect.class );
testDialectNamingResolution( DerbyDialect.class ); testDialectNamingResolution( DerbyDialect.class );
testDialectNamingResolution( DerbyTenFiveDialect.class );
testDialectNamingResolution( DerbyTenSixDialect.class );
testDialectNamingResolution( DerbyTenSevenDialect.class );
testDialectNamingResolution( H2Dialect.class ); testDialectNamingResolution( H2Dialect.class );
testDialectNamingResolution( HANADialect.class ); testDialectNamingResolution( HANADialect.class );
testDialectNamingResolution( HANAColumnStoreDialect.class );
testDialectNamingResolution( HANARowStoreDialect.class );
testDialectNamingResolution( HSQLDialect.class ); testDialectNamingResolution( HSQLDialect.class );
testDialectNamingResolution( MySQLDialect.class ); testDialectNamingResolution( MySQLDialect.class );
testDialectNamingResolution( MySQL5Dialect.class );
testDialectNamingResolution( MySQL57Dialect.class );
testDialectNamingResolution( MySQL8Dialect.class );
testDialectNamingResolution( OracleDialect.class ); testDialectNamingResolution( OracleDialect.class );
testDialectNamingResolution( Oracle12cDialect.class );
testDialectNamingResolution( PostgreSQLDialect.class ); testDialectNamingResolution( PostgreSQLDialect.class );
testDialectNamingResolution( PostgresPlusDialect.class ); testDialectNamingResolution( PostgresPlusDialect.class );
testDialectNamingResolution( SQLServerDialect.class ); testDialectNamingResolution( SQLServerDialect.class );
testDialectNamingResolution( SQLServer2008Dialect.class );
testDialectNamingResolution( SQLServer2012Dialect.class );
testDialectNamingResolution( SybaseDialect.class ); testDialectNamingResolution( SybaseDialect.class );
} }

View File

@ -21,7 +21,7 @@ import jakarta.persistence.Column;
import jakarta.persistence.Entity; import jakarta.persistence.Entity;
import jakarta.persistence.Id; import jakarta.persistence.Id;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.dialect.H2Dialect; import org.hibernate.dialect.H2Dialect;
import org.hibernate.dialect.HSQLDialect; import org.hibernate.dialect.HSQLDialect;
import org.hibernate.dialect.MariaDBDialect; import org.hibernate.dialect.MariaDBDialect;
@ -36,7 +36,7 @@ import org.junit.runners.Parameterized;
* Tests for storage of LocalDate properties. * Tests for storage of LocalDate properties.
*/ */
@TestForIssue(jiraKey = "HHH-10371") @TestForIssue(jiraKey = "HHH-10371")
@SkipForDialect(value = AbstractHANADialect.class, @SkipForDialect(value = HANADialect.class,
comment = "HANA systematically returns the wrong date when the JVM default timezone is not UTC") comment = "HANA systematically returns the wrong date when the JVM default timezone is not UTC")
@SkipForDialect(value = MySQLDialect.class, @SkipForDialect(value = MySQLDialect.class,
comment = "HHH-13582: MySQL ConnectorJ 8.x returns the wrong date" comment = "HHH-13582: MySQL ConnectorJ 8.x returns the wrong date"

View File

@ -22,7 +22,7 @@ import jakarta.persistence.Column;
import jakarta.persistence.Entity; import jakarta.persistence.Entity;
import jakarta.persistence.Id; import jakarta.persistence.Id;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.dialect.H2Dialect; import org.hibernate.dialect.H2Dialect;
import org.hibernate.dialect.HSQLDialect; import org.hibernate.dialect.HSQLDialect;
import org.hibernate.dialect.MariaDBDialect; import org.hibernate.dialect.MariaDBDialect;
@ -200,7 +200,7 @@ public class LocalTimeTest extends AbstractJavaTimeTypeTest<LocalTime, LocalTime
@Override @Override
@Test @Test
@SkipForDialect(value = AbstractHANADialect.class, comment = "HANA seems to return a java.sql.Timestamp instead of a java.sql.Time") @SkipForDialect(value = HANADialect.class, comment = "HANA seems to return a java.sql.Timestamp instead of a java.sql.Time")
@SkipForDialect(value = MySQLDialect.class, @SkipForDialect(value = MySQLDialect.class,
comment = "HHH-13580 MySQL seems to store the whole timestamp, not just the time," comment = "HHH-13580 MySQL seems to store the whole timestamp, not just the time,"
+ " which for some timezones results in a date other than 1970-01-01 being returned" + " which for some timezones results in a date other than 1970-01-01 being returned"

View File

@ -29,7 +29,7 @@ import jakarta.persistence.Id;
import org.hibernate.annotations.TimeZoneStorageType; import org.hibernate.annotations.TimeZoneStorageType;
import org.hibernate.cfg.AvailableSettings; import org.hibernate.cfg.AvailableSettings;
import org.hibernate.cfg.Configuration; import org.hibernate.cfg.Configuration;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.dialect.H2Dialect; import org.hibernate.dialect.H2Dialect;
import org.hibernate.dialect.HSQLDialect; import org.hibernate.dialect.HSQLDialect;
import org.hibernate.dialect.MariaDBDialect; import org.hibernate.dialect.MariaDBDialect;
@ -237,7 +237,7 @@ public class OffsetTimeTest extends AbstractJavaTimeTypeTest<OffsetTime, OffsetT
@Override @Override
@Test @Test
@SkipForDialect(value = AbstractHANADialect.class, comment = "HANA seems to return a java.sql.Timestamp instead of a java.sql.Time") @SkipForDialect(value = HANADialect.class, comment = "HANA seems to return a java.sql.Timestamp instead of a java.sql.Time")
@SkipForDialect(value = MySQLDialect.class, @SkipForDialect(value = MySQLDialect.class,
comment = "HHH-13580 MySQL seems to store the whole timestamp, not just the time," comment = "HHH-13580 MySQL seems to store the whole timestamp, not just the time,"
+ " which for some timezones results in a date other than 1970-01-01 being returned" + " which for some timezones results in a date other than 1970-01-01 being returned"

View File

@ -18,7 +18,6 @@ import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.boot.spi.MetadataImplementor; import org.hibernate.boot.spi.MetadataImplementor;
import org.hibernate.cfg.AvailableSettings; import org.hibernate.cfg.AvailableSettings;
import org.hibernate.dialect.Dialect; import org.hibernate.dialect.Dialect;
import org.hibernate.community.dialect.Oracle12cDialect;
import org.hibernate.dialect.OracleDialect; import org.hibernate.dialect.OracleDialect;
import org.hibernate.mapping.PersistentClass; import org.hibernate.mapping.PersistentClass;
import org.hibernate.type.BasicType; import org.hibernate.type.BasicType;
@ -44,17 +43,17 @@ public class OracleLongLobTypeTest extends BaseUnitTestCase {
@Test @Test
@TestForIssue( jiraKey = "HHH-10345" ) @TestForIssue( jiraKey = "HHH-10345" )
public void testOracle12() { public void testOracle12() {
check( Oracle12cDialect.class, Primitives.class, StandardBasicTypes.BINARY, StandardBasicTypes.CHAR_ARRAY ); check( OracleDialect.class, Primitives.class, StandardBasicTypes.BINARY, StandardBasicTypes.CHAR_ARRAY );
check( Oracle12cDialect.class, LobPrimitives.class, StandardBasicTypes.MATERIALIZED_BLOB, StandardBasicTypes.MATERIALIZED_CLOB_CHAR_ARRAY ); check( OracleDialect.class, LobPrimitives.class, StandardBasicTypes.MATERIALIZED_BLOB, StandardBasicTypes.MATERIALIZED_CLOB_CHAR_ARRAY );
check( Oracle12cDialect.class, LobLocators.class, StandardBasicTypes.BLOB, StandardBasicTypes.CLOB ); check( OracleDialect.class, LobLocators.class, StandardBasicTypes.BLOB, StandardBasicTypes.CLOB );
} }
@Test @Test
@TestForIssue( jiraKey = "HHH-10345" ) @TestForIssue( jiraKey = "HHH-10345" )
public void testOracle12PreferLongRaw() { public void testOracle12PreferLongRaw() {
check( Oracle12cDialect.class, Primitives.class, StandardBasicTypes.BINARY, StandardBasicTypes.CHAR_ARRAY, true ); check( OracleDialect.class, Primitives.class, StandardBasicTypes.BINARY, StandardBasicTypes.CHAR_ARRAY, true );
check( Oracle12cDialect.class, LobPrimitives.class, StandardBasicTypes.MATERIALIZED_BLOB, StandardBasicTypes.MATERIALIZED_CLOB_CHAR_ARRAY, true ); check( OracleDialect.class, LobPrimitives.class, StandardBasicTypes.MATERIALIZED_BLOB, StandardBasicTypes.MATERIALIZED_CLOB_CHAR_ARRAY, true );
check( Oracle12cDialect.class, LobLocators.class, StandardBasicTypes.BLOB, StandardBasicTypes.CLOB, true ); check( OracleDialect.class, LobLocators.class, StandardBasicTypes.BLOB, StandardBasicTypes.CLOB, true );
} }
private void check( private void check(

View File

@ -12,7 +12,7 @@ import java.util.concurrent.TimeUnit;
import jakarta.persistence.Entity; import jakarta.persistence.Entity;
import jakarta.persistence.Id; import jakarta.persistence.Id;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.dialect.MariaDBDialect; import org.hibernate.dialect.MariaDBDialect;
import org.hibernate.dialect.MySQLDialect; import org.hibernate.dialect.MySQLDialect;
import org.hibernate.dialect.OracleDialect; import org.hibernate.dialect.OracleDialect;
@ -32,7 +32,7 @@ import static org.junit.Assert.assertEquals;
@SkipForDialect(MariaDBDialect.class) @SkipForDialect(MariaDBDialect.class)
@SkipForDialect(MySQLDialect.class) @SkipForDialect(MySQLDialect.class)
@SkipForDialect(value = OracleDialect.class, comment = "Oracle date does not support milliseconds ") @SkipForDialect(value = OracleDialect.class, comment = "Oracle date does not support milliseconds ")
@SkipForDialect(value = AbstractHANADialect.class, comment = "HANA date does not support milliseconds ") @SkipForDialect(value = HANADialect.class, comment = "HANA date does not support milliseconds ")
public class TimeAndTimestampTest extends BaseNonConfigCoreFunctionalTestCase { public class TimeAndTimestampTest extends BaseNonConfigCoreFunctionalTestCase {
@Override @Override

View File

@ -13,7 +13,7 @@ import java.util.function.Function;
import java.util.stream.Stream; import java.util.stream.Stream;
import org.hibernate.annotations.JdbcTypeCode; import org.hibernate.annotations.JdbcTypeCode;
import org.hibernate.dialect.AbstractHANADialect; import org.hibernate.dialect.HANADialect;
import org.hibernate.dialect.OracleDialect; import org.hibernate.dialect.OracleDialect;
import org.hibernate.dialect.SybaseDialect; import org.hibernate.dialect.SybaseDialect;
import org.hibernate.type.SqlTypes; import org.hibernate.type.SqlTypes;
@ -215,7 +215,7 @@ public class VarbinaryArrayTest {
@ParameterizedTest @ParameterizedTest
@MethodSource("perTypeArguments") @MethodSource("perTypeArguments")
@SkipForDialect( dialectClass = AbstractHANADialect.class, matchSubTypes = true, reason = "For some reason, HANA can't intersect VARBINARY values, but funnily can do a union...") @SkipForDialect( dialectClass = HANADialect.class, matchSubTypes = true, reason = "For some reason, HANA can't intersect VARBINARY values, but funnily can do a union...")
<T> void queryByData(String propertyName, long id, T value, Function<EntityWithArrays, T> getter, <T> void queryByData(String propertyName, long id, T value, Function<EntityWithArrays, T> getter,
SessionFactoryScope scope) { SessionFactoryScope scope) {
scope.inTransaction( session -> { scope.inTransaction( session -> {

View File

@ -9,7 +9,6 @@ package org.hibernate.orm.test.typeoverride;
import java.sql.Types; import java.sql.Types;
import org.hibernate.boot.MetadataBuilder; import org.hibernate.boot.MetadataBuilder;
import org.hibernate.dialect.AbstractHANADialect;
import org.hibernate.dialect.CockroachDialect; import org.hibernate.dialect.CockroachDialect;
import org.hibernate.dialect.Dialect; import org.hibernate.dialect.Dialect;
import org.hibernate.dialect.HANADialect; import org.hibernate.dialect.HANADialect;
@ -73,9 +72,9 @@ public class TypeOverrideTest extends BaseSessionFactoryFunctionalTest {
jdbcTypeRegistry.getDescriptor( Types.BLOB ) jdbcTypeRegistry.getDescriptor( Types.BLOB )
); );
} }
else if ( AbstractHANADialect.class.isInstance( dialect ) ) { else if ( HANADialect.class.isInstance( dialect ) ) {
Assertions.assertInstanceOf( Assertions.assertInstanceOf(
AbstractHANADialect.HANABlobType.class, HANADialect.HANABlobType.class,
jdbcTypeRegistry.getDescriptor( Types.BLOB ) jdbcTypeRegistry.getDescriptor( Types.BLOB )
); );
} }

Some files were not shown because too many files have changed in this diff Show More