Program: 106543
Project: 106543
Buggy source:
private void fixIndexes(Connection conn){
  List<String> keys=new ArrayList<String>();
  keys.add("String_Node_Str");
  DbUpgradeUtils.dropKeysIfExist(conn,"String_Node_Str",keys,false);
  try {
    PreparedStatement pstmt=conn.prepareStatement("String_Node_Str");
    pstmt.executeUpdate();
    pstmt.close();
  }
 catch (  SQLException e) {
    throw new CloudRuntimeException("String_Node_Str",e);
  }
  keys=new ArrayList<String>();
  keys.add("String_Node_Str");
  DbUpgradeUtils.dropKeysIfExist(conn,"String_Node_Str",keys,false);
  try {
    PreparedStatement pstmt=conn.prepareStatement("String_Node_Str");
    pstmt.executeUpdate();
    pstmt.close();
  }
 catch (  SQLException e) {
    throw new CloudRuntimeException("String_Node_Str",e);
  }
  DbUpgradeUtils.dropPrimaryKeyIfExists(conn,"String_Node_Str");
  try {
    PreparedStatement pstmt=conn.prepareStatement("String_Node_Str");
    pstmt.executeUpdate();
    pstmt.close();
  }
 catch (  SQLException e) {
    throw new CloudRuntimeException("String_Node_Str",e);
  }
  keys=new ArrayList<String>();
  keys.add("String_Node_Str");
  DbUpgradeUtils.dropKeysIfExist(conn,"String_Node_Str",keys,false);
  try {
    PreparedStatement pstmt=conn.prepareStatement("String_Node_Str");
    pstmt.executeUpdate();
    pstmt.close();
  }
 catch (  SQLException e) {
    throw new CloudRuntimeException("String_Node_Str",e);
  }
  keys=new ArrayList<String>();
  keys.add("String_Node_Str");
  DbUpgradeUtils.dropKeysIfExist(conn,"String_Node_Str",keys,false);
  keys=new ArrayList<String>();
  keys.add("String_Node_Str");
  DbUpgradeUtils.dropKeysIfExist(conn,"String_Node_Str",keys,false);
  try {
    PreparedStatement pstmt=conn.prepareStatement("String_Node_Str");
    pstmt.executeUpdate();
    pstmt.close();
  }
 catch (  SQLException e) {
    throw new CloudRuntimeException("String_Node_Str",e);
  }
  keys=new ArrayList<String>();
  keys.add("String_Node_Str");
  keys.add("String_Node_Str");
  DbUpgradeUtils.dropKeysIfExist(conn,"String_Node_Str",keys,false);
  try {
    PreparedStatement pstmt=conn.prepareStatement("String_Node_Str");
    pstmt.executeUpdate();
    pstmt.close();
  }
 catch (  SQLException e) {
    throw new CloudRuntimeException("String_Node_Str",e);
  }
  keys=new ArrayList<String>();
  keys.add("String_Node_Str");
  keys.add("String_Node_Str");
  keys.add("String_Node_Str");
  keys.add("String_Node_Str");
  DbUpgradeUtils.dropKeysIfExist(conn,"String_Node_Str",keys,true);
  try {
    PreparedStatement pstmt;
    pstmt=conn.prepareStatement("String_Node_Str");
    pstmt.executeUpdate();
    pstmt.close();
  }
 catch (  SQLException e) {
    throw new CloudRuntimeException("String_Node_Str",e);
  }
  try {
    PreparedStatement pstmt;
    pstmt=conn.prepareStatement("String_Node_Str");
    pstmt.executeUpdate();
    pstmt.close();
  }
 catch (  SQLException e) {
    throw new CloudRuntimeException("String_Node_Str",e);
  }
}

