BATCH-2172: Fixed database version check for DB2ZOS
This commit is contained in:
@@ -16,13 +16,13 @@
|
||||
|
||||
package org.springframework.batch.support;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
|
||||
import org.springframework.jdbc.support.JdbcUtils;
|
||||
import org.springframework.jdbc.support.MetaDataAccessException;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
@@ -94,7 +94,7 @@ public enum DatabaseType {
|
||||
public static DatabaseType fromMetaData(DataSource dataSource) throws MetaDataAccessException {
|
||||
String databaseProductName =
|
||||
JdbcUtils.extractDatabaseMetaData(dataSource, "getDatabaseProductName").toString();
|
||||
if ("DB2".equals(databaseProductName)) {
|
||||
if (StringUtils.hasText(databaseProductName) && !databaseProductName.equals("DB2/Linux") && databaseProductName.startsWith("DB2")) {
|
||||
String databaseProductVersion =
|
||||
JdbcUtils.extractDatabaseMetaData(dataSource, "getDatabaseProductVersion").toString();
|
||||
if (!databaseProductVersion.startsWith("SQL")) {
|
||||
|
||||
@@ -15,6 +15,11 @@
|
||||
*/
|
||||
package org.springframework.batch.support;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.springframework.jdbc.support.MetaDataAccessException;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.springframework.batch.support.DatabaseType.DB2;
|
||||
import static org.springframework.batch.support.DatabaseType.DB2ZOS;
|
||||
@@ -28,11 +33,6 @@ import static org.springframework.batch.support.DatabaseType.SQLSERVER;
|
||||
import static org.springframework.batch.support.DatabaseType.SYBASE;
|
||||
import static org.springframework.batch.support.DatabaseType.fromProductName;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.springframework.jdbc.support.MetaDataAccessException;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Lucas Ward
|
||||
@@ -75,8 +75,11 @@ public class DatabaseTypeTests {
|
||||
|
||||
@Test
|
||||
public void testFromMetaDataForDB2ZOS() throws Exception {
|
||||
DataSource ds = DatabaseTypeTestUtils.getMockDataSource("DB2", "DSN08015");
|
||||
assertEquals(DB2ZOS, DatabaseType.fromMetaData(ds));
|
||||
DataSource oldDs = DatabaseTypeTestUtils.getMockDataSource("DB2", "DSN08015");
|
||||
assertEquals(DB2ZOS, DatabaseType.fromMetaData(oldDs));
|
||||
|
||||
DataSource newDs = DatabaseTypeTestUtils.getMockDataSource("DB2 for DB2 UDB for z/OS", "DSN08015");
|
||||
assertEquals(DB2ZOS, DatabaseType.fromMetaData(newDs));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user