Program: 80064
Project: 80064
Buggy source:
final String getString(int column) throws SqlException {
  try {
    String tempString=null;
switch (jdbcTypes_[column - 1]) {
case java.sql.Types.BOOLEAN:
      if (get_BOOLEAN(column)) {
        return Boolean.TRUE.toString();
      }
 else {
        return Boolean.FALSE.toString();
      }
case java.sql.Types.CHAR:
    return getCHAR(column);
case java.sql.Types.VARCHAR:
case java.sql.Types.LONGVARCHAR:
  return getVARCHAR(column);
case java.sql.Types.SMALLINT:
return String.valueOf(get_SMALLINT(column));
case java.sql.Types.INTEGER:
return String.valueOf(get_INTEGER(column));
case java.sql.Types.BIGINT:
return String.valueOf(get_BIGINT(column));
case java.sql.Types.REAL:
return String.valueOf(get_FLOAT(column));
case java.sql.Types.DOUBLE:
return String.valueOf(get_DOUBLE(column));
case java.sql.Types.DECIMAL:
return String.valueOf(get_DECIMAL(column));
case java.sql.Types.DATE:
return getStringFromDATE(column);
case java.sql.Types.TIME:
return getStringFromTIME(column);
case java.sql.Types.TIMESTAMP:
return getStringFromTIMESTAMP(column);
case Types.BINARY:
tempString=agent_.crossConverters_.getStringFromBytes(get_CHAR_FOR_BIT_DATA(column));
return (maxFieldSize_ == 0) ? tempString : tempString.substring(0,java.lang.Math.min(maxFieldSize_,tempString.length()));
case java.sql.Types.VARBINARY:
case java.sql.Types.LONGVARBINARY:
tempString=agent_.crossConverters_.getStringFromBytes(get_VARCHAR_FOR_BIT_DATA(column));
return (maxFieldSize_ == 0) ? tempString : tempString.substring(0,java.lang.Math.min(maxFieldSize_,tempString.length()));
case java.sql.Types.JAVA_OBJECT:
Object obj=get_UDT(column);
if (obj == null) {
return null;
}
 else {
return obj.toString();
}
case java.sql.Types.BLOB:
Blob b=getBlobColumn_(column,agent_,false);
tempString=agent_.crossConverters_.getStringFromBytes(b.getBytes(1,(int)b.length()));
return tempString;
case java.sql.Types.CLOB:
Clob c=getClobColumn_(column,agent_,false);
tempString=c.getSubString(1,(int)c.length());
return tempString;
default :
throw new ColumnTypeConversionException(agent_.logWriter_,"String_Node_Str" + jdbcTypes_[column - 1],"String_Node_Str");
}
}
 catch (SQLException se) {
throw new SqlException(se);
}
}

Fixed version (ground truth):
final String getString(int column) throws SqlException {
  try {
    String tempString=null;
switch (jdbcTypes_[column - 1]) {
case java.sql.Types.BOOLEAN:
      if (get_BOOLEAN(column)) {
        return Boolean.TRUE.toString();
      }
 else {
        return Boolean.FALSE.toString();
      }
case java.sql.Types.CHAR:
    return getCHAR(column);
case java.sql.Types.VARCHAR:
case java.sql.Types.LONGVARCHAR:
  return getVARCHAR(column);
case java.sql.Types.SMALLINT:
return String.valueOf(get_SMALLINT(column));
case java.sql.Types.INTEGER:
return String.valueOf(get_INTEGER(column));
case java.sql.Types.BIGINT:
return String.valueOf(get_BIGINT(column));
case java.sql.Types.REAL:
return String.valueOf(get_FLOAT(column));
case java.sql.Types.DOUBLE:
return String.valueOf(get_DOUBLE(column));
case java.sql.Types.DECIMAL:
return String.valueOf(get_DECIMAL(column));
case java.sql.Types.DATE:
return getStringFromDATE(column);
case java.sql.Types.TIME:
return getStringFromTIME(column);
case java.sql.Types.TIMESTAMP:
return getStringFromTIMESTAMP(column);
case Types.BINARY:
tempString=agent_.crossConverters_.getStringFromBytes(get_CHAR_FOR_BIT_DATA(column));
return (maxFieldSize_ == 0) ? tempString : tempString.substring(0,java.lang.Math.min(maxFieldSize_,tempString.length()));
case java.sql.Types.VARBINARY:
case java.sql.Types.LONGVARBINARY:
tempString=agent_.crossConverters_.getStringFromBytes(get_VARCHAR_FOR_BIT_DATA(column));
return (maxFieldSize_ == 0) ? tempString : tempString.substring(0,java.lang.Math.min(maxFieldSize_,tempString.length()));
case java.sql.Types.JAVA_OBJECT:
Object obj=get_UDT(column);
if (obj == null) {
return null;
}
 else {
return obj.toString();
}
case java.sql.Types.BLOB:
Blob b=getBlobColumn_(column,agent_,false);
tempString=agent_.crossConverters_.getStringFromBytes(b.getBytes(1,(int)b.length()));
return tempString;
case java.sql.Types.CLOB:
Clob c=getClobColumn_(column,agent_,false);
tempString=c.getSubString(1,(int)c.length());
return tempString;
default :
throw coercionError("String_Node_Str",column);
}
}
 catch (SQLException se) {
throw new SqlException(se);
}
}