Merge pull request #771 from pathfinder-name/branches/oracle_savepoint

解决oracle下回滚savepoint后输出日志时抛出异常
This commit is contained in:
高铁
2015-01-12 22:48:37 +08:00
@@ -356,7 +356,7 @@ public abstract class LogFilter extends FilterEventAdapter implements LogFilterM
Savepoint savepoint = chain.connection_setSavepoint(connection);
if (isConnectionLogEnabled()) {
connectionLog("{conn " + connection.getId() + "} setSavepoint-" + savepoint.getSavepointId());
connectionLog("{conn " + connection.getId() + "} setSavepoint-" + savepointToString(savepoint));
}
return savepoint;
@@ -389,7 +389,7 @@ public abstract class LogFilter extends FilterEventAdapter implements LogFilterM
super.connection_rollback(chain, connection, savePoint);
if (connectionRollbackAfterLogEnable && isConnectionLogEnabled()) {
connectionLog("{conn " + connection.getId() + "} rollback -> " + savePoint.getSavepointId());
connectionLog("{conn " + connection.getId() + "} rollback -> " + savepointToString(savePoint));
}
}
@@ -859,4 +859,18 @@ public abstract class LogFilter extends FilterEventAdapter implements LogFilterM
}
return null;
}
protected String savepointToString(Savepoint savePoint) {
String savePointString = null;
try{
savePointString = savePoint.getSavepointName();
} catch (SQLException e) {
try {
savePointString = String.valueOf(savePoint.getSavepointId());
} catch (SQLException e1) {
savePointString = savePoint.toString();
}
}
return savePointString;
}
}