Skip to content

Commit 3763a29

Browse files
committed
HHH-19624 Test EDB with EDB drivers
1 parent b2d5d9d commit 3763a29

File tree

17 files changed

+111
-74
lines changed

17 files changed

+111
-74
lines changed

.github/dependabot.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ updates:
6969
- "org.hsqldb:hsqldb"
7070
- "org.apache.derby*"
7171
- "org.postgresql:*"
72+
- "com.enterprisedb:*"
7273
- "com.mysql:mysql-connector-j"
7374
- "org.mariadb.jdbc:mariadb-java-client"
7475
- "com.oracle.database.*"

documentation/documentation.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ dependencies {
165165
javadocClasspath jakartaLibs.jsonbApi
166166
javadocClasspath libs.ant
167167
javadocClasspath jdbcLibs.postgresql
168+
javadocClasspath jdbcLibs.edb
168169
javadocClasspath libs.jackson
169170
javadocClasspath gradleApi()
170171
javadocClasspath libs.jacksonXml

hibernate-core/hibernate-core.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ dependencies {
4242
compileOnly libs.jackson
4343
compileOnly libs.jacksonXml
4444
compileOnly jdbcLibs.postgresql
45+
compileOnly jdbcLibs.edb
4546

4647
testImplementation project(':hibernate-testing')
4748
testImplementation project(':hibernate-ant')

hibernate-core/src/main/java/org/hibernate/dialect/PostgreSQLDialect.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,10 @@ public PostgreSQLDialect(DatabaseVersion version, PostgreSQLDriverKind driverKin
206206
supportsMerge = version.isSameOrAfter( DatabaseVersion.make( 15, 0 ) );
207207
}
208208

209+
public PostgreSQLDriverKind getDriverKind() {
210+
return driverKind;
211+
}
212+
209213
@Override
210214
protected DatabaseVersion getMinimumSupportedVersion() {
211215
return MINIMUM_VERSION;

hibernate-core/src/main/java/org/hibernate/dialect/type/PostgreSQLCastingIntervalSecondJdbcType.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public void appendWriteExpression(
7878
Dialect dialect) {
7979
appender.append( '(' );
8080
appender.append( writeExpression );
81-
appender.append( "*interval'1 second)" );
81+
appender.append( "*interval'1 second')" );
8282
}
8383

8484
@Override

hibernate-core/src/test/java/org/hibernate/orm/test/id/usertype/PostgreSQLMultipleTypesOtherContributorTest.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,14 @@
1616
import org.hibernate.annotations.JdbcTypeCode;
1717
import org.hibernate.boot.spi.MetadataBuilderContributor;
1818
import org.hibernate.boot.spi.MetadataBuilderImplementor;
19-
import org.hibernate.dialect.PostgreSQLDialect;
2019
import org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl;
2120
import org.hibernate.orm.test.jpa.BaseEntityManagerFunctionalTestCase;
2221
import org.hibernate.query.NativeQuery;
22+
import org.hibernate.testing.orm.junit.DialectFeatureChecks;
23+
import org.hibernate.testing.orm.junit.RequiresDialectFeature;
2324
import org.hibernate.type.SqlTypes;
2425
import org.hibernate.type.spi.TypeConfiguration;
2526

26-
import org.hibernate.testing.RequiresDialect;
27-
2827
import org.hibernate.orm.test.id.usertype.inet.Inet;
2928
import org.hibernate.orm.test.id.usertype.inet.InetJavaType;
3029
import org.hibernate.orm.test.id.usertype.inet.InetJdbcType;
@@ -40,7 +39,7 @@
4039
/**
4140
* @author Vlad Mihalcea
4241
*/
43-
@RequiresDialect(PostgreSQLDialect.class)
42+
@RequiresDialectFeature(feature = DialectFeatureChecks.IsPgJdbc.class)
4443
public class PostgreSQLMultipleTypesOtherContributorTest extends BaseEntityManagerFunctionalTestCase {
4544

4645
@Override

hibernate-core/src/test/java/org/hibernate/orm/test/id/usertype/inet/PostgreSQLInetTypesOtherContributorTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@
1010
import org.hibernate.boot.MetadataBuilder;
1111
import org.hibernate.boot.spi.MetadataBuilderContributor;
1212
import org.hibernate.boot.spi.MetadataBuilderImplementor;
13-
import org.hibernate.dialect.PostgreSQLDialect;
1413
import org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl;
14+
import org.hibernate.testing.orm.junit.DialectFeatureChecks;
15+
import org.hibernate.testing.orm.junit.RequiresDialectFeature;
1516
import org.hibernate.type.spi.TypeConfiguration;
1617

17-
import org.hibernate.testing.RequiresDialect;
1818
import org.junit.Test;
1919

2020
import static org.hibernate.testing.transaction.TransactionUtil.doInJPA;
@@ -23,7 +23,7 @@
2323
/**
2424
* @author Vlad Mihalcea
2525
*/
26-
@RequiresDialect(PostgreSQLDialect.class)
26+
@RequiresDialectFeature(feature = DialectFeatureChecks.IsPgJdbc.class)
2727
public class PostgreSQLInetTypesOtherContributorTest extends PostgreSQLInetTypesOtherTest {
2828

2929
@Override

hibernate-core/src/test/java/org/hibernate/orm/test/id/usertype/inet/PostgreSQLInetTypesOtherTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99

1010
import org.hibernate.boot.spi.MetadataBuilderContributor;
1111
import org.hibernate.boot.spi.MetadataBuilderImplementor;
12-
import org.hibernate.dialect.PostgreSQLDialect;
1312
import org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl;
1413
import org.hibernate.orm.test.jpa.BaseEntityManagerFunctionalTestCase;
1514
import org.hibernate.query.NativeQuery;
15+
import org.hibernate.testing.orm.junit.DialectFeatureChecks;
16+
import org.hibernate.testing.orm.junit.RequiresDialectFeature;
1617
import org.hibernate.type.spi.TypeConfiguration;
1718

18-
import org.hibernate.testing.RequiresDialect;
1919
import org.junit.Test;
2020

2121
import static org.hibernate.testing.transaction.TransactionUtil.doInJPA;
@@ -24,7 +24,7 @@
2424
/**
2525
* @author Vlad Mihalcea
2626
*/
27-
@RequiresDialect(PostgreSQLDialect.class)
27+
@RequiresDialectFeature(feature = DialectFeatureChecks.IsPgJdbc.class)
2828
public class PostgreSQLInetTypesOtherTest extends BaseEntityManagerFunctionalTestCase {
2929

3030
@Override

hibernate-core/src/test/java/org/hibernate/orm/test/procedure/PostgreSQLFunctionProcedureTest.java

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import java.sql.CallableStatement;
88
import java.sql.ResultSet;
99
import java.sql.SQLException;
10-
import java.sql.SQLFeatureNotSupportedException;
1110
import java.sql.Timestamp;
1211
import java.sql.Types;
1312
import java.time.LocalDateTime;
@@ -234,34 +233,6 @@ public void testFunctionWithJDBC() {
234233
} );
235234
}
236235

237-
@Test
238-
public void testFunctionWithJDBCByName() {
239-
doInJPA( this::entityManagerFactory, entityManager -> {
240-
try {
241-
Session session = entityManager.unwrap( Session.class );
242-
Long phoneCount = session.doReturningWork( connection -> {
243-
CallableStatement function = null;
244-
try {
245-
function = connection.prepareCall( "{ ? = call fn_count_phones(?) }" );
246-
function.registerOutParameter( "phoneCount", Types.BIGINT );
247-
function.setLong( "personId", 1L );
248-
function.execute();
249-
return function.getLong( 1 );
250-
}
251-
finally {
252-
if ( function != null ) {
253-
function.close();
254-
}
255-
}
256-
} );
257-
assertEquals( Long.valueOf( 2 ), phoneCount );
258-
}
259-
catch (Exception e) {
260-
assertEquals( SQLFeatureNotSupportedException.class, e.getCause().getClass() );
261-
}
262-
} );
263-
}
264-
265236
@Test
266237
@JiraKey(value = "HHH-11863")
267238
public void testSysRefCursorAsOutParameter() {

hibernate-core/src/test/java/org/hibernate/orm/test/procedure/PostgreSQLStoredProcedureTest.java

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import java.sql.CallableStatement;
88
import java.sql.ResultSet;
99
import java.sql.SQLException;
10-
import java.sql.SQLFeatureNotSupportedException;
1110
import java.sql.Statement;
1211
import java.sql.Timestamp;
1312
import java.sql.Types;
@@ -118,34 +117,6 @@ public void testStoredProcedureWithJDBC(EntityManagerFactoryScope scope) {
118117
} );
119118
}
120119

121-
@Test
122-
public void testProcedureWithJDBCByName(EntityManagerFactoryScope scope) {
123-
scope.inTransaction( entityManager -> {
124-
try {
125-
Session session = entityManager.unwrap( Session.class );
126-
Long phoneCount = session.doReturningWork( connection -> {
127-
CallableStatement procedure = null;
128-
try {
129-
procedure = connection.prepareCall( "{ call sp_count_phones(?,?) }" );
130-
procedure.registerOutParameter( "phoneCount", Types.BIGINT );
131-
procedure.setLong( "personId", 1L );
132-
procedure.execute();
133-
return procedure.getLong( 1 );
134-
}
135-
finally {
136-
if ( procedure != null ) {
137-
procedure.close();
138-
}
139-
}
140-
} );
141-
assertEquals( Long.valueOf( 2 ), phoneCount );
142-
}
143-
catch (Exception e) {
144-
assertEquals( SQLFeatureNotSupportedException.class, e.getCause().getClass() );
145-
}
146-
} );
147-
}
148-
149120
@Test
150121
@JiraKey("HHH-11863")
151122
@RequiresDialect(value = PostgreSQLDialect.class, majorVersion = 14, comment = "Stored procedure OUT parameters are only supported since version 14")

0 commit comments

Comments
 (0)