diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_double/avg_double.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_double/avg_double.1.ddl.aql
index d19ec68..55ab0f7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_double/avg_double.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_double/avg_double.1.ddl.aql
@@ -4,7 +4,3 @@
 
 use dataverse test;
 
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_double/avg_double.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_double/avg_double.2.update.aql
index d19ec68..8b13789 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_double/avg_double.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_double/avg_double.2.update.aql
@@ -1,10 +1 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-
-
-
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_double/avg_double.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_double/avg_double.3.query.aql
index d19ec68..a435573 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_double/avg_double.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_double/avg_double.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-
-
-
+avg(
+ for $x in [1.0, 2.0, double("3.0")]
+ return $x
+)
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.1.ddl.aql
index 8d14789..55ab0f7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.1.ddl.aql
@@ -4,15 +4,3 @@
 
 use dataverse test;
 
-write output to nc1:"rttest/aggregate_count_01.adm";
-
-count( 
- for $x in [1, 2, 3] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.2.update.aql
index 8d14789..8b13789 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.2.update.aql
@@ -1,18 +1 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_count_01.adm";
-
-count( 
- for $x in [1, 2, 3] 
- return $x
-)
-
-
-
-
-
 
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
index 8d14789..8e04aa3 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
@@ -1,11 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-write output to nc1:"rttest/aggregate_count_01.adm";
-
 count( 
  for $x in [1, 2, 3] 
  return $x
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty_01/count_empty_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty_01/count_empty_01.1.ddl.aql
index f03c252..ac3607c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty_01/count_empty_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty_01/count_empty_01.1.ddl.aql
@@ -8,10 +8,3 @@
 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_01/count_empty_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty_01/count_empty_01.2.update.aql
index f03c252..c098290 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty_01/count_empty_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty_01/count_empty_01.2.update.aql
@@ -4,14 +4,3 @@
  * 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_01/count_empty_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty_01/count_empty_01.3.query.aql
index f03c252..f19e999 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty_01/count_empty_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty_01/count_empty_01.3.query.aql
@@ -4,14 +4,8 @@
  * 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/count_empty_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty_02/count_empty_02.1.ddl.aql
index 9ab7168..0e7425f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty_02/count_empty_02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty_02/count_empty_02.1.ddl.aql
@@ -15,9 +15,3 @@
 
 create dataset Test(TestType) primary 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/count_empty_02/count_empty_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty_02/count_empty_02.2.update.aql
index 9ab7168..32fc59b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty_02/count_empty_02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty_02/count_empty_02.2.update.aql
@@ -4,20 +4,3 @@
  * 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) primary 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/count_empty_02/count_empty_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty_02/count_empty_02.3.query.aql
index 9ab7168..ad1dbaa 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty_02/count_empty_02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_empty_02/count_empty_02.3.query.aql
@@ -4,19 +4,6 @@
  * 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) primary 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/count_nu/count_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_nu/count_nu.1.ddl.aql
deleted file mode 100644
index 5a94d54..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/count_nu/count_nu.1.ddl.aql
+++ /dev/null
@@ -1,27 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_count_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-let $c := count( 
- for $x in dataset('Numeric') 
- return $x.doubleField
-)
-return {"count": $c}
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/count_nu/count_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_nu/count_nu.2.update.aql
deleted file mode 100644
index 5a94d54..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/count_nu/count_nu.2.update.aql
+++ /dev/null
@@ -1,27 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_count_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-let $c := count( 
- for $x in dataset('Numeric') 
- return $x.doubleField
-)
-return {"count": $c}
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/count_nu/count_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/count_nu/count_nu.3.query.aql
deleted file mode 100644
index 5a94d54..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/count_nu/count_nu.3.query.aql
+++ /dev/null
@@ -1,27 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_count_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-let $c := count( 
- for $x in dataset('Numeric') 
- return $x.doubleField
-)
-return {"count": $c}
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/droptype/droptype.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/droptype/droptype.2.update.aql
index dd0c342..a6e5e2f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/droptype/droptype.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/droptype/droptype.2.update.aql
@@ -5,18 +5,4 @@
  * Issue        : 188
  */
 
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_droptype.adm";
-
-create type footype as open {
-bar : int32?
-}
-
-drop type footype;
-
-create type footype as open {
-bar : int32?
-}
+// This file has no insert/delete statements
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/droptype/droptype.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/droptype/droptype.3.query.aql
index dd0c342..cb83e18 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/droptype/droptype.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/droptype/droptype.3.query.aql
@@ -5,18 +5,4 @@
  * Issue        : 188
  */
 
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_droptype.adm";
-
-create type footype as open {
-bar : int32?
-}
-
-drop type footype;
-
-create type footype as open {
-bar : int32?
-}
+// There is no Query in this test as we only create/drop from DDL file.
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.1.ddl.aql
index 24ca240..d067eb1 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.1.ddl.aql
@@ -2,11 +2,4 @@
 
 create dataverse test;
 
-use dataverse test;
 
-write output to nc1:"rttest/aggregate_global-avg_01.adm";
-
-global-avg(
-  for $x in [1.0, 2.0, double("3.0")] 
-  return { "sum": $x, "count": 1 }  
-)
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.2.update.aql
index 24ca240..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.2.update.aql
@@ -1,12 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_global-avg_01.adm";
-
-global-avg(
-  for $x in [1.0, 2.0, double("3.0")] 
-  return { "sum": $x, "count": 1 }  
-)
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
index 24ca240..2652d36 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
@@ -1,12 +1,6 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-write output to nc1:"rttest/aggregate_global-avg_01.adm";
-
 global-avg(
   for $x in [1.0, 2.0, double("3.0")] 
   return { "sum": $x, "count": 1 }  
-)
\ No newline at end of file
+)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_nu/global-avg_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_nu/global-avg_nu.1.ddl.aql
deleted file mode 100644
index a8151d8..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_nu/global-avg_nu.1.ddl.aql
+++ /dev/null
@@ -1,29 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_global-avg_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-
-let $c := global-avg(
- for $x in dataset('Numeric') 
- return { "sum": $x.doubleField, "count": $x.int32Field }   
-)
-return {"global-average": $c}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_nu/global-avg_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_nu/global-avg_nu.2.update.aql
deleted file mode 100644
index a8151d8..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_nu/global-avg_nu.2.update.aql
+++ /dev/null
@@ -1,29 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_global-avg_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-
-let $c := global-avg(
- for $x in dataset('Numeric') 
- return { "sum": $x.doubleField, "count": $x.int32Field }   
-)
-return {"global-average": $c}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_nu/global-avg_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_nu/global-avg_nu.3.query.aql
deleted file mode 100644
index a8151d8..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_nu/global-avg_nu.3.query.aql
+++ /dev/null
@@ -1,29 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_global-avg_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-
-let $c := global-avg(
- for $x in dataset('Numeric') 
- return { "sum": $x.doubleField, "count": $x.int32Field }   
-)
-return {"global-average": $c}
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_01/max_empty_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_01/max_empty_01.1.ddl.aql
index 2464b64..5cd8f78 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_01/max_empty_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_01/max_empty_01.1.ddl.aql
@@ -6,12 +6,4 @@
 
 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_01/max_empty_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_01/max_empty_01.2.update.aql
index 2464b64..43a3212 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_01/max_empty_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_01/max_empty_01.2.update.aql
@@ -4,14 +4,4 @@
  * 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
+// no inserts/deletes here
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_01/max_empty_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_01/max_empty_01.3.query.aql
index 2464b64..5068259 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_01/max_empty_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_01/max_empty_01.3.query.aql
@@ -4,14 +4,10 @@
  * 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/max_empty_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_02/max_empty_02.1.ddl.aql
index 8b954e1..64fed95 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_02/max_empty_02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_02/max_empty_02.1.ddl.aql
@@ -6,7 +6,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type TestType as closed {
   id: int32,
@@ -15,9 +14,3 @@
 
 create dataset Test(TestType) primary 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/max_empty_02/max_empty_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_02/max_empty_02.2.update.aql
index 8b954e1..08727d0 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_02/max_empty_02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_02/max_empty_02.2.update.aql
@@ -4,20 +4,3 @@
  * 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) primary 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/max_empty_02/max_empty_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_02/max_empty_02.3.query.aql
index 8b954e1..401f67f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_02/max_empty_02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/max_empty_02/max_empty_02.3.query.aql
@@ -4,20 +4,9 @@
  * 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) primary 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/min_empty_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_01/min_empty_01.1.ddl.aql
index 30abd1e..2a0b464 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_01/min_empty_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_01/min_empty_01.1.ddl.aql
@@ -6,12 +6,3 @@
 
 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_01/min_empty_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_01/min_empty_01.2.update.aql
index 30abd1e..fb056b7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_01/min_empty_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_01/min_empty_01.2.update.aql
@@ -4,14 +4,4 @@
  * 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
+// no inserts/deletes here
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_01/min_empty_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_01/min_empty_01.3.query.aql
index 30abd1e..7f187cd 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_01/min_empty_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_01/min_empty_01.3.query.aql
@@ -4,14 +4,10 @@
  * 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/min_empty_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_02/min_empty_02.1.ddl.aql
index 6aa122c..2efa226 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_02/min_empty_02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_02/min_empty_02.1.ddl.aql
@@ -6,7 +6,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type TestType as closed {
   id: int32,
@@ -15,9 +14,3 @@
 
 create dataset Test(TestType) primary 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/min_empty_02/min_empty_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_02/min_empty_02.2.update.aql
index 6aa122c..e31545a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_02/min_empty_02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_02/min_empty_02.2.update.aql
@@ -4,20 +4,4 @@
  * 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) primary 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
+// no inserts and deletes here
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_02/min_empty_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_02/min_empty_02.3.query.aql
index 6aa122c..3133060 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_02/min_empty_02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/min_empty_02/min_empty_02.3.query.aql
@@ -4,20 +4,9 @@
  * 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) primary 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/ocal-avg_double/ocal-avg_double.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_double/ocal-avg_double.1.ddl.aql
