Program: 80065
Project: 80065
Buggy source:
public final java.io.Reader getCharacterStream(int column) throws SqlException {
switch (jdbcTypes_[column - 1]) {
case java.sql.Types.CLOB:
    Clob c=getClobColumn_(column,agent_,false);
  if (c.isLocator()) {
    ClobLocatorReader reader=new ClobLocatorReader(agent_.connection_,c);
    return new BufferedReader(reader);
  }
 else {
    return c.getCharacterStreamX();
  }
case java.sql.Types.CHAR:
return new java.io.StringReader(getCHAR(column));
case java.sql.Types.VARCHAR:
case java.sql.Types.LONGVARCHAR:
return new java.io.StringReader(getVARCHAR(column));
case java.sql.Types.BINARY:
try {
return new java.io.InputStreamReader(new java.io.ByteArrayInputStream(get_CHAR_FOR_BIT_DATA(column)),"String_Node_Str");
}
 catch (java.io.UnsupportedEncodingException e) {
throw new SqlException(agent_.logWriter_,new ClientMessageId(SQLState.UNSUPPORTED_ENCODING),"String_Node_Str","String_Node_Str",e);
}
case java.sql.Types.VARBINARY:
case java.sql.Types.LONGVARBINARY:
try {
return new java.io.InputStreamReader(new java.io.ByteArrayInputStream(get_VARCHAR_FOR_BIT_DATA(column)),"String_Node_Str");
}
 catch (java.io.UnsupportedEncodingException e) {
throw new SqlException(agent_.logWriter_,new ClientMessageId(SQLState.UNSUPPORTED_ENCODING),"String_Node_Str","String_Node_Str",e);
}
case java.sql.Types.BLOB:
try {
return new java.io.InputStreamReader(getBinaryStream(column),"String_Node_Str");
}
 catch (java.io.UnsupportedEncodingException e) {
throw new SqlException(agent_.logWriter_,new ClientMessageId(SQLState.UNSUPPORTED_ENCODING),"String_Node_Str","String_Node_Str",e);
}
default :
throw new ColumnTypeConversionException(agent_.logWriter_,"String_Node_Str" + jdbcTypes_[column - 1],"String_Node_Str");
}
}

Fixed version (ground truth):
public final java.io.Reader getCharacterStream(int column) throws SqlException {
switch (jdbcTypes_[column - 1]) {
case java.sql.Types.CLOB:
    Clob c=getClobColumn_(column,agent_,false);
  if (c.isLocator()) {
    ClobLocatorReader reader=new ClobLocatorReader(agent_.connection_,c);
    return new BufferedReader(reader);
  }
 else {
    return c.getCharacterStreamX();
  }
case java.sql.Types.CHAR:
return new java.io.StringReader(getCHAR(column));
case java.sql.Types.VARCHAR:
case java.sql.Types.LONGVARCHAR:
return new java.io.StringReader(getVARCHAR(column));
case java.sql.Types.BINARY:
try {
return new java.io.InputStreamReader(new java.io.ByteArrayInputStream(get_CHAR_FOR_BIT_DATA(column)),"String_Node_Str");
}
 catch (java.io.UnsupportedEncodingException e) {
throw new SqlException(agent_.logWriter_,new ClientMessageId(SQLState.UNSUPPORTED_ENCODING),"String_Node_Str","String_Node_Str",e);
}
case java.sql.Types.VARBINARY:
case java.sql.Types.LONGVARBINARY:
try {
return new java.io.InputStreamReader(new java.io.ByteArrayInputStream(get_VARCHAR_FOR_BIT_DATA(column)),"String_Node_Str");
}
 catch (java.io.UnsupportedEncodingException e) {
throw new SqlException(agent_.logWriter_,new ClientMessageId(SQLState.UNSUPPORTED_ENCODING),"String_Node_Str","String_Node_Str",e);
}
case java.sql.Types.BLOB:
try {
return new java.io.InputStreamReader(getBinaryStream(column),"String_Node_Str");
}
 catch (java.io.UnsupportedEncodingException e) {
throw new SqlException(agent_.logWriter_,new ClientMessageId(SQLState.UNSUPPORTED_ENCODING),"String_Node_Str","String_Node_Str",e);
}
default :
throw coercionError("String_Node_Str",column);
}
}