Here is how IB3 does it
*BaseTypeHandler*
*
*
public Object getResult(ResultSet rs, String columnName)
throws SQLException {
Object result = getNullableResult(rs, columnName);
if (rs.wasNull()) {
return null;
} else {
return result;
}
}
*IntegerTypeHandler*
public Object getNullableResult(ResultSet rs, String columnName)
throws SQLException {
return rs.getInt(columnName);
}
So the actual Integer creation is done by the driver.
On Thu, Mar 4, 2010 at 11:53 AM, Michael Schall <[email protected]>wrote:
> I have been doing some performance tuning and looking a heap dumps.
> The number of Integer objects in memory is staggering. Looking at the
> 1.5 java docs, using Integer.valueOf should help.
> http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Integer.html#valueOf(int)
>
> This could be extended to most of the number type TypeHandlers in the
> 2.3.4 code base as it requires Java 1.5. How is this handled in 3.0?
>
> IntegerTypeHandler (version 2.3.4 )
> public Object getResult(ResultSet rs, String columnName)
> throws SQLException {
> int i = rs.getInt(columnName);
> if (rs.wasNull()) {
> return null;
> } else {
> return new Integer(i);
> }
> }
>
> Mike
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>