deleted file mode 100644
index 75d4af8..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_double/ocal-avg_double.1.ddl.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_local-avg_double.adm";
-
-local-avg( 
- for $x in [1.0, 2.0, double("3.0")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_double/ocal-avg_double.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_double/ocal-avg_double.2.update.aql
deleted file mode 100644
index 75d4af8..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_double/ocal-avg_double.2.update.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_local-avg_double.adm";
-
-local-avg( 
- for $x in [1.0, 2.0, double("3.0")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_double/ocal-avg_double.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_double/ocal-avg_double.3.query.aql
deleted file mode 100644
index 75d4af8..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_double/ocal-avg_double.3.query.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_local-avg_double.adm";
-
-local-avg( 
- for $x in [1.0, 2.0, double("3.0")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_double_nu/ocal-avg_double_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_double_nu/ocal-avg_double_nu.1.ddl.aql
deleted file mode 100644
index 6990fc4..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_double_nu/ocal-avg_double_nu.1.ddl.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_local-avg_double_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-local-avg( 
- for $x in dataset('Numeric') 
- return $x.doubleField
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_double_nu/ocal-avg_double_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_double_nu/ocal-avg_double_nu.2.update.aql
deleted file mode 100644
index 6990fc4..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_double_nu/ocal-avg_double_nu.2.update.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_local-avg_double_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-local-avg( 
- for $x in dataset('Numeric') 
- return $x.doubleField
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_double_nu/ocal-avg_double_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_double_nu/ocal-avg_double_nu.3.query.aql
deleted file mode 100644
index 6990fc4..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_double_nu/ocal-avg_double_nu.3.query.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_local-avg_double_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-local-avg( 
- for $x in dataset('Numeric') 
- return $x.doubleField
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_float/ocal-avg_float.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_float/ocal-avg_float.1.ddl.aql
deleted file mode 100644
index f79fa3d..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_float/ocal-avg_float.1.ddl.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_local-avg_float.adm";
-
-local-avg( 
- for $x in [float("1"), float("2"), float("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_float/ocal-avg_float.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_float/ocal-avg_float.2.update.aql
deleted file mode 100644
index f79fa3d..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_float/ocal-avg_float.2.update.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_local-avg_float.adm";
-
-local-avg( 
- for $x in [float("1"), float("2"), float("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_float/ocal-avg_float.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_float/ocal-avg_float.3.query.aql
deleted file mode 100644
index f79fa3d..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_float/ocal-avg_float.3.query.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_local-avg_float.adm";
-
-local-avg( 
- for $x in [float("1"), float("2"), float("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_float_nu/ocal-avg_float_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_float_nu/ocal-avg_float_nu.1.ddl.aql
deleted file mode 100644
index 6f5a39d..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_float_nu/ocal-avg_float_nu.1.ddl.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_local-avg_float_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-local-avg( 
- for $x in dataset('Numeric') 
- return $x.floatField
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_float_nu/ocal-avg_float_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_float_nu/ocal-avg_float_nu.2.update.aql
deleted file mode 100644
index 6f5a39d..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_float_nu/ocal-avg_float_nu.2.update.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_local-avg_float_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-local-avg( 
- for $x in dataset('Numeric') 
- return $x.floatField
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_float_nu/ocal-avg_float_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_float_nu/ocal-avg_float_nu.3.query.aql
deleted file mode 100644
index 6f5a39d..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_float_nu/ocal-avg_float_nu.3.query.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_local-avg_float_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-local-avg( 
- for $x in dataset('Numeric') 
- return $x.floatField
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int16/ocal-avg_int16.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int16/ocal-avg_int16.1.ddl.aql
deleted file mode 100644
index c0e61e6..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int16/ocal-avg_int16.1.ddl.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_local-avg_int16.adm";
-
-local-avg( 
- for $x in [int16("1"), int16("2"), int16("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int16/ocal-avg_int16.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int16/ocal-avg_int16.2.update.aql
deleted file mode 100644
index c0e61e6..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int16/ocal-avg_int16.2.update.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_local-avg_int16.adm";
-
-local-avg( 
- for $x in [int16("1"), int16("2"), int16("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int16/ocal-avg_int16.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int16/ocal-avg_int16.3.query.aql
deleted file mode 100644
index c0e61e6..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int16/ocal-avg_int16.3.query.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_local-avg_int16.adm";
-
-local-avg( 
- for $x in [int16("1"), int16("2"), int16("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int16_nu/ocal-avg_int16_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int16_nu/ocal-avg_int16_nu.1.ddl.aql
deleted file mode 100644
index 65287f1..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int16_nu/ocal-avg_int16_nu.1.ddl.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_local-avg_int16_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-local-avg( 
- for $x in dataset('Numeric') 
- return $x.int16Field
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int16_nu/ocal-avg_int16_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int16_nu/ocal-avg_int16_nu.2.update.aql
deleted file mode 100644
index 65287f1..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int16_nu/ocal-avg_int16_nu.2.update.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_local-avg_int16_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-local-avg( 
- for $x in dataset('Numeric') 
- return $x.int16Field
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int16_nu/ocal-avg_int16_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int16_nu/ocal-avg_int16_nu.3.query.aql
deleted file mode 100644
index 65287f1..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int16_nu/ocal-avg_int16_nu.3.query.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_local-avg_int16_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-local-avg( 
- for $x in dataset('Numeric') 
- return $x.int16Field
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int32/ocal-avg_int32.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int32/ocal-avg_int32.1.ddl.aql
deleted file mode 100644
index 977dbcf..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int32/ocal-avg_int32.1.ddl.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_local-avg_int32.adm";
-
-local-avg( 
- for $x in [1, 2, 3] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int32/ocal-avg_int32.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int32/ocal-avg_int32.2.update.aql
deleted file mode 100644
index 977dbcf..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int32/ocal-avg_int32.2.update.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_local-avg_int32.adm";
-
-local-avg( 
- for $x in [1, 2, 3] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int32/ocal-avg_int32.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int32/ocal-avg_int32.3.query.aql
deleted file mode 100644
index 977dbcf..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int32/ocal-avg_int32.3.query.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_local-avg_int32.adm";
-
-local-avg( 
- for $x in [1, 2, 3] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int32_nu/ocal-avg_int32_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int32_nu/ocal-avg_int32_nu.1.ddl.aql
deleted file mode 100644
index eea2d41..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int32_nu/ocal-avg_int32_nu.1.ddl.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_local-avg_int32_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-local-avg( 
- for $x in dataset('Numeric') 
- return $x.int32Field
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int32_nu/ocal-avg_int32_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int32_nu/ocal-avg_int32_nu.2.update.aql
deleted file mode 100644
index eea2d41..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int32_nu/ocal-avg_int32_nu.2.update.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_local-avg_int32_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-local-avg( 
- for $x in dataset('Numeric') 
- return $x.int32Field
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int32_nu/ocal-avg_int32_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int32_nu/ocal-avg_int32_nu.3.query.aql
deleted file mode 100644
index eea2d41..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int32_nu/ocal-avg_int32_nu.3.query.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_local-avg_int32_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-local-avg( 
- for $x in dataset('Numeric') 
- return $x.int32Field
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int64/ocal-avg_int64.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int64/ocal-avg_int64.1.ddl.aql
deleted file mode 100644
index 3bfbe26..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int64/ocal-avg_int64.1.ddl.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_local-avg_int64.adm";
-
-local-avg( 
- for $x in [int64("1"), int64("2"), int64("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int64/ocal-avg_int64.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int64/ocal-avg_int64.2.update.aql
deleted file mode 100644
index 3bfbe26..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int64/ocal-avg_int64.2.update.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_local-avg_int64.adm";
-
-local-avg( 
- for $x in [int64("1"), int64("2"), int64("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int64/ocal-avg_int64.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int64/ocal-avg_int64.3.query.aql
deleted file mode 100644
index 3bfbe26..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int64/ocal-avg_int64.3.query.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_local-avg_int64.adm";
-
-local-avg( 
- for $x in [int64("1"), int64("2"), int64("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int64_nu/ocal-avg_int64_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int64_nu/ocal-avg_int64_nu.1.ddl.aql
deleted file mode 100644
index d25ae69..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int64_nu/ocal-avg_int64_nu.1.ddl.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_local-avg_int64_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-local-avg( 
- for $x in dataset('Numeric') 
- return $x.int64Field
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int64_nu/ocal-avg_int64_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int64_nu/ocal-avg_int64_nu.2.update.aql
deleted file mode 100644
index d25ae69..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int64_nu/ocal-avg_int64_nu.2.update.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_local-avg_int64_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-local-avg( 
- for $x in dataset('Numeric') 
- return $x.int64Field
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int64_nu/ocal-avg_int64_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int64_nu/ocal-avg_int64_nu.3.query.aql
deleted file mode 100644
index d25ae69..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int64_nu/ocal-avg_int64_nu.3.query.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_local-avg_int64_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-local-avg( 
- for $x in dataset('Numeric') 
- return $x.int64Field
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int8/ocal-avg_int8.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int8/ocal-avg_int8.1.ddl.aql
deleted file mode 100644
index cd3e3fe..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int8/ocal-avg_int8.1.ddl.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_local-avg_int8.adm";
-
-local-avg( 
- for $x in [int8("1"),int8("2"), int8("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int8/ocal-avg_int8.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int8/ocal-avg_int8.2.update.aql
deleted file mode 100644
index cd3e3fe..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int8/ocal-avg_int8.2.update.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_local-avg_int8.adm";
-
-local-avg( 
- for $x in [int8("1"),int8("2"), int8("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int8/ocal-avg_int8.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int8/ocal-avg_int8.3.query.aql
deleted file mode 100644
index cd3e3fe..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int8/ocal-avg_int8.3.query.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_local-avg_int8.adm";
-
-local-avg( 
- for $x in [int8("1"),int8("2"), int8("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int8_nu/ocal-avg_int8_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int8_nu/ocal-avg_int8_nu.1.ddl.aql
deleted file mode 100644
index b8e4bcb..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int8_nu/ocal-avg_int8_nu.1.ddl.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_local-avg_int8_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-local-avg( 
- for $x in dataset('Numeric') 
- return $x.int8Field
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int8_nu/ocal-avg_int8_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int8_nu/ocal-avg_int8_nu.2.update.aql
deleted file mode 100644
index b8e4bcb..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int8_nu/ocal-avg_int8_nu.2.update.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_local-avg_int8_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-local-avg( 
- for $x in dataset('Numeric') 
- return $x.int8Field
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int8_nu/ocal-avg_int8_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int8_nu/ocal-avg_int8_nu.3.query.aql
deleted file mode 100644
index b8e4bcb..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/ocal-avg_int8_nu/ocal-avg_int8_nu.3.query.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_local-avg_int8_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-local-avg( 
- for $x in dataset('Numeric') 
- return $x.int8Field
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg/scalar_avg.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg/scalar_avg.1.ddl.aql
index 8c8ed73..1ca0c77 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg/scalar_avg.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg/scalar_avg.1.ddl.aql
@@ -5,15 +5,4 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/aggregate_scalar_avg.adm";
-
-let $i8 := avg([int8("1"), int8("2"), int8("3")])
-let $i16 := avg([int16("1"), int16("2"), int16("3")])
-let $i32 := avg([int32("1"), int32("2"), int32("3")])
-let $i64 := avg([int64("1"), int64("2"), int64("3")])
-let $f := avg([float("1"), float("2"), float("3")])
-let $d := avg([double("1"), double("2"), double("3")])
-for $i in [$i8, $i16, $i32, $i64, $f, $d]
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg/scalar_avg.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg/scalar_avg.2.update.aql
index 8c8ed73..56f1a25 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg/scalar_avg.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg/scalar_avg.2.update.aql
@@ -3,17 +3,4 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_avg.adm";
-
-let $i8 := avg([int8("1"), int8("2"), int8("3")])
-let $i16 := avg([int16("1"), int16("2"), int16("3")])
-let $i32 := avg([int32("1"), int32("2"), int32("3")])
-let $i64 := avg([int64("1"), int64("2"), int64("3")])
-let $f := avg([float("1"), float("2"), float("3")])
-let $d := avg([double("1"), double("2"), double("3")])
-for $i in [$i8, $i16, $i32, $i64, $f, $d]
-return $i
\ No newline at end of file
+// no insert delete here
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg/scalar_avg.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg/scalar_avg.3.query.aql
index 8c8ed73..bc2005d 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg/scalar_avg.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg/scalar_avg.3.query.aql
@@ -3,12 +3,8 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/aggregate_scalar_avg.adm";
-
 let $i8 := avg([int8("1"), int8("2"), int8("3")])
 let $i16 := avg([int16("1"), int16("2"), int16("3")])
 let $i32 := avg([int32("1"), int32("2"), int32("3")])
@@ -16,4 +12,4 @@
 let $f := avg([float("1"), float("2"), float("3")])
 let $d := avg([double("1"), double("2"), double("3")])
 for $i in [$i8, $i16, $i32, $i64, $f, $d]
-return $i
\ No newline at end of file
+return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg_empty/scalar_avg_empty.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg_empty/scalar_avg_empty.1.ddl.aql
index 351f5f8..1c8169f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg_empty/scalar_avg_empty.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg_empty/scalar_avg_empty.1.ddl.aql
@@ -5,8 +5,4 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/aggregate_scalar_avg_empty.adm";
-
-avg([ ])
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg_empty/scalar_avg_empty.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg_empty/scalar_avg_empty.2.update.aql
index 351f5f8..5597020 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg_empty/scalar_avg_empty.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg_empty/scalar_avg_empty.2.update.aql
@@ -3,10 +3,4 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_avg_empty.adm";
-
-avg([ ])
\ No newline at end of file
+// no insert delete here
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg_empty/scalar_avg_empty.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg_empty/scalar_avg_empty.3.query.aql
index 351f5f8..03d2902 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg_empty/scalar_avg_empty.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg_empty/scalar_avg_empty.3.query.aql
@@ -3,10 +3,4 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_avg_empty.adm";
-
-avg([ ])
\ No newline at end of file
+avg([ ])
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg_nu/scalar_avg_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg_nu/scalar_avg_nu.1.ddl.aql
deleted file mode 100644
index 5108573..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg_nu/scalar_avg_nu.1.ddl.aql
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Description    : Tests the scalar version of avg with nulls.
- * Success        : Yes
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_avg_null.adm";
-
-let $i8 := avg([int8("1"), int8("2"), int8("3"), null])
-let $i16 := avg([int16("1"), int16("2"), int16("3"), null])
-let $i32 := avg([int32("1"), int32("2"), int32("3"), null])
-let $i64 := avg([int64("1"), int64("2"), int64("3"), null])
-let $f := avg([float("1"), float("2"), float("3"), null])
-let $d := avg([double("1"), double("2"), double("3"), null])
-for $i in [$i8, $i16, $i32, $i64, $f, $d]
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg_nu/scalar_avg_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg_nu/scalar_avg_nu.2.update.aql
deleted file mode 100644
index 5108573..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg_nu/scalar_avg_nu.2.update.aql
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Description    : Tests the scalar version of avg with nulls.
- * Success        : Yes
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_avg_null.adm";
-
-let $i8 := avg([int8("1"), int8("2"), int8("3"), null])
-let $i16 := avg([int16("1"), int16("2"), int16("3"), null])
-let $i32 := avg([int32("1"), int32("2"), int32("3"), null])
-let $i64 := avg([int64("1"), int64("2"), int64("3"), null])
-let $f := avg([float("1"), float("2"), float("3"), null])
-let $d := avg([double("1"), double("2"), double("3"), null])
-for $i in [$i8, $i16, $i32, $i64, $f, $d]
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg_nu/scalar_avg_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg_nu/scalar_avg_nu.3.query.aql
deleted file mode 100644
index 5108573..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_avg_nu/scalar_avg_nu.3.query.aql
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Description    : Tests the scalar version of avg with nulls.
- * Success        : Yes
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_avg_null.adm";
-
-let $i8 := avg([int8("1"), int8("2"), int8("3"), null])
-let $i16 := avg([int16("1"), int16("2"), int16("3"), null])
-let $i32 := avg([int32("1"), int32("2"), int32("3"), null])
-let $i64 := avg([int64("1"), int64("2"), int64("3"), null])
-let $f := avg([float("1"), float("2"), float("3"), null])
-let $d := avg([double("1"), double("2"), double("3"), null])
-for $i in [$i8, $i16, $i32, $i64, $f, $d]
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count/scalar_count.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count/scalar_count.1.ddl.aql
index 3508fc6..738c93f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count/scalar_count.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count/scalar_count.1.ddl.aql
@@ -5,16 +5,4 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/aggregate_scalar_count.adm";
-
-let $i8 := count([int8("1"), int8("2"), int8("3")])
-let $i16 := count([int16("1"), int16("2"), int16("3")])
-let $i32 := count([int32("1"), int32("2"), int32("3")])
-let $i64 := count([int64("1"), int64("2"), int64("3")])
-let $f := count([float("1"), float("2"), float("3")])
-let $d := count([double("1"), double("2"), double("3")])
-let $s := count(["a", "b", "c"])
-for $i in [$i8, $i16, $i32, $i64, $f, $d, $s]
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count/scalar_count.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count/scalar_count.2.update.aql
index 3508fc6..fb02201 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count/scalar_count.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count/scalar_count.2.update.aql
@@ -3,18 +3,4 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_count.adm";
-
-let $i8 := count([int8("1"), int8("2"), int8("3")])
-let $i16 := count([int16("1"), int16("2"), int16("3")])
-let $i32 := count([int32("1"), int32("2"), int32("3")])
-let $i64 := count([int64("1"), int64("2"), int64("3")])
-let $f := count([float("1"), float("2"), float("3")])
-let $d := count([double("1"), double("2"), double("3")])
-let $s := count(["a", "b", "c"])
-for $i in [$i8, $i16, $i32, $i64, $f, $d, $s]
-return $i
\ No newline at end of file
+// no inserts, deletes here
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count/scalar_count.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count/scalar_count.3.query.aql
index 3508fc6..8a287eb 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count/scalar_count.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count/scalar_count.3.query.aql
@@ -3,12 +3,8 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/aggregate_scalar_count.adm";
-
 let $i8 := count([int8("1"), int8("2"), int8("3")])
 let $i16 := count([int16("1"), int16("2"), int16("3")])
 let $i32 := count([int32("1"), int32("2"), int32("3")])
@@ -17,4 +13,4 @@
 let $d := count([double("1"), double("2"), double("3")])
 let $s := count(["a", "b", "c"])
 for $i in [$i8, $i16, $i32, $i64, $f, $d, $s]
-return $i
\ No newline at end of file
+return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count_empty/scalar_count_empty.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count_empty/scalar_count_empty.1.ddl.aql
index afd3dab..fbaee27 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count_empty/scalar_count_empty.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count_empty/scalar_count_empty.1.ddl.aql
@@ -5,8 +5,4 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/aggregate_scalar_count_empty.adm";
-
-count([ ])
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count_empty/scalar_count_empty.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count_empty/scalar_count_empty.2.update.aql
index afd3dab..d1f8aef 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count_empty/scalar_count_empty.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count_empty/scalar_count_empty.2.update.aql
@@ -3,10 +3,4 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_count_empty.adm";
-
-count([ ])
\ No newline at end of file
+// no inserts, deletes here
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count_empty/scalar_count_empty.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count_empty/scalar_count_empty.3.query.aql
index afd3dab..406798f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count_empty/scalar_count_empty.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count_empty/scalar_count_empty.3.query.aql
@@ -3,10 +3,6 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/aggregate_scalar_count_empty.adm";
-
-count([ ])
\ No newline at end of file
+count([ ])
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count_nu/scalar_count_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count_nu/scalar_count_nu.1.ddl.aql
deleted file mode 100644
index 60dd19f..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count_nu/scalar_count_nu.1.ddl.aql
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Description    : Tests the scalar version of count with nulls.
- * Success        : Yes
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_count_null.adm";
-
-let $i8 := count([int8("1"), int8("2"), int8("3"), null])
-let $i16 := count([int16("1"), int16("2"), int16("3"), null])
-let $i32 := count([int32("1"), int32("2"), int32("3"), null])
-let $i64 := count([int64("1"), int64("2"), int64("3"), null])
-let $f := count([float("1"), float("2"), float("3"), null])
-let $d := count([double("1"), double("2"), double("3"), null])
-let $s := count(["a", "b", "c", null])
-for $i in [$i8, $i16, $i32, $i64, $f, $d, $s]
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count_nu/scalar_count_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count_nu/scalar_count_nu.2.update.aql
deleted file mode 100644
index 60dd19f..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count_nu/scalar_count_nu.2.update.aql
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Description    : Tests the scalar version of count with nulls.
- * Success        : Yes
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_count_null.adm";
-
-let $i8 := count([int8("1"), int8("2"), int8("3"), null])
-let $i16 := count([int16("1"), int16("2"), int16("3"), null])
-let $i32 := count([int32("1"), int32("2"), int32("3"), null])
-let $i64 := count([int64("1"), int64("2"), int64("3"), null])
-let $f := count([float("1"), float("2"), float("3"), null])
-let $d := count([double("1"), double("2"), double("3"), null])
-let $s := count(["a", "b", "c", null])
-for $i in [$i8, $i16, $i32, $i64, $f, $d, $s]
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count_nu/scalar_count_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count_nu/scalar_count_nu.3.query.aql
deleted file mode 100644
index 60dd19f..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_count_nu/scalar_count_nu.3.query.aql
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Description    : Tests the scalar version of count with nulls.
- * Success        : Yes
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_count_null.adm";
-
-let $i8 := count([int8("1"), int8("2"), int8("3"), null])
-let $i16 := count([int16("1"), int16("2"), int16("3"), null])
-let $i32 := count([int32("1"), int32("2"), int32("3"), null])
-let $i64 := count([int64("1"), int64("2"), int64("3"), null])
-let $f := count([float("1"), float("2"), float("3"), null])
-let $d := count([double("1"), double("2"), double("3"), null])
-let $s := count(["a", "b", "c", null])
-for $i in [$i8, $i16, $i32, $i64, $f, $d, $s]
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max/scalar_max.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max/scalar_max.1.ddl.aql
index 8eefced..058ca2b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max/scalar_max.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max/scalar_max.1.ddl.aql
@@ -5,17 +5,4 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/aggregate_scalar_max.adm";
-
-let $i8 := max([int8("1"), int8("2"), int8("3")])
-let $i16 := max([int16("1"), int16("2"), int16("3")])
-let $i32 := max([int32("1"), int32("2"), int32("3")])
-let $i64 := max([int64("1"), int64("2"), int64("3")])
-let $f := max([float("1"), float("2"), float("3")])
-let $d := max([double("1"), double("2"), double("3")])
-let $s := max(["foo", "bar", "world"])
-let $dt := max([datetime("2012-03-01T00:00:00Z"), datetime("2012-01-01T00:00:00Z"), datetime("2012-02-01T00:00:00Z")])
-for $i in [$i8, $i16, $i32, $i64, $f, $d, $s, $dt]
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max/scalar_max.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max/scalar_max.2.update.aql
index 8eefced..ac0c2df 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max/scalar_max.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max/scalar_max.2.update.aql
@@ -3,19 +3,4 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_max.adm";
-
-let $i8 := max([int8("1"), int8("2"), int8("3")])
-let $i16 := max([int16("1"), int16("2"), int16("3")])
-let $i32 := max([int32("1"), int32("2"), int32("3")])
-let $i64 := max([int64("1"), int64("2"), int64("3")])
-let $f := max([float("1"), float("2"), float("3")])
-let $d := max([double("1"), double("2"), double("3")])
-let $s := max(["foo", "bar", "world"])
-let $dt := max([datetime("2012-03-01T00:00:00Z"), datetime("2012-01-01T00:00:00Z"), datetime("2012-02-01T00:00:00Z")])
-for $i in [$i8, $i16, $i32, $i64, $f, $d, $s, $dt]
-return $i
\ No newline at end of file
+// no inserts, deletes here
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max/scalar_max.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max/scalar_max.3.query.aql
index 8eefced..e3f064c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max/scalar_max.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max/scalar_max.3.query.aql
@@ -3,12 +3,8 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/aggregate_scalar_max.adm";
-
 let $i8 := max([int8("1"), int8("2"), int8("3")])
 let $i16 := max([int16("1"), int16("2"), int16("3")])
 let $i32 := max([int32("1"), int32("2"), int32("3")])
@@ -18,4 +14,4 @@
 let $s := max(["foo", "bar", "world"])
 let $dt := max([datetime("2012-03-01T00:00:00Z"), datetime("2012-01-01T00:00:00Z"), datetime("2012-02-01T00:00:00Z")])
 for $i in [$i8, $i16, $i32, $i64, $f, $d, $s, $dt]
-return $i
\ No newline at end of file
+return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max_empty/scalar_max_empty.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max_empty/scalar_max_empty.1.ddl.aql
index 3a4396e..2f4d00c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max_empty/scalar_max_empty.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max_empty/scalar_max_empty.1.ddl.aql
@@ -5,8 +5,4 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/aggregate_scalar_max_empty.adm";
-
-max([ ])
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max_empty/scalar_max_empty.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max_empty/scalar_max_empty.2.update.aql
index 3a4396e..dd6fb87 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max_empty/scalar_max_empty.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max_empty/scalar_max_empty.2.update.aql
@@ -3,10 +3,4 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_max_empty.adm";
-
-max([ ])
\ No newline at end of file
+// no inserts, deletes here
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max_empty/scalar_max_empty.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max_empty/scalar_max_empty.3.query.aql
index 3a4396e..0aa63ab 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max_empty/scalar_max_empty.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max_empty/scalar_max_empty.3.query.aql
@@ -3,10 +3,6 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/aggregate_scalar_max_empty.adm";
-
-max([ ])
\ No newline at end of file
+max([ ])
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max_nu/scalar_max_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max_nu/scalar_max_nu.1.ddl.aql
deleted file mode 100644
index 04436bf..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max_nu/scalar_max_nu.1.ddl.aql
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Description    : Tests the scalar version of max with nulls.
- * Success        : Yes
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_max_null.adm";
-
-let $i8 := max([int8("1"), int8("2"), int8("3"), null])
-let $i16 := max([int16("1"), int16("2"), int16("3"), null])
-let $i32 := max([int32("1"), int32("2"), int32("3"), null])
-let $i64 := max([int64("1"), int64("2"), int64("3"), null])
-let $f := max([float("1"), float("2"), float("3"), null])
-let $d := max([double("1"), double("2"), double("3"), null])
-let $s := max(["foo", "bar", "world", null])
-let $dt := min([datetime("2012-03-01T00:00:00Z"), datetime("2012-01-01T00:00:00Z"), datetime("2012-02-01T00:00:00Z"), null])
-for $i in [$i8, $i16, $i32, $i64, $f, $d, $s, $dt]
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max_nu/scalar_max_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max_nu/scalar_max_nu.2.update.aql
deleted file mode 100644
index 04436bf..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max_nu/scalar_max_nu.2.update.aql
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Description    : Tests the scalar version of max with nulls.
- * Success        : Yes
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_max_null.adm";
-
-let $i8 := max([int8("1"), int8("2"), int8("3"), null])
-let $i16 := max([int16("1"), int16("2"), int16("3"), null])
-let $i32 := max([int32("1"), int32("2"), int32("3"), null])
-let $i64 := max([int64("1"), int64("2"), int64("3"), null])
-let $f := max([float("1"), float("2"), float("3"), null])
-let $d := max([double("1"), double("2"), double("3"), null])
-let $s := max(["foo", "bar", "world", null])
-let $dt := min([datetime("2012-03-01T00:00:00Z"), datetime("2012-01-01T00:00:00Z"), datetime("2012-02-01T00:00:00Z"), null])
-for $i in [$i8, $i16, $i32, $i64, $f, $d, $s, $dt]
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max_nu/scalar_max_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max_nu/scalar_max_nu.3.query.aql
deleted file mode 100644
index 04436bf..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_max_nu/scalar_max_nu.3.query.aql
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Description    : Tests the scalar version of max with nulls.
- * Success        : Yes
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_max_null.adm";
-
-let $i8 := max([int8("1"), int8("2"), int8("3"), null])
-let $i16 := max([int16("1"), int16("2"), int16("3"), null])
-let $i32 := max([int32("1"), int32("2"), int32("3"), null])
-let $i64 := max([int64("1"), int64("2"), int64("3"), null])
-let $f := max([float("1"), float("2"), float("3"), null])
-let $d := max([double("1"), double("2"), double("3"), null])
-let $s := max(["foo", "bar", "world", null])
-let $dt := min([datetime("2012-03-01T00:00:00Z"), datetime("2012-01-01T00:00:00Z"), datetime("2012-02-01T00:00:00Z"), null])
-for $i in [$i8, $i16, $i32, $i64, $f, $d, $s, $dt]
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min/scalar_min.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min/scalar_min.1.ddl.aql
index 04aa735..b0ba723 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min/scalar_min.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min/scalar_min.1.ddl.aql
@@ -5,17 +5,4 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/aggregate_scalar_min.adm";
-
-let $i8 := min([int8("1"), int8("2"), int8("3")])
-let $i16 := min([int16("1"), int16("2"), int16("3")])
-let $i32 := min([int32("1"), int32("2"), int32("3")])
-let $i64 := min([int64("1"), int64("2"), int64("3")])
-let $f := min([float("1"), float("2"), float("3")])
-let $d := min([double("1"), double("2"), double("3")])
-let $s := min(["foo", "bar", "world"])
-let $dt := min([datetime("2012-03-01T00:00:00Z"), datetime("2012-01-01T00:00:00Z"), datetime("2012-02-01T00:00:00Z")])
-for $i in [$i8, $i16, $i32, $i64, $f, $d, $s, $dt]
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min/scalar_min.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min/scalar_min.2.update.aql
index 04aa735..89c8265 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min/scalar_min.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min/scalar_min.2.update.aql
@@ -3,19 +3,4 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_min.adm";
-
-let $i8 := min([int8("1"), int8("2"), int8("3")])
-let $i16 := min([int16("1"), int16("2"), int16("3")])
-let $i32 := min([int32("1"), int32("2"), int32("3")])
-let $i64 := min([int64("1"), int64("2"), int64("3")])
-let $f := min([float("1"), float("2"), float("3")])
-let $d := min([double("1"), double("2"), double("3")])
-let $s := min(["foo", "bar", "world"])
-let $dt := min([datetime("2012-03-01T00:00:00Z"), datetime("2012-01-01T00:00:00Z"), datetime("2012-02-01T00:00:00Z")])
-for $i in [$i8, $i16, $i32, $i64, $f, $d, $s, $dt]
-return $i
\ No newline at end of file
+// no inserts, deletes here
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min/scalar_min.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min/scalar_min.3.query.aql
index 04aa735..9d7a661 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min/scalar_min.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min/scalar_min.3.query.aql
@@ -3,12 +3,8 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/aggregate_scalar_min.adm";
-
 let $i8 := min([int8("1"), int8("2"), int8("3")])
 let $i16 := min([int16("1"), int16("2"), int16("3")])
 let $i32 := min([int32("1"), int32("2"), int32("3")])
@@ -18,4 +14,4 @@
 let $s := min(["foo", "bar", "world"])
 let $dt := min([datetime("2012-03-01T00:00:00Z"), datetime("2012-01-01T00:00:00Z"), datetime("2012-02-01T00:00:00Z")])
 for $i in [$i8, $i16, $i32, $i64, $f, $d, $s, $dt]
-return $i
\ No newline at end of file
+return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min_empty/scalar_min_empty.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min_empty/scalar_min_empty.1.ddl.aql
index e242a35..f00d4fb 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min_empty/scalar_min_empty.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min_empty/scalar_min_empty.1.ddl.aql
@@ -5,8 +5,5 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/aggregate_scalar_min_empty.adm";
-
-min([ ])
\ No newline at end of file
+min([ ])
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min_empty/scalar_min_empty.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min_empty/scalar_min_empty.2.update.aql
index e242a35..5c4fe2e 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min_empty/scalar_min_empty.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min_empty/scalar_min_empty.2.update.aql
@@ -3,10 +3,4 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_min_empty.adm";
-
-min([ ])
\ No newline at end of file
+// no inserts, deletes here
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min_empty/scalar_min_empty.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min_empty/scalar_min_empty.3.query.aql
index e242a35..f765e4e 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min_empty/scalar_min_empty.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min_empty/scalar_min_empty.3.query.aql
@@ -3,10 +3,6 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/aggregate_scalar_min_empty.adm";
-
-min([ ])
\ No newline at end of file
+min([ ])
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min_nu/scalar_min_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min_nu/scalar_min_nu.1.ddl.aql
deleted file mode 100644
index 523ca26..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min_nu/scalar_min_nu.1.ddl.aql
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Description    : Tests the scalar version of min with nulls.
- * Success        : Yes
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_min_null.adm";
-
-let $i8 := min([int8("1"), int8("2"), int8("3"), null])
-let $i16 := min([int16("1"), int16("2"), int16("3"), null])
-let $i32 := min([int32("1"), int32("2"), int32("3"), null])
-let $i64 := min([int64("1"), int64("2"), int64("3"), null])
-let $f := min([float("1"), float("2"), float("3"), null])
-let $d := min([double("1"), double("2"), double("3"), null])
-let $s := min(["foo", "bar", "world", null])
-let $dt := min([datetime("2012-03-01T00:00:00Z"), datetime("2012-01-01T00:00:00Z"), datetime("2012-02-01T00:00:00Z"), null])
-for $i in [$i8, $i16, $i32, $i64, $f, $d, $s, $dt]
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min_nu/scalar_min_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min_nu/scalar_min_nu.2.update.aql
deleted file mode 100644
index 523ca26..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min_nu/scalar_min_nu.2.update.aql
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Description    : Tests the scalar version of min with nulls.
- * Success        : Yes
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_min_null.adm";
-
-let $i8 := min([int8("1"), int8("2"), int8("3"), null])
-let $i16 := min([int16("1"), int16("2"), int16("3"), null])
-let $i32 := min([int32("1"), int32("2"), int32("3"), null])
-let $i64 := min([int64("1"), int64("2"), int64("3"), null])
-let $f := min([float("1"), float("2"), float("3"), null])
-let $d := min([double("1"), double("2"), double("3"), null])
-let $s := min(["foo", "bar", "world", null])
-let $dt := min([datetime("2012-03-01T00:00:00Z"), datetime("2012-01-01T00:00:00Z"), datetime("2012-02-01T00:00:00Z"), null])
-for $i in [$i8, $i16, $i32, $i64, $f, $d, $s, $dt]
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min_nu/scalar_min_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min_nu/scalar_min_nu.3.query.aql
deleted file mode 100644
index 523ca26..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_min_nu/scalar_min_nu.3.query.aql
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Description    : Tests the scalar version of min with nulls.
- * Success        : Yes
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_min_null.adm";
-
-let $i8 := min([int8("1"), int8("2"), int8("3"), null])
-let $i16 := min([int16("1"), int16("2"), int16("3"), null])
-let $i32 := min([int32("1"), int32("2"), int32("3"), null])
-let $i64 := min([int64("1"), int64("2"), int64("3"), null])
-let $f := min([float("1"), float("2"), float("3"), null])
-let $d := min([double("1"), double("2"), double("3"), null])
-let $s := min(["foo", "bar", "world", null])
-let $dt := min([datetime("2012-03-01T00:00:00Z"), datetime("2012-01-01T00:00:00Z"), datetime("2012-02-01T00:00:00Z"), null])
-for $i in [$i8, $i16, $i32, $i64, $f, $d, $s, $dt]
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum/scalar_sum.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum/scalar_sum.1.ddl.aql
index 843360f..ec1cb2a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum/scalar_sum.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum/scalar_sum.1.ddl.aql
@@ -5,15 +5,4 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/aggregate_scalar_sum.adm";
-
-let $i8 := sum([int8("1"), int8("2"), int8("3")])
-let $i16 := sum([int16("1"), int16("2"), int16("3")])
-let $i32 := sum([int32("1"), int32("2"), int32("3")])
-let $i64 := sum([int64("1"), int64("2"), int64("3")])
-let $f := sum([float("1"), float("2"), float("3")])
-let $d := sum([double("1"), double("2"), double("3")])
-for $i in [$i8, $i16, $i32, $i64, $f, $d]
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum/scalar_sum.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum/scalar_sum.2.update.aql
index 843360f..ffadd17 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum/scalar_sum.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum/scalar_sum.2.update.aql
@@ -3,17 +3,4 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_sum.adm";
-
-let $i8 := sum([int8("1"), int8("2"), int8("3")])
-let $i16 := sum([int16("1"), int16("2"), int16("3")])
-let $i32 := sum([int32("1"), int32("2"), int32("3")])
-let $i64 := sum([int64("1"), int64("2"), int64("3")])
-let $f := sum([float("1"), float("2"), float("3")])
-let $d := sum([double("1"), double("2"), double("3")])
-for $i in [$i8, $i16, $i32, $i64, $f, $d]
-return $i
\ No newline at end of file
+// no inserts, deletes here
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum/scalar_sum.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum/scalar_sum.3.query.aql
index 843360f..531def5 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum/scalar_sum.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum/scalar_sum.3.query.aql
@@ -3,12 +3,8 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/aggregate_scalar_sum.adm";
-
 let $i8 := sum([int8("1"), int8("2"), int8("3")])
 let $i16 := sum([int16("1"), int16("2"), int16("3")])
 let $i32 := sum([int32("1"), int32("2"), int32("3")])
@@ -16,4 +12,4 @@
 let $f := sum([float("1"), float("2"), float("3")])
 let $d := sum([double("1"), double("2"), double("3")])
 for $i in [$i8, $i16, $i32, $i64, $f, $d]
-return $i
\ No newline at end of file
+return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum_empty/scalar_sum_empty.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum_empty/scalar_sum_empty.1.ddl.aql
index 35bf676..99f95c0 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum_empty/scalar_sum_empty.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum_empty/scalar_sum_empty.1.ddl.aql
@@ -5,8 +5,5 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/aggregate_scalar_sum_empty.adm";
-
-sum([ ])
\ No newline at end of file
+sum([ ])
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum_empty/scalar_sum_empty.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum_empty/scalar_sum_empty.2.update.aql
index 35bf676..b0963c8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum_empty/scalar_sum_empty.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum_empty/scalar_sum_empty.2.update.aql
@@ -3,10 +3,4 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_sum_empty.adm";
-
-sum([ ])
\ No newline at end of file
+// no inserts, deletes here
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum_empty/scalar_sum_empty.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum_empty/scalar_sum_empty.3.query.aql
index 35bf676..62517ad 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum_empty/scalar_sum_empty.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum_empty/scalar_sum_empty.3.query.aql
@@ -3,10 +3,6 @@
  * Success        : Yes
  */
 
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/aggregate_scalar_sum_empty.adm";
-
-sum([ ])
\ No newline at end of file
+sum([ ])
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum_nu/scalar_sum_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum_nu/scalar_sum_nu.1.ddl.aql
deleted file mode 100644
index a4c2e61..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum_nu/scalar_sum_nu.1.ddl.aql
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Description    : Tests the scalar version of sum with nulls.
- * Success        : Yes
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_sum_null.adm";
-
-let $i8 := sum([int8("1"), int8("2"), int8("3"), null])
-let $i16 := sum([int16("1"), int16("2"), int16("3"), null])
-let $i32 := sum([int32("1"), int32("2"), int32("3"), null])
-let $i64 := sum([int64("1"), int64("2"), int64("3"), null])
-let $f := sum([float("1"), float("2"), float("3"), null])
-let $d := sum([double("1"), double("2"), double("3"), null])
-for $i in [$i8, $i16, $i32, $i64, $f, $d]
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum_nu/scalar_sum_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum_nu/scalar_sum_nu.2.update.aql
deleted file mode 100644
index a4c2e61..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum_nu/scalar_sum_nu.2.update.aql
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Description    : Tests the scalar version of sum with nulls.
- * Success        : Yes
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_sum_null.adm";
-
-let $i8 := sum([int8("1"), int8("2"), int8("3"), null])
-let $i16 := sum([int16("1"), int16("2"), int16("3"), null])
-let $i32 := sum([int32("1"), int32("2"), int32("3"), null])
-let $i64 := sum([int64("1"), int64("2"), int64("3"), null])
-let $f := sum([float("1"), float("2"), float("3"), null])
-let $d := sum([double("1"), double("2"), double("3"), null])
-for $i in [$i8, $i16, $i32, $i64, $f, $d]
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum_nu/scalar_sum_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum_nu/scalar_sum_nu.3.query.aql
deleted file mode 100644
index a4c2e61..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/scalar_sum_nu/scalar_sum_nu.3.query.aql
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Description    : Tests the scalar version of sum with nulls.
- * Success        : Yes
- */
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_scalar_sum_null.adm";
-
-let $i8 := sum([int8("1"), int8("2"), int8("3"), null])
-let $i16 := sum([int16("1"), int16("2"), int16("3"), null])
-let $i32 := sum([int32("1"), int32("2"), int32("3"), null])
-let $i64 := sum([int64("1"), int64("2"), int64("3"), null])
-let $f := sum([float("1"), float("2"), float("3"), null])
-let $d := sum([double("1"), double("2"), double("3"), null])
-for $i in [$i8, $i16, $i32, $i64, $f, $d]
-return $i
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.1.ddl.aql
index 4a0bfe8..97b4670 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.1.ddl.aql
@@ -2,17 +2,3 @@
 
 create dataverse test;
 
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_sum_double.adm";
-
-sum( 
- for $x in [1.0, 2.0, 3.0] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.2.update.aql
index 4a0bfe8..d93253f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.2.update.aql
@@ -1,18 +1 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_sum_double.adm";
-
-sum( 
- for $x in [1.0, 2.0, 3.0] 
- return $x
-)
-
-
-
-
-
-
+// no inserts, deletes here
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
index 4a0bfe8..118d891 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
@@ -1,18 +1,7 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-write output to nc1:"rttest/aggregate_sum_double.adm";
-
 sum( 
  for $x in [1.0, 2.0, 3.0] 
  return $x
 )
 
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double_nu/sum_double_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double_nu/sum_double_nu.1.ddl.aql
deleted file mode 100644
index d919120..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double_nu/sum_double_nu.1.ddl.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_sum_double_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-sum( 
- for $x in dataset('Numeric') 
- return $x.doubleField
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double_nu/sum_double_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double_nu/sum_double_nu.2.update.aql
deleted file mode 100644
index d919120..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double_nu/sum_double_nu.2.update.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_sum_double_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-sum( 
- for $x in dataset('Numeric') 
- return $x.doubleField
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double_nu/sum_double_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double_nu/sum_double_nu.3.query.aql
deleted file mode 100644
index d919120..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double_nu/sum_double_nu.3.query.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_sum_double_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-sum( 
- for $x in dataset('Numeric') 
- return $x.doubleField
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_01/sum_empty_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_01/sum_empty_01.1.ddl.aql
index b4e26b8..ff8dafa 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_01/sum_empty_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_01/sum_empty_01.1.ddl.aql
@@ -6,12 +6,3 @@
 
 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_01/sum_empty_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_01/sum_empty_01.2.update.aql
index b4e26b8..36a33e0 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_01/sum_empty_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_01/sum_empty_01.2.update.aql
@@ -4,14 +4,4 @@
  * 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
+// no inserts, deletes here
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_01/sum_empty_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_01/sum_empty_01.3.query.aql
index b4e26b8..2b2526c 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_01/sum_empty_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_01/sum_empty_01.3.query.aql
@@ -4,14 +4,10 @@
  * 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/sum_empty_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_02/sum_empty_02.1.ddl.aql
index c3fd645..492e826 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_02/sum_empty_02.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_02/sum_empty_02.1.ddl.aql
@@ -6,7 +6,6 @@
 
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type TestType as closed {
   id: int32,
@@ -15,9 +14,3 @@
 
 create dataset Test(TestType) primary 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/queries/aggregate/sum_empty_02/sum_empty_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_02/sum_empty_02.2.update.aql
index c3fd645..479b626 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_02/sum_empty_02.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_02/sum_empty_02.2.update.aql
@@ -4,20 +4,4 @@
  * 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) primary 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
+// no inserts, deletes here
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_02/sum_empty_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_02/sum_empty_02.3.query.aql
index c3fd645..eb9df25 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_02/sum_empty_02.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_empty_02/sum_empty_02.3.query.aql
@@ -4,20 +4,9 @@
  * 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) primary 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/queries/aggregate/sum_float/sum_float.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.1.ddl.aql
index 0798dd8..97b4670 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.1.ddl.aql
@@ -2,17 +2,3 @@
 
 create dataverse test;
 
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_sum_float.adm";
-
-sum( 
- for $x in [float("1"), float("2"), float("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.2.update.aql
index 0798dd8..d93253f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.2.update.aql
@@ -1,18 +1 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_sum_float.adm";
-
-sum( 
- for $x in [float("1"), float("2"), float("3")] 
- return $x
-)
-
-
-
-
-
-
+// no inserts, deletes here
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
index 0798dd8..afbf7c4 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
@@ -1,18 +1,7 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-write output to nc1:"rttest/aggregate_sum_float.adm";
-
 sum( 
  for $x in [float("1"), float("2"), float("3")] 
  return $x
 )
 
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float_nu/sum_float_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float_nu/sum_float_nu.1.ddl.aql
deleted file mode 100644
index 767c5a4..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float_nu/sum_float_nu.1.ddl.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_sum_float_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-sum( 
- for $x in dataset('Numeric') 
- return $x.floatField
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float_nu/sum_float_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float_nu/sum_float_nu.2.update.aql
deleted file mode 100644
index 767c5a4..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float_nu/sum_float_nu.2.update.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_sum_float_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-sum( 
- for $x in dataset('Numeric') 
- return $x.floatField
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float_nu/sum_float_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float_nu/sum_float_nu.3.query.aql
deleted file mode 100644
index 767c5a4..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float_nu/sum_float_nu.3.query.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_sum_float_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-sum( 
- for $x in dataset('Numeric') 
- return $x.floatField
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.1.ddl.aql
index 77ea235..d330bc0 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.1.ddl.aql
@@ -1,18 +1,3 @@
 drop dataverse test if exists;
 
 create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_sum_int16.adm";
-
-sum( 
- for $x in [int16("1"), int16("2"), int16("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.2.update.aql
index 77ea235..d93253f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.2.update.aql
@@ -1,18 +1 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_sum_int16.adm";
-
-sum( 
- for $x in [int16("1"), int16("2"), int16("3")] 
- return $x
-)
-
-
-
-
-
-
+// no inserts, deletes here
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
index 77ea235..ec84d47 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
@@ -1,18 +1,7 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-write output to nc1:"rttest/aggregate_sum_int16.adm";
-
 sum( 
  for $x in [int16("1"), int16("2"), int16("3")] 
  return $x
 )
 
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16_nu/sum_int16_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16_nu/sum_int16_nu.1.ddl.aql
deleted file mode 100644
index 7535a95..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16_nu/sum_int16_nu.1.ddl.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_sum_int16_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-sum( 
- for $x in dataset('Numeric') 
- return $x.int16Field
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16_nu/sum_int16_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16_nu/sum_int16_nu.2.update.aql
deleted file mode 100644
index 7535a95..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16_nu/sum_int16_nu.2.update.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_sum_int16_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-sum( 
- for $x in dataset('Numeric') 
- return $x.int16Field
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16_nu/sum_int16_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16_nu/sum_int16_nu.3.query.aql
deleted file mode 100644
index 7535a95..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16_nu/sum_int16_nu.3.query.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_sum_int16_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-sum( 
- for $x in dataset('Numeric') 
- return $x.int16Field
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int32/sum_int32.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int32/sum_int32.1.ddl.aql
index c8d68aa..d330bc0 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int32/sum_int32.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int32/sum_int32.1.ddl.aql
@@ -1,18 +1,3 @@
 drop dataverse test if exists;
 
 create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_sum_int32.adm";
-
-sum( 
- for $x in [1, 2, int32("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int32/sum_int32.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int32/sum_int32.2.update.aql
index c8d68aa..d93253f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int32/sum_int32.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int32/sum_int32.2.update.aql
@@ -1,18 +1 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_sum_int32.adm";
-
-sum( 
- for $x in [1, 2, int32("3")] 
- return $x
-)
-
-
-
-
-
-
+// no inserts, deletes here
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int32/sum_int32.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int32/sum_int32.3.query.aql
index c8d68aa..b137895 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int32/sum_int32.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int32/sum_int32.3.query.aql
@@ -1,18 +1,7 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-write output to nc1:"rttest/aggregate_sum_int32.adm";
-
 sum( 
  for $x in [1, 2, int32("3")] 
  return $x
 )
 
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int32_nu/sum_int32_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int32_nu/sum_int32_nu.1.ddl.aql
deleted file mode 100644
index 2fe268920..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int32_nu/sum_int32_nu.1.ddl.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_sum_int32_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-sum( 
- for $x in dataset('Numeric') 
- return $x.int32Field
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int32_nu/sum_int32_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int32_nu/sum_int32_nu.2.update.aql
deleted file mode 100644
index 2fe268920..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int32_nu/sum_int32_nu.2.update.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_sum_int32_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-sum( 
- for $x in dataset('Numeric') 
- return $x.int32Field
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int32_nu/sum_int32_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int32_nu/sum_int32_nu.3.query.aql
deleted file mode 100644
index 2fe268920..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int32_nu/sum_int32_nu.3.query.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_sum_int32_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-sum( 
- for $x in dataset('Numeric') 
- return $x.int32Field
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.1.ddl.aql
index d4b6851..a42e545 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.1.ddl.aql
@@ -2,17 +2,8 @@
 
 create dataverse test;
 
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_sum_int64.adm";
-
 sum( 
  for $x in [int64("1"), int64("2"), int64("3")] 
  return $x
 )
 
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.2.update.aql
index d4b6851..d93253f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.2.update.aql
@@ -1,18 +1 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_sum_int64.adm";
-
-sum( 
- for $x in [int64("1"), int64("2"), int64("3")] 
- return $x
-)
-
-
-
-
-
-
+// no inserts, deletes here
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
index d4b6851..66a8806 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
@@ -1,18 +1,6 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-write output to nc1:"rttest/aggregate_sum_int64.adm";
-
 sum( 
  for $x in [int64("1"), int64("2"), int64("3")] 
  return $x
 )
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64_nu/sum_int64_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64_nu/sum_int64_nu.1.ddl.aql
deleted file mode 100644
index 7f6428a..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64_nu/sum_int64_nu.1.ddl.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_sum_int64_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-sum( 
- for $x in dataset('Numeric') 
- return $x.int64Field
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64_nu/sum_int64_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64_nu/sum_int64_nu.2.update.aql
deleted file mode 100644
index 7f6428a..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64_nu/sum_int64_nu.2.update.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_sum_int64_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-sum( 
- for $x in dataset('Numeric') 
- return $x.int64Field
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64_nu/sum_int64_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64_nu/sum_int64_nu.3.query.aql
deleted file mode 100644
index 7f6428a..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64_nu/sum_int64_nu.3.query.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_sum_int64_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-sum( 
- for $x in dataset('Numeric') 
- return $x.int64Field
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.1.ddl.aql
index 8e8c4da..0f15519 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.1.ddl.aql
@@ -2,17 +2,8 @@
 
 create dataverse test;
 
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_sum_int8.adm";
-
 sum( 
  for $x in [int8("1"), int8("2"), int8("3")] 
  return $x
 )
 
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.2.update.aql
index 8e8c4da..1ecf3aa 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.2.update.aql
@@ -1,18 +1 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_sum_int8.adm";
-
-sum( 
- for $x in [int8("1"), int8("2"), int8("3")] 
- return $x
-)
-
-
-
-
-
-
+// no inserts, deletes
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
index 8e8c4da..4fd5937 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
@@ -1,18 +1,7 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-write output to nc1:"rttest/aggregate_sum_int8.adm";
-
 sum( 
  for $x in [int8("1"), int8("2"), int8("3")] 
  return $x
 )
 
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8_nu/sum_int8_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8_nu/sum_int8_nu.1.ddl.aql
deleted file mode 100644
index e1fad61..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8_nu/sum_int8_nu.1.ddl.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_sum_int8_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-sum( 
- for $x in dataset('Numeric') 
- return $x.int8Field
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8_nu/sum_int8_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8_nu/sum_int8_nu.2.update.aql
deleted file mode 100644
index e1fad61..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8_nu/sum_int8_nu.2.update.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_sum_int8_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-sum( 
- for $x in dataset('Numeric') 
- return $x.int8Field
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8_nu/sum_int8_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8_nu/sum_int8_nu.3.query.aql
deleted file mode 100644
index e1fad61..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8_nu/sum_int8_nu.3.query.aql
+++ /dev/null
@@ -1,26 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_sum_int8_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-sum( 
- for $x in dataset('Numeric') 
- return $x.int8Field
-)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_null-with-pred/sum_null-with-pred.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_null-with-pred/sum_null-with-pred.1.ddl.aql
index 8c695c5..b0f2ca5 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_null-with-pred/sum_null-with-pred.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_null-with-pred/sum_null-with-pred.1.ddl.aql
@@ -5,11 +5,8 @@
  * Date             :   July 20th 2012
  */
 
-write output to nc1:"rttest/aggregate_sum_null-with-pred.adm";
-
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type TestType as open {
 id:int32,
@@ -18,13 +15,3 @@
 
 create dataset tdst(TestType) primary key id;
 
-insert into dataset tdst({"id":123,"sal":1000});
-insert into dataset tdst({"id":113,"sal":2000});
-insert into dataset tdst({"id":163,"sal":3000});
-insert into dataset tdst({"id":161,"sal":4000});
-insert into dataset tdst({"id":173,"sal":5000});
-insert into dataset tdst({"id":183,"sal":null});
-
-sum(for $l in dataset('tdst')
-where not(is-null($l.sal))
-return $l.sal)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_null-with-pred/sum_null-with-pred.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_null-with-pred/sum_null-with-pred.2.update.aql
index 8c695c5..bf6a34d 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_null-with-pred/sum_null-with-pred.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_null-with-pred/sum_null-with-pred.2.update.aql
@@ -5,19 +5,8 @@
  * Date             :   July 20th 2012
  */
 
-write output to nc1:"rttest/aggregate_sum_null-with-pred.adm";
-
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType as open {
-id:int32,
-sal:int32?
-}
-
-create dataset tdst(TestType) primary key id;
-
 insert into dataset tdst({"id":123,"sal":1000});
 insert into dataset tdst({"id":113,"sal":2000});
 insert into dataset tdst({"id":163,"sal":3000});
@@ -25,6 +14,3 @@
 insert into dataset tdst({"id":173,"sal":5000});
 insert into dataset tdst({"id":183,"sal":null});
 
-sum(for $l in dataset('tdst')
-where not(is-null($l.sal))
-return $l.sal)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_null-with-pred/sum_null-with-pred.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_null-with-pred/sum_null-with-pred.3.query.aql
index 8c695c5..432866f 100644
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_null-with-pred/sum_null-with-pred.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_null-with-pred/sum_null-with-pred.3.query.aql
@@ -5,26 +5,8 @@
  * Date             :   July 20th 2012
  */
 
-write output to nc1:"rttest/aggregate_sum_null-with-pred.adm";
-
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type TestType as open {
-id:int32,
-sal:int32?
-}
-
-create dataset tdst(TestType) primary key id;
-
-insert into dataset tdst({"id":123,"sal":1000});
-insert into dataset tdst({"id":113,"sal":2000});
-insert into dataset tdst({"id":163,"sal":3000});
-insert into dataset tdst({"id":161,"sal":4000});
-insert into dataset tdst({"id":173,"sal":5000});
-insert into dataset tdst({"id":183,"sal":null});
-
 sum(for $l in dataset('tdst')
 where not(is-null($l.sal))
 return $l.sal)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_numeric_nu/sum_numeric_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_numeric_nu/sum_numeric_nu.1.ddl.aql
deleted file mode 100644
index 4c568b1..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_numeric_nu/sum_numeric_nu.1.ddl.aql
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Description      :   Add numeric values with a null value, sum() aggregate function must return null.
- * Expected result  :   Success
- * Date             :   July 20th 2012
- */
-
-write output to nc1:"rttest/aggregate_sum_numeric_null.adm";
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-create type TestType as open {
-id:int32,
-sal:int32?
-}
-
-create dataset tdst(TestType) primary key id;
-
-// In AQL
-// sum(numeric + null) => null
-
-insert into dataset tdst({"id":123,"sal":345});
-insert into dataset tdst({"id":113,"sal":335});
-insert into dataset tdst({"id":163,"sal":315});
-insert into dataset tdst({"id":161,"sal":365});
-insert into dataset tdst({"id":173,"sal":385});
-insert into dataset tdst({"id":183,"sal":null});
-
-sum(for $l in dataset('tdst')
-return $l.sal)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_numeric_nu/sum_numeric_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_numeric_nu/sum_numeric_nu.2.update.aql
deleted file mode 100644
index 4c568b1..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_numeric_nu/sum_numeric_nu.2.update.aql
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Description      :   Add numeric values with a null value, sum() aggregate function must return null.
- * Expected result  :   Success
- * Date             :   July 20th 2012
- */
-
-write output to nc1:"rttest/aggregate_sum_numeric_null.adm";
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-create type TestType as open {
-id:int32,
-sal:int32?
-}
-
-create dataset tdst(TestType) primary key id;
-
-// In AQL
-// sum(numeric + null) => null
-
-insert into dataset tdst({"id":123,"sal":345});
-insert into dataset tdst({"id":113,"sal":335});
-insert into dataset tdst({"id":163,"sal":315});
-insert into dataset tdst({"id":161,"sal":365});
-insert into dataset tdst({"id":173,"sal":385});
-insert into dataset tdst({"id":183,"sal":null});
-
-sum(for $l in dataset('tdst')
-return $l.sal)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_numeric_nu/sum_numeric_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_numeric_nu/sum_numeric_nu.3.query.aql
deleted file mode 100644
index 4c568b1..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_numeric_nu/sum_numeric_nu.3.query.aql
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Description      :   Add numeric values with a null value, sum() aggregate function must return null.
- * Expected result  :   Success
- * Date             :   July 20th 2012
- */
-
-write output to nc1:"rttest/aggregate_sum_numeric_null.adm";
-
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-create type TestType as open {
-id:int32,
-sal:int32?
-}
-
-create dataset tdst(TestType) primary key id;
-
-// In AQL
-// sum(numeric + null) => null
-
-insert into dataset tdst({"id":123,"sal":345});
-insert into dataset tdst({"id":113,"sal":335});
-insert into dataset tdst({"id":163,"sal":315});
-insert into dataset tdst({"id":161,"sal":365});
-insert into dataset tdst({"id":173,"sal":385});
-insert into dataset tdst({"id":183,"sal":null});
-
-sum(for $l in dataset('tdst')
-return $l.sal)
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_double/vg_double.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_double/vg_double.1.ddl.aql
deleted file mode 100644
index 2c2494b..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_double/vg_double.1.ddl.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_avg_double.adm";
-
-avg( 
- for $x in [1.0, 2.0, double("3.0")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_double/vg_double.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_double/vg_double.2.update.aql
deleted file mode 100644
index 2c2494b..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_double/vg_double.2.update.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_avg_double.adm";
-
-avg( 
- for $x in [1.0, 2.0, double("3.0")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_double/vg_double.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_double/vg_double.3.query.aql
deleted file mode 100644
index 2c2494b..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_double/vg_double.3.query.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_avg_double.adm";
-
-avg( 
- for $x in [1.0, 2.0, double("3.0")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_double_nu/vg_double_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_double_nu/vg_double_nu.1.ddl.aql
deleted file mode 100644
index c2e9141..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_double_nu/vg_double_nu.1.ddl.aql
+++ /dev/null
@@ -1,27 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_avg_double_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-let $a := avg( 
- for $x in dataset('Numeric') 
- return $x.doubleField
-)
-return {"average": $a}
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_double_nu/vg_double_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_double_nu/vg_double_nu.2.update.aql
deleted file mode 100644
index c2e9141..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_double_nu/vg_double_nu.2.update.aql
+++ /dev/null
@@ -1,27 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_avg_double_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-let $a := avg( 
- for $x in dataset('Numeric') 
- return $x.doubleField
-)
-return {"average": $a}
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_double_nu/vg_double_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_double_nu/vg_double_nu.3.query.aql
deleted file mode 100644
index c2e9141..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_double_nu/vg_double_nu.3.query.aql
+++ /dev/null
@@ -1,27 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_avg_double_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-let $a := avg( 
- for $x in dataset('Numeric') 
- return $x.doubleField
-)
-return {"average": $a}
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_empty_01/vg_empty_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_empty_01/vg_empty_01.1.ddl.aql
deleted file mode 100644
index ab2a6fb..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_empty_01/vg_empty_01.1.ddl.aql
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * 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/vg_empty_01/vg_empty_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_empty_01/vg_empty_01.2.update.aql
deleted file mode 100644
index ab2a6fb..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_empty_01/vg_empty_01.2.update.aql
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * 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/vg_empty_01/vg_empty_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_empty_01/vg_empty_01.3.query.aql
deleted file mode 100644
index ab2a6fb..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_empty_01/vg_empty_01.3.query.aql
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * 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/vg_empty_02/vg_empty_02.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_empty_02/vg_empty_02.1.ddl.aql
deleted file mode 100644
index 2c4ba6a..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_empty_02/vg_empty_02.1.ddl.aql
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * 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) primary 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/vg_empty_02/vg_empty_02.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_empty_02/vg_empty_02.2.update.aql
deleted file mode 100644
index 2c4ba6a..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_empty_02/vg_empty_02.2.update.aql
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * 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) primary 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/vg_empty_02/vg_empty_02.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_empty_02/vg_empty_02.3.query.aql
deleted file mode 100644
index 2c4ba6a..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_empty_02/vg_empty_02.3.query.aql
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * 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) primary 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/vg_float/vg_float.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_float/vg_float.1.ddl.aql
deleted file mode 100644
index a7906ff..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_float/vg_float.1.ddl.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_avg_float.adm";
-
-avg( 
- for $x in [float("1"), float("2"), float("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_float/vg_float.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_float/vg_float.2.update.aql
deleted file mode 100644
index a7906ff..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_float/vg_float.2.update.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_avg_float.adm";
-
-avg( 
- for $x in [float("1"), float("2"), float("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_float/vg_float.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_float/vg_float.3.query.aql
deleted file mode 100644
index a7906ff..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_float/vg_float.3.query.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_avg_float.adm";
-
-avg( 
- for $x in [float("1"), float("2"), float("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_float_nu/vg_float_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_float_nu/vg_float_nu.1.ddl.aql
deleted file mode 100644
index 3b60039..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_float_nu/vg_float_nu.1.ddl.aql
+++ /dev/null
@@ -1,27 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_avg_float_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-let $a := avg( 
- for $x in dataset('Numeric') 
- return $x.floatField
-)
-return {"average": $a}
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_float_nu/vg_float_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_float_nu/vg_float_nu.2.update.aql
deleted file mode 100644
index 3b60039..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_float_nu/vg_float_nu.2.update.aql
+++ /dev/null
@@ -1,27 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_avg_float_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-let $a := avg( 
- for $x in dataset('Numeric') 
- return $x.floatField
-)
-return {"average": $a}
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_float_nu/vg_float_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_float_nu/vg_float_nu.3.query.aql
deleted file mode 100644
index 3b60039..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_float_nu/vg_float_nu.3.query.aql
+++ /dev/null
@@ -1,27 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_avg_float_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-let $a := avg( 
- for $x in dataset('Numeric') 
- return $x.floatField
-)
-return {"average": $a}
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int16/vg_int16.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int16/vg_int16.1.ddl.aql
deleted file mode 100644
index d218675..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int16/vg_int16.1.ddl.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_avg_int16.adm";
-
-avg( 
- for $x in [int16("1"), int16("2"), int16("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int16/vg_int16.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int16/vg_int16.2.update.aql
deleted file mode 100644
index d218675..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int16/vg_int16.2.update.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_avg_int16.adm";
-
-avg( 
- for $x in [int16("1"), int16("2"), int16("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int16/vg_int16.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int16/vg_int16.3.query.aql
deleted file mode 100644
index d218675..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int16/vg_int16.3.query.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_avg_int16.adm";
-
-avg( 
- for $x in [int16("1"), int16("2"), int16("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int16_nu/vg_int16_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int16_nu/vg_int16_nu.1.ddl.aql
deleted file mode 100644
index 642f4e3..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int16_nu/vg_int16_nu.1.ddl.aql
+++ /dev/null
@@ -1,27 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_avg_int16_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-let $a := avg( 
- for $x in dataset('Numeric') 
- return $x.int16Field
-)
-return {"average": $a}
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int16_nu/vg_int16_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int16_nu/vg_int16_nu.2.update.aql
deleted file mode 100644
index 642f4e3..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int16_nu/vg_int16_nu.2.update.aql
+++ /dev/null
@@ -1,27 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_avg_int16_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-let $a := avg( 
- for $x in dataset('Numeric') 
- return $x.int16Field
-)
-return {"average": $a}
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int16_nu/vg_int16_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int16_nu/vg_int16_nu.3.query.aql
deleted file mode 100644
index 642f4e3..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int16_nu/vg_int16_nu.3.query.aql
+++ /dev/null
@@ -1,27 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_avg_int16_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-let $a := avg( 
- for $x in dataset('Numeric') 
- return $x.int16Field
-)
-return {"average": $a}
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int32/vg_int32.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int32/vg_int32.1.ddl.aql
deleted file mode 100644
index 44aff70..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int32/vg_int32.1.ddl.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_avg_int32.adm";
-
-avg( 
- for $x in [1, 2, 3] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int32/vg_int32.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int32/vg_int32.2.update.aql
deleted file mode 100644
index 44aff70..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int32/vg_int32.2.update.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_avg_int32.adm";
-
-avg( 
- for $x in [1, 2, 3] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int32/vg_int32.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int32/vg_int32.3.query.aql
deleted file mode 100644
index 44aff70..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int32/vg_int32.3.query.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_avg_int32.adm";
-
-avg( 
- for $x in [1, 2, 3] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int32_nu/vg_int32_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int32_nu/vg_int32_nu.1.ddl.aql
deleted file mode 100644
index 5fcb925..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int32_nu/vg_int32_nu.1.ddl.aql
+++ /dev/null
@@ -1,27 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_avg_int32_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-let $a := avg( 
- for $x in dataset('Numeric') 
- return $x.int32Field
-)
-return {"average": $a}
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int32_nu/vg_int32_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int32_nu/vg_int32_nu.2.update.aql
deleted file mode 100644
index 5fcb925..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int32_nu/vg_int32_nu.2.update.aql
+++ /dev/null
@@ -1,27 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_avg_int32_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-let $a := avg( 
- for $x in dataset('Numeric') 
- return $x.int32Field
-)
-return {"average": $a}
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int32_nu/vg_int32_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int32_nu/vg_int32_nu.3.query.aql
deleted file mode 100644
index 5fcb925..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int32_nu/vg_int32_nu.3.query.aql
+++ /dev/null
@@ -1,27 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_avg_int32_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-let $a := avg( 
- for $x in dataset('Numeric') 
- return $x.int32Field
-)
-return {"average": $a}
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int64/vg_int64.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int64/vg_int64.1.ddl.aql
deleted file mode 100644
index 4e6f6af..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int64/vg_int64.1.ddl.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_avg_int64.adm";
-
-avg( 
- for $x in [int64("1"), int64("2"), int64("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int64/vg_int64.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int64/vg_int64.2.update.aql
deleted file mode 100644
index 4e6f6af..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int64/vg_int64.2.update.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_avg_int64.adm";
-
-avg( 
- for $x in [int64("1"), int64("2"), int64("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int64/vg_int64.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int64/vg_int64.3.query.aql
deleted file mode 100644
index 4e6f6af..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int64/vg_int64.3.query.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_avg_int64.adm";
-
-avg( 
- for $x in [int64("1"), int64("2"), int64("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int64_nu/vg_int64_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int64_nu/vg_int64_nu.1.ddl.aql
deleted file mode 100644
index 4f18910..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int64_nu/vg_int64_nu.1.ddl.aql
+++ /dev/null
@@ -1,27 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_avg_int64_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-let $a := avg( 
- for $x in dataset('Numeric') 
- return $x.int64Field
-)
-return {"average": $a}
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int64_nu/vg_int64_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int64_nu/vg_int64_nu.2.update.aql
deleted file mode 100644
index 4f18910..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int64_nu/vg_int64_nu.2.update.aql
+++ /dev/null
@@ -1,27 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_avg_int64_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-let $a := avg( 
- for $x in dataset('Numeric') 
- return $x.int64Field
-)
-return {"average": $a}
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int64_nu/vg_int64_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int64_nu/vg_int64_nu.3.query.aql
deleted file mode 100644
index 4f18910..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int64_nu/vg_int64_nu.3.query.aql
+++ /dev/null
@@ -1,27 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_avg_int64_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-let $a := avg( 
- for $x in dataset('Numeric') 
- return $x.int64Field
-)
-return {"average": $a}
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int8/vg_int8.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int8/vg_int8.1.ddl.aql
deleted file mode 100644
index e8f327d..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int8/vg_int8.1.ddl.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_avg_int8.adm";
-
-avg( 
- for $x in [int8("1"),int8("2"), int8("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int8/vg_int8.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int8/vg_int8.2.update.aql
deleted file mode 100644
index e8f327d..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int8/vg_int8.2.update.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_avg_int8.adm";
-
-avg( 
- for $x in [int8("1"),int8("2"), int8("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int8/vg_int8.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int8/vg_int8.3.query.aql
deleted file mode 100644
index e8f327d..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int8/vg_int8.3.query.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/aggregate_avg_int8.adm";
-
-avg( 
- for $x in [int8("1"),int8("2"), int8("3")] 
- return $x
-)
-
-
-
-
-
-
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int8_nu/vg_int8_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int8_nu/vg_int8_nu.1.ddl.aql
deleted file mode 100644
index c58e85a..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int8_nu/vg_int8_nu.1.ddl.aql
+++ /dev/null
@@ -1,27 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_avg_int8_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-let $a := avg( 
- for $x in dataset('Numeric') 
- return $x.int8Field
-)
-return {"average": $a}
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int8_nu/vg_int8_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int8_nu/vg_int8_nu.2.update.aql
deleted file mode 100644
index c58e85a..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int8_nu/vg_int8_nu.2.update.aql
+++ /dev/null
@@ -1,27 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_avg_int8_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-let $a := avg( 
- for $x in dataset('Numeric') 
- return $x.int8Field
-)
-return {"average": $a}
diff --git a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int8_nu/vg_int8_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int8_nu/vg_int8_nu.3.query.aql
deleted file mode 100644
index c58e85a..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/aggregate/vg_int8_nu/vg_int8_nu.3.query.aql
+++ /dev/null
@@ -1,27 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-create type NumericType as open {
-  id: int32,
-  int8Field: int8?,
-  int16Field: int16?,
-  int32Field: int32?,
-  int64Field: int64?,
-  floatField: float?,
-  doubleField: double?
-}
-
-write output to nc1:"rttest/aggregate_avg_int8_null.adm";
-
-create external dataset Numeric(NumericType)
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/nontagged/numericData.json"),("format"="adm"));
-
-let $a := avg( 
- for $x in dataset('Numeric') 
- return $x.int8Field
-)
-return {"average": $a}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/date_order/date_order.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/date_order/date_order.1.ddl.aql
index d38d386..97b4670 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/date_order/date_order.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/date_order/date_order.1.ddl.aql
@@ -2,15 +2,3 @@
 
 create dataverse test;
 
-write output to nc1:"rttest/comparison_date_order.adm";
-
-let $d1 := date("2049-04-23")
-let $d2 := date("2012-02-29")
-let $d3 := date("2021-03-01")
-let $d4 := date("1362-02-28")
-let $d5 := date("1600-02-29")
-let $d6 := date("-0500-03-21")
-
-for $d in [$d1, $d2, $d3, $d4, $d5, $d6]
-order by $d
-return $d
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/date_order/date_order.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/date_order/date_order.2.update.aql
index d38d386..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/date_order/date_order.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/date_order/date_order.2.update.aql
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-write output to nc1:"rttest/comparison_date_order.adm";
-
-let $d1 := date("2049-04-23")
-let $d2 := date("2012-02-29")
-let $d3 := date("2021-03-01")
-let $d4 := date("1362-02-28")
-let $d5 := date("1600-02-29")
-let $d6 := date("-0500-03-21")
-
-for $d in [$d1, $d2, $d3, $d4, $d5, $d6]
-order by $d
-return $d
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/date_order/date_order.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/date_order/date_order.3.query.aql
index d38d386..1723f03 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/date_order/date_order.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/date_order/date_order.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-write output to nc1:"rttest/comparison_date_order.adm";
+use dataverse test;
 
 let $d1 := date("2049-04-23")
 let $d2 := date("2012-02-29")
@@ -13,4 +9,4 @@
 
 for $d in [$d1, $d2, $d3, $d4, $d5, $d6]
 order by $d
-return $d
\ No newline at end of file
+return $d
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_order/datetime_order.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_order/datetime_order.1.ddl.aql
index f2d8208..97b4670 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_order/datetime_order.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_order/datetime_order.1.ddl.aql
@@ -2,22 +2,3 @@
 
 create dataverse test;
 
-use dataverse test;
-
-write output to nc1:"rttest/comparison_datetime_order.adm";
-
-let $dt1 := datetime("2011-12-31T14:00:00-10:00")
-let $dt2 := datetime("2012-01-01T00:00:00Z")
-let $dt3 := datetime("2005-01-01T00:00:00+04:00")
-let $dt4 := datetime("2011-12-31T13:00:00-11:00")
-let $dt5 := datetime("2012-04-06T00:00:00Z")
-let $dt6 := datetime("-1937-07-07T23:00:00+08:00")
-let $dt7 := datetime("-1600-03-01T00:00:00.384+06:00")
-let $dt8 := datetime("-1600-02-29T23:59:59.999Z")
-let $dt9 := datetime("2000-02-29T23:59:59.999Z")
-let $dt10 := datetime("2000-03-01T01:59:59.999+07:00")
-let $dt11 := datetime("-1600-03-01T00:00:00.384-06:00")
-
-for $dt in [$dt1, $dt2, $dt3, $dt4, $dt5, $dt6, $dt7, $dt8, $dt9, $dt10, $dt11]
-order by $dt
-return $dt
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_order/datetime_order.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_order/datetime_order.2.update.aql
index f2d8208..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_order/datetime_order.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_order/datetime_order.2.update.aql
@@ -1,23 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/comparison_datetime_order.adm";
-
-let $dt1 := datetime("2011-12-31T14:00:00-10:00")
-let $dt2 := datetime("2012-01-01T00:00:00Z")
-let $dt3 := datetime("2005-01-01T00:00:00+04:00")
-let $dt4 := datetime("2011-12-31T13:00:00-11:00")
-let $dt5 := datetime("2012-04-06T00:00:00Z")
-let $dt6 := datetime("-1937-07-07T23:00:00+08:00")
-let $dt7 := datetime("-1600-03-01T00:00:00.384+06:00")
-let $dt8 := datetime("-1600-02-29T23:59:59.999Z")
-let $dt9 := datetime("2000-02-29T23:59:59.999Z")
-let $dt10 := datetime("2000-03-01T01:59:59.999+07:00")
-let $dt11 := datetime("-1600-03-01T00:00:00.384-06:00")
-
-for $dt in [$dt1, $dt2, $dt3, $dt4, $dt5, $dt6, $dt7, $dt8, $dt9, $dt10, $dt11]
-order by $dt
-return $dt
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_order/datetime_order.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_order/datetime_order.3.query.aql
index f2d8208..7c95006 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_order/datetime_order.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_order/datetime_order.3.query.aql
@@ -1,11 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-write output to nc1:"rttest/comparison_datetime_order.adm";
-
 let $dt1 := datetime("2011-12-31T14:00:00-10:00")
 let $dt2 := datetime("2012-01-01T00:00:00Z")
 let $dt3 := datetime("2005-01-01T00:00:00+04:00")
@@ -20,4 +14,4 @@
 
 for $dt in [$dt1, $dt2, $dt3, $dt4, $dt5, $dt6, $dt7, $dt8, $dt9, $dt10, $dt11]
 order by $dt
-return $dt
\ No newline at end of file
+return $dt
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_range/datetime_range.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_range/datetime_range.1.ddl.aql
index a1cbf52..cd003fb 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_range/datetime_range.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_range/datetime_range.1.ddl.aql
@@ -1,6 +1,5 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
 create type Tweet as closed {
         id: int32,
@@ -13,12 +12,3 @@
 create dataset TwitterData(Tweet)
   primary key id;
 
-load dataset TwitterData 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/twitter/smalltweets.txt"),("format"="adm")) pre-sorted;
-write output to nc1:"rttest/comparison_datetime_range.adm";
-
-for $t in dataset('TwitterData')
-where $t.time > datetime("2011-05-15T16:00:00Z") and $t.time < datetime("2011-05-15T21:59:59Z")
-order by $t.id
-return { "id": $t.id }
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_range/datetime_range.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_range/datetime_range.2.update.aql
index a1cbf52..c7db334 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_range/datetime_range.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_range/datetime_range.2.update.aql
@@ -1,24 +1,6 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type Tweet as closed {
-        id: int32,
-        tweetid: int64,
-        loc: point,
-        time: datetime,
-        text: string
-}
-
-create dataset TwitterData(Tweet)
-  primary key id;
-
 load dataset TwitterData 
 using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
 (("path"="nc1://data/twitter/smalltweets.txt"),("format"="adm")) pre-sorted;
 write output to nc1:"rttest/comparison_datetime_range.adm";
-
-for $t in dataset('TwitterData')
-where $t.time > datetime("2011-05-15T16:00:00Z") and $t.time < datetime("2011-05-15T21:59:59Z")
-order by $t.id
-return { "id": $t.id }
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_range/datetime_range.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_range/datetime_range.3.query.aql
index a1cbf52..da4bae2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_range/datetime_range.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_range/datetime_range.3.query.aql
@@ -1,23 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-create type Tweet as closed {
-        id: int32,
-        tweetid: int64,
-        loc: point,
-        time: datetime,
-        text: string
-}
-
-create dataset TwitterData(Tweet)
-  primary key id;
-
-load dataset TwitterData 
-using "edu.uci.ics.asterix.external.dataset.adapter.NCFileSystemAdapter"
-(("path"="nc1://data/twitter/smalltweets.txt"),("format"="adm")) pre-sorted;
-write output to nc1:"rttest/comparison_datetime_range.adm";
-
 for $t in dataset('TwitterData')
 where $t.time > datetime("2011-05-15T16:00:00Z") and $t.time < datetime("2011-05-15T21:59:59Z")
 order by $t.id
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_tze/datetime_tze.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_tze/datetime_tze.1.ddl.aql
deleted file mode 100644
index 1a0bb52..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_tze/datetime_tze.1.ddl.aql
+++ /dev/null
@@ -1,17 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/comparison_datetime_tzeq.adm";
-
-let $dt1 := datetime("2011-12-31T14:00:00-10:00")
-let $dt2 := datetime("2012-01-01T00:00:00Z")
-let $dt3 := datetime("2000-03-01T02:00:00+04:00")
-let $dt4 := datetime("2000-02-29T22:00:00Z")
-let $r1 := $dt1 = $dt2
-let $r2 := $dt3 = $dt4
-
-
-return { "result1": $r1,"result2": $r2 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_tze/datetime_tze.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_tze/datetime_tze.2.update.aql
deleted file mode 100644
index 1a0bb52..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_tze/datetime_tze.2.update.aql
+++ /dev/null
@@ -1,17 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/comparison_datetime_tzeq.adm";
-
-let $dt1 := datetime("2011-12-31T14:00:00-10:00")
-let $dt2 := datetime("2012-01-01T00:00:00Z")
-let $dt3 := datetime("2000-03-01T02:00:00+04:00")
-let $dt4 := datetime("2000-02-29T22:00:00Z")
-let $r1 := $dt1 = $dt2
-let $r2 := $dt3 = $dt4
-
-
-return { "result1": $r1,"result2": $r2 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_tze/datetime_tze.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_tze/datetime_tze.3.query.aql
deleted file mode 100644
index 1a0bb52..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/datetime_tze/datetime_tze.3.query.aql
+++ /dev/null
@@ -1,17 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/comparison_datetime_tzeq.adm";
-
-let $dt1 := datetime("2011-12-31T14:00:00-10:00")
-let $dt2 := datetime("2012-01-01T00:00:00Z")
-let $dt3 := datetime("2000-03-01T02:00:00+04:00")
-let $dt4 := datetime("2000-02-29T22:00:00Z")
-let $r1 := $dt1 = $dt2
-let $r2 := $dt3 = $dt4
-
-
-return { "result1": $r1,"result2": $r2 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/double/double.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/double/double.1.ddl.aql
index 55c7de0..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/double/double.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/double/double.1.ddl.aql
@@ -1,19 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/comparison_double.adm";
-
-let $c1 := int8("+1")
-let $c2 := int16("2")
-let $c3 := int32("+3")
-let $c4 := int64("-4")
-let $c5 := float("-5.5f")
-let $c6 := double("-6.5d")
-let $r1 := $c6 > $c1
-let $r2 := $c6 >= $c2
-let $r3 := $c6 < $c3
-let $r4 := $c6 <= $c4
-let $r5 := $c6 = $c5
-let $r6 := $c6 != $c6
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/double/double.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/double/double.2.update.aql
index 55c7de0..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/double/double.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/double/double.2.update.aql
@@ -1,19 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_double.adm";
-
-let $c1 := int8("+1")
-let $c2 := int16("2")
-let $c3 := int32("+3")
-let $c4 := int64("-4")
-let $c5 := float("-5.5f")
-let $c6 := double("-6.5d")
-let $r1 := $c6 > $c1
-let $r2 := $c6 >= $c2
-let $r3 := $c6 < $c3
-let $r4 := $c6 <= $c4
-let $r5 := $c6 = $c5
-let $r6 := $c6 != $c6
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/double/double.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/double/double.3.query.aql
index 55c7de0..8036041 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/double/double.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/double/double.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/comparison_double.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/double_gte_01/double_gte_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/double_gte_01/double_gte_01.1.ddl.aql
index 663be22..d330bc0 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/double_gte_01/double_gte_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/double_gte_01/double_gte_01.1.ddl.aql
@@ -1,11 +1,3 @@
 drop dataverse test if exists;
 
 create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/comparison_double_gte_01.adm";
-
-for $i in [0.8, 0.8999999761581421, 0.9, 0.901]
-where $i >= 0.9
-return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/double_gte_01/double_gte_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/double_gte_01/double_gte_01.2.update.aql
index 663be22..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/double_gte_01/double_gte_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/double_gte_01/double_gte_01.2.update.aql
@@ -1,11 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/comparison_double_gte_01.adm";
-
-for $i in [0.8, 0.8999999761581421, 0.9, 0.901]
-where $i >= 0.9
-return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/double_gte_01/double_gte_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/double_gte_01/double_gte_01.3.query.aql
index 663be22..82abee5 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/double_gte_01/double_gte_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/double_gte_01/double_gte_01.3.query.aql
@@ -1,11 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-write output to nc1:"rttest/comparison_double_gte_01.adm";
-
 for $i in [0.8, 0.8999999761581421, 0.9, 0.901]
 where $i >= 0.9
 return $i
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/double_nu/double_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/double_nu/double_nu.1.ddl.aql
deleted file mode 100644
index f3ab7f6..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/double_nu/double_nu.1.ddl.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/comparison_double_null.adm";
-
-let $c1 := double("-6.5d")
-let $c2 := [1]
-let $c3 := $c2[1]
-let $r1 := $c1 > $c3
-let $r2 := $c3 >= $c1
-let $r3 := $c1 < $c3
-let $r4 := $c3 <= $c1
-let $r5 := $c1 = $c3
-let $r6 := $c3 != $c1
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/double_nu/double_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/double_nu/double_nu.2.update.aql
deleted file mode 100644
index f3ab7f6..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/double_nu/double_nu.2.update.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/comparison_double_null.adm";
-
-let $c1 := double("-6.5d")
-let $c2 := [1]
-let $c3 := $c2[1]
-let $r1 := $c1 > $c3
-let $r2 := $c3 >= $c1
-let $r3 := $c1 < $c3
-let $r4 := $c3 <= $c1
-let $r5 := $c1 = $c3
-let $r6 := $c3 != $c1
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/double_nu/double_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/double_nu/double_nu.3.query.aql
deleted file mode 100644
index f3ab7f6..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/double_nu/double_nu.3.query.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/comparison_double_null.adm";
-
-let $c1 := double("-6.5d")
-let $c2 := [1]
-let $c3 := $c2[1]
-let $r1 := $c1 > $c3
-let $r2 := $c3 >= $c1
-let $r3 := $c1 < $c3
-let $r4 := $c3 <= $c1
-let $r5 := $c1 = $c3
-let $r6 := $c3 != $c1
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/eq_01/eq_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/eq_01/eq_01.1.ddl.aql
index 8e5f9af..97b4670 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/eq_01/eq_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/eq_01/eq_01.1.ddl.aql
@@ -2,11 +2,3 @@
 
 create dataverse test;
 
-use dataverse test;
-
-write output to nc1:"rttest/comparison_eq_01.adm";
-
-for $x in [1, 2, 2]
-where $x = 2
-return $x
- 
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/eq_01/eq_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/eq_01/eq_01.2.update.aql
index 8e5f9af..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/eq_01/eq_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/eq_01/eq_01.2.update.aql
@@ -1,12 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/comparison_eq_01.adm";
-
-for $x in [1, 2, 2]
-where $x = 2
-return $x
- 
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/eq_01/eq_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/eq_01/eq_01.3.query.aql
index 8e5f9af..3e0c79b 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/eq_01/eq_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/eq_01/eq_01.3.query.aql
@@ -1,12 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-write output to nc1:"rttest/comparison_eq_01.adm";
-
 for $x in [1, 2, 2]
 where $x = 2
 return $x
- 
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/float/float.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/float/float.1.ddl.aql
index 7cfbbfb..97b4670 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/float/float.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/float/float.1.ddl.aql
@@ -2,20 +2,3 @@
 
 create dataverse test;
 
-use dataverse test;
-
-write output to nc1:"rttest/comparison_float.adm";
-
-let $c1 := int8("+1")
-let $c2 := int16("2")
-let $c3 := int32("+3")
-let $c4 := int64("-4")
-let $c5 := float("-5.5f")
-let $c6 := double("-6.5d")
-let $r1 := $c5 > $c1
-let $r2 := $c5 >= $c2
-let $r3 := $c5 < $c3
-let $r4 := $c5 <= $c4
-let $r5 := $c5 = $c5
-let $r6 := $c5 != $c6
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/float/float.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/float/float.2.update.aql
index 7cfbbfb..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/float/float.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/float/float.2.update.aql
@@ -1,21 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/comparison_float.adm";
-
-let $c1 := int8("+1")
-let $c2 := int16("2")
-let $c3 := int32("+3")
-let $c4 := int64("-4")
-let $c5 := float("-5.5f")
-let $c6 := double("-6.5d")
-let $r1 := $c5 > $c1
-let $r2 := $c5 >= $c2
-let $r3 := $c5 < $c3
-let $r4 := $c5 <= $c4
-let $r5 := $c5 = $c5
-let $r6 := $c5 != $c6
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/float/float.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/float/float.3.query.aql
index 7cfbbfb..648b8e2 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/float/float.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/float/float.3.query.aql
@@ -1,11 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-write output to nc1:"rttest/comparison_float.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/float_nu/float_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/float_nu/float_nu.1.ddl.aql
deleted file mode 100644
index afd70de..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/float_nu/float_nu.1.ddl.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/comparison_float_null.adm";
-
-let $c1 := float("-6.5d")
-let $c2 := [1]
-let $c3 := $c2[1]
-let $r1 := $c1 > $c3
-let $r2 := $c3 >= $c1
-let $r3 := $c1 < $c3
-let $r4 := $c3 <= $c1
-let $r5 := $c1 = $c3
-let $r6 := $c3 != $c1
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/float_nu/float_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/float_nu/float_nu.2.update.aql
deleted file mode 100644
index afd70de..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/float_nu/float_nu.2.update.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/comparison_float_null.adm";
-
-let $c1 := float("-6.5d")
-let $c2 := [1]
-let $c3 := $c2[1]
-let $r1 := $c1 > $c3
-let $r2 := $c3 >= $c1
-let $r3 := $c1 < $c3
-let $r4 := $c3 <= $c1
-let $r5 := $c1 = $c3
-let $r6 := $c3 != $c1
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/float_nu/float_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/float_nu/float_nu.3.query.aql
deleted file mode 100644
index afd70de..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/float_nu/float_nu.3.query.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/comparison_float_null.adm";
-
-let $c1 := float("-6.5d")
-let $c2 := [1]
-let $c3 := $c2[1]
-let $r1 := $c1 > $c3
-let $r2 := $c3 >= $c1
-let $r3 := $c1 < $c3
-let $r4 := $c3 <= $c1
-let $r5 := $c1 = $c3
-let $r6 := $c3 != $c1
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/gt_01/gt_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/gt_01/gt_01.1.ddl.aql
index efa5015..d330bc0 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/gt_01/gt_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/gt_01/gt_01.1.ddl.aql
@@ -1,12 +1,3 @@
 drop dataverse test if exists;
 
 create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/comparison_gt_01.adm";
-
-for $x in [1, 3, 2]
-where $x > 1
-return $x
- 
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/gt_01/gt_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/gt_01/gt_01.2.update.aql
index efa5015..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/gt_01/gt_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/gt_01/gt_01.2.update.aql
@@ -1,12 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/comparison_gt_01.adm";
-
-for $x in [1, 3, 2]
-where $x > 1
-return $x
- 
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/gt_01/gt_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/gt_01/gt_01.3.query.aql
index efa5015..ed9c82a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/gt_01/gt_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/gt_01/gt_01.3.query.aql
@@ -1,12 +1,6 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-write output to nc1:"rttest/comparison_gt_01.adm";
-
 for $x in [1, 3, 2]
 where $x > 1
 return $x
- 
\ No newline at end of file
+ 
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/gte_01/gte_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/gte_01/gte_01.1.ddl.aql
index a9ffa71..97b4670 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/gte_01/gte_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/gte_01/gte_01.1.ddl.aql
@@ -2,11 +2,3 @@
 
 create dataverse test;
 
-use dataverse test;
-
-write output to nc1:"rttest/comparison_gte_01.adm";
-
-for $x in [1, 3, 2]
-where $x >= 2
-return $x
- 
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/gte_01/gte_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/gte_01/gte_01.2.update.aql
index a9ffa71..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/gte_01/gte_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/gte_01/gte_01.2.update.aql
@@ -1,12 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/comparison_gte_01.adm";
-
-for $x in [1, 3, 2]
-where $x >= 2
-return $x
- 
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/gte_01/gte_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/gte_01/gte_01.3.query.aql
index a9ffa71..de9e4bc 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/gte_01/gte_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/gte_01/gte_01.3.query.aql
@@ -1,12 +1,5 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
 use dataverse test;
 
-write output to nc1:"rttest/comparison_gte_01.adm";
-
 for $x in [1, 3, 2]
 where $x >= 2
 return $x
- 
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/int16/int16.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/int16/int16.1.ddl.aql
index 1f3701b..754ea81 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/int16/int16.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/int16/int16.1.ddl.aql
@@ -1,19 +1,3 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
 
-write output to nc1:"rttest/comparison_int16.adm";
-
-let $c1 := int8("+1")
-let $c2 := int16("2")
-let $c3 := int32("+3")
-let $c4 := int64("-4")
-let $c5 := float("-5.5f")
-let $c6 := double("-6.5d")
-let $r1 := $c2 > $c1
-let $r2 := $c2 >= $c2
-let $r3 := $c2 < $c3
-let $r4 := $c2 <= $c4
-let $r5 := $c2 = $c5
-let $r6 := $c2 != $c6
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/int16/int16.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/int16/int16.2.update.aql
index 1f3701b..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/int16/int16.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/int16/int16.2.update.aql
@@ -1,19 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_int16.adm";
-
-let $c1 := int8("+1")
-let $c2 := int16("2")
-let $c3 := int32("+3")
-let $c4 := int64("-4")
-let $c5 := float("-5.5f")
-let $c6 := double("-6.5d")
-let $r1 := $c2 > $c1
-let $r2 := $c2 >= $c2
-let $r3 := $c2 < $c3
-let $r4 := $c2 <= $c4
-let $r5 := $c2 = $c5
-let $r6 := $c2 != $c6
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/int16/int16.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/int16/int16.3.query.aql
index 1f3701b..0ba4212 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/int16/int16.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/int16/int16.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/comparison_int16.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/int16_nu/int16_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/int16_nu/int16_nu.1.ddl.aql
deleted file mode 100644
index 6d8d80e..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/int16_nu/int16_nu.1.ddl.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/comparison_int16_null.adm";
-
-let $c1 := int16("3")
-let $c2 := [1]
-let $c3 := $c2[1]
-let $r1 := $c1 > $c3
-let $r2 := $c3 >= $c1
-let $r3 := $c1 < $c3
-let $r4 := $c3 <= $c1
-let $r5 := $c1 = $c3
-let $r6 := $c3 != $c1
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/int16_nu/int16_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/int16_nu/int16_nu.2.update.aql
deleted file mode 100644
index 6d8d80e..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/int16_nu/int16_nu.2.update.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/comparison_int16_null.adm";
-
-let $c1 := int16("3")
-let $c2 := [1]
-let $c3 := $c2[1]
-let $r1 := $c1 > $c3
-let $r2 := $c3 >= $c1
-let $r3 := $c1 < $c3
-let $r4 := $c3 <= $c1
-let $r5 := $c1 = $c3
-let $r6 := $c3 != $c1
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/int16_nu/int16_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/int16_nu/int16_nu.3.query.aql
deleted file mode 100644
index 6d8d80e..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/int16_nu/int16_nu.3.query.aql
+++ /dev/null
@@ -1,18 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-use dataverse test;
-
-write output to nc1:"rttest/comparison_int16_null.adm";
-
-let $c1 := int16("3")
-let $c2 := [1]
-let $c3 := $c2[1]
-let $r1 := $c1 > $c3
-let $r2 := $c3 >= $c1
-let $r3 := $c1 < $c3
-let $r4 := $c3 <= $c1
-let $r5 := $c1 = $c3
-let $r6 := $c3 != $c1
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/int32/int32.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/int32/int32.1.ddl.aql
index ab53691..16769de 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/int32/int32.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/int32/int32.1.ddl.aql
@@ -1,19 +1,2 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_int32.adm";
-
-let $c1 := int8("+1")
-let $c2 := int16("2")
-let $c3 := int32("+3")
-let $c4 := int64("-4")
-let $c5 := float("-5.5f")
-let $c6 := double("-6.5d")
-let $r1 := $c3 > $c1
-let $r2 := $c3 >= $c2
-let $r3 := $c3 < $c3
-let $r4 := $c3 <= $c4
-let $r5 := $c3 = $c5
-let $r6 := $c3 != $c6
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/int32/int32.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/int32/int32.2.update.aql
index ab53691..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/int32/int32.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/int32/int32.2.update.aql
@@ -1,19 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_int32.adm";
-
-let $c1 := int8("+1")
-let $c2 := int16("2")
-let $c3 := int32("+3")
-let $c4 := int64("-4")
-let $c5 := float("-5.5f")
-let $c6 := double("-6.5d")
-let $r1 := $c3 > $c1
-let $r2 := $c3 >= $c2
-let $r3 := $c3 < $c3
-let $r4 := $c3 <= $c4
-let $r5 := $c3 = $c5
-let $r6 := $c3 != $c6
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/int32/int32.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/int32/int32.3.query.aql
index ab53691..91b1a53 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/int32/int32.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/int32/int32.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/comparison_int32.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/int32_nu/int32_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/int32_nu/int32_nu.1.ddl.aql
deleted file mode 100644
index d1972e8..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/int32_nu/int32_nu.1.ddl.aql
+++ /dev/null
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_int32_null.adm";
-
-let $c1 := int32("3")
-let $c2 := [1]
-let $c3 := $c2[1]
-let $r1 := $c1 > $c3
-let $r2 := $c3 >= $c1
-let $r3 := $c1 < $c3
-let $r4 := $c3 <= $c1
-let $r5 := $c1 = $c3
-let $r6 := $c3 != $c1
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/int32_nu/int32_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/int32_nu/int32_nu.2.update.aql
deleted file mode 100644
index d1972e8..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/int32_nu/int32_nu.2.update.aql
+++ /dev/null
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_int32_null.adm";
-
-let $c1 := int32("3")
-let $c2 := [1]
-let $c3 := $c2[1]
-let $r1 := $c1 > $c3
-let $r2 := $c3 >= $c1
-let $r3 := $c1 < $c3
-let $r4 := $c3 <= $c1
-let $r5 := $c1 = $c3
-let $r6 := $c3 != $c1
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/int32_nu/int32_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/int32_nu/int32_nu.3.query.aql
deleted file mode 100644
index d1972e8..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/int32_nu/int32_nu.3.query.aql
+++ /dev/null
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_int32_null.adm";
-
-let $c1 := int32("3")
-let $c2 := [1]
-let $c3 := $c2[1]
-let $r1 := $c1 > $c3
-let $r2 := $c3 >= $c1
-let $r3 := $c1 < $c3
-let $r4 := $c3 <= $c1
-let $r5 := $c1 = $c3
-let $r6 := $c3 != $c1
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/int64/int64.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/int64/int64.1.ddl.aql
index a050b47..16769de 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/int64/int64.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/int64/int64.1.ddl.aql
@@ -1,19 +1,2 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_int64.adm";
-
-let $c1 := int8("+1")
-let $c2 := int16("2")
-let $c3 := int32("+3")
-let $c4 := int64("-4")
-let $c5 := float("-5.5f")
-let $c6 := double("-6.5d")
-let $r1 := $c4 > $c1
-let $r2 := $c4 >= $c2
-let $r3 := $c4 <= $c3
-let $r4 := $c4 < $c4
-let $r5 := $c4 = $c5
-let $r6 := $c4 != $c6
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/int64/int64.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/int64/int64.2.update.aql
index a050b47..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/int64/int64.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/int64/int64.2.update.aql
@@ -1,19 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_int64.adm";
-
-let $c1 := int8("+1")
-let $c2 := int16("2")
-let $c3 := int32("+3")
-let $c4 := int64("-4")
-let $c5 := float("-5.5f")
-let $c6 := double("-6.5d")
-let $r1 := $c4 > $c1
-let $r2 := $c4 >= $c2
-let $r3 := $c4 <= $c3
-let $r4 := $c4 < $c4
-let $r5 := $c4 = $c5
-let $r6 := $c4 != $c6
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/int64/int64.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/int64/int64.3.query.aql
index a050b47..6f34ad7 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/int64/int64.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/int64/int64.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/comparison_int64.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/int64_nu/int64_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/int64_nu/int64_nu.1.ddl.aql
deleted file mode 100644
index 5144cb4..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/int64_nu/int64_nu.1.ddl.aql
+++ /dev/null
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_int64_null.adm";
-
-let $c1 := int64("3")
-let $c2 := [1]
-let $c3 := $c2[1]
-let $r1 := $c1 > $c3
-let $r2 := $c3 >= $c1
-let $r3 := $c1 < $c3
-let $r4 := $c3 <= $c1
-let $r5 := $c1 = $c3
-let $r6 := $c3 != $c1
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/int64_nu/int64_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/int64_nu/int64_nu.2.update.aql
deleted file mode 100644
index 5144cb4..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/int64_nu/int64_nu.2.update.aql
+++ /dev/null
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_int64_null.adm";
-
-let $c1 := int64("3")
-let $c2 := [1]
-let $c3 := $c2[1]
-let $r1 := $c1 > $c3
-let $r2 := $c3 >= $c1
-let $r3 := $c1 < $c3
-let $r4 := $c3 <= $c1
-let $r5 := $c1 = $c3
-let $r6 := $c3 != $c1
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/int64_nu/int64_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/int64_nu/int64_nu.3.query.aql
deleted file mode 100644
index 5144cb4..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/int64_nu/int64_nu.3.query.aql
+++ /dev/null
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_int64_null.adm";
-
-let $c1 := int64("3")
-let $c2 := [1]
-let $c3 := $c2[1]
-let $r1 := $c1 > $c3
-let $r2 := $c3 >= $c1
-let $r3 := $c1 < $c3
-let $r4 := $c3 <= $c1
-let $r5 := $c1 = $c3
-let $r6 := $c3 != $c1
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/int8/int8.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/int8/int8.1.ddl.aql
index e06a33d..16769de 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/int8/int8.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/int8/int8.1.ddl.aql
@@ -1,19 +1,2 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_int8.adm";
-
-let $c1 := int8("+1")
-let $c2 := int16("2")
-let $c3 := int32("+3")
-let $c4 := int64("-4")
-let $c5 := float("-5.5f")
-let $c6 := double("-6.5d")
-let $r1 := $c1 > $c1
-let $r2 := $c1 >= $c2
-let $r3 := $c1 < $c3
-let $r4 := $c1 <= $c4
-let $r5 := $c1 = $c5
-let $r6 := $c1 != $c6
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/int8/int8.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/int8/int8.2.update.aql
index e06a33d..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/int8/int8.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/int8/int8.2.update.aql
@@ -1,19 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_int8.adm";
-
-let $c1 := int8("+1")
-let $c2 := int16("2")
-let $c3 := int32("+3")
-let $c4 := int64("-4")
-let $c5 := float("-5.5f")
-let $c6 := double("-6.5d")
-let $r1 := $c1 > $c1
-let $r2 := $c1 >= $c2
-let $r3 := $c1 < $c3
-let $r4 := $c1 <= $c4
-let $r5 := $c1 = $c5
-let $r6 := $c1 != $c6
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/int8/int8.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/int8/int8.3.query.aql
index e06a33d..70a41f8 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/int8/int8.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/int8/int8.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/comparison_int8.adm";
-
 let $c1 := int8("+1")
 let $c2 := int16("2")
 let $c3 := int32("+3")
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/int8_nu/int8_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/int8_nu/int8_nu.1.ddl.aql
deleted file mode 100644
index a38c754..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/int8_nu/int8_nu.1.ddl.aql
+++ /dev/null
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_int8_null.adm";
-
-let $c1 := int8("3")
-let $c2 := [1]
-let $c3 := $c2[1]
-let $r1 := $c1 > $c3
-let $r2 := $c3 >= $c1
-let $r3 := $c1 < $c3
-let $r4 := $c3 <= $c1
-let $r5 := $c1 = $c3
-let $r6 := $c3 != $c1
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/int8_nu/int8_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/int8_nu/int8_nu.2.update.aql
deleted file mode 100644
index a38c754..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/int8_nu/int8_nu.2.update.aql
+++ /dev/null
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_int8_null.adm";
-
-let $c1 := int8("3")
-let $c2 := [1]
-let $c3 := $c2[1]
-let $r1 := $c1 > $c3
-let $r2 := $c3 >= $c1
-let $r3 := $c1 < $c3
-let $r4 := $c3 <= $c1
-let $r5 := $c1 = $c3
-let $r6 := $c3 != $c1
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/int8_nu/int8_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/int8_nu/int8_nu.3.query.aql
deleted file mode 100644
index a38c754..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/int8_nu/int8_nu.3.query.aql
+++ /dev/null
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_int8_null.adm";
-
-let $c1 := int8("3")
-let $c2 := [1]
-let $c3 := $c2[1]
-let $r1 := $c1 > $c3
-let $r2 := $c3 >= $c1
-let $r3 := $c1 < $c3
-let $r4 := $c3 <= $c1
-let $r5 := $c1 = $c3
-let $r6 := $c3 != $c1
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/neq_01/neq_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/neq_01/neq_01.1.ddl.aql
index ae88077..16769de 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/neq_01/neq_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/neq_01/neq_01.1.ddl.aql
@@ -1,10 +1,2 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_neq_01.adm";
-
-for $x in [1, 2, 2]
-where $x != 2
-return $x
- 
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/neq_01/neq_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/neq_01/neq_01.2.update.aql
index ae88077..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/neq_01/neq_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/neq_01/neq_01.2.update.aql
@@ -1,10 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_neq_01.adm";
-
-for $x in [1, 2, 2]
-where $x != 2
-return $x
- 
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/neq_01/neq_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/neq_01/neq_01.3.query.aql
index ae88077..3903646 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/neq_01/neq_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/neq_01/neq_01.3.query.aql
@@ -1,10 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/comparison_neq_01.adm";
-
 for $x in [1, 2, 2]
 where $x != 2
 return $x
- 
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/numeric-comparison_01/numeric-comparison_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/numeric-comparison_01/numeric-comparison_01.1.ddl.aql
index 7c2ce39..16769de 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/numeric-comparison_01/numeric-comparison_01.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/numeric-comparison_01/numeric-comparison_01.1.ddl.aql
@@ -1,10 +1,2 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_numeric-comparison_01.adm";
-
-let $l := [1.1f, 1.0f, 1.2f, 0.9, 1.3, 1, 2]
-for $i in $l
-for $j in $l
-return [$i, $j, "=", $i = $j, "<", $i < $j, "<=", $i <= $j, ">", $i > $j, ">=", $i >= $j]
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/numeric-comparison_01/numeric-comparison_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/numeric-comparison_01/numeric-comparison_01.2.update.aql
index 7c2ce39..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/numeric-comparison_01/numeric-comparison_01.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/numeric-comparison_01/numeric-comparison_01.2.update.aql
@@ -1,10 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_numeric-comparison_01.adm";
-
-let $l := [1.1f, 1.0f, 1.2f, 0.9, 1.3, 1, 2]
-for $i in $l
-for $j in $l
-return [$i, $j, "=", $i = $j, "<", $i < $j, "<=", $i <= $j, ">", $i > $j, ">=", $i >= $j]
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/numeric-comparison_01/numeric-comparison_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/numeric-comparison_01/numeric-comparison_01.3.query.aql
index 7c2ce39..11a19ff 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/numeric-comparison_01/numeric-comparison_01.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/numeric-comparison_01/numeric-comparison_01.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/comparison_numeric-comparison_01.adm";
-
 let $l := [1.1f, 1.0f, 1.2f, 0.9, 1.3, 1, 2]
 for $i in $l
 for $j in $l
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/string/string.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/string/string.1.ddl.aql
index 6b63d52..16769de 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/string/string.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/string/string.1.ddl.aql
@@ -1,15 +1,2 @@
 drop dataverse test if exists;
 create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_string.adm";
-
-let $c1 := "AA"
-let $c2 := "B"
-let $r1 := $c1 > $c2
-let $r2 := $c1 >= $c2
-let $r3 := $c1 < $c2
-let $r4 := $c1 <= $c2
-let $r5 := $c1 = $c2
-let $r6 := $c1 != $c2
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/string/string.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/string/string.2.update.aql
index 6b63d52..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/string/string.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/string/string.2.update.aql
@@ -1,15 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_string.adm";
-
-let $c1 := "AA"
-let $c2 := "B"
-let $r1 := $c1 > $c2
-let $r2 := $c1 >= $c2
-let $r3 := $c1 < $c2
-let $r4 := $c1 <= $c2
-let $r5 := $c1 = $c2
-let $r6 := $c1 != $c2
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/string/string.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/string/string.3.query.aql
index 6b63d52..ff6e16a 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/string/string.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/string/string.3.query.aql
@@ -1,9 +1,5 @@
-drop dataverse test if exists;
-create dataverse test;
 use dataverse test;
 
-write output to nc1:"rttest/comparison_string.adm";
-
 let $c1 := "AA"
 let $c2 := "B"
 let $r1 := $c1 > $c2
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/string_nu/string_nu.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/string_nu/string_nu.1.ddl.aql
deleted file mode 100644
index f959e92..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/string_nu/string_nu.1.ddl.aql
+++ /dev/null
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_string_null.adm";
-
-let $c1 := "AA"
-let $c2 := [1]
-let $c3 := $c2[1]
-let $r1 := $c1 > $c3
-let $r2 := $c3 >= $c1
-let $r3 := $c1 < $c3
-let $r4 := $c3 <= $c1
-let $r5 := $c1 = $c3
-let $r6 := $c3 != $c1
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/string_nu/string_nu.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/string_nu/string_nu.2.update.aql
deleted file mode 100644
index f959e92..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/string_nu/string_nu.2.update.aql
+++ /dev/null
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_string_null.adm";
-
-let $c1 := "AA"
-let $c2 := [1]
-let $c3 := $c2[1]
-let $r1 := $c1 > $c3
-let $r2 := $c3 >= $c1
-let $r3 := $c1 < $c3
-let $r4 := $c3 <= $c1
-let $r5 := $c1 = $c3
-let $r6 := $c3 != $c1
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/string_nu/string_nu.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/string_nu/string_nu.3.query.aql
deleted file mode 100644
index f959e92..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/string_nu/string_nu.3.query.aql
+++ /dev/null
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_string_null.adm";
-
-let $c1 := "AA"
-let $c2 := [1]
-let $c3 := $c2[1]
-let $r1 := $c1 > $c3
-let $r2 := $c3 >= $c1
-let $r3 := $c1 < $c3
-let $r4 := $c3 <= $c1
-let $r5 := $c1 = $c3
-let $r6 := $c3 != $c1
-return {"result1": $r1,"result2": $r2,"result3": $r3,"result4": $r4,"result5": $r5, "result6": $r6}
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/t_01/t_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/t_01/t_01.1.ddl.aql
deleted file mode 100644
index db28fdc..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/t_01/t_01.1.ddl.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_lt_01.adm";
-
-for $x in [1, 3, 2]
-where $x < 3
-return $x
- 
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/t_01/t_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/t_01/t_01.2.update.aql
deleted file mode 100644
index db28fdc..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/t_01/t_01.2.update.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_lt_01.adm";
-
-for $x in [1, 3, 2]
-where $x < 3
-return $x
- 
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/t_01/t_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/t_01/t_01.3.query.aql
deleted file mode 100644
index db28fdc..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/t_01/t_01.3.query.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_lt_01.adm";
-
-for $x in [1, 3, 2]
-where $x < 3
-return $x
- 
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/te_01/te_01.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/te_01/te_01.1.ddl.aql
deleted file mode 100644
index e4c5ffa..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/te_01/te_01.1.ddl.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_lte_01.adm";
-
-for $x in [1, 3, 2]
-where $x <= 2
-return $x
- 
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/te_01/te_01.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/te_01/te_01.2.update.aql
deleted file mode 100644
index e4c5ffa..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/te_01/te_01.2.update.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_lte_01.adm";
-
-for $x in [1, 3, 2]
-where $x <= 2
-return $x
- 
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/te_01/te_01.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/te_01/te_01.3.query.aql
deleted file mode 100644
index e4c5ffa..0000000
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/te_01/te_01.3.query.aql
+++ /dev/null
@@ -1,10 +0,0 @@
-drop dataverse test if exists;
-create dataverse test;
-use dataverse test;
-
-write output to nc1:"rttest/comparison_lte_01.adm";
-
-for $x in [1, 3, 2]
-where $x <= 2
-return $x
- 
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/time_order/time_order.1.ddl.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/time_order/time_order.1.ddl.aql
index ba0d211..d330bc0 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/time_order/time_order.1.ddl.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/time_order/time_order.1.ddl.aql
@@ -1,16 +1,3 @@
 drop dataverse test if exists;
 
 create dataverse test;
-
-write output to nc1:"rttest/comparison_time_order.adm";
-
-let $t1 := time("13:00:00.382-10:00")
-let $t2 := time("23:59:59.999Z")
-let $t3 := time("22:00:00+03:00")
-let $t4 := time("00:00:00.00Z")
-let $t5 := time("00:00:00.00-02:00")
-let $t6 := time("00:00:00.47+04:00")
-
-for $t in [$t1, $t2, $t3, $t4, $t5, $t6]
-order by $t
-return $t
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/time_order/time_order.2.update.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/time_order/time_order.2.update.aql
index ba0d211..e69de29 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/time_order/time_order.2.update.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/time_order/time_order.2.update.aql
@@ -1,16 +0,0 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-write output to nc1:"rttest/comparison_time_order.adm";
-
-let $t1 := time("13:00:00.382-10:00")
-let $t2 := time("23:59:59.999Z")
-let $t3 := time("22:00:00+03:00")
-let $t4 := time("00:00:00.00Z")
-let $t5 := time("00:00:00.00-02:00")
-let $t6 := time("00:00:00.47+04:00")
-
-for $t in [$t1, $t2, $t3, $t4, $t5, $t6]
-order by $t
-return $t
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/queries/comparison/time_order/time_order.3.query.aql b/asterix-app/src/test/resources/runtimets/queries/comparison/time_order/time_order.3.query.aql
index ba0d211..9a9e858 100644
--- a/asterix-app/src/test/resources/runtimets/queries/comparison/time_order/time_order.3.query.aql
+++ b/asterix-app/src/test/resources/runtimets/queries/comparison/time_order/time_order.3.query.aql
@@ -1,8 +1,4 @@
-drop dataverse test if exists;
-
-create dataverse test;
-
-write output to nc1:"rttest/comparison_time_order.adm";
+use dataverse test;
 
 let $t1 := time("13:00:00.382-10:00")
 let $t2 := time("23:59:59.999Z")
@@ -13,4 +9,4 @@
 
 for $t in [$t1, $t2, $t3, $t4, $t5, $t6]
 order by $t
-return $t
\ No newline at end of file
+return $t
