diff --git ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/WindowingTableFunction.java ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/WindowingTableFunction.java index 88482d3..2290766 100644 --- ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/WindowingTableFunction.java +++ ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/WindowingTableFunction.java @@ -1319,6 +1319,7 @@ public void remove() { fnOutputs[i] = new ArrayList(); WindowFunctionDef wFn = tabDef.getWindowFunctions().get(i); funcArgs[i] = new Object[wFn.getArgs() == null ? 0 : wFn.getArgs().size()]; + aggBuffers[i] = wFn.getWFnEval().getNewAggregationBuffer(); } } diff --git ql/src/test/queries/clientpositive/windowing.q ql/src/test/queries/clientpositive/windowing.q index 2f22145..a1f4447 100644 --- ql/src/test/queries/clientpositive/windowing.q +++ ql/src/test/queries/clientpositive/windowing.q @@ -431,4 +431,10 @@ select p_name, p_retailprice, round(avg(p_retailprice) over(),2) from part order by p_name; - + +-- 45. empty partition test +select p_mfgr, + sum(p_size) over (partition by p_mfgr order by p_size rows between unbounded preceding and current row) +from part +where p_mfgr = 'Manufacturer#6' +; diff --git ql/src/test/results/clientpositive/windowing.q.out ql/src/test/results/clientpositive/windowing.q.out index 20c6c49..104f4ca 100644 --- ql/src/test/results/clientpositive/windowing.q.out +++ ql/src/test/results/clientpositive/windowing.q.out @@ -2314,3 +2314,19 @@ almond aquamarine sandy cyan gainsboro 1701.6 1546.78 almond aquamarine yellow dodger mint 1844.92 1546.78 almond azure aquamarine papaya violet 1290.35 1546.78 almond azure blanched chiffon midnight 1464.48 1546.78 +PREHOOK: query: -- 45. empty partition test +select p_mfgr, + sum(p_size) over (partition by p_mfgr order by p_size rows between unbounded preceding and current row) +from part +where p_mfgr = 'Manufacturer#6' +PREHOOK: type: QUERY +PREHOOK: Input: default@part +#### A masked pattern was here #### +POSTHOOK: query: -- 45. empty partition test +select p_mfgr, + sum(p_size) over (partition by p_mfgr order by p_size rows between unbounded preceding and current row) +from part +where p_mfgr = 'Manufacturer#6' +POSTHOOK: type: QUERY +POSTHOOK: Input: default@part +#### A masked pattern was here ####