Program: 84276
Project: 84276
Buggy source:
private void readColumns() throws SQLException, JDBCException {
  updateListeners("String_Node_Str" + database.toString() + "String_Node_Str");
  ResultSet rs=databaseMetaData.getColumns(database.getCatalogName(),database.getSchemaName(),null,null);
  while (rs.next()) {
    Column columnInfo=new Column();
    String tableName=rs.getString("String_Node_Str");
    String columnName=rs.getString("String_Node_Str");
    String schemaName=rs.getString("String_Node_Str");
    String catalogName=rs.getString("String_Node_Str");
    if (database.isSystemTable(catalogName,schemaName,tableName) || database.isLiquibaseTable(tableName)) {
      continue;
    }
    Table table=tablesMap.get(tableName);
    if (table == null) {
      View view=viewsMap.get(tableName);
      if (view == null) {
        log.info("String_Node_Str" + tableName + "String_Node_Str"+ columnName);
        continue;
      }
 else {
        columnInfo.setView(view);
        view.getColumns().add(columnInfo);
      }
    }
 else {
      columnInfo.setTable(table);
      table.getColumns().add(columnInfo);
    }
    columnInfo.setName(columnName);
    columnInfo.setDataType(rs.getInt("String_Node_Str"));
    columnInfo.setColumnSize(rs.getInt("String_Node_Str"));
    columnInfo.setDecimalDigits(rs.getInt("String_Node_Str"));
    columnInfo.setTypeName(rs.getString("String_Node_Str"));
    columnInfo.setDefaultValue(rs.getString("String_Node_Str"));
    int nullable=rs.getInt("String_Node_Str");
    if (nullable == DatabaseMetaData.columnNoNulls) {
      columnInfo.setNullable(false);
    }
 else     if (nullable == DatabaseMetaData.columnNullable) {
      columnInfo.setNullable(true);
    }
    columnsMap.put(columnName,columnInfo);
  }
  rs.close();
}

Fixed version (ground truth):
private void readColumns() throws SQLException, JDBCException {
  updateListeners("String_Node_Str" + database.toString() + "String_Node_Str");
  ResultSet rs=databaseMetaData.getColumns(database.getCatalogName(),database.getSchemaName(),null,null);
  while (rs.next()) {
    Column columnInfo=new Column();
    String tableName=rs.getString("String_Node_Str");
    String columnName=rs.getString("String_Node_Str");
    String schemaName=rs.getString("String_Node_Str");
    String catalogName=rs.getString("String_Node_Str");
    if (database.isSystemTable(catalogName,schemaName,tableName) || database.isLiquibaseTable(tableName)) {
      continue;
    }
    Table table=tablesMap.get(tableName);
    if (table == null) {
      View view=viewsMap.get(tableName);
      if (view == null) {
        log.info("String_Node_Str" + tableName + "String_Node_Str"+ columnName);
        continue;
      }
 else {
        columnInfo.setView(view);
        view.getColumns().add(columnInfo);
      }
    }
 else {
      columnInfo.setTable(table);
      table.getColumns().add(columnInfo);
    }
    columnInfo.setName(columnName);
    columnInfo.setDataType(rs.getInt("String_Node_Str"));
    columnInfo.setColumnSize(rs.getInt("String_Node_Str"));
    columnInfo.setDecimalDigits(rs.getInt("String_Node_Str"));
    columnInfo.setTypeName(rs.getString("String_Node_Str"));
    String defaultValue=rs.getString("String_Node_Str");
    columnInfo.setAutoIncrement(isAutoIncrement(defaultValue,database));
    columnInfo.setDefaultValue(translateDefaultValue(defaultValue,database));
    int nullable=rs.getInt("String_Node_Str");
    if (nullable == DatabaseMetaData.columnNoNulls) {
      columnInfo.setNullable(false);
    }
 else     if (nullable == DatabaseMetaData.columnNullable) {
      columnInfo.setNullable(true);
    }
    columnsMap.put(columnName,columnInfo);
  }
  rs.close();
}