mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
bug fixed for postgresql parser
This commit is contained in:
@@ -24,6 +24,7 @@ import java.sql.CallableStatement;
|
||||
import java.sql.Clob;
|
||||
import java.sql.NClob;
|
||||
import java.sql.Ref;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.RowId;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.SQLFeatureNotSupportedException;
|
||||
@@ -196,12 +197,26 @@ public class DruidPooledCallableStatement extends DruidPooledPreparedStatement i
|
||||
@Override
|
||||
public Object getObject(int parameterIndex) throws SQLException {
|
||||
try {
|
||||
return stmt.getObject(parameterIndex);
|
||||
Object obj = stmt.getObject(parameterIndex);
|
||||
return wrapObject(obj);
|
||||
} catch (Throwable t) {
|
||||
throw checkException(t);
|
||||
}
|
||||
}
|
||||
|
||||
private Object wrapObject(Object obj) {
|
||||
if (obj instanceof ResultSet) {
|
||||
ResultSet rs = (ResultSet) obj;
|
||||
|
||||
DruidPooledResultSet poolableResultSet = new DruidPooledResultSet(this, rs);
|
||||
resultSetTrace.add(poolableResultSet);
|
||||
|
||||
obj = poolableResultSet;
|
||||
}
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BigDecimal getBigDecimal(int parameterIndex) throws SQLException {
|
||||
try {
|
||||
@@ -214,7 +229,8 @@ public class DruidPooledCallableStatement extends DruidPooledPreparedStatement i
|
||||
@Override
|
||||
public Object getObject(int parameterIndex, java.util.Map<String, Class<?>> map) throws SQLException {
|
||||
try {
|
||||
return stmt.getObject(parameterIndex, map);
|
||||
Object obj = stmt.getObject(parameterIndex, map);
|
||||
return wrapObject(obj);
|
||||
} catch (Throwable t) {
|
||||
throw checkException(t);
|
||||
}
|
||||
@@ -664,7 +680,8 @@ public class DruidPooledCallableStatement extends DruidPooledPreparedStatement i
|
||||
@Override
|
||||
public Object getObject(String parameterName) throws SQLException {
|
||||
try {
|
||||
return stmt.getObject(parameterName);
|
||||
Object obj = stmt.getObject(parameterName);
|
||||
return wrapObject(obj);
|
||||
} catch (Throwable t) {
|
||||
throw checkException(t);
|
||||
}
|
||||
@@ -682,7 +699,8 @@ public class DruidPooledCallableStatement extends DruidPooledPreparedStatement i
|
||||
@Override
|
||||
public Object getObject(String parameterName, java.util.Map<String, Class<?>> map) throws SQLException {
|
||||
try {
|
||||
return stmt.getObject(parameterName, map);
|
||||
Object obj = stmt.getObject(parameterName, map);
|
||||
return wrapObject(obj);
|
||||
} catch (Throwable t) {
|
||||
throw checkException(t);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user