@ -21,7 +21,6 @@ import java.sql.ResultSet;
@@ -21,7 +21,6 @@ import java.sql.ResultSet;
import java.sql.SQLException ;
import java.sql.Types ;
import java.util.ArrayList ;
import java.util.Arrays ;
import java.util.HashMap ;
import java.util.List ;
import java.util.Locale ;
@ -48,11 +47,6 @@ public class GenericTableMetaDataProvider implements TableMetaDataProvider {
@@ -48,11 +47,6 @@ public class GenericTableMetaDataProvider implements TableMetaDataProvider {
/** Logger available to subclasses. */
protected static final Log logger = LogFactory . getLog ( TableMetaDataProvider . class ) ;
/** Database products we know not supporting the use of a String[] for generated keys. */
private static final List < String > productsNotSupportingGeneratedKeysColumnNameArray =
Arrays . asList ( "Apache Derby" , "HSQL Database Engine" ) ;
/** The name of the user currently connected. */
private final @Nullable String userName ;
@ -93,45 +87,14 @@ public class GenericTableMetaDataProvider implements TableMetaDataProvider {
@@ -93,45 +87,14 @@ public class GenericTableMetaDataProvider implements TableMetaDataProvider {
@Override
public void initializeWithMetaData ( DatabaseMetaData databaseMetaData ) throws SQLException {
try {
if ( databaseMetaData . supportsGetGeneratedKeys ( ) ) {
logger . debug ( "GetGeneratedKeys is supported" ) ;
setGetGeneratedKeysSupported ( true ) ;
}
else {
logger . debug ( "GetGeneratedKeys is not supported" ) ;
setGetGeneratedKeysSupported ( false ) ;
}
setGetGeneratedKeysSupported ( databaseMetaData . supportsGetGeneratedKeys ( ) ) ;
setGeneratedKeysColumnNameArraySupported ( isGetGeneratedKeysSupported ( ) ) ;
}
catch ( SQLException ex ) {
if ( logger . isWarnEnabled ( ) ) {
logger . warn ( "Error retrieving 'DatabaseMetaData.supportsGetGeneratedKeys': " + ex . getMessage ( ) ) ;
}
}
try {
String databaseProductName = databaseMetaData . getDatabaseProductName ( ) ;
if ( productsNotSupportingGeneratedKeysColumnNameArray . contains ( databaseProductName ) ) {
if ( logger . isDebugEnabled ( ) ) {
logger . debug ( "GeneratedKeysColumnNameArray is not supported for " + databaseProductName ) ;
}
setGeneratedKeysColumnNameArraySupported ( false ) ;
}
else {
if ( isGetGeneratedKeysSupported ( ) ) {
if ( logger . isDebugEnabled ( ) ) {
logger . debug ( "GeneratedKeysColumnNameArray is supported for " + databaseProductName ) ;
}
setGeneratedKeysColumnNameArraySupported ( true ) ;
}
else {
setGeneratedKeysColumnNameArraySupported ( false ) ;
}
}
}
catch ( SQLException ex ) {
if ( logger . isWarnEnabled ( ) ) {
logger . warn ( "Error retrieving 'DatabaseMetaData.getDatabaseProductName': " + ex . getMessage ( ) ) ;
}
}
try {
this . databaseVersion = databaseMetaData . getDatabaseProductVersion ( ) ;