processing/src/main/java/org/apache/druid/query/groupby/epinephelinae/AbstractBufferHashGrouper.java
/**
   * Populate a {@link ReusableEntry} with values from a particular bucket.
   */
Populate a  ReusableEntry with values from a particular bucket.
Populate a ReusableEntry with values from a particular bucket .
protected Entry<KeyType> populateBucketEntryForOffset(
      final ReusableEntry<KeyType> reusableEntry,
      final int bucketOffset
  )
  {
    final ByteBuffer tableBuffer = hashTable.getTableBuffer();
    keySerde.readFromByteBuffer(reusableEntry.getKey(), tableBuffer, bucketOffset + HASH_SIZE);
    if (reusableEntry.getValues().length != aggregators.size()) {
      throw new ISE(
          "Expected entry with [%d] values but got [%d]",
          aggregators.size(),
          reusableEntry.getValues().length
      );
    }
    for (int i = 0; i < aggregators.size(); i++) {
      reusableEntry.getValues()[i] = aggregators.get(tableBuffer, bucketOffset + baseAggregatorOffset, i);
    }
    return reusableEntry;
  }
protected Entry < KeyType > populateBucketEntryForOffset ( final ReusableEntry < KeyType > reusableEntry , final int bucketOffset ) { final ByteBuffer tableBuffer = hashTable . getTableBuffer ( ) ; keySerde . readFromByteBuffer ( reusableEntry . getKey ( ) , tableBuffer , bucketOffset + HASH_SIZE ) ; if ( reusableEntry . getValues ( ) . length != aggregators . size ( ) ) { throw new ISE ( "Expected entry with [%d] values but got [%d]" , aggregators . size ( ) , reusableEntry . getValues ( ) . length ) ; } for ( int i = 0 ; i < aggregators . size ( ) ; i ++ ) { reusableEntry . getValues ( ) [ i ] = aggregators . get ( tableBuffer , bucketOffset + baseAggregatorOffset , i ) ; } return reusableEntry ; }
Populate a {@link ReusableEntry} with values from a particular bucket.
Populate a { @link ReusableEntry } with values from a particular bucket .