Skip to content

Commit b5fa9b2

Browse files
committed
Informix tests fixes 2
1 parent 8d52c0e commit b5fa9b2

File tree

11 files changed

+24
-3
lines changed

11 files changed

+24
-3
lines changed

docker_db.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -908,8 +908,11 @@ informix() {
908908
}
909909

910910
informix_14_10() {
911+
temp_dir=$(mktemp -d)
912+
echo "ALLOW_NEWLINE 1" >$temp_dir/onconfig.mod
913+
chmod 777 -R $temp_dir
911914
$PRIVILEGED_CLI $CONTAINER_CLI rm -f informix || true
912-
$PRIVILEGED_CLI $CONTAINER_CLI run --name informix --privileged -p 9088:9088 -e LICENSE=accept -e GL_USEGLU=1 -d ${DB_IMAGE_INFORMIX_14_10:-icr.io/informix/informix-developer-database:14.10.FC9W1DE}
915+
$PRIVILEGED_CLI $CONTAINER_CLI run --name informix --privileged -p 9088:9088 -v $temp_dir:/opt/ibm/config -e LICENSE=accept -e GL_USEGLU=1 -d ${DB_IMAGE_INFORMIX_14_10:-icr.io/informix/informix-developer-database:14.10.FC9W1DE}
913916
echo "Starting Informix. This can take a few minutes"
914917
# Give the container some time to start
915918
OUTPUT=

gradle/databases.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ ext {
295295
'jdbc.driver': 'com.informix.jdbc.IfxDriver',
296296
'jdbc.user' : 'informix',
297297
'jdbc.pass' : 'in4mix',
298-
'jdbc.url' : 'jdbc:informix-sqli://' + dbHost + ':9088/dev:INFORMIXSERVER=informix;user=informix;password=in4mix;DELIMIDENT=Y;DB_LOCALE=en_US.utf8',
298+
'jdbc.url' : 'jdbc:informix-sqli://' + dbHost + ':9088/dev:INFORMIXSERVER=informix;user=informix;password=in4mix;DBDATE=Y4MD-;DELIMIDENT=Y;DB_LOCALE=en_US.utf8',
299299
'jdbc.datasource' : 'com.informix.jdbc.IfxDriver',
300300
// 'jdbc.datasource' : 'com.informix.jdbcx.IfxDataSource',
301301
'connection.init_sql' : ''

hibernate-core/src/test/java/org/hibernate/orm/test/annotations/entity/Forest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.hibernate.annotations.ParamDef;
2424
import org.hibernate.annotations.SQLRestriction;
2525

26+
import jakarta.persistence.Column;
2627
import jakarta.persistence.Convert;
2728
import jakarta.persistence.ElementCollection;
2829
import jakarta.persistence.Entity;
@@ -58,6 +59,7 @@ public class Forest {
5859

5960
@OptimisticLock(excluded=true)
6061
@JdbcTypeCode( Types.LONGVARCHAR )
62+
@Column(length = 10000)
6163
public String getLongDescription() {
6264
return longDescription;
6365
}

hibernate-core/src/test/java/org/hibernate/orm/test/hql/HQLTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.hibernate.ScrollableResults;
2626
import org.hibernate.Session;
2727
import org.hibernate.community.dialect.FirebirdDialect;
28+
import org.hibernate.community.dialect.InformixDialect;
2829
import org.hibernate.dialect.CockroachDialect;
2930
import org.hibernate.community.dialect.DerbyDialect;
3031
import org.hibernate.dialect.H2Dialect;
@@ -1523,6 +1524,7 @@ public void test_hql_aggregate_functions_filter_example() {
15231524
@SkipForDialect(dialectClass = DerbyDialect.class)
15241525
@SkipForDialect(dialectClass = SybaseASEDialect.class)
15251526
@SkipForDialect(dialectClass = FirebirdDialect.class, reason = "order by not supported in list")
1527+
@SkipForDialect(dialectClass = InformixDialect.class)
15261528
public void test_hql_aggregate_functions_within_group_example() {
15271529
doInJPA(this::entityManagerFactory, entityManager -> {
15281530
//tag::hql-aggregate-functions-within-group-example[]

hibernate-core/src/test/java/org/hibernate/orm/test/id/array/PrimitiveByteArrayIdTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import jakarta.persistence.Id;
1414
import jakarta.persistence.Table;
1515

16+
import org.hibernate.community.dialect.InformixDialect;
1617
import org.hibernate.dialect.MySQLDialect;
1718
import org.hibernate.dialect.OracleDialect;
1819
import org.hibernate.query.Query;
@@ -35,6 +36,7 @@
3536
*/
3637
@SkipForDialect(dialectClass = MySQLDialect.class, majorVersion = 5, reason = "BLOB/TEXT column 'id' used in key specification without a key length")
3738
@SkipForDialect(dialectClass = OracleDialect.class, matchSubTypes = true, reason = "ORA-02329: column of datatype LOB cannot be unique or a primary key")
39+
@SkipForDialect(dialectClass = InformixDialect.class, reason = "Informix cannot add index: illegal key descriptor (too many parts or too long)")
3840
@DomainModel(
3941
annotatedClasses = PrimitiveByteArrayIdTest.DemoEntity.class
4042
)

hibernate-core/src/test/java/org/hibernate/orm/test/id/uuid/sqlrep/sqlbinary/UUIDBinaryTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import java.util.UUID;
1111

1212
import org.hibernate.annotations.JdbcTypeCode;
13+
import org.hibernate.community.dialect.InformixDialect;
1314
import org.hibernate.dialect.PostgreSQLDialect;
1415
import org.hibernate.dialect.SybaseDialect;
1516
import org.hibernate.metamodel.MappingMetamodel;
@@ -39,6 +40,7 @@
3940
@SkipForDialect(dialectClass = PostgreSQLDialect.class, reason = "Postgres has its own UUID type")
4041
@SkipForDialect( dialectClass = SybaseDialect.class, matchSubTypes = true,
4142
reason = "Skipped for Sybase to avoid problems with UUIDs potentially ending with a trailing 0 byte")
43+
@SkipForDialect(dialectClass = InformixDialect.class, reason = "Informix supports only UUID mapping to char(36)")
4244
public class UUIDBinaryTest {
4345

4446
private static class UUIDPair {

hibernate-core/src/test/java/org/hibernate/orm/test/length/LengthTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,22 @@
11
package org.hibernate.orm.test.length;
22

33
import org.hibernate.Length;
4+
import org.hibernate.community.dialect.InformixDialect;
45
import org.hibernate.dialect.Dialect;
56
import org.hibernate.metamodel.mapping.BasicValuedMapping;
67
import org.hibernate.type.SqlTypes;
78

89
import org.hibernate.testing.orm.junit.DomainModel;
910
import org.hibernate.testing.orm.junit.SessionFactory;
1011
import org.hibernate.testing.orm.junit.SessionFactoryScope;
12+
import org.hibernate.testing.orm.junit.SkipForDialect;
1113
import org.junit.jupiter.api.Test;
1214

1315
import static org.junit.Assert.assertEquals;
1416

1517
@SessionFactory
1618
@DomainModel(annotatedClasses = {WithLongStrings.class,WithLongTypeStrings.class})
19+
@SkipForDialect(dialectClass = InformixDialect.class, reason = "Informix rowsize to exceed the allowable limit (32767).")
1720
public class LengthTest {
1821
@Test
1922
public void testLength(SessionFactoryScope scope) {

hibernate-core/src/test/java/org/hibernate/orm/test/mapping/generated/always/GeneratedAlwaysTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import org.hibernate.annotations.GeneratedColumn;
77
import org.hibernate.community.dialect.AltibaseDialect;
88
import org.hibernate.community.dialect.DerbyDialect;
9+
import org.hibernate.community.dialect.InformixDialect;
910
import org.hibernate.dialect.H2Dialect;
1011
import org.hibernate.dialect.HSQLDialect;
1112
import org.hibernate.dialect.PostgreSQLDialect;
@@ -33,6 +34,7 @@
3334
@SkipForDialect(dialectClass = PostgreSQLDialect.class, majorVersion = 10, matchSubTypes = true)
3435
@SkipForDialect(dialectClass = PostgreSQLDialect.class, majorVersion = 11, matchSubTypes = true) // 'generated always' was added in 12
3536
@SkipForDialect(dialectClass = AltibaseDialect.class, reason = "generated always is not supported in Altibase")
37+
@SkipForDialect(dialectClass = InformixDialect.class)
3638
public class GeneratedAlwaysTest {
3739

3840
@Test

hibernate-core/src/test/java/org/hibernate/orm/test/query/CteTests.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import java.util.List;
1111
import java.util.function.Consumer;
1212

13+
import org.hibernate.community.dialect.InformixDialect;
1314
import org.hibernate.dialect.SybaseASEDialect;
1415
import org.hibernate.dialect.TiDBDialect;
1516
import org.hibernate.query.criteria.HibernateCriteriaBuilder;
@@ -241,6 +242,7 @@ public void testSubquery(SessionFactoryScope scope) {
241242

242243
@Test
243244
@SkipForDialect(dialectClass = SybaseASEDialect.class, reason = "The emulation of CTEs in subqueries results in correlation in nesting level 2, which is not possible with Sybase ASE")
245+
@SkipForDialect(dialectClass = InformixDialect.class)
244246
public void testInSubquery(SessionFactoryScope scope) {
245247
scope.inTransaction( session -> {
246248
final HibernateCriteriaBuilder cb = session.getCriteriaBuilder();

hibernate-core/src/test/java/org/hibernate/orm/test/query/hql/LiteralTests.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import org.hibernate.testing.orm.junit.ServiceRegistry;
1414
import org.hibernate.testing.orm.junit.SessionFactory;
1515
import org.hibernate.testing.orm.junit.SessionFactoryScope;
16+
import org.hibernate.testing.orm.junit.SkipForDialect;
1617
import org.junit.jupiter.api.Test;
1718

1819
import java.math.BigDecimal;
@@ -25,6 +26,7 @@
2526
import java.time.LocalDateTime;
2627
import java.time.LocalTime;
2728

29+
import org.hibernate.community.dialect.InformixDialect;
2830
import org.hibernate.query.spi.QueryImplementor;
2931
import org.hibernate.type.descriptor.java.PrimitiveByteArrayJavaType;
3032

@@ -45,6 +47,7 @@
4547
public class LiteralTests {
4648

4749
@Test
50+
@SkipForDialect(dialectClass = InformixDialect.class, reason = "Informix does not support binary literals")
4851
public void testBinaryLiteral(SessionFactoryScope scope) {
4952
scope.inTransaction(
5053
session -> {

0 commit comments

Comments
 (0)