Informix tests fixes
This commit is contained in:
parent
f80ba1fe22
commit
8d52c0e718
|
@ -7,6 +7,7 @@
|
|||
package org.hibernate.orm.test.annotations.uniqueconstraint;
|
||||
|
||||
import org.hibernate.JDBCException;
|
||||
import org.hibernate.community.dialect.InformixDialect;
|
||||
import org.hibernate.dialect.SybaseDialect;
|
||||
|
||||
import org.hibernate.testing.orm.junit.DomainModel;
|
||||
|
@ -27,6 +28,9 @@ import static org.junit.Assert.fail;
|
|||
*/
|
||||
@DomainModel( annotatedClasses = { Room.class, Building.class, House.class } )
|
||||
@SessionFactory
|
||||
@SkipForDialect( dialectClass = InformixDialect.class,
|
||||
matchSubTypes = true,
|
||||
reason = "Informix does not properly support unique constraints on nullable columns" )
|
||||
@SkipForDialect( dialectClass = SybaseDialect.class,
|
||||
matchSubTypes = true,
|
||||
reason = "Sybase does not properly support unique constraints on nullable columns" )
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
*/
|
||||
package org.hibernate.orm.test.inheritance;
|
||||
|
||||
import org.hibernate.community.dialect.InformixDialect;
|
||||
import org.hibernate.dialect.Dialect;
|
||||
import org.hibernate.dialect.FunctionalDependencyAnalysisSupport;
|
||||
import org.hibernate.metamodel.mapping.EntityMappingType;
|
||||
|
@ -16,6 +17,7 @@ import org.hibernate.testing.orm.junit.DomainModel;
|
|||
import org.hibernate.testing.orm.junit.Jira;
|
||||
import org.hibernate.testing.orm.junit.SessionFactory;
|
||||
import org.hibernate.testing.orm.junit.SessionFactoryScope;
|
||||
import org.hibernate.testing.orm.junit.SkipForDialect;
|
||||
import org.junit.jupiter.api.AfterAll;
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
@ -86,6 +88,7 @@ public class InheritanceQueryGroupByTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
@SkipForDialect( dialectClass = InformixDialect.class , reason = "Informix does not support case expressions within the GROUP BY clause")
|
||||
public void testGroupByJoined(SessionFactoryScope scope) {
|
||||
testGroupBy( scope, "joinedParent", JoinedParent.class, "joined_child_one", 1 );
|
||||
}
|
||||
|
@ -162,6 +165,7 @@ public class InheritanceQueryGroupByTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
@SkipForDialect( dialectClass = InformixDialect.class , reason = "Informix does not support case expressions within the GROUP BY clause")
|
||||
public void testGroupByAndOrderByJoined(SessionFactoryScope scope) {
|
||||
testGroupByAndOrderBy( scope, "joinedParent", JoinedParent.class, "joined_child_one", 1 );
|
||||
}
|
||||
|
|
|
@ -20,6 +20,8 @@ import jakarta.persistence.criteria.Root;
|
|||
import jakarta.persistence.criteria.SetJoin;
|
||||
import jakarta.persistence.metamodel.EntityType;
|
||||
import jakarta.persistence.metamodel.Metamodel;
|
||||
|
||||
import org.hibernate.community.dialect.InformixDialect;
|
||||
import org.hibernate.dialect.CockroachDialect;
|
||||
import org.hibernate.orm.test.jpa.BaseEntityManagerFunctionalTestCase;
|
||||
import org.hibernate.orm.test.jpa.metamodel.Address;
|
||||
|
@ -260,8 +262,13 @@ public class QueryBuilderTest extends BaseEntityManagerFunctionalTestCase {
|
|||
em.getTransaction().begin();
|
||||
CriteriaBuilder cb = em.getCriteriaBuilder();
|
||||
CriteriaQuery<Long> criteria = cb.createQuery( Long.class );
|
||||
criteria.select( cb.count( cb.literal( 1 ) ) );
|
||||
Root<Customer> root = criteria.from( Customer.class );
|
||||
if (getDialect() instanceof InformixDialect && getDialect().getVersion().isBefore( 11,70 ) ) {
|
||||
criteria.select( cb.count( root ) );
|
||||
}
|
||||
else {
|
||||
criteria.select( cb.count( cb.literal( 1 ) ) );
|
||||
}
|
||||
criteria.where(
|
||||
cb.equal(
|
||||
cb.function(
|
||||
|
|
|
@ -12,6 +12,7 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
import org.hibernate.cfg.AvailableSettings;
|
||||
import org.hibernate.community.dialect.InformixDialect;
|
||||
import org.hibernate.dialect.AbstractTransactSQLDialect;
|
||||
import org.hibernate.dialect.OracleDialect;
|
||||
import org.hibernate.dialect.SybaseDialect;
|
||||
|
@ -80,6 +81,9 @@ public class QueryTimeOutTest extends BaseNonConfigCoreFunctionalTestCase {
|
|||
else if ( DialectContext.getDialect() instanceof AbstractTransactSQLDialect ) {
|
||||
baseQuery = "update ae1_0 set name=? from AnEntity ae1_0";
|
||||
}
|
||||
else if (DialectContext.getDialect() instanceof InformixDialect ) {
|
||||
baseQuery = "update AnEntity set name=?";
|
||||
}
|
||||
else {
|
||||
baseQuery = "update AnEntity ae1_0 set name=?";
|
||||
}
|
||||
|
|
|
@ -599,6 +599,7 @@ public class FunctionTests {
|
|||
@Test
|
||||
@SkipForDialect(dialectClass = DerbyDialect.class, reason = "Derby doesn't support any form of date truncation")
|
||||
@SkipForDialect(dialectClass = OracleDialect.class, reason = "See HHH-16442, Oracle trunc() throws away the timezone")
|
||||
@SkipForDialect(dialectClass = InformixDialect.class, reason = "Informix doesn't support any form of date truncation")
|
||||
public void testDateTruncWithOffsetFunction(SessionFactoryScope scope) {
|
||||
scope.inTransaction(
|
||||
session -> {
|
||||
|
@ -1063,6 +1064,7 @@ public class FunctionTests {
|
|||
@SkipForDialect(dialectClass = OracleDialect.class, reason = "Oracle treats the cast value as a hexadecimal literal")
|
||||
@SkipForDialect(dialectClass = HSQLDialect.class, reason = "HSQL treats the cast value as a hexadecimal literal")
|
||||
@SkipForDialect(dialectClass = AltibaseDialect.class, reason = "Altibase doesn't support casting varchar to binary")
|
||||
@SkipForDialect(dialectClass = InformixDialect.class, reason = "Informix doesn't support casting varchar to byte")
|
||||
public void testCastFunctionBinary(SessionFactoryScope scope) {
|
||||
scope.inTransaction(
|
||||
session -> {
|
||||
|
|
|
@ -17,6 +17,7 @@ import jakarta.persistence.Id;
|
|||
import org.hibernate.cfg.AvailableSettings;
|
||||
import org.hibernate.community.dialect.AltibaseDialect;
|
||||
import org.hibernate.community.dialect.FirebirdDialect;
|
||||
import org.hibernate.community.dialect.InformixDialect;
|
||||
import org.hibernate.dialect.DB2Dialect;
|
||||
import org.hibernate.community.dialect.DerbyDialect;
|
||||
import org.hibernate.orm.test.jpa.BaseEntityManagerFunctionalTestCase;
|
||||
|
@ -31,6 +32,7 @@ import org.junit.Test;
|
|||
@SkipForDialect(value = DerbyDialect.class, comment = "Derby is far more resistant to the reserved keyword usage.")
|
||||
@SkipForDialect(value = FirebirdDialect.class, comment = "FirebirdDialect has autoQuoteKeywords enabled, so it is far more resistant to the reserved keyword usage.")
|
||||
@SkipForDialect(value = AltibaseDialect.class, comment = "AltibaseDialect has autoQuoteKeywords enabled, so it is far more resistant to the reserved keyword usage.")
|
||||
@SkipForDialect(value = InformixDialect.class, comment = "Informix is far more resistant to the reserved keyword usage.")
|
||||
public class SchemaMigratorHaltOnErrorTest extends BaseEntityManagerFunctionalTestCase {
|
||||
|
||||
@Override
|
||||
|
|
|
@ -22,6 +22,7 @@ import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
|
|||
import org.hibernate.boot.spi.MetadataImplementor;
|
||||
import org.hibernate.community.dialect.AltibaseDialect;
|
||||
import org.hibernate.community.dialect.FirebirdDialect;
|
||||
import org.hibernate.community.dialect.InformixDialect;
|
||||
import org.hibernate.dialect.DB2Dialect;
|
||||
import org.hibernate.testing.SkipForDialect;
|
||||
import org.hibernate.testing.junit4.CustomRunner;
|
||||
|
@ -44,6 +45,7 @@ import org.junit.runner.RunWith;
|
|||
@SkipForDialect(value = DerbyDialect.class, comment = "Derby is far more resistant to the reserved keyword usage.")
|
||||
@SkipForDialect(value = FirebirdDialect.class, comment = "FirebirdDialect has autoQuoteKeywords enabled, so it is far more resistant to the reserved keyword usage.")
|
||||
@SkipForDialect(value = AltibaseDialect.class, comment = "AltibaseDialect has autoQuoteKeywords enabled, so it is far more resistant to the reserved keyword usage.")
|
||||
@SkipForDialect(value = InformixDialect.class, comment = "Informix is far more resistant to the reserved keyword usage.")
|
||||
@RunWith(CustomRunner.class)
|
||||
public class SchemaUpdateHaltOnErrorTest {
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ import java.sql.Types;
|
|||
|
||||
import org.hibernate.boot.model.TruthValue;
|
||||
import org.hibernate.community.dialect.FirebirdDialect;
|
||||
import org.hibernate.community.dialect.InformixDialect;
|
||||
import org.hibernate.dialect.HANADialect;
|
||||
import org.hibernate.dialect.CockroachDialect;
|
||||
import org.hibernate.dialect.DB2Dialect;
|
||||
|
@ -316,8 +317,9 @@ abstract public class DialectFeatureChecks {
|
|||
public static class SupportsRepeat implements DialectFeatureCheck {
|
||||
public boolean apply(Dialect dialect) {
|
||||
dialect = DialectDelegateWrapper.extractRealDialect( dialect );
|
||||
// Derby doesn't support the `REPLACE` function
|
||||
return !( dialect instanceof DerbyDialect );
|
||||
// Derby doesn't support the `REPEAT` function
|
||||
return !( dialect instanceof DerbyDialect
|
||||
|| dialect instanceof InformixDialect );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -483,6 +485,7 @@ abstract public class DialectFeatureChecks {
|
|||
|| dialect instanceof DerbyDialect
|
||||
|| dialect instanceof FirebirdDialect
|
||||
|| dialect instanceof DB2Dialect && ( (DB2Dialect) dialect ).getDB2Version().isBefore( 11 ) )
|
||||
|| dialect instanceof InformixDialect
|
||||
|| dialect instanceof MariaDBDialect;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue