2121import java .sql .SQLException ;
2222import java .sql .Types ;
2323import java .util .ArrayList ;
24- import java .util .Arrays ;
2524import java .util .HashMap ;
2625import java .util .List ;
2726import java .util .Locale ;
@@ -48,11 +47,6 @@ public class GenericTableMetaDataProvider implements TableMetaDataProvider {
4847 /** Logger available to subclasses. */
4948 protected static final Log logger = LogFactory .getLog (TableMetaDataProvider .class );
5049
51- /** Database products we know not supporting the use of a String[] for generated keys. */
52- private static final List <String > productsNotSupportingGeneratedKeysColumnNameArray =
53- Arrays .asList ("Apache Derby" , "HSQL Database Engine" );
54-
55-
5650 /** The name of the user currently connected. */
5751 @ Nullable
5852 private final String userName ;
@@ -95,45 +89,14 @@ protected GenericTableMetaDataProvider(DatabaseMetaData databaseMetaData) throws
9589 @ Override
9690 public void initializeWithMetaData (DatabaseMetaData databaseMetaData ) throws SQLException {
9791 try {
98- if (databaseMetaData .supportsGetGeneratedKeys ()) {
99- logger .debug ("GetGeneratedKeys is supported" );
100- setGetGeneratedKeysSupported (true );
101- }
102- else {
103- logger .debug ("GetGeneratedKeys is not supported" );
104- setGetGeneratedKeysSupported (false );
105- }
92+ setGetGeneratedKeysSupported (databaseMetaData .supportsGetGeneratedKeys ());
93+ setGeneratedKeysColumnNameArraySupported (isGetGeneratedKeysSupported ());
10694 }
10795 catch (SQLException ex ) {
10896 if (logger .isWarnEnabled ()) {
10997 logger .warn ("Error retrieving 'DatabaseMetaData.supportsGetGeneratedKeys': " + ex .getMessage ());
11098 }
11199 }
112- try {
113- String databaseProductName = databaseMetaData .getDatabaseProductName ();
114- if (productsNotSupportingGeneratedKeysColumnNameArray .contains (databaseProductName )) {
115- if (logger .isDebugEnabled ()) {
116- logger .debug ("GeneratedKeysColumnNameArray is not supported for " + databaseProductName );
117- }
118- setGeneratedKeysColumnNameArraySupported (false );
119- }
120- else {
121- if (isGetGeneratedKeysSupported ()) {
122- if (logger .isDebugEnabled ()) {
123- logger .debug ("GeneratedKeysColumnNameArray is supported for " + databaseProductName );
124- }
125- setGeneratedKeysColumnNameArraySupported (true );
126- }
127- else {
128- setGeneratedKeysColumnNameArraySupported (false );
129- }
130- }
131- }
132- catch (SQLException ex ) {
133- if (logger .isWarnEnabled ()) {
134- logger .warn ("Error retrieving 'DatabaseMetaData.getDatabaseProductName': " + ex .getMessage ());
135- }
136- }
137100
138101 try {
139102 this .databaseVersion = databaseMetaData .getDatabaseProductVersion ();
0 commit comments