Program: 80192
Project: 80192
Buggy source:
HashScanResultSet(long conglomId,StaticCompiledOpenConglomInfo scoci,Activation activation,GeneratedMethod resultRowAllocator,int resultSetNumber,GeneratedMethod startKeyGetter,int startSearchOperator,GeneratedMethod stopKeyGetter,int stopSearchOperator,boolean sameStartStopPosition,Qualifier[][] scanQualifiers,Qualifier[][] nextQualifiers,int initialCapacity,float loadFactor,int maxCapacity,int hashKeyItem,String tableName,String userSuppliedOptimizerOverrides,String indexName,boolean isConstraint,boolean forUpdate,int colRefItem,int lockMode,boolean tableLocked,int isolationLevel,boolean skipNullKeyColumns,double optimizerEstimatedRowCount,double optimizerEstimatedCost) throws StandardException {
  super(activation,resultSetNumber,resultRowAllocator,lockMode,tableLocked,isolationLevel,optimizerEstimatedRowCount,optimizerEstimatedCost);
  this.scoci=scoci;
  this.conglomId=conglomId;
  if (SanityManager.DEBUG) {
    SanityManager.ASSERT(activation != null,"String_Node_Str");
    SanityManager.ASSERT(resultRowAllocator != null,"String_Node_Str");
    if (sameStartStopPosition) {
      SanityManager.ASSERT(stopKeyGetter == null,"String_Node_Str");
    }
  }
  this.resultRowAllocator=resultRowAllocator;
  this.startKeyGetter=startKeyGetter;
  this.startSearchOperator=startSearchOperator;
  this.stopKeyGetter=stopKeyGetter;
  this.stopSearchOperator=stopSearchOperator;
  this.sameStartStopPosition=sameStartStopPosition;
  this.scanQualifiers=scanQualifiers;
  this.nextQualifiers=nextQualifiers;
  this.initialCapacity=initialCapacity;
  this.loadFactor=loadFactor;
  this.maxCapacity=maxCapacity;
  this.tableName=tableName;
  this.userSuppliedOptimizerOverrides=userSuppliedOptimizerOverrides;
  this.indexName=indexName;
  this.isConstraint=isConstraint;
  this.forUpdate=forUpdate;
  this.skipNullKeyColumns=skipNullKeyColumns;
  FormatableArrayHolder fah=(FormatableArrayHolder)(activation.getPreparedStatement().getSavedObject(hashKeyItem));
  FormatableIntHolder[] fihArray=(FormatableIntHolder[])fah.getArray(FormatableIntHolder.class);
  keyColumns=new int[fihArray.length];
  for (int index=0; index < fihArray.length; index++) {
    keyColumns[index]=fihArray[index].getInt();
  }
  this.accessedCols=null;
  if (colRefItem != -1) {
    this.accessedCols=(FormatableBitSet)(activation.getPreparedStatement().getSavedObject(colRefItem));
  }
  runTimeStatisticsOn=getLanguageConnectionContext().getRunTimeStatisticsMode();
  compactRow=getCompactRow(candidate,accessedCols,(FormatableBitSet)null,false);
  constructorTime+=getElapsedMillis(beginTime);
}

Fixed version (ground truth):
HashScanResultSet(long conglomId,StaticCompiledOpenConglomInfo scoci,Activation activation,GeneratedMethod resultRowAllocator,int resultSetNumber,GeneratedMethod startKeyGetter,int startSearchOperator,GeneratedMethod stopKeyGetter,int stopSearchOperator,boolean sameStartStopPosition,Qualifier[][] scanQualifiers,Qualifier[][] nextQualifiers,int initialCapacity,float loadFactor,int maxCapacity,int hashKeyItem,String tableName,String userSuppliedOptimizerOverrides,String indexName,boolean isConstraint,boolean forUpdate,int colRefItem,int lockMode,boolean tableLocked,int isolationLevel,boolean skipNullKeyColumns,double optimizerEstimatedRowCount,double optimizerEstimatedCost) throws StandardException {
  super(activation,resultSetNumber,resultRowAllocator,lockMode,tableLocked,isolationLevel,optimizerEstimatedRowCount,optimizerEstimatedCost);
  this.scoci=scoci;
  this.conglomId=conglomId;
  if (SanityManager.DEBUG) {
    SanityManager.ASSERT(activation != null,"String_Node_Str");
    SanityManager.ASSERT(resultRowAllocator != null,"String_Node_Str");
    if (sameStartStopPosition) {
      SanityManager.ASSERT(stopKeyGetter == null,"String_Node_Str");
    }
  }
  this.resultRowAllocator=resultRowAllocator;
  this.startKeyGetter=startKeyGetter;
  this.startSearchOperator=startSearchOperator;
  this.stopKeyGetter=stopKeyGetter;
  this.stopSearchOperator=stopSearchOperator;
  this.sameStartStopPosition=sameStartStopPosition;
  this.scanQualifiers=scanQualifiers;
  this.nextQualifiers=nextQualifiers;
  this.initialCapacity=initialCapacity;
  this.loadFactor=loadFactor;
  this.maxCapacity=maxCapacity;
  this.tableName=tableName;
  this.userSuppliedOptimizerOverrides=userSuppliedOptimizerOverrides;
  this.indexName=indexName;
  this.isConstraint=isConstraint;
  this.forUpdate=forUpdate;
  this.skipNullKeyColumns=skipNullKeyColumns;
  this.keepAfterCommit=activation.getResultSetHoldability();
  FormatableArrayHolder fah=(FormatableArrayHolder)(activation.getPreparedStatement().getSavedObject(hashKeyItem));
  FormatableIntHolder[] fihArray=(FormatableIntHolder[])fah.getArray(FormatableIntHolder.class);
  keyColumns=new int[fihArray.length];
  for (int index=0; index < fihArray.length; index++) {
    keyColumns[index]=fihArray[index].getInt();
  }
  this.accessedCols=null;
  if (colRefItem != -1) {
    this.accessedCols=(FormatableBitSet)(activation.getPreparedStatement().getSavedObject(colRefItem));
  }
  runTimeStatisticsOn=getLanguageConnectionContext().getRunTimeStatisticsMode();
  compactRow=getCompactRow(candidate,accessedCols,(FormatableBitSet)null,false);
  constructorTime+=getElapsedMillis(beginTime);
}