@@ -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 ,
0 commit comments