Program: 80191
Project: 80191
Buggy source:
/** 
 * Create a HashSet which contains all rows that qualify for the  described scan. <p> All parameters shared between openScan() and this routine are  interpreted exactly the same.  Logically this routine calls openScan() with the passed in set of parameters, and then places all returned rows into a newly created HashSet and returns, actual implementations will likely perform better than actually calling openScan() and doing this.  For documentation of the openScan  parameters see openScan(). <p>
 * @return the BackingStoreHashtable which was created.
 * @param conglomId             see openScan()
 * @param open_mode             see openScan()
 * @param lock_level            see openScan()
 * @param isolation_level       see openScan()
 * @param scanColumnList        see openScan()
 * @param startKeyValue         see openScan()
 * @param startSearchOperator   see openScan()
 * @param qualifier             see openScan()
 * @param stopKeyValue          see openScan()
 * @param stopSearchOperator    see openScan()
 * @param max_rowcnt            The maximum number of rows to insert into the HashSet.  Pass in -1 if there is no  maximum.
 * @param key_column_numbers    The column numbers of the columns in thescan result row to be the key to the  Hashtable.  "0" is the first column in the  scan result row (which may be different  than the first row in the table of the  scan).
 * @param remove_duplicates     Should the HashSet automatically removeduplicates, or should it create the Vector  of duplicates?
 * @param estimated_rowcnt      The number of rows that the caller estimates will be inserted into the sort.  -1 indicates that the caller has no idea. Used by the sort to make good choices about in-memory vs. external sorting, and to size merge runs.
 * @param max_inmemory_rowcnt   The number of rows at which the underlyingHashtable implementation should cut over from an in-memory hash to a disk based access method.
 * @param initialCapacity       If not "-1" used to initialize the javaHashtable.
 * @param loadFactor            If not "-1" used to initialize the javaHashtable.
 * @param collect_runtimestats  If true will collect up runtime stats duringscan processing for retrieval by BackingStoreHashtable.getRuntimeStats().
 * @param skipNullKeyColumns	Whether or not to skip rows with 1 or more null key columns
 * @see BackingStoreHashtable
 * @see TransactionController#openScan
 * @exception StandardException  Standard exception policy.
 */
BackingStoreHashtable createBackingStoreHashtableFromScan(long conglomId,int open_mode,int lock_level,int isolation_level,FormatableBitSet scanColumnList,DataValueDescriptor[] startKeyValue,int startSearchOperator,Qualifier qualifier[][],DataValueDescriptor[] stopKeyValue,int stopSearchOperator,long max_rowcnt,int[] key_column_numbers,boolean remove_duplicates,long estimated_rowcnt,long max_inmemory_rowcnt,int initialCapacity,float loadFactor,boolean collect_runtimestats,boolean skipNullKeyColumns) throws StandardException ;

Fixed version (ground truth):
/** 
 * Create a HashSet which contains all rows that qualify for the  described scan. <p> All parameters shared between openScan() and this routine are  interpreted exactly the same.  Logically this routine calls openScan() with the passed in set of parameters, and then places all returned rows into a newly created HashSet and returns, actual implementations will likely perform better than actually calling openScan() and doing this.  For documentation of the openScan  parameters see openScan(). <p>
 * @return the BackingStoreHashtable which was created.
 * @param conglomId             see openScan()
 * @param open_mode             see openScan()
 * @param lock_level            see openScan()
 * @param isolation_level       see openScan()
 * @param scanColumnList        see openScan()
 * @param startKeyValue         see openScan()
 * @param startSearchOperator   see openScan()
 * @param qualifier             see openScan()
 * @param stopKeyValue          see openScan()
 * @param stopSearchOperator    see openScan()
 * @param max_rowcnt            The maximum number of rows to insert into the HashSet.  Pass in -1 if there is no  maximum.
 * @param key_column_numbers    The column numbers of the columns in thescan result row to be the key to the  Hashtable.  "0" is the first column in the  scan result row (which may be different  than the first row in the table of the  scan).
 * @param remove_duplicates     Should the HashSet automatically removeduplicates, or should it create the Vector  of duplicates?
 * @param estimated_rowcnt      The number of rows that the caller estimates will be inserted into the sort.  -1 indicates that the caller has no idea. Used by the sort to make good choices about in-memory vs. external sorting, and to size merge runs.
 * @param max_inmemory_rowcnt   The number of rows at which the underlyingHashtable implementation should cut over from an in-memory hash to a disk based access method.
 * @param initialCapacity       If not "-1" used to initialize the javaHashtable.
 * @param loadFactor            If not "-1" used to initialize the javaHashtable.
 * @param collect_runtimestats  If true will collect up runtime stats duringscan processing for retrieval by BackingStoreHashtable.getRuntimeStats().
 * @param skipNullKeyColumns	Whether or not to skip rows with 1 or more null key columns
 * @param keepAfterCommit       If true then the hash table is kept after acommit
 * @see BackingStoreHashtable
 * @see TransactionController#openScan
 * @exception StandardException  Standard exception policy.
 */
BackingStoreHashtable createBackingStoreHashtableFromScan(long conglomId,int open_mode,int lock_level,int isolation_level,FormatableBitSet scanColumnList,DataValueDescriptor[] startKeyValue,int startSearchOperator,Qualifier qualifier[][],DataValueDescriptor[] stopKeyValue,int stopSearchOperator,long max_rowcnt,int[] key_column_numbers,boolean remove_duplicates,long estimated_rowcnt,long max_inmemory_rowcnt,int initialCapacity,float loadFactor,boolean collect_runtimestats,boolean skipNullKeyColumns,boolean keepAfterCommit) throws StandardException ;