[
https://issues.apache.org/jira/browse/HIVE-1376?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ning Zhang updated HIVE-1376:
-----------------------------
Attachment: HIVE-1376.patch
Attaching a patch for review. This patch also fixes HIVE-1674 (count(*)
returning wrong results).
Tests are still running. Will upload a new patch if there are more changes.
This patch implements 3) as suggest and SELECT PERCENTILE(col, 0.5) from src
where false; will return a single row with NULL as value.
> Simple UDAFs with more than 1 parameter crash on empty row query
> -----------------------------------------------------------------
>
> Key: HIVE-1376
> URL: https://issues.apache.org/jira/browse/HIVE-1376
> Project: Hadoop Hive
> Issue Type: Bug
> Components: Query Processor
> Affects Versions: 0.6.0
> Reporter: Mayank Lahiri
> Attachments: HIVE-1376.patch
>
>
> Simple UDAFs with more than 1 parameter crash when the query returns no rows.
> Currently, this only seems to affect the percentile() UDAF where the second
> parameter is the percentile to be computed (of type double). I've also
> verified the bug by adding a dummy parameter to ExampleMin in contrib.
> On an empty query, Hive seems to be trying to resolve an iterate() method
> with signature {null,null} instead of {null,double}. You can reproduce this
> bug using:
> CREATE TABLE pct_test ( val INT );
> SELECT percentile(val, 0.5) FROM pct_test;
> which produces a lot of errors like:
> Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Unable to
> execute method public boolean
> org.apache.hadoop.hive.ql.udf.UDAFPercentile$PercentileLongEvaluator.iterate(org.apache.hadoop.io.LongWritable,double)
> on object
> org.apache.hadoop.hive.ql.udf.udafpercentile$percentilelongevalua...@11d13272
> of class org.apache.hadoop.hive.ql.udf.UDAFPercentile$PercentileLongEvaluator
> with arguments {null, null} of size 2
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.