mirror of https://github.com/apache/openjpa.git
OPENJPA-1067. Merely log SQLException from setQueryTimeout for DB2 on Z/OS
git-svn-id: https://svn.apache.org/repos/asf/openjpa/branches/1.0.x@778847 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
cec5147712
commit
3187b81415
|
@ -139,7 +139,20 @@ public class PessimisticLockManager
|
|||
if (log.isWarnEnabled())
|
||||
log.warn(_loc.get("millis-query-timeout"));
|
||||
}
|
||||
stmnt.setQueryTimeout(timeout / 1000);
|
||||
try {
|
||||
stmnt.setQueryTimeout(timeout / 1000);
|
||||
}
|
||||
catch(SQLException e) {
|
||||
if(! dict.ignoreSQLExceptionOnSetQueryTimeout) {
|
||||
throw e;
|
||||
}
|
||||
else {
|
||||
if (log.isTraceEnabled()) {
|
||||
log.trace(_loc.get("error-setting-query-timeout",
|
||||
new Integer(timeout), e.getMessage()), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
rs = stmnt.executeQuery();
|
||||
if (!rs.next())
|
||||
|
|
|
@ -274,10 +274,12 @@ public class DB2Dictionary
|
|||
+ "NAME AS SEQUENCE_NAME FROM SYSIBM.SYSSEQUENCES";
|
||||
sequenceSchemaSQL = "SCHEMA = ?";
|
||||
sequenceNameSQL = "NAME = ?";
|
||||
if (maj == 8)
|
||||
if (maj == 8) {
|
||||
// DB2 Z/OS Version 8: no bigint support, hence map Java
|
||||
// long to decimal
|
||||
bigintTypeName = "DECIMAL(31,0)";
|
||||
}
|
||||
ignoreSQLExceptionOnSetQueryTimeout = true;
|
||||
break;
|
||||
case db2ISeriesV5R3OrEarlier:
|
||||
case db2ISeriesV5R4OrLater:
|
||||
|
|
|
@ -308,7 +308,19 @@ public class DBDictionary
|
|||
protected final Set systemSchemaSet = new HashSet();
|
||||
protected final Set systemTableSet = new HashSet();
|
||||
protected final Set fixedSizeTypeNameSet = new HashSet();
|
||||
|
||||
|
||||
/**
|
||||
* Some JDBC drivers - ie DB2 type 2 on Z/OS throw exceptions on
|
||||
* setQueryTimeout when provided specific input values.
|
||||
* To remain consistent with earlier versions of the driver we should ignore
|
||||
* the exception.
|
||||
*
|
||||
* This variable will be removed in future releases when we can handle the
|
||||
* exception properly.
|
||||
* @deprecated
|
||||
*/
|
||||
public boolean ignoreSQLExceptionOnSetQueryTimeout = false;
|
||||
|
||||
/**
|
||||
* If a native query begins with any of the values found here then it will
|
||||
* be treated as a select statement.
|
||||
|
|
|
@ -110,3 +110,8 @@ no-nullable-fk: No nullable foreign key found to resolve circular flush\n\
|
|||
is nullable (optional).
|
||||
graph-not-cycle-free: A circular flush dependency has been found after all \
|
||||
circular dependencies should have been resolved.
|
||||
error-setting-query-timeout: A SQLException was thrown when trying to set the \
|
||||
queryTimeout to {0}. We believe the exception is not fatal and will \
|
||||
continue processing. If this is a benign error you may disable it entirely \
|
||||
by setting the supportsQueryTimeout attribute on the DBDictionary to false.\
|
||||
The exception thrown was {1}.
|
Loading…
Reference in New Issue