Skip to content

Commit f5411ed

Browse files
committed
add some more info (currently unused) to the ExtractedDatabaseMetaData
1 parent 6b84be7 commit f5411ed

File tree

3 files changed

+30
-1
lines changed

3 files changed

+30
-1
lines changed

hibernate-core/src/main/java/org/hibernate/engine/jdbc/env/internal/ExtractedDatabaseMetaDataImpl.java

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ public class ExtractedDatabaseMetaDataImpl implements ExtractedDatabaseMetaData
3737
private final String connectionCatalogName;
3838
private final String connectionSchemaName;
3939

40+
private final String databaseProductName;
41+
private final String databaseProductVersion;
42+
4043
private final boolean supportsRefCursors;
4144
private final boolean supportsNamedParameters;
4245
private final boolean supportsScrollableResults;
@@ -62,6 +65,8 @@ private ExtractedDatabaseMetaDataImpl(
6265
JdbcConnectionAccess connectionAccess,
6366
String connectionCatalogName,
6467
String connectionSchemaName,
68+
String databaseProductName,
69+
String databaseProductVersion,
6570
boolean supportsRefCursors,
6671
boolean supportsNamedParameters,
6772
boolean supportsScrollableResults,
@@ -80,6 +85,8 @@ private ExtractedDatabaseMetaDataImpl(
8085
this.connectionAccess = connectionAccess;
8186
this.connectionCatalogName = connectionCatalogName;
8287
this.connectionSchemaName = connectionSchemaName;
88+
this.databaseProductName = databaseProductName;
89+
this.databaseProductVersion = databaseProductVersion;
8390
this.supportsRefCursors = supportsRefCursors;
8491
this.supportsNamedParameters = supportsNamedParameters;
8592
this.supportsScrollableResults = supportsScrollableResults;
@@ -151,6 +158,16 @@ public String getConnectionSchemaName() {
151158
return connectionSchemaName;
152159
}
153160

161+
@Override
162+
public String getDatabaseProductName() {
163+
return databaseProductName;
164+
}
165+
166+
@Override
167+
public String getDatabaseProductVersion() {
168+
return databaseProductVersion;
169+
}
170+
154171
@Override
155172
public String getUrl() {
156173
return url;
@@ -206,6 +223,9 @@ public static class Builder {
206223
private String connectionSchemaName;
207224
private String connectionCatalogName;
208225

226+
private String databaseProductName;
227+
private String databaseProductVersion;
228+
209229
private boolean supportsRefCursors;
210230
private boolean supportsNamedParameters;
211231
private boolean supportsScrollableResults;
@@ -229,7 +249,9 @@ public Builder(JdbcEnvironment jdbcEnvironment, boolean jdbcMetadataIsAccessible
229249

230250
public Builder apply(DatabaseMetaData databaseMetaData) throws SQLException {
231251
connectionCatalogName = databaseMetaData.getConnection().getCatalog();
232-
// NOTE : databaseMetaData.getConnection().getSchema() would require java 1.7 as baseline
252+
connectionSchemaName = databaseMetaData.getConnection().getSchema();
253+
databaseProductName = databaseMetaData.getDatabaseProductName();
254+
databaseProductVersion = databaseMetaData.getDatabaseProductVersion();
233255
supportsRefCursors = StandardRefCursorSupport.supportsRefCursors( databaseMetaData );
234256
supportsNamedParameters = databaseMetaData.supportsNamedParameters();
235257
supportsScrollableResults = databaseMetaData.supportsResultSetType( ResultSet.TYPE_SCROLL_INSENSITIVE );
@@ -307,6 +329,8 @@ public ExtractedDatabaseMetaDataImpl build() {
307329
connectionAccess,
308330
connectionCatalogName,
309331
connectionSchemaName,
332+
databaseProductName,
333+
databaseProductVersion,
310334
supportsRefCursors,
311335
supportsNamedParameters,
312336
supportsScrollableResults,

hibernate-core/src/main/java/org/hibernate/engine/jdbc/env/spi/ExtractedDatabaseMetaData.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ public interface ExtractedDatabaseMetaData {
2525
*/
2626
JdbcEnvironment getJdbcEnvironment();
2727

28+
String getDatabaseProductName();
29+
30+
String getDatabaseProductVersion();
31+
2832
/**
2933
* Retrieve the name of the catalog in effect when we connected to the database.
3034
*

hibernate-core/src/test/java/org/hibernate/orm/test/datasource/TestDataSourceConnectionProvider.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import java.util.Map;
1818
import java.util.logging.Logger;
1919

20+
@SuppressWarnings( "unused" ) // used by DatasourceTest in this package
2021
public class TestDataSourceConnectionProvider
2122
extends DatasourceConnectionProviderImpl
2223
implements ServiceRegistryAwareService {

0 commit comments

Comments
 (0)