Fixed version (ground truth):
private void fixIndexes(Connection conn){
  List<String> keys=new ArrayList<String>();
  keys.add("String_Node_Str");
  DbUpgradeUtils.dropKeysIfExist(conn,"String_Node_Str",keys,false);
  try {
    PreparedStatement pstmt=conn.prepareStatement("String_Node_Str");
    pstmt.executeUpdate();
    pstmt.close();
  }
 catch (  SQLException e) {
    throw new CloudRuntimeException("String_Node_Str",e);
  }
  keys=new ArrayList<String>();
  keys.add("String_Node_Str");
  DbUpgradeUtils.dropKeysIfExist(conn,"String_Node_Str",keys,false);
  try {
    PreparedStatement pstmt=conn.prepareStatement("String_Node_Str");
    pstmt.executeUpdate();
    pstmt.close();
  }
 catch (  SQLException e) {
    throw new CloudRuntimeException("String_Node_Str",e);
  }
  DbUpgradeUtils.dropPrimaryKeyIfExists(conn,"String_Node_Str");
  try {
    PreparedStatement pstmt=conn.prepareStatement("String_Node_Str");
    pstmt.executeUpdate();
    pstmt.close();
  }
 catch (  SQLException e) {
    throw new CloudRuntimeException("String_Node_Str",e);
  }
  keys=new ArrayList<String>();
  keys.add("String_Node_Str");
  DbUpgradeUtils.dropKeysIfExist(conn,"String_Node_Str",keys,false);
  try {
    PreparedStatement pstmt=conn.prepareStatement("String_Node_Str");
    pstmt.executeUpdate();
    pstmt.close();
  }
 catch (  SQLException e) {
    throw new CloudRuntimeException("String_Node_Str",e);
  }
  keys=new ArrayList<String>();
  keys.add("String_Node_Str");
  DbUpgradeUtils.dropKeysIfExist(conn,"String_Node_Str",keys,false);
  keys=new ArrayList<String>();
  keys.add("String_Node_Str");
  DbUpgradeUtils.dropKeysIfExist(conn,"String_Node_Str",keys,false);
  try {
    PreparedStatement pstmt=conn.prepareStatement("String_Node_Str");
    pstmt.executeUpdate();
    pstmt.close();
  }
 catch (  SQLException e) {
    throw new CloudRuntimeException("String_Node_Str",e);
  }
  keys=new ArrayList<String>();
  keys.add("String_Node_Str");
  keys.add("String_Node_Str");
  DbUpgradeUtils.dropKeysIfExist(conn,"String_Node_Str",keys,false);
  try {
    PreparedStatement pstmt=conn.prepareStatement("String_Node_Str");
    pstmt.executeUpdate();
    pstmt.close();
  }
 catch (  SQLException e) {
    throw new CloudRuntimeException("String_Node_Str",e);
  }
  keys=new ArrayList<String>();
  keys.add("String_Node_Str");
  keys.add("String_Node_Str");
  keys.add("String_Node_Str");
  keys.add("String_Node_Str");
  DbUpgradeUtils.dropKeysIfExist(conn,"String_Node_Str",keys,true);
  try {
    PreparedStatement pstmt;
    pstmt=conn.prepareStatement("String_Node_Str");
    pstmt.executeUpdate();
    pstmt.close();
  }
 catch (  SQLException e) {
    throw new CloudRuntimeException("String_Node_Str",e);
  }
  try {
    PreparedStatement pstmt;
    pstmt=conn.prepareStatement("String_Node_Str");
    pstmt.executeUpdate();
    pstmt.close();
  }
 catch (  SQLException e) {
    throw new CloudRuntimeException("String_Node_Str",e);
  }
  keys=new ArrayList<String>();
  keys.add("String_Node_Str");
  keys.add("String_Node_Str");
  DbUpgradeUtils.dropKeysIfExist(conn,"String_Node_Str",keys,false);
  try {
    PreparedStatement pstmt=conn.prepareStatement("String_Node_Str");
    pstmt.executeUpdate();
    pstmt.close();
  }
 catch (  SQLException e) {
    throw new CloudRuntimeException("String_Node_Str",e);
  }
  keys=new ArrayList<String>();
  keys.add("String_Node_Str");
  keys.add("String_Node_Str");
  DbUpgradeUtils.dropKeysIfExist(conn,"String_Node_Str",keys,true);
  DbUpgradeUtils.dropKeysIfExist(conn,"String_Node_Str",keys,false);
  try {
    PreparedStatement pstmt=conn.prepareStatement("String_Node_Str");
    pstmt.executeUpdate();
    pstmt.close();
  }
 catch (  SQLException e) {
    throw new CloudRuntimeException("String_Node_Str",e);
  }
  keys=new ArrayList<String>();
  keys.add("String_Node_Str");
  keys.add("String_Node_Str");
  DbUpgradeUtils.dropKeysIfExist(conn,"String_Node_Str",keys,true);
  DbUpgradeUtils.dropKeysIfExist(conn,"String_Node_Str",keys,false);
  try {
    PreparedStatement pstmt=conn.prepareStatement("String_Node_Str");
    pstmt.executeUpdate();
    pstmt.close();
  }
 catch (  SQLException e) {
    throw new CloudRuntimeException("String_Node_Str",e);
  }
}