@@ -37,6 +37,9 @@ public class ExtractedDatabaseMetaDataImpl implements ExtractedDatabaseMetaData
37
37
private final String connectionCatalogName ;
38
38
private final String connectionSchemaName ;
39
39
40
+ private final String databaseProductName ;
41
+ private final String databaseProductVersion ;
42
+
40
43
private final boolean supportsRefCursors ;
41
44
private final boolean supportsNamedParameters ;
42
45
private final boolean supportsScrollableResults ;
@@ -62,6 +65,8 @@ private ExtractedDatabaseMetaDataImpl(
62
65
JdbcConnectionAccess connectionAccess ,
63
66
String connectionCatalogName ,
64
67
String connectionSchemaName ,
68
+ String databaseProductName ,
69
+ String databaseProductVersion ,
65
70
boolean supportsRefCursors ,
66
71
boolean supportsNamedParameters ,
67
72
boolean supportsScrollableResults ,
@@ -80,6 +85,8 @@ private ExtractedDatabaseMetaDataImpl(
80
85
this .connectionAccess = connectionAccess ;
81
86
this .connectionCatalogName = connectionCatalogName ;
82
87
this .connectionSchemaName = connectionSchemaName ;
88
+ this .databaseProductName = databaseProductName ;
89
+ this .databaseProductVersion = databaseProductVersion ;
83
90
this .supportsRefCursors = supportsRefCursors ;
84
91
this .supportsNamedParameters = supportsNamedParameters ;
85
92
this .supportsScrollableResults = supportsScrollableResults ;
@@ -151,6 +158,16 @@ public String getConnectionSchemaName() {
151
158
return connectionSchemaName ;
152
159
}
153
160
161
+ @ Override
162
+ public String getDatabaseProductName () {
163
+ return databaseProductName ;
164
+ }
165
+
166
+ @ Override
167
+ public String getDatabaseProductVersion () {
168
+ return databaseProductVersion ;
169
+ }
170
+
154
171
@ Override
155
172
public String getUrl () {
156
173
return url ;
@@ -206,6 +223,9 @@ public static class Builder {
206
223
private String connectionSchemaName ;
207
224
private String connectionCatalogName ;
208
225
226
+ private String databaseProductName ;
227
+ private String databaseProductVersion ;
228
+
209
229
private boolean supportsRefCursors ;
210
230
private boolean supportsNamedParameters ;
211
231
private boolean supportsScrollableResults ;
@@ -229,7 +249,9 @@ public Builder(JdbcEnvironment jdbcEnvironment, boolean jdbcMetadataIsAccessible
229
249
230
250
public Builder apply (DatabaseMetaData databaseMetaData ) throws SQLException {
231
251
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 ();
233
255
supportsRefCursors = StandardRefCursorSupport .supportsRefCursors ( databaseMetaData );
234
256
supportsNamedParameters = databaseMetaData .supportsNamedParameters ();
235
257
supportsScrollableResults = databaseMetaData .supportsResultSetType ( ResultSet .TYPE_SCROLL_INSENSITIVE );
@@ -307,6 +329,8 @@ public ExtractedDatabaseMetaDataImpl build() {
307
329
connectionAccess ,
308
330
connectionCatalogName ,
309
331
connectionSchemaName ,
332
+ databaseProductName ,
333
+ databaseProductVersion ,
310
334
supportsRefCursors ,
311
335
supportsNamedParameters ,
312
336
supportsScrollableResults ,
0 commit comments