Khurram Faraaz created DRILL-4469:
-------------------------------------
Summary: SUM window query returns incorrect results over integer
data
Key: DRILL-4469
URL: https://issues.apache.org/jira/browse/DRILL-4469
Project: Apache Drill
Issue Type: Bug
Components: Execution - Flow
Affects Versions: 1.6.0
Environment: 4 node CentOS cluster
Reporter: Khurram Faraaz
Priority: Critical
SUM window query returns incorrect results as compared to Postgres, with or
without the frame clause in the window definition. Note that there is a sub
query involved and data in column c1 is sorted integer data with no nulls.
Drill 1.6.0 commit ID: 6d5f4983
Results from Drill 1.6.0
{noformat}
0: jdbc:drill:schema=dfs.tmp> SELECT SUM(c1) OVER w FROM (select * from
dfs.tmp.`t_alltype`) subQry WINDOW w AS (PARTITION BY c8 ORDER BY c1 RANGE
BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING);
+---------+
| EXPR$0 |
+---------+
| 10585 |
| 10585 |
| 10585 |
| 10585 |
| 10585 |
| 10585 |
...
| 10585 |
| 10585 |
| 10585 |
+--------+
145 rows selected (0.257 seconds)
{noformat}
results from Postgres 9.3
{noformat}
postgres=# SELECT SUM(c1) OVER w FROM (select * from t_alltype) subQry WINDOW w
AS (PARTITION BY c8 ORDER BY c1 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED
FOLLOWING);
sum
------
4499
4499
4499
4499
4499
4499
...
5613
5613
5613
473
473
473
473
473
(145 rows)
{noformat}
Removing the frame clause from window definition, still results in completely
different results on Postgres vs Drill
Results from Drill 1.6.0
{noformat}
0: jdbc:drill:schema=dfs.tmp> SELECT SUM(c1) OVER w FROM (select * from
t_alltype) subQry WINDOW w AS (PARTITION BY c8 ORDER BY c1);
+---------+
| EXPR$0 |
+---------+
| 10585 |
| 10585 |
| 10585 |
| 10585 |
| 10585 |
| 10585 |
| 10585 |
| 10585 |
| 10585 |
...
| 10585 |
| 10585 |
| 10585 |
| 10585 |
| 10585 |
+--------+
145 rows selected (0.28 seconds)
{noformat}
Results from Postgres
{noformat}
postgres=# SELECT SUM(c1) OVER w FROM (select * from t_alltype) subQry WINDOW w
AS (PARTITION BY c8 ORDER BY c1);
sum
------
5
12
21
33
47
62
78
96
115
135
158
182
207
233
260
289
...
4914
5051
5189
5328
5470
5613
8
70
198
332
473
(145 rows)
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)