Added empty stream tests for aggregate functions with combiner and without combiner.

git-svn-id: https://asterixdb.googlecode.com/svn/branches/asterix_fix_agg@526 eaa15691-b419-025a-1212-ee371bd00084
diff --git a/asterix-app/src/test/resources/runtimets/ignore.txt b/asterix-app/src/test/resources/runtimets/ignore.txt
index dc40231..2e61b22 100644
--- a/asterix-app/src/test/resources/runtimets/ignore.txt
+++ b/asterix-app/src/test/resources/runtimets/ignore.txt
@@ -32,3 +32,8 @@
 open-closed/heterog-list02
 open-closed/heterog-list03
 open-closed/c2c
+aggregate/avg_empty_02.aql
+aggregate/min_empty_01.aql
+aggregate/min_empty_02.aql
+aggregate/max_empty_01.aql
+aggregate/max_empty_02.aql
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_empty.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_empty.aql
deleted file mode 100644
index 3ba7659..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_empty.aql
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * Description    : Tests that the avg aggregation correctly returns null for an empty stream.
- * Success        : Yes
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_avg_empty.adm";
-
-avg(
- for $x in [1, 2, 3]
- where $x > 10
- return $x
-)
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_empty_01.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_empty_01.aql
new file mode 100644
index 0000000..ab2a6fb
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_empty_01.aql
@@ -0,0 +1,17 @@
+/*
+ * Description    : Tests that avg aggregation correctly returns null for an empty stream,
+ *                  without an aggregate combiner.
+ * Success        : Yes
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+use dataverse test;
+
+write output to nc1:"rttest/aggregate_avg_empty_01.adm";
+
+avg(
+ for $x in [1, 2, 3]
+ where $x > 10
+ return $x
+)
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_empty_02.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_empty_02.aql
new file mode 100644
index 0000000..3583ce0
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_empty_02.aql
@@ -0,0 +1,23 @@
+/*
+ * Description    : Tests that avg aggregation correctly returns null for an empty stream,
+ *                  with an aggregate combiner.
+ * Success        : Yes
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+use dataverse test;
+
+create type TestType as closed {
+  id: int32,
+  val: double
+}
+
+create dataset Test(TestType) partitioned by key id;
+
+write output to nc1:"rttest/aggregate_avg_empty_02.adm";
+
+avg(
+ for $x in dataset('Test')
+ return $x.val
+)
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty.aql
deleted file mode 100644
index 916c352..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty.aql
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * Description    : Tests that the count aggregation correctly returns 0 for an empty stream.
- * Success        : Yes
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_count_empty.adm";
-
-count(
- for $x in [1, 2, 3]
- where $x > 10
- return $x
-)
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty_01.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty_01.aql
new file mode 100644
index 0000000..f03c252
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty_01.aql
@@ -0,0 +1,17 @@
+/*
+ * Description    : Tests that count aggregation correctly returns 0 for an empty stream,
+ *                  without an aggregate combiner.
+ * Success        : Yes
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+use dataverse test;
+
+write output to nc1:"rttest/aggregate_count_empty_01.adm";
+
+count(
+ for $x in [1, 2, 3]
+ where $x > 10
+ return $x
+)
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty_02.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty_02.aql
new file mode 100644
index 0000000..0a6cc8e
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty_02.aql
@@ -0,0 +1,23 @@
+/*
+ * Description    : Tests that count aggregation correctly returns 0 for an empty stream,
+ *                  with an aggregate combiner.
+ * Success        : Yes
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+use dataverse test;
+
+create type TestType as closed {
+  id: int32,
+  val: double
+}
+
+create dataset Test(TestType) partitioned by key id;
+
+write output to nc1:"rttest/aggregate_count_empty_02.adm";
+
+count(
+ for $x in dataset('Test')
+ return $x.val
+)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_01.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_01.aql
new file mode 100644
index 0000000..2464b64
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_01.aql
@@ -0,0 +1,17 @@
+/*
+ * Description    : Tests that max aggregation correctly returns null for an empty stream,
+ *                  without an aggregate combiner.
+ * Success        : Yes
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+use dataverse test;
+
+write output to nc1:"rttest/aggregate_max_empty_01.adm";
+
+max(
+ for $x in [1, 2, 3]
+ where $x > 10
+ return $x
+)
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_02.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_02.aql
new file mode 100644
index 0000000..79ae1d8
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_02.aql
@@ -0,0 +1,23 @@
+/*
+ * Description    : Tests that max aggregation correctly returns null for an empty stream,
+ *                  with an aggregate combiner.
+ * Success        : Yes
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+use dataverse test;
+
+create type TestType as closed {
+  id: int32,
+  val: double
+}
+
+create dataset Test(TestType) partitioned by key id;
+
+write output to nc1:"rttest/aggregate_max_empty_02.adm";
+
+max(
+ for $x in dataset('Test')
+ return $x.val
+)
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_01.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_01.aql
new file mode 100644
index 0000000..30abd1e
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_01.aql
@@ -0,0 +1,17 @@
+/*
+ * Description    : Tests that min aggregation correctly returns null for an empty stream,
+ *                  without an aggregate combiner.
+ * Success        : Yes
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+use dataverse test;
+
+write output to nc1:"rttest/aggregate_min_empty_01.adm";
+
+min(
+ for $x in [1, 2, 3]
+ where $x > 10
+ return $x
+)
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_02.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_02.aql
new file mode 100644
index 0000000..99d49f4
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_02.aql
@@ -0,0 +1,23 @@
+/*
+ * Description    : Tests that min aggregation correctly returns null for an empty stream,
+ *                  with an aggregate combiner.
+ * Success        : Yes
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+use dataverse test;
+
+create type TestType as closed {
+  id: int32,
+  val: double
+}
+
+create dataset Test(TestType) partitioned by key id;
+
+write output to nc1:"rttest/aggregate_min_empty_02.adm";
+
+min(
+ for $x in dataset('Test')
+ return $x.val
+)
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty.aql
deleted file mode 100644
index aaed0a7..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty.aql
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * Description    : Tests that the sum aggregation correctly returns null for an empty stream.
- * Success        : Yes
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_sum_empty.adm";
-
-sum(
- for $x in [1, 2, 3]
- where $x > 10
- return $x
-)
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_01.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_01.aql
new file mode 100644
index 0000000..b4e26b8
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_01.aql
@@ -0,0 +1,17 @@
+/*
+ * Description    : Tests that sum aggregation correctly returns null for an empty stream,
+ *                  without an aggregate combiner.
+ * Success        : Yes
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+use dataverse test;
+
+write output to nc1:"rttest/aggregate_sum_empty_01.adm";
+
+sum(
+ for $x in [1, 2, 3]
+ where $x > 10
+ return $x
+)
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_02.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_02.aql
new file mode 100644
index 0000000..a94457a
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_02.aql
@@ -0,0 +1,23 @@
+/*
+ * Description    : Tests that sum aggregation correctly returns null for an empty stream,
+ *                  with an aggregate combiner.
+ * Success        : Yes
+ */
+
+drop dataverse test if exists;
+create dataverse test;
+use dataverse test;
+
+create type TestType as closed {
+  id: int32,
+  val: double
+}
+
+create dataset Test(TestType) partitioned by key id;
+
+write output to nc1:"rttest/aggregate_sum_empty_02.adm";
+
+sum(
+ for $x in dataset('Test')
+ return $x.val
+)
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/aggregate/avg_empty.adm b/asterix-app/src/test/resources/runtimets/results/aggregate/avg_empty_01.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/aggregate/avg_empty.adm
rename to asterix-app/src/test/resources/runtimets/results/aggregate/avg_empty_01.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/aggregate/avg_empty.adm b/asterix-app/src/test/resources/runtimets/results/aggregate/avg_empty_02.adm
similarity index 100%
copy from asterix-app/src/test/resources/runtimets/results/aggregate/avg_empty.adm
copy to asterix-app/src/test/resources/runtimets/results/aggregate/avg_empty_02.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/aggregate/count_empty.adm b/asterix-app/src/test/resources/runtimets/results/aggregate/count_empty_01.adm
similarity index 100%
rename from asterix-app/src/test/resources/runtimets/results/aggregate/count_empty.adm
rename to asterix-app/src/test/resources/runtimets/results/aggregate/count_empty_01.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/aggregate/count_empty.adm b/asterix-app/src/test/resources/runtimets/results/aggregate/count_empty_02.adm
similarity index 100%
copy from asterix-app/src/test/resources/runtimets/results/aggregate/count_empty.adm
copy to asterix-app/src/test/resources/runtimets/results/aggregate/count_empty_02.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/aggregate/avg_empty.adm b/asterix-app/src/test/resources/runtimets/results/aggregate/max_empty_01.adm
similarity index 100%
copy from asterix-app/src/test/resources/runtimets/results/aggregate/avg_empty.adm
copy to asterix-app/src/test/resources/runtimets/results/aggregate/max_empty_01.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/aggregate/avg_empty.adm b/asterix-app/src/test/resources/runtimets/results/aggregate/max_empty_02.adm
similarity index 100%
copy from asterix-app/src/test/resources/runtimets/results/aggregate/avg_empty.adm
copy to asterix-app/src/test/resources/runtimets/results/aggregate/max_empty_02.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/aggregate/avg_empty.adm b/asterix-app/src/test/resources/runtimets/results/aggregate/min_empty_01.adm
similarity index 100%
copy from asterix-app/src/test/resources/runtimets/results/aggregate/avg_empty.adm
copy to asterix-app/src/test/resources/runtimets/results/aggregate/min_empty_01.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/aggregate/avg_empty.adm b/asterix-app/src/test/resources/runtimets/results/aggregate/min_empty_02.adm
similarity index 100%
copy from asterix-app/src/test/resources/runtimets/results/aggregate/avg_empty.adm
copy to asterix-app/src/test/resources/runtimets/results/aggregate/min_empty_02.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/aggregate/sum_empty.adm b/asterix-app/src/test/resources/runtimets/results/aggregate/sum_empty.adm
deleted file mode 100644
index 19765bd..0000000
--- a/asterix-app/src/test/resources/runtimets/results/aggregate/sum_empty.adm
+++ /dev/null
@@ -1 +0,0 @@
-null
diff --git a/asterix-app/src/test/resources/runtimets/results/aggregate/avg_empty.adm b/asterix-app/src/test/resources/runtimets/results/aggregate/sum_empty_01.adm
similarity index 100%
copy from asterix-app/src/test/resources/runtimets/results/aggregate/avg_empty.adm
copy to asterix-app/src/test/resources/runtimets/results/aggregate/sum_empty_01.adm
diff --git a/asterix-app/src/test/resources/runtimets/results/aggregate/avg_empty.adm b/asterix-app/src/test/resources/runtimets/results/aggregate/sum_empty_02.adm
similarity index 100%
copy from asterix-app/src/test/resources/runtimets/results/aggregate/avg_empty.adm
copy to asterix-app/src/test/resources/runtimets/results/aggregate/sum_empty_02.adm