You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Gopal V (JIRA)" <ji...@apache.org> on 2016/01/09 14:30:39 UTC

[jira] [Created] (HIVE-12826) Vectorization: VectorUDAF* suspect isNull checks

Gopal V created HIVE-12826:
------------------------------

             Summary: Vectorization: VectorUDAF* suspect isNull checks
                 Key: HIVE-12826
                 URL: https://issues.apache.org/jira/browse/HIVE-12826
             Project: Hive
          Issue Type: Bug
          Components: Vectorization
    Affects Versions: 1.3.0, 2.0.0, 2.1.0
            Reporter: Gopal V
            Assignee: Matt McCline


for isRepeating=true, checking isNull[selected[i]] might return incorrect results (without a heavy array fill of isNull).

VectorUDAFSum/Min/Max/Avg and SumDecimal impls need to be reviewed for this pattern.

{code}
    private void iterateHasNullsRepeatingSelectionWithAggregationSelection(
      VectorAggregationBufferRow[] aggregationBufferSets,
      int aggregateIndex,
      <ValueType> value,
      int batchSize,
      int[] selection,
      boolean[] isNull) {
      
      for (int i=0; i < batchSize; ++i) {
        if (!isNull[selection[i]]) {
          Aggregation myagg = getCurrentAggregationBuffer(
            aggregationBufferSets, 
            aggregateIndex,
            i);
          myagg.sumValue(value);
        }
      }
    }
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)