Matthew Silverman created PHOENIX-3746:
------------------------------------------
Summary: NTH_VALUE returns 'null' when aggregating results of
aggregate sub-query
Key: PHOENIX-3746
URL: https://issues.apache.org/jira/browse/PHOENIX-3746
Project: Phoenix
Issue Type: Bug
Affects Versions: 4.9.0
Reporter: Matthew Silverman
{code:sql}
CREATE TABLE IF NOT EXISTS TEST_TABLE (id INTEGER NOT NULL PRIMARY KEY, page_id
UNSIGNED_LONG, "DATE" INTEGER, "value" UNSIGNED_LONG);
UPSERT INTO TEST_TABLE (id, page_id, "DATE", "value") VALUES (1, 8, 0, 300);
UPSERT INTO TEST_TABLE (id, page_id, "DATE", "value") VALUES (2, 8, 1, 7);
UPSERT INTO TEST_TABLE (id, page_id, "DATE", "value") VALUES (3, 9, 2, 9);
UPSERT INTO TEST_TABLE (id, page_id, "DATE", "value") VALUES (4, 9, 3, 4);
UPSERT INTO TEST_TABLE (id, page_id, "DATE", "value") VALUES (5, 10, 4, 2);
UPSERT INTO TEST_TABLE (id, page_id, "DATE", "value") VALUES (6, 10, 5, 150);
SELECT NTH_VALUE(SUM_VALUE, 2) WITHIN GROUP (ORDER BY MIN_DATE DESC) FROM
(SELECT MIN("DATE") AS MIN_DATE, SUM("value") AS SUM_VALUE FROM TEST_TABLE
GROUP BY page_id) x;
+--------------------------------------+
| null(MIN_DATE, false, SUM_VALUE, 2) |
+--------------------------------------+
| null |
+--------------------------------------+
{code}
I would have expected '13' to be returned, as it is equal to 4+9.
It appears that the {{offset}} field of the server-side aggregator is being
reset on every call to {{reset()}}, when it should persist permanently on the
aggregator once set. I have attached the above example as an integration test,
together with a potential fix.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)