Program: 3624
Project: 3624
Buggy source:
/** 
 * Create a SQL string to run the correct query.
 */
private static String createSqlInternal(BrowseScope scope,String itemValue,boolean isCount) throws SQLException {
  String tablename=BrowseTables.getTable(scope);
  String column=BrowseTables.getValueColumn(scope);
  int browseType=scope.getBrowseType();
  StringBuffer sqlb=new StringBuffer();
  sqlb.append("String_Node_Str");
  sqlb.append(isCount ? "String_Node_Str" : "String_Node_Str");
  sqlb.append(getTargetColumns(scope));
  sqlb.append(isCount ? "String_Node_Str" : "String_Node_Str");
  if (browseType == AUTHORS_BROWSE && !isCount) {
    sqlb.append("String_Node_Str");
  }
  sqlb.append("String_Node_Str");
  sqlb.append(tablename);
  boolean addedWhereClause=false;
  if (scope.hasFocus()) {
    String subquery=null;
    if (scope.focusIsItem())     subquery=new StringBuffer().append("String_Node_Str").append(column).append("String_Node_Str").append(scope.getFocusItemId()).append("String_Node_Str").toString();
    if (log.isDebugEnabled())     log.debug("String_Node_Str" + subquery + "String_Node_Str");
    sqlb.append("String_Node_Str").append("String_Node_Str").append(column).append("String_Node_Str").append("String_Node_Str").append(scope.focusIsItem() ? subquery : "String_Node_Str").append("String_Node_Str");
    addedWhereClause=true;
  }
  String connector=addedWhereClause ? "String_Node_Str" : "String_Node_Str";
  sqlb.append(getScopeClause(scope,connector));
  if (isCount)   return sqlb.toString();
  sqlb.append("String_Node_Str").append(column).append("String_Node_Str").append((scope.focusIsString() || (scope.getBrowseType() == AUTHORS_BROWSE)) ? "String_Node_Str" : "String_Node_Str");
  if (!scope.hasNoLimit())   sqlb.append("String_Node_Str");
  return sqlb.toString();
}

Fixed version (ground truth):
/** 
 * Create a SQL string to run the correct query.
 */
private static String createSqlInternal(BrowseScope scope,String itemValue,boolean isCount) throws SQLException {
  String tablename=BrowseTables.getTable(scope);
  String column=BrowseTables.getValueColumn(scope);
  int browseType=scope.getBrowseType();
  StringBuffer sqlb=new StringBuffer();
  sqlb.append("String_Node_Str");
  sqlb.append(isCount ? "String_Node_Str" : "String_Node_Str");
  sqlb.append(getTargetColumns(scope));
  sqlb.append(isCount ? "String_Node_Str" : "String_Node_Str");
  if (browseType == AUTHORS_BROWSE && !isCount) {
    sqlb.append("String_Node_Str");
  }
  sqlb.append("String_Node_Str");
  sqlb.append(tablename);
  boolean addedWhereClause=false;
  if (scope.hasFocus()) {
    String subquery=null;
    if (scope.focusIsItem())     subquery=new StringBuffer().append("String_Node_Str").append(column).append("String_Node_Str").append(scope.getFocusItemId()).append("String_Node_Str").toString();
    if (log.isDebugEnabled())     log.debug("String_Node_Str" + subquery + "String_Node_Str");
    sqlb.append("String_Node_Str").append("String_Node_Str").append(column).append("String_Node_Str").append("String_Node_Str").append(scope.focusIsItem() ? subquery : "String_Node_Str").append("String_Node_Str");
    addedWhereClause=true;
  }
  String connector=addedWhereClause ? "String_Node_Str" : "String_Node_Str";
  sqlb.append(getScopeClause(scope,connector));
  if (isCount)   return sqlb.toString();
  sqlb.append("String_Node_Str").append(column).append("String_Node_Str").append(((scope.focusIsString() && (scope.getBrowseType() != ITEMS_BY_DATE_BROWSE)) || (scope.getBrowseType() == AUTHORS_BROWSE)) ? "String_Node_Str" : "String_Node_Str");
  if (!scope.hasNoLimit())   sqlb.append("String_Node_Str");
  return sqlb.toString();
}