[
https://issues.apache.org/jira/browse/DRILL-1445?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Aman Sinha updated DRILL-1445:
------------------------------
Assignee: DrillCommitter (was: Suresh Ollala)
> Incorrect casting of aggregate
> ------------------------------
>
> Key: DRILL-1445
> URL: https://issues.apache.org/jira/browse/DRILL-1445
> Project: Apache Drill
> Issue Type: Bug
> Components: Query Planning & Optimization
> Affects Versions: 0.5.0
> Reporter: Steven Phillips
> Assignee: DrillCommitter
> Fix For: 0.7.0
>
> Attachments:
> 0001-DRILL-1455-Add-return-type-inference-strategy-for-ar.patch
>
>
> The following query returns an int when it should be a float:
> 0: jdbc:drill:> select avg(nationkey - 1) from nat2;
> +------------+
> | EXPR$0 |
> +------------+
> | 11 |
> +------------+
> 1 row selected (0.27 seconds)
> without the literal, it is correct:
> 0: jdbc:drill:> select avg(nationkey) from nat2;
> +------------+
> | EXPR$0 |
> +------------+
> | 12.0 |
> +------------+
> 1 row selected (0.462 seconds)
> Here is the logical plan for the incorrect query:
> 0: jdbc:drill:> explain plan without implementation for select avg(nationkey
> - 1) from nat2;
> +------------+------------+
> | text | json |
> +------------+------------+
> | DrillScreenRel
> DrillProjectRel(EXPR$0=[CAST(/(CastHigh(CASE(=($1, 0), null, $0)),
> $1)):INTEGER])
> DrillAggregateRel(group=[{}], agg#0=[$SUM0($0)], agg#1=[COUNT($0)])
> DrillProjectRel($f0=[-($0, 1)])
> DrillScanRel(table=[[dfs, drill, nat2]], groupscan=[ParquetGroupScan
> [entries=[ReadEntryWithPath [path=file:/drill/nat2]],
> selectionRoot=/drill/nat2, columns=[SchemaPath [`nationkey`]]]])
